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

📄 effectdarkbluepoison.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : EffectDarkBluePoison.cpp// Written by  : elca// Description : //////////////////////////////////////////////////////////////////////////////#include "EffectDarkBluePoison.h"#include "Slayer.h"#include "Vampire.h"#include "Monster.h"#include "Player.h"#include "SkillHandler.h"#include "Gpackets/GCModifyInformation.h"#include "Gpackets/GCRemoveEffect.h"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////EffectDarkBluePoison::EffectDarkBluePoison(Creature* pCreature)	throw(Error){	__BEGIN_TRY	m_Level = 0;	setTarget(pCreature);	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectDarkBluePoison::affect()	throw(Error){	__BEGIN_TRY	//cout << "EffectDarkBluePoison " << "affect BEGIN" << endl;	Creature* pCreature = dynamic_cast<Creature *>(m_pTarget);	affect(pCreature);	//cout << "EffectDarkBluePoison " << "affect END" << endl;	__END_CATCH }////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectDarkBluePoison::affect(Creature* pCreature)	throw(Error){	__BEGIN_TRY	//cout << "EffectDarkBluePoison " << "affect BEGIN" << endl;	Assert(pCreature != NULL);	if ( !pCreature->isFlag(Effect::EFFECT_CLASS_NO_DAMAGE) )	{		// 浇饭捞绢老 版快俊父 刀 单固瘤啊 粮犁茄促.		if (pCreature->isSlayer())		{			Slayer* pSlayer = dynamic_cast<Slayer*>(pCreature);			Assert(pSlayer != NULL);			//int PoisonDamage = computeMagicDamage(pSlayer, m_Damage, SKILL_DARKBLUE_POISON);			MP_t CurrentMP = pSlayer->getMP(ATTR_CURRENT);			MP_t RemainMP  = max(0,(int)CurrentMP - m_Damage);			pSlayer->setMP(RemainMP, ATTR_CURRENT);			GCModifyInformation gcMI;			gcMI.addShortData(MODIFY_CURRENT_MP, RemainMP);			Player* pPlayer = pCreature->getPlayer();			Assert(pPlayer != NULL);			pPlayer->sendPacket(&gcMI);		}		else if (pCreature->isOusters())		{			Ousters* pOusters = dynamic_cast<Ousters*>(pCreature);			Assert(pOusters != NULL);			//int PoisonDamage = computeMagicDamage(pOusters, m_Damage, SKILL_DARKBLUE_POISON);			// 酒快胶磐令绰 1/2父 别牢促.			MP_t CurrentMP = pOusters->getMP(ATTR_CURRENT);			MP_t RemainMP  = max(0,(int)CurrentMP - (m_Damage/2));			pOusters->setMP(RemainMP, ATTR_CURRENT);			GCModifyInformation gcMI;			gcMI.addShortData(MODIFY_CURRENT_MP, RemainMP);			Player* pPlayer = pCreature->getPlayer();			Assert(pPlayer != NULL);			pPlayer->sendPacket(&gcMI);		}	}		setNextTime(m_Tick);	//cout << "EffectDarkBluePoison " << "affect END" << endl;	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectDarkBluePoison::affect(Zone* pZone , ZoneCoord_t x , ZoneCoord_t y , Object* pObject)	throw(Error){	__BEGIN_TRY	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectDarkBluePoison::unaffect(Creature* pCreature)	throw(Error){	__BEGIN_TRY	__BEGIN_DEBUG	//cout << "EffectDarkBluePoison " << "unaffect BEGIN" << endl;	Assert(pCreature != NULL);	// 农府媚俊霸辑 敲贰弊甫 力芭茄促.	pCreature->removeFlag(Effect::EFFECT_CLASS_DARKBLUE_POISON);	Zone* pZone = pCreature->getZone();	Assert(pZone != NULL);	if (pCreature->isPC())	{		GCRemoveEffect gcRemoveEffect;		gcRemoveEffect.setObjectID(pCreature->getObjectID());		gcRemoveEffect.addEffectList(Effect::EFFECT_CLASS_DARKBLUE_POISON);		//pZone->broadcastPacket(pCreature->getX(), pCreature->getY(), &gcRemoveEffect);		Player* pPlayer = pCreature->getPlayer();		Assert(pPlayer != NULL);		pPlayer->sendPacket(&gcRemoveEffect);	}	//cout << "EffectDarkBluePoison " << "unaffect END" << endl;	__END_DEBUG	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectDarkBluePoison::unaffect()	throw(Error){	__BEGIN_TRY	//cout << "EffectDarkBluePoison " << "unaffect BEGIN" << endl;	Creature* pCreature = dynamic_cast<Creature*>(m_pTarget);	unaffect(pCreature);	//cout << "EffectDarkBluePoison " << "unaffect END" << endl;	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectDarkBluePoison::unaffect(Zone* pZone , ZoneCoord_t x , ZoneCoord_t y , Object* pObject)	throw(Error){	__BEGIN_TRY	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////string EffectDarkBluePoison::toString()	const throw(){	__BEGIN_TRY	StringStream msg;	msg << "EffectDarkBluePoison("		<< "ObjectID:" << getObjectID()		<< ")";	return msg.toString();	__END_CATCH}

⌨️ 快捷键说明

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