📄 effectvigordrop.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 + -