effecttryregenzone.cpp
来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 68 行
CPP
68 行
#include "EffectTryRegenZone.h"#include "MonsterCorpse.h"#include "Creature.h"#include "Zone.h"#include "Gpackets/GCRemoveEffect.h"#include "Gpackets/GCAddEffect.h"EffectTryRegenZone::EffectTryRegenZone( MonsterCorpse* pTower ){ setTarget( pTower );}void EffectTryRegenZone::affect() throw(Error){ __BEGIN_TRY MonsterCorpse* pTower = dynamic_cast<MonsterCorpse*>(m_pTarget); Assert( pTower != NULL ); GCRemoveEffect gcRemoveEffect; gcRemoveEffect.setObjectID( pTower->getObjectID() ); gcRemoveEffect.addEffectList( getSendEffectClass() ); pTower->getZone()->broadcastPacket( pTower->getX(), pTower->getY(), &gcRemoveEffect ); ++m_Progress; if ( m_Progress >= 3 ) { RegenZoneManager::getInstance()->changeRegenZoneOwner( pTower, m_OwnerRace ); setDeadline(0); } else { GCAddEffect gcAddEffect; gcAddEffect.setObjectID( pTower->getObjectID() ); gcAddEffect.setEffectID( getSendEffectClass() ); gcAddEffect.setDuration( 200 ); pTower->getZone()->broadcastPacket( pTower->getX(), pTower->getY(), &gcAddEffect ); setNextTime(50); } __END_CATCH}void EffectTryRegenZone::unaffect() throw(Error){ __BEGIN_TRY MonsterCorpse* pTower = dynamic_cast<MonsterCorpse*>(m_pTarget); Assert( pTower != NULL ); GCRemoveEffect gcRemoveEffect; gcRemoveEffect.setObjectID( pTower->getObjectID() ); gcRemoveEffect.addEffectList( getSendEffectClass() ); pTower->getZone()->broadcastPacket( pTower->getX(), pTower->getY(), &gcRemoveEffect ); pTower->removeFlag( getEffectClass() ); __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?