⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 effectarmageddon.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : EffectArmageddon.cpp// Written by  : elca// Description : //////////////////////////////////////////////////////////////////////////////#include "EffectArmageddon.h"#include "Slayer.h"#include "Vampire.h"#include "Monster.h"#include "SkillUtil.h"#include "Player.h"#include "Gpackets/GCRemoveEffect.h"#include "Gpackets/GCStatusCurrentHP.h"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////EffectArmageddon::EffectArmageddon(Creature* pCreature)	throw(Error){	__BEGIN_TRY	Assert(pCreature != NULL);	setTarget(pCreature);	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectArmageddon::affect()	throw(Error){	__BEGIN_TRY	Creature* pCreature = dynamic_cast<Creature*>( m_pTarget );	Assert( pCreature != NULL );	affect(pCreature);	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectArmageddon::affect(Creature* pCreature)	throw(Error){	__BEGIN_TRY	Assert( pCreature != NULL );	Zone* pZone = pCreature->getZone();	Assert( pZone != NULL );	// 捞棋飘甫 扒 农府媚甫 啊廉柯促.	// !! 捞固 粮阑 栋车阑 荐档 乐栏骨肺 NULL 捞 瞪 荐 乐促.	// by bezz. 2003.1.4 	//Creature* pCastCreature = pZone->getCreature( m_UserObjectID );	//ZoneCoord_t X = pCreature->getX();	//ZoneCoord_t Y = pCreature->getY();	if ( pCreature->isFlag( Effect::EFFECT_CLASS_NO_DAMAGE ) )	{		return;	}	//cout << "EffectArmageddon affect damage :" << m_Damage << endl;	// 概檬 单固瘤 林绰芭 泪矫 阜酒初澜. by Sequoia	/*if ( pCreature->isSlayer() )	{		Slayer* pSlayer = dynamic_cast<Slayer*>(pCreature);		GCModifyInformation gcMI;		::setDamage( pSlayer, m_Damage, pCastCreature, SKILL_ARMAGEDDON, &gcMI );		pSlayer->getPlayer()->sendPacket( &gcMI );	}	else if ( pCreature->isVampire() )	{		Vampire* pVampire = dynamic_cast<Vampire*>(pCreature);		GCModifyInformation gcMI;		::setDamage( pVampire, m_Damage, pCastCreature, SKILL_ARMAGEDDON, &gcMI );		pVampire->getPlayer()->sendPacket( &gcMI );	}	else if ( pCreature->isMonster() )	{		Monster* pMonster = dynamic_cast<Monster*>(pCreature);		::setDamage( pMonster, m_Damage, pCastCreature, SKILL_ARMAGEDDON );	}*/	setNextTime( m_Delay );	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectArmageddon::unaffect(Creature* pCreature)	throw(Error){	__BEGIN_TRY	Assert(pCreature != NULL);	//cout << "EffectArmageddon unaffect.." << endl;	// 敲贰弊甫 馋促.	pCreature->removeFlag(Effect::EFFECT_CLASS_ARMAGEDDON);	Zone* pZone = pCreature->getZone();	Assert(pZone != NULL);	// 捞棋飘甫 昏力窍扼绊 舅妨霖促.	GCRemoveEffect gcRemoveEffect;	gcRemoveEffect.setObjectID(pCreature->getObjectID());	gcRemoveEffect.addEffectList(Effect::EFFECT_CLASS_ARMAGEDDON);	pZone->broadcastPacket(pCreature->getX(), pCreature->getY(), &gcRemoveEffect);	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectArmageddon::unaffect()	throw(Error){	__BEGIN_TRY	Creature* pCreature = dynamic_cast<Creature *>(m_pTarget);	unaffect(pCreature);	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////string EffectArmageddon::toString()	const throw(){	__BEGIN_TRY	StringStream msg;	msg << "EffectArmageddon("		<< "ObjectID:" << getObjectID()		<< ")";	return msg.toString();	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectArmageddon::decreaseHP( Damage_t damage )	throw(){	//cout << "EffectArmageddon Damaged : " << (int)damage << endl;	HP_t RemainHP = max( 0, m_HP - damage );	setHP( RemainHP );	// 巢篮 HP啊 0老 版快 促澜 EffectManager::heartbeat() 俊辑 捞棋飘甫 朝妨霖促.	if( RemainHP == 0 )		setDeadline(0);}

⌨️ 快捷键说明

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