⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkroutine.cpp

📁 墨香最新私服
💻 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 + -