conditionentercastle.cpp

来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 124 行

CPP
124
字号
////////////////////////////////////////////////////////////////////////////////// Filename    : ConditionEnterCastle.cpp// Written By  : // Description :////////////////////////////////////////////////////////////////////////////////#include "ConditionEnterCastle.h"#include "PlayerCreature.h"#include "FlagSet.h"#include "Zone.h"#include "PaySystem.h"#include "GamePlayer.h"#include "PacketUtil.h"#include "ZoneInfoManager.h"#include "ZoneGroupManager.h"#include "ZoneUtil.h"#include "VariableManager.h"#include "CastleInfoManager.h"#include "DB.h"////////////////////////////////////////////////////////////////////////////////// is satisfied?////////////////////////////////////////////////////////////////////////////////bool ConditionEnterCastle::isSatisfied (Creature * pCreature1 , Creature * pCreature2, void* pParam) const 	throw () { 	/*if (!g_pVariableManager->isActiveCastle())	{		return false;	}*/	// 唱吝俊 傈里吝牢瘤 眉农秦具 等促	Assert(pCreature2 != NULL);	Assert(pCreature2->isPC());	//cout << "Condition: EnterCastle" << endl;	bool bPayPlay = false;	GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pCreature2->getPlayer());	Assert(pGamePlayer!=NULL);#if defined(__PAY_SYSTEM_ZONE__) || defined(__PAY_SYSTEM_FREE_LIMIT__)	// 捞固 蜡丰粮俊 乐绰 版快扼搁... 包拌绝摆瘤.	// 菩剐府 夸陛 利侩吝老 版快	if (pGamePlayer->isPayPlaying() || pGamePlayer->isFamilyFreePass())	{		bPayPlay = true;	}	else	{		// 老窜 zone 夸陛 眉农		string connectIP = pGamePlayer->getSocket()->getHost();				if (pGamePlayer->loginPayPlay(connectIP, pGamePlayer->getID()))		{			sendPayInfo(pGamePlayer);			bPayPlay = true;		}	}#else	bPayPlay = true;#endif	// 捣 辰 荤恩父 castle 俊 甸绢哎 荐 乐促.	if (bPayPlay)	{		// 粮阑 茫绰促.		Zone* pZone = getZoneByZoneID(m_TargetZoneID);		Assert(pZone!=NULL);		// castle 捞 酒聪搁 眉农且 鞘夸啊 绝绰芭促.		if (!pZone->isCastle())		{			return true;		}		// 辆练埃 傈里吝俊绰 辆练俊 惑包绝捞 穿备唱 烹苞矫难具 茄促.		// 悼练埃 傈里吝俊绰 鸥辆练阑 烹苞矫难辑绰 救 等促.		// 乞矫俊绰 NPC甫 烹秦具 窍骨肺 穿备档 烹苞矫懦 荐 绝促.		// 傈里矫胶袍 父甸锭 捞芭 促 眠啊矫难具 等促. 2003. 1.20.		PlayerCreature* pPC = dynamic_cast<PlayerCreature*>( pCreature2 );		return g_pCastleInfoManager->canPortalActivate( m_TargetZoneID, pPC );	}	return false;}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void ConditionEnterCastle::read (PropertyBuffer & propertyBuffer) 	throw (Error){	try	{		// read turn		m_TargetZoneID = propertyBuffer.getPropertyInt("TargetZoneID");	}	catch (NoSuchElementException & nsee)	{		throw Error(nsee.toString());	}}////////////////////////////////////////////////////////////////////////////////// get debug string////////////////////////////////////////////////////////////////////////////////string ConditionEnterCastle::toString () const 	throw () { 	__BEGIN_TRY	StringStream msg;	msg << "ConditionEnterCastle("		<< "TargetZoneID:" << (int)m_TargetZoneID		<< ")"; 	return msg.toString();	__END_CATCH}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?