📄 player.cpp
字号:
}
//-------------------------------------------------------------------------------
char* CPlayer::GetSyndicate()
{
return g_objPlayerSet.GetSyndicateName(m_infoPlayer.idSyndicate);
}
//-------------------------------------------------------------------------------
char* CPlayer::GetSubSyndicate()
{
return g_objPlayerSet.GetSyndicateLeaderName(m_infoPlayer.idSyndicate);
}
//-------------------------------------------------------------------------------
char* CPlayer::GetSyndicateTitle()
{
int i;
for(i = 0; i < RANKAMOUNT; i++)
{
if(SYNDICATERANKINFOSET[i].dwRank == m_infoPlayer.dwSyndicateRank)
{
return (char*)g_objGameDataSet.GetStr(SYNDICATERANKINFOSET[i].idTitle);
}
}
// error ...
for(i = 0; i < RANKAMOUNT; i++)
{
if(SYNDICATERANKINFOSET[i].dwRank == RANK_NONE)
{
return (char*)g_objGameDataSet.GetStr(SYNDICATERANKINFOSET[i].idTitle);
}
}
return NULL;
}
//-------------------------------------------------------------------------------
char* CPlayer::GetSyndicateLeaderName()
{
return m_infoPlayer.szSyndicateLeader;
}
//------------------------------------------------------------------
void CPlayer::SetSyndicateLeaderName(char* pszLeader)
{
if(pszLeader)
strcpy(m_infoPlayer.szSyndicateLeader, pszLeader);
}
//------------------------------------------------------------------
DWORD CPlayer::GetSyndicateFund()
{
return m_infoPlayer.dwSyndicateFund;
}
//------------------------------------------------------------------
void CPlayer::SetSyndicateFund(DWORD dwFund)
{
m_infoPlayer.dwSyndicateFund = dwFund;
}
//------------------------------------------------------------------
void CPlayer::SetSyndicateFamer(DWORD dwSyndicateFamer)
{
m_infoPlayer.dwSyndicateFamer = dwSyndicateFamer;
}
//------------------------------------------------------------------
DWORD CPlayer::GetSyndicateFamer()
{
return m_infoPlayer.dwSyndicateFamer;
}
//------------------------------------------------------------------
DWORD CPlayer::GetSyndicatePopulation()
{
return m_infoPlayer.dwSyndicatePopulation;
}
//------------------------------------------------------------------
void CPlayer::SetSyndicatePopulation(DWORD dwPopulation)
{
m_infoPlayer.dwSyndicatePopulation = dwPopulation;
}
//------------------------------------------------------------------
void CPlayer::SetMaxLife(DWORD dwMaxLife)
{
if(m_pIRoleView)
m_pIRoleView->SetVariable(_VAR_MAX_LIFE, dwMaxLife);
m_infoPlayer.dwMaxLife = dwMaxLife;
}
//------------------------------------------------------------------
DWORD CPlayer::GetLife()
{
return m_infoPlayer.dataLife.GetValue();
}
//------------------------------------------------------------------
void CPlayer::SetLife(DWORD dwLife)
{
if(m_pIRoleView)
m_pIRoleView->SetVariable(_VAR_LIFE, dwLife);
//m_infoPlayer.dwLife = dwLife;
m_infoPlayer.dataLife.SetValue(dwLife);
}
//------------------------------------------------------------------
DWORD CPlayer::GetMana()
{
return m_infoPlayer.dataMana.GetValue();
}
//------------------------------------------------------------------
void CPlayer::SetMana(DWORD dwMana)
{
int nMana = m_infoPlayer.dataMana.GetValue();
if(nMana > (int)dwMana && g_objHero.GetID() == this->GetID())
g_objHero.m_objCheck.DecMana();
m_infoPlayer.dataMana.SetValue(dwMana);
}
//------------------------------------------------------------------
char* CPlayer::GetPkTitle()
{
return g_obj3DRoleData.GetPkTitle(m_infoPlayer.nPk);
}
//------------------------------------------------------------------
void CPlayer::AddProfessionalCoolposEffect(DWORD dwProfessional, BOOL bAllNosuch/* = true*/)
{
/* switch(dwProfessional)
{
case PROFSORT_WARRIOR:
if (bAllNosuch)
this->m_objEffect.Add("warrior");
else
this->m_objEffect.Add("warrior-s");
break;
case PROFSORT_SOLDIER:
if (bAllNosuch)
this->m_objEffect.Add("fighter");
else
this->m_objEffect.Add("fighter-s");
break;
case PROFSORT_XIAKE:
// to do ...
break;
case PROFSORT_ARCHER:
if (bAllNosuch)
this->m_objEffect.Add("archer");
else
this->m_objEffect.Add("archer-s");
break;
case PROFSORT_DAOIST:
case PROFSORT_DAOISTGOLD:
case PROFSORT_DAOISTWOOD:
case PROFSORT_DAOISTWATER:
case PROFSORT_DAOISTFIRE:
case PROFSORT_DAOISTEARTH:
if (bAllNosuch)
this->m_objEffect.Add("taoist");
else
this->m_objEffect.Add("taoist-s");
break;
}*/
}
//--------------------------------------------------------------------------------------
void CPlayer::AddMoneyEffect(DWORD dwMoney)
{
char szStr[64];
sprintf(szStr, "$ %u", dwMoney);
if (dwMoney >= 1000 || this->TestStatus(USERSTATUS_ADJUST_DROPMONEY))
{
this->m_objEffect.Add("muchmoney",false,0,this->GetLook());
this->AddFStr(szStr, 64,0x00ffffff,3,1000);
}
else
{
this->m_objEffect.Add("money",false,0,this->GetLook());
this->AddFStr(szStr);
}
}
//------------------------------------------------------------------
BOOL CPlayer::IsBaddy()
{
if(this->TestStatus(USERSTATUS_CRIME) || this->TestStatus(USERSTATUS_RED)
|| this->TestStatus(USERSTATUS_DARKRED))
return true;
return false;
}
//------------------------------------------------------------------
DWORD CPlayer::GetCurLife()
{
return m_infoPlayer.dataCurLife.GetValue();
}
//------------------------------------------------------------------
void CPlayer::SetCurLife(int nLife)
{
m_infoPlayer.dataCurLife.SetValue(nLife);
}
//------------------------------------------------------------------
DWORD CPlayer::GetCurMana()
{
return m_infoPlayer.dataCurMana.GetValue();
}
//------------------------------------------------------------------
void CPlayer::SetCurMana(int nMana)
{
m_infoPlayer.dataCurMana.SetValue(nMana);
}
//------------------------------------------------------------------
void CPlayer::ShowKoAmount(BOOL bImmedia)
{
if(!this->TestStatus(USERSTATUS_XPFULL))
return;
int nNameShowOffset = this->GetZoomPercent()*(OFFSET_NAMESHOW+50)/100 + this->GetOffsetY();
int nShowX =m_Info.posScr.x;
int nShowY =m_Info.posScr.y-nNameShowOffset;
g_objGameMap.MapScaleShowPos(nShowX, nShowY);
CAni* pAni = g_objGameDataSet.GetDataAni("ani/common.ani", "Ko", EXIGENCE_IMMEDIATE);
if (pAni)
{
CMyBitmap* pBmp = pAni->GetFrame(0);
if(pBmp)
{
CMySize sizeKO;
pBmp->GetSize(sizeKO.iWidth, sizeKO.iHeight);
sizeKO.iWidth = sizeKO.iWidth*2/3;
sizeKO.iHeight = sizeKO.iHeight*2/3;
CMyPos posShow = {_SCR_WIDTH-60, _SCR_HEIGHT-220};
posShow.x = nShowX-sizeKO.iWidth*4*this->GetZoomPercent()/3/100;
posShow.y = nShowY-sizeKO.iHeight*this->GetZoomPercent()/2/100;
pBmp->ShowEx(posShow.x, posShow.y, NULL, sizeKO.iWidth, sizeKO.iHeight);
CMyPos posKo = {posShow.x+sizeKO.iWidth*this->GetZoomPercent()*2/100, posShow.y+sizeKO.iHeight*this->GetZoomPercent()/2/100};
m_objImgNumber.SetShowPos(posKo);
char szInfo[256] = "";
sprintf(szInfo, "%02u", this->GetKoAmount());
m_objImgNumber.SetString(szInfo);
if(m_dwKoScale > 50)
m_dwKoScale -= 10;
m_objImgNumber.SetScalePercent(100);
if(this->TestStatus(USERSTATUS_XPFULL))
m_objImgNumber.SetColor(_COLOR_RED, 0xff);
else
m_objImgNumber.SetColor(_COLOR_GREEN, 0xff);
m_objImgNumber.Show();
}
}
}
//------------------------------------------------------------------
void CPlayer::ProcessStatusEffect(__int64 dwStatus)
{
int nAmount = g_obj3DRoleData.GetStatusEffectInfoAmount();
for(int i = 0; i < nAmount; i ++)
{
StatusEffectInfo* pInfo = g_obj3DRoleData.GetStatusEffectInfoByIndex(i);
if(!pInfo)
continue;
if (dwStatus&pInfo->dwStatus)
{
if (!this->TestStatus(pInfo->dwStatus))
{
if (strcmp(pInfo->sz2DEffect, "NULL") != 0 && (!this->TestAniEffect(pInfo->sz2DEffect)))
this->AddAniEffect(pInfo->sz2DEffect);
if(strcmp(pInfo->sz3DEffect, "NULL") != 0)
m_objEffect.Add(pInfo->sz3DEffect);
}
}
else
{
if (this->TestStatus(pInfo->dwStatus))
{
if(strcmp(pInfo->sz2DEffect, "NULL") != 0)
this->ClrAniEffect(pInfo->sz2DEffect);
if(strcmp(pInfo->sz3DEffect, "NULL") != 0)
m_objEffect.Delete(pInfo->sz3DEffect);
}
}
}
}
//------------------------------------------------------------------
DWORD CPlayer::GetData(DWORD dwDataType)
{
if(m_pFD)
return m_pFD->GetValue(dwDataType);
return 0;
}
//------------------------------------------------------------------
void CPlayer::SetData(DWORD dwDataType, DWORD dwData)
{
if(g_objHero.GetID() == this->GetID() && _PLAYER_LIFE == dwDataType)
{
int nLife = this->GetData(_PLAYER_LIFE);
if(nLife > (int)dwData)
g_objHero.m_objCheck.DecLife();
}
if(m_pFD)
m_pFD->SetValue(dwData, dwDataType);
}
//------------------------------------------------------------------
DWORD CPlayer::GetMercenaryLevel()
{
return m_infoPlayer.dwMercenaryLevel;
}
//------------------------------------------------------------------
void CPlayer::SetMercenaryLevel(DWORD dwMercenaryLevel)
{
m_infoPlayer.dwMercenaryLevel = dwMercenaryLevel;
}
//------------------------------------------------------------------
DWORD CPlayer::GetMercenaryExp()
{
return m_infoPlayer.dwMercenaryExp;
}
//------------------------------------------------------------------
void CPlayer::SetMercenaryExp(DWORD dwMercenaryExp)
{
m_infoPlayer.dwMercenaryExp = dwMercenaryExp;
}
//------------------------------------------------------------------
DWORD CPlayer::GetSelectedHonorTitle()
{
return m_infoPlayer.dwSelectHonorTitle;
}
//------------------------------------------------------------------
void CPlayer::SetSelectedHonorTitle(DWORD dwSelectedTitle)
{
m_infoPlayer.dwSelectHonorTitle = dwSelectedTitle;
}
//------------------------------------------------------------------
DWORD CPlayer::GetNobilityRank()
{
return m_infoPlayer.dwNobilityRank;
}
//------------------------------------------------------------------
void CPlayer::SetNobilityRank(DWORD dwNobilityRank)
{
m_infoPlayer.dwNobilityRank = dwNobilityRank;
}
//------------------------------------------------------------------
DWORD CPlayer::GetHonorTitleAmount()
{
return m_infoPlayer.setHonorTitle.size();
}
//------------------------------------------------------------------
const char* CPlayer::GetHororTitle(int nIndex)
{
if(nIndex < 0 && nIndex >= m_infoPlayer.setHonorTitle.size())
return NULL;
return g_obj3DRoleData.GetHonorTitle(nIndex);
}
//------------------------------------------------------------------
unsigned char CPlayer::GetHororTitleIndex(int nIndex)
{
if(nIndex < 0 && nIndex >= m_infoPlayer.setHonorTitle.size())
return 0;
return m_infoPlayer.setHonorTitle[nIndex];
}
//------------------------------------------------------------------
void CPlayer::AddHororTitle(int nIndex)
{
for(int i = 0; i < m_infoPlayer.setHonorTitle.size(); i ++)
{
if(nIndex = m_infoPlayer.setHonorTitle[i])
break;
}
if(i == m_infoPlayer.setHonorTitle.size())
m_infoPlayer.setHonorTitle.push_back(nIndex);
}
//------------------------------------------------------------------
DWORD CPlayer::GetMedalAmount()
{
return m_infoPlayer.setMedal.size();
}
//------------------------------------------------------------------
const char* CPlayer::GetMedale(int nIndex)
{
if(nIndex < 0 && nIndex >= m_infoPlayer.setMedal.size())
return NULL;
return g_obj3DRoleData.GetMedal(nIndex);
}
//------------------------------------------------------------------
unsigned char CPlayer::GetMedaleIndex(int nIndex)
{
if(nIndex < 0 && nIndex >= m_infoPlayer.setMedal.size())
return 0;
return m_infoPlayer.setMedal[nIndex];
}
//------------------------------------------------------------------
void CPlayer::AddMedaleTitle(int nIndex)
{
for(int i = 0; i < m_infoPlayer.setMedal.size(); i ++)
{
if(nIndex = m_infoPlayer.setMedal[i])
break;
}
if(i == m_infoPlayer.setMedal.size())
m_infoPlayer.setMedal.push_back(nIndex);
}
//------------------------------------------------------------------
char* CPlayer::GetNobilityTitle()
{
return (char*)g_obj3DRoleData.GetNobilityTitle(this->GetSelectedHonorTitle());
}
//------------------------------------------------------------------
void CPlayer::SetTutorLevel(DWORD dwTutorLevel)
{
m_infoPlayer.dwTutorLevel = dwTutorLevel;
}
//------------------------------------------------------------------
void CPlayer::SetTutorExp(int dwTutorExp)
{
m_infoPlayer.dwTutorExp = dwTutorExp;
}
//------------------------------------------------------------------
DWORD CPlayer::GetTutorLevel()
{
return m_infoPlayer.dwTutorLevel;
}
//------------------------------------------------------------------
int CPlayer::GetTutorExp()
{
return m_infoPlayer.dwTutorExp;
}
//------------------------------------------------------------------
void CPlayer::SetNpcTitle(const char* pszTitle)
{
if(pszTitle)
strcpy(m_szNpcTitle, pszTitle);
}
void CPlayer::SetSyndicateLevel(UINT uiLevel)
{
m_infoPlayer.uiSyndicateLevel = uiLevel;
}
UINT CPlayer::GetSyndicateLevel()
{
return m_infoPlayer.uiSyndicateLevel;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -