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 + -
显示快捷键?