📄 conditionentermasterlair.cpp
字号:
////////////////////////////////////////////////////////////////////////////////// Filename : ConditionEnterMasterLair.cpp// Written By : // Description :////////////////////////////////////////////////////////////////////////////////#include "ConditionEnterMasterLair.h"#include "PlayerCreature.h"#include "FlagSet.h"#include "Zone.h"#include "PaySystem.h"#include "MasterLairManager.h"#include "GamePlayer.h"#include "PacketUtil.h"#include "ZoneInfoManager.h"#include "ZoneGroupManager.h"#include "ZoneUtil.h"#include "VariableManager.h"#include "DB.h"////////////////////////////////////////////////////////////////////////////////// is satisfied?////////////////////////////////////////////////////////////////////////////////bool ConditionEnterMasterLair::isSatisfied (Creature * pCreature1 , Creature * pCreature2, void* pParam) const throw () { if (!g_pVariableManager->isActiveMasterLair()) { return false; } Assert(pCreature2 != NULL); Assert(pCreature2->isPC()); //cout << "Condition: EnterMasterLair" << 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 // 捣 辰 荤恩父 付胶磐 饭绢俊 甸绢哎 荐 乐促. if (bPayPlay) { // 粮阑 茫绰促. Zone* pZone = getZoneByZoneID(m_TargetZoneID); Assert(pZone!=NULL); // 付胶磐 饭绢啊 酒聪搁 眉农且 鞘夸啊 绝绰芭促. if (!pZone->isMasterLair()) { return true; } MasterLairManager* pMasterLairManager = pZone->getMasterLairManager(); Assert(pMasterLairManager!=NULL); if (pMasterLairManager->enterCreature( pCreature2 )) { // 免涝 啊瓷 return true; } } return false;}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void ConditionEnterMasterLair::read (PropertyBuffer & propertyBuffer) throw (Error){ try { // read turn m_TargetZoneID = propertyBuffer.getPropertyInt("TargetZoneID"); } catch (NoSuchElementException & nsee) { throw Error(nsee.toString()); }}//////////////////////////////////////////////////////////////////////////////// // get debug string////////////////////////////////////////////////////////////////////////////////string ConditionEnterMasterLair::toString () const throw () { __BEGIN_TRY StringStream msg; msg << "ConditionEnterMasterLair(" << "TargetZoneID:" << (int)m_TargetZoneID << ")"; return msg.toString(); __END_CATCH}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -