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

📄 effectincreaseattr.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : EffectIncreaseAttr.cpp// Written by  : elca// Description ://////////////////////////////////////////////////////////////////////////////#include "EffectIncreaseAttr.h"#include "Slayer.h"#include "Vampire.h"#include "Ousters.h"#include "Monster.h"#include "Player.h"#include "PacketUtil.h"#include "Gpackets/GCModifyInformation.h"#include "Gpackets/GCStatusCurrentHP.h"#include "Gpackets/GCRemoveEffect.h"#include "Gpackets/GCOtherModifyInfo.h"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////EffectIncreaseAttr::EffectIncreaseAttr(Creature* pCreature)	throw(Error){	__BEGIN_TRY	Assert(pCreature != NULL);	Assert(pCreature->isSlayer());	setTarget(pCreature);	// 辑滚 傈侩 Effect捞促. by sigi. 2002.11.14	m_bBroadcastingEffect = false;	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectIncreaseAttr::affect(Creature* pCreature)	throw(Error){	__BEGIN_TRY	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectIncreaseAttr::affect(Zone* pZone , ZoneCoord_t x , ZoneCoord_t y , Object* pObject)	throw(Error){	__BEGIN_TRY	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectIncreaseAttr::unaffect() 	throw(Error){	__BEGIN_TRY		//cout << "EffectIncreaseAttr" << "unaffect BEGIN" << endl;    Creature* pCreature = dynamic_cast<Creature *>(m_pTarget);	unaffect(pCreature);	//cout << "EffectIncreaseAttr" << "unaffect END" << endl;	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectIncreaseAttr::unaffect(Creature* pCreature)	throw(Error){	__BEGIN_TRY	//cout << "EffectIncreaseAttr" << "unaffect BEGIN" << endl;	Assert(pCreature != NULL);	if(pCreature->isSlayer())	{		pCreature->removeFlag(Effect::EFFECT_CLASS_INCRASE_ATTR);		Slayer* pSlayer = dynamic_cast<Slayer*>(pCreature);		SLAYER_RECORD prev;		pSlayer->getSlayerRecord(prev);		pSlayer->initAllStat();		pSlayer->sendRealWearingInfo();		pSlayer->sendModifyInfo(prev);		Zone* pZone = pCreature->getZone();		Assert(pZone != NULL);		GCRemoveEffect gcRemoveEffect;		gcRemoveEffect.setObjectID(pCreature->getObjectID());		gcRemoveEffect.addEffectList(Effect::EFFECT_CLASS_INCRASE_ATTR);		pZone->broadcastPacket(pCreature->getX(), pCreature->getY(), &gcRemoveEffect);		GCOtherModifyInfo gcOtherModifyInfo;		makeGCOtherModifyInfo(&gcOtherModifyInfo, pSlayer, &prev);		pZone->broadcastPacket(pSlayer->getX(), pSlayer->getY(), &gcOtherModifyInfo, pSlayer);	}	else if (pCreature->isVampire() )	{		pCreature->removeFlag(Effect::EFFECT_CLASS_INCRASE_ATTR);		Vampire* pVampire = dynamic_cast<Vampire*>(pCreature);		VAMPIRE_RECORD prev;		pVampire->getVampireRecord(prev);		pVampire->initAllStat();		pVampire->sendRealWearingInfo();		pVampire->sendModifyInfo(prev);		Zone* pZone = pCreature->getZone();		Assert(pZone != NULL);		GCRemoveEffect gcRemoveEffect;		gcRemoveEffect.setObjectID(pCreature->getObjectID());		gcRemoveEffect.addEffectList(Effect::EFFECT_CLASS_INCRASE_ATTR);		pZone->broadcastPacket(pCreature->getX(), pCreature->getY(), &gcRemoveEffect);		GCOtherModifyInfo gcOtherModifyInfo;		makeGCOtherModifyInfo(&gcOtherModifyInfo, pVampire, &prev);		pZone->broadcastPacket(pVampire->getX(), pVampire->getY(), &gcOtherModifyInfo, pVampire);	}	else if (pCreature->isOusters() )	{		pCreature->removeFlag(Effect::EFFECT_CLASS_INCRASE_ATTR);		Ousters* pOusters = dynamic_cast<Ousters*>(pCreature);		OUSTERS_RECORD prev;		pOusters->getOustersRecord(prev);		pOusters->initAllStat();		pOusters->sendRealWearingInfo();		pOusters->sendModifyInfo(prev);		Zone* pZone = pCreature->getZone();		Assert(pZone != NULL);		GCRemoveEffect gcRemoveEffect;		gcRemoveEffect.setObjectID(pCreature->getObjectID());		gcRemoveEffect.addEffectList(Effect::EFFECT_CLASS_INCRASE_ATTR);		pZone->broadcastPacket(pCreature->getX(), pCreature->getY(), &gcRemoveEffect);		GCOtherModifyInfo gcOtherModifyInfo;		makeGCOtherModifyInfo(&gcOtherModifyInfo, pOusters, &prev);		pZone->broadcastPacket(pOusters->getX(), pOusters->getY(), &gcOtherModifyInfo, pOusters);	}	//cout << "EffectIncreaseAttr" << "unaffect END" << endl;	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectIncreaseAttr::unaffect(Zone* pZone , ZoneCoord_t x , ZoneCoord_t y , Object* pObject)	throw(Error){	__BEGIN_TRY	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////string EffectIncreaseAttr::toString()	const throw(){	__BEGIN_TRY	StringStream msg;	msg << "EffectIncreaseAttr("		<< "ObjectID:" << getObjectID()		<< ")";	return msg.toString();	__END_CATCH}

⌨️ 快捷键说明

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