📄 effectlovechain.cpp
字号:
//////////////////////////////////////////////////////////////////////////////// Filename : EffectLoveChain.cpp// Written by : elca// Description : // 焙牢扁贱 Sniping 肚绰 轨颇捞绢 扁贱 Invisibility肺 牢秦辑// 泅犁 痢痢 锐固秦廉啊绊 乐绰(荤扼瘤绊 乐绰) 农府媚俊 嘿绰 捞棋飘捞促.//////////////////////////////////////////////////////////////////////////////#include "EffectLoveChain.h"#include "Slayer.h"#include "Vampire.h"#include "GamePlayer.h"#include "PCFinder.h"#include "ZoneUtil.h"#include "ZoneInfoManager.h"#include "CreatureUtil.h"#include "Gpackets/GCRemoveEffect.h"#include "Gpackets/GCUseOK.h"#include "Gpackets/GCCannotUse.h"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////EffectLoveChain::EffectLoveChain(Creature* pCreature) throw(Error){ __BEGIN_TRY //setTarget(pCreature); m_OwnerOID = pCreature->getObjectID(); __END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectLoveChain::affect(Creature* pCreature) throw(Error){ __BEGIN_TRY __END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectLoveChain::unaffect(Creature* pCreature) throw(Error){ __BEGIN_TRY //cout << "EffectLoveChain " << "unaffect BEGIN" << endl; Assert(pCreature != NULL); // 捞棋飘 敲饭弊啊 绝促搁 磷菌促芭唱 窍绰 巩力肺 transport 窍瘤 臼摆促绰吧 狼固茄促. if ( !pCreature->isFlag( Effect::EFFECT_CLASS_LOVE_CHAIN ) ) return; Zone* pZone = pCreature->getZone(); Assert(pZone != NULL); Player* pPlayer = pCreature->getPlayer(); Assert( pPlayer != NULL ); GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pPlayer); Assert( pGamePlayer != NULL ); PlayerCreature* pPC = dynamic_cast<PlayerCreature*>(pCreature); Assert( pPC != NULL ); ZoneCoord_t x = pCreature->getX(); ZoneCoord_t y = pCreature->getY(); pCreature->removeFlag(Effect::EFFECT_CLASS_LOVE_CHAIN); // Effect 啊 绝绢脸澜阑 舅赴促. GCRemoveEffect gcRemoveEffect; gcRemoveEffect.setObjectID( pCreature->getObjectID() ); gcRemoveEffect.addEffectList( Effect::EFFECT_CLASS_LOVE_CHAIN ); pZone->broadcastPacket( x, y, &gcRemoveEffect ); // Target 阑 眉农秦辑 傈价捞 啊瓷窍搁 傈价茄促. bool bValid = false; __ENTER_CRITICAL_SECTION( (*g_pPCFinder) ) Creature* pTargetCreature = g_pPCFinder->getCreature_LOCKED( m_TargetName ); if ( pTargetCreature != NULL ) { Zone* pTargetZone = pTargetCreature->getZone(); if ( pTargetZone != NULL ) { // 付胶磐 饭绢肺绰 捞悼且 荐 绝促. if ( !pTargetZone->isMasterLair() ) { // 蜡丰 辑厚胶 捞侩捞 啊瓷茄啊? if ( pGamePlayer->loginPayPlay( pGamePlayer->getSocket()->getHost(), pGamePlayer->getID() ) || !( g_pZoneInfoManager->getZoneInfo( pTargetZone->getZoneID() )->isPayPlay() ) ) { // 具傈荤飞何, 矫寇胞瘤开, 捞亥飘版扁厘, 捞亥飘OX 粮栏肺绰 哎 荐 绝促. if ( pTargetZone->getZoneID() != 2101 && pTargetZone->getZoneID() != 2102 && pTargetZone->getZoneID() != 1005 && pTargetZone->getZoneID() != 1006 && pTargetZone->getZoneID() != 1131 && pTargetZone->getZoneID() != 1132 && pTargetZone->getZoneID() != 1133 && pTargetZone->getZoneID() != 1134 && ( pTargetZone->getZoneID() != 1122 || canEnterBeginnerZone( pCreature ) ) ) { bValid = true; if ( pCreature->isSlayer() ) { Slayer* pSlayer = dynamic_cast<Slayer*>(pCreature); Assert( pSlayer != NULL ); if ( pSlayer->hasRideMotorcycle() ) { pSlayer->getOffMotorcycle(); } } transportCreature( pCreature, pTargetZone->getZoneID(), pTargetCreature->getX(), pTargetCreature->getY(), false ); } } } } } __LEAVE_CRITICAL_SECTION( (*g_pPCFinder) ) if ( !bValid ) { GCCannotUse _GCCannotUse; _GCCannotUse.setObjectID( m_ItemObjectID ); pGamePlayer->sendPacket(&_GCCannotUse); } __END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectLoveChain::unaffect() throw(Error){ __BEGIN_TRY if ( m_pZone != NULL ) { Creature* pCreature = m_pZone->getCreature( m_OwnerOID ); if ( pCreature != NULL ) unaffect(pCreature); } __END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////string EffectLoveChain::toString() const throw(){ __BEGIN_TRY StringStream msg; msg << "EffectLoveChain(" << "ObjectID:" << getObjectID() << "TargetName:" << m_TargetName << ")"; return msg.toString(); __END_CATCH}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -