📄 checkroutine.cpp
字号:
// CheckRoutine.cpp: implementation of the CCheckRoutine class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CheckRoutine.h"
#include "CharMove.h"
#include "Player.h"
#include "AbilityManager.h"
#include "ItemManager.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CCheckRoutine::CCheckRoutine()
{
}
CCheckRoutine::~CCheckRoutine()
{
}
BOOL CCheckRoutine::StateOf(CPlayer * pPlayer, DWORD state)
{
if(pPlayer->GetState() == state)
return TRUE;
else
return FALSE;
}
BOOL CCheckRoutine::MoneyOf(CPlayer * pPlayer, eITEMTABLE tabIdx, MONEYTYPE moneyAmount)
{
if(pPlayer->GetMoney(tabIdx) >= moneyAmount)
return TRUE;
else
return FALSE;
}
BOOL CCheckRoutine::LevelOf(CPlayer * pPlayer, LEVELTYPE level)
{
if(pPlayer->GetLevel() >= level)
return TRUE;
else
return FALSE;
}
BOOL CCheckRoutine::DistanceOf(CPlayer * pPlayer, VECTOR3 *vTPos, DWORD dist)
{
VECTOR3 * ObjectPos = CCharMove::GetPosition((CObject *)pPlayer);
if((DWORD)CalcDistanceXZ( ObjectPos, vTPos ) <= dist)
return TRUE;
else
return FALSE;
}
BOOL CCheckRoutine::AbilityOf(CPlayer * pPlayer, eABILITY_USE_JOB eKind)
{
DWORD abilIDX = 0;
switch(eKind)
{
case eAUKJOB_Ungijosik:
{
abilIDX = ABILITYINDEX_UNGI;
}
break;
case eAUKJOB_Vimu:
{
abilIDX = ABILITYINDEX_VIMU;
}
break;
case eAUKJOB_Party:
{
abilIDX = ABILITYINDEX_PARTY;
}
break;
case eAUKJOB_Munpa:
{
abilIDX = ABILITYINDEX_MUNPA;
}
break;
case eAUKJOB_Deal:
{
abilIDX = ABILITYINDEX_EXCHANGE;
}
break;
case eAUKJOB_StreetStall:
{
abilIDX = ABILITYINDEX_STALL;
}
break;
case eAUKJOB_Upgrade:
{
abilIDX = ABILITYINDEX_ITEMUPGRADE;
}
break;
case eAUKJOB_Mix:
{
abilIDX = ABILITYINDEX_ITEMMIX;
}
break;
case eAUKJOB_Reinforce:
{
abilIDX = ABILITYINDEX_ITEMREINFORCE;
}
break;
case eAUKJOB_Dissolve:
{
abilIDX = ABILITYINDEX_ITEMDISSOLVE;
}
break;
default:
{
return FALSE;
}
}
if(ABILITYMGR->CheckAbilityLevel(abilIDX, pPlayer->GetAbilityGroup(), 1))
return TRUE;
else
return FALSE;
}
// IsEmpty, IsPassword, IsLock遏眉农客绰 促福促.
// 酒捞袍 悼老己 眉农(困摹,粮犁,酒捞袍沥焊)
BOOL CCheckRoutine::ItemOf(CPlayer * pPlayer, POSTYPE AtPos, WORD wItemIdx, DURTYPE Dura, POSTYPE QuickPos, WORD flag)
{
const ITEMBASE * pItemBase = ITEMMGR->GetItemInfoAbsIn(pPlayer, AtPos);
if(!pItemBase)
return FALSE;
if(flag & CB_EXIST && pItemBase->dwDBIdx == 0)
return FALSE;
if(flag & CB_ICONIDX && pItemBase->wIconIdx != wItemIdx)
return FALSE;
if(flag & CB_QABSPOS && pItemBase->QuickPosition != QuickPos)
return FALSE;
if(flag & CB_DURA && pItemBase->Durability != Dura)
return FALSE;
if(flag & CB_ENOUGHDURA && Dura > pItemBase->Durability)
return FALSE;
return TRUE;
}
BOOL CCheckRoutine::DearlerItemOf(DWORD dwDealerIdx, DWORD dwBuyItemIdx)
{
DealerData * pDealer = ITEMMGR->GetDealer(dwDealerIdx);
if(!pDealer)
return FALSE;
return pDealer->FindItem(dwBuyItemIdx);
}
BOOL CCheckRoutine::MugongOf(CPlayer * pPlayer, WORD wMugongIdx)
{
if(pPlayer->GetMugongBaseByMugongIdx(wMugongIdx))
return TRUE;
else
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -