📄 effectgatewaymonster.cpp
字号:
//////////////////////////////////////////////////////////////////////////////// Filename : EffectGateWayMonster.cpp// Written by : elca// Description : //////////////////////////////////////////////////////////////////////////////#include "EffectGateWayMonster.h"#include "Creature.h"#include "Slayer.h"#include "Vampire.h"#include "Monster.h"#include "Player.h"#include "Gpackets/GCModifyInformation.h"#include "Gpackets/GCStatusCurrentHP.h"#include "Gpackets/GCRemoveEffect.h"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////EffectGateWayMonster::EffectGateWayMonster(Creature* pCreature) throw(Error){ __BEGIN_TRY setTarget(pCreature); // 辑滚 傈侩 Effect捞促. by sigi. 2002.11.14 m_bBroadcastingEffect = false; __END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectGateWayMonster::affect(Creature* pCreature) throw(Error){ __BEGIN_TRY cout << "Effect Relic start" << endl; Assert(pCreature != NULL); Zone* pZone = pCreature->getZone(); Assert(pZone != NULL); HP_t HPRecovery = 1; if(pCreature->isSlayer() || pCreature->isVampire() || pCreature->isOusters() ) { cout << "浇饭捞绢唱 轨颇捞绢绰 捞 捞棋飘啊 嘿瘤 臼澜" << endl; return; } if(pCreature->isMonster()) { Monster* pMonster = dynamic_cast<Monster*>(pCreature); if(pMonster->getMonsterType>=371 && pMonster->getMonsterType()<= 375) { HP_t CurrentHP = pMonster->getHP(ATTR_CURRENT); if(Current>0) { HP_t PlusHP = min(5000, CurrentHP+1); pMonster->setHP(PlusHP, ATTR_CURRENT); GCStatusCurrentHP pkt; pkt.setObjectID(pMonster->getObjectID()); pkt.setCurrentHP(RemainHP); pZone->broadcastPacket(pMonster->getX(), pMonster->getY(), &pkt); } else { cout << "己拱 焊包窃捞 酒聪扼搁 捞 捞棋飘啊 嘿瘤 给窃" << endl; return; } } else { cout << "阁胶磐啊 酒聪扼搁 捞棋飘啊 嘿瘤 给窃" << endl; return 0; } setNextTime(m_Tick); __END_CATCH}void EffectGateWayMonster::unaffect() throw(Error){ __BEGIN_TRY Creature* pCreature = dynamic_cast<Creature *>(m_pTarget); unaffect(pCreature); __END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectGateWayMonster::unaffect(Creature* pCreature) throw(Error){ __BEGIN_TRY __BEGIN_DEBUG //cout << "EffectGateWayMonster" << "unaffect BEGIN" << endl; Assert(pCreature != NULL); // 瓷仿摹甫 沥惑利栏肺 登倒府扁 困秦辑绰 敲贰弊甫 掺绊, // initAllStat阑 阂矾具 茄促. pCreature->removeFlag(Effect::EFFECT_CLASS_GATEWAY_MONSTER); Zone* pZone = pCreature->getZone(); Assert(pZone != NULL); GCRemoveEffect gcRemoveEffect; gcRemoveEffect.setObjectID(pCreature->getObjectID()); gcRemoveEffect.addEffectList(Effect::EFFECT_CLASS_GATEWAY_MONSTER); pZone->broadcastPacket(pCreature->getX(), pCreature->getY(), &gcRemoveEffect); //cout << "EffectGateWayMonster" << "unaffect END" << endl; __END_DEBUG __END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////string EffectGateWayMonster::toString() const throw(){ __BEGIN_TRY StringStream msg; msg << "EffectGateWayMonster(" << "ObjectID:" << getObjectID() << ")"; return msg.toString(); __END_CATCH}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -