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

📄 effectvigordrop.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
///////////////////////////////////////////////////////////////////////////// Project     : DARKEDEN// Module      : Skill - Effect// File Name   : EffectVigorDrop.cpp// Writer      : 厘全芒// Date        : 2002.3.28// Description ://               秦寸 Effect绰 Vigor Drop捞 顶栏肺 冻绢龙锭狼 Effect甫 备泅窍扁 //               困茄 Effect捞促. //             // History//     DATE      WRITER         DESCRIPTION// =========== =========== =====================================================// 2002.3.28    厘全芒      source file 累己//#include "EffectVigorDrop.h"#include "Zone.h"#include "Slayer.h"#include "Vampire.h"#include "Monster.h"#include "GamePlayer.h"#include "SkillUtil.h"#include "EffectVigorDropToCreature.h"#include "Gpackets/GCModifyInformation.h"#include "Gpackets/GCStatusCurrentHP.h"#include "Gpackets/GCAddEffect.h"EffectVigorDrop::EffectVigorDrop(Zone* pZone, ZoneCoord_t zoneX, ZoneCoord_t zoneY)	throw(Error){	__BEGIN_TRY	m_pZone = pZone;	m_X = zoneX;	m_Y = zoneY;//	m_CasterName ="";//	m_PartyID = 0;	m_UserObjectID = 0;	__END_CATCH}bool EffectVigorDrop::affectCreature(Creature* pTargetCreature, bool bAffectByMove)	throw(Error){	__BEGIN_TRY	//cout << "EffectVigorDrop " << "affectCreature Begin " << endl;	Assert(pTargetCreature != NULL);	// 惑措俊霸 捞固 poison 捞棋飘啊 吧妨廉 乐绰 版快俊绰 吧府瘤 臼绰促.	if (pTargetCreature->isFlag(Effect::EFFECT_CLASS_VIGOR_DROP_TO_CREATURE))	{		//cout << "EffectVigorDrop " << "affectCreature End(Already Effected) " << endl;		return false;	}	// 救傈瘤措 眉农	// 2003.1.10 by bezz, Sequoia	if ( !checkZoneLevelToHitTarget(pTargetCreature) )	{		return false;	}		Zone* pZone = pTargetCreature->getZone();	// 惑措规俊霸 固磨 刀 单固瘤甫 拌魂茄促.	int DropDamage = computeMagicDamage(pTargetCreature, m_Damage, SKILL_VIGOR_DROP);	if (DropDamage > 0)	{		//cout << "EffectVigorDrop(Damage:" << DropDamage << ") Affected" << endl;		// 器捞琉 捞棋飘甫 积己秦辑, 鸥百 农府媚俊 嘿捞绊, 敲贰弊甫 难霖促.		// 泅力绰 VigorDrop Effect甫 瘤加利栏肺 款康窍瘤 臼绰促. 促弗 Effeect扁贱狼		// 版快 矫傈磊狼 饭骇捞 棵扼哎荐废 Duration捞 刘啊窍霸 登绊 捞俊 措茄 Effect甫 嘿捞霸		// 登瘤父, --Drop, --Storm幅狼 扁贱篮 老窜 己傍捞 登搁 秦寸 备开狼 葛电 荤恩捞		// 扁贱阑 寸窍霸 登绊, 阿阿 矫埃栏肺 单固瘤甫 林绰 巴捞 酒聪扼 老沥樊狼 单固瘤甫		// 3殿盒秦辑 林霸 等促. 割锅狼 单固瘤甫 林绰 窃荐绰 酒流 俺惯登瘤 臼篮 窜拌扼辑		// Deadline苞 tick阑 荤侩秦辑 烙狼肺 备泅阑 窍看促.		// 1.6檬 悼救俊 0.5檬 埃拜栏肺 单固瘤甫 林霸 登搁, 3锅狼 单固瘤甫 临 荐 乐霸 等促.		// 咯扁辑绰 窍靛内爹捞 登绢 乐绰单, 捞绰 促弗 规过栏肺 背眉登绢具 且 芭 鞍促.		// EffectVigorDrop Class俊 member variable肺 		//   m_Tick		//   m_Count		// 甫 滴绢辑 捞甫 官帕栏肺 deadline阑 拌魂秦辑 利侩茄促搁 歹宽 歹 祈且 巴捞促.		EffectVigorDropToCreature* pEffectVigorDropToCreature = new EffectVigorDropToCreature(pTargetCreature);		// 快急鼻 矫胶袍阑 困窍咯 捞抚苞 颇萍 酒捞叼甫 持绰促.		//pEffectVigorDropToCreature->setCasterName(m_CasterName);		//pEffectVigorDropToCreature->setPartyID(m_PartyID);		pEffectVigorDropToCreature->setUserObjectID( m_UserObjectID );		pEffectVigorDropToCreature->setLevel(m_Level);		pEffectVigorDropToCreature->setPoint(DropDamage/3);		pEffectVigorDropToCreature->setDeadline(16); // 捞何盒 官层具 茄促.		pEffectVigorDropToCreature->setTick(5);             // 捞何盒档 官层具 茄促.		pEffectVigorDropToCreature->affect(pTargetCreature);		pTargetCreature->addEffect(pEffectVigorDropToCreature);		pTargetCreature->setFlag(Effect::EFFECT_CLASS_VIGOR_DROP_TO_CREATURE);		// 捞棋飘啊 嘿菌促绊 林函俊 舅妨霖促.		GCAddEffect gcAddEffect;		gcAddEffect.setObjectID(pTargetCreature->getObjectID());		gcAddEffect.setEffectID(Effect::EFFECT_CLASS_VIGOR_DROP_TO_CREATURE);		gcAddEffect.setDuration(m_Duration);		pZone->broadcastPacket(pTargetCreature->getX(), pTargetCreature->getY(), &gcAddEffect);	}	//cout << "EffectVigorDrop " << "affectCreature End " << endl;	return true;	__END_CATCH}void EffectVigorDrop::affect()	throw(Error){	__BEGIN_TRY	__END_CATCH}void EffectVigorDrop::affect(Creature* pCreature)	throw(Error){	__BEGIN_TRY	__END_CATCH}void EffectVigorDrop::affect(Zone* pZone, ZoneCoord_t x, ZoneCoord_t y, Object* pObject) 	throw(Error){	__BEGIN_TRY	__END_CATCH}void EffectVigorDrop::unaffect(Creature* pCreature)	throw(Error){	__BEGIN_TRY	__END_CATCH}void EffectVigorDrop::unaffect()	throw(Error){	__BEGIN_TRY	Tile& tile = m_pZone->getTile(m_X, m_Y);    tile.deleteEffect(m_ObjectID);	__END_CATCH}void EffectVigorDrop::unaffect(Zone* pZone, ZoneCoord_t x, ZoneCoord_t y, Object* pObjbect)	throw(Error){	__BEGIN_TRY	__END_CATCH}string EffectVigorDrop::toString()	const throw(){	__BEGIN_TRY		StringStream msg;	msg << "EffectVigorDrop("		<< "ObjectID:" << getObjectID()		<< ")";	return msg.toString();	__END_CATCH}EffectVigorDropLoader* g_pEffectVigorDropLoader = NULL;

⌨️ 快捷键说明

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