📄 effectaddmonster.cpp
字号:
//----------------------------------------------------------------------//// Filename : EffectAddMonster.cpp// Written by : Reiot////----------------------------------------------------------------------// include files#include "Assert.h"#include "EffectAddMonster.h"#include "Gpackets/GCDeleteObject.h"#include "Tile.h"#include "Zone.h"#include "Item.h"#include "ZoneUtil.h"//----------------------------------------------------------------------// constructor//----------------------------------------------------------------------EffectAddMonster::EffectAddMonster (Zone* pZone , ZoneCoord_t x , ZoneCoord_t y , Creature* pCreature , Turn_t delay) throw (Error): Effect(pZone,x,y,pCreature,delay) { __BEGIN_TRY // 辑滚 傈侩 Effect捞促. by sigi. 2002.11.14 m_bBroadcastingEffect = false; Assert(getZone() != NULL); Assert(getTarget() != NULL); //m_ObjectID = pItem->getObjectID(); m_ObjectID = pCreature->getObjectID(); __END_CATCH}//----------------------------------------------------------------------// destructor//----------------------------------------------------------------------EffectAddMonster::~EffectAddMonster () throw (Error){ __BEGIN_TRY unaffect(m_pZone , m_X , m_Y , (Creature*)m_pTarget); __END_CATCH} //----------------------------------------------------------------------// affect to target// 捞 捞棋飘绰 鸥老俊 辆加登瘤 臼栏骨肺, affect()绰 龋免登瘤 臼绰促.// 恐衬窍搁, target篮 积己磊俊辑 瘤沥登哥, 酒公繁 老档 窍瘤 臼扁 锭巩捞促.//----------------------------------------------------------------------void EffectAddMonster::affect (Zone* pZone , ZoneCoord_t x , ZoneCoord_t y , Creature* pTarget) throw (Error){ __BEGIN_TRY// throw UnsupportedError(); __END_CATCH}//----------------------------------------------------------------------// remove effect from target//----------------------------------------------------------------------void EffectAddMonster::unaffect (Zone* pZone , ZoneCoord_t x , ZoneCoord_t y , Creature* pTarget) throw (Error){ __BEGIN_TRY // 棵官弗 谅钎捞绢具 茄促. Assert(pTarget!=NULL); Assert(isValidZoneCoord(pZone, x, y)); Monster* pMonster = dynamic_cast<Monster*>(pTarget); if (pMonster!=NULL) { //pZone->getObjectRegistry().registerObject(pMonster); TPOINT pt = pZone->addCreature(pMonster, x, y, 2); cout << pZone->getZoneID() << "粮狼 (" << x << "," << y << ")俊 阁胶磐啊 眠啊登菌嚼聪促" << endl; if (pt.x == -1) { SAFE_DELETE(pMonster); throw Error("Zone俊 阁胶磐 甸绢哎 磊府啊 绝促"); } } else { SAFE_DELETE(pMonster); throw Error("EffectAddMonster牢单 item捞 酒囱啊?"); } pTarget = NULL; __END_CATCH}//----------------------------------------------------------------------// unaffect()//----------------------------------------------------------------------void EffectAddMonster::unaffect () throw (Error){ __BEGIN_TRY __END_CATCH}//----------------------------------------------------------------------// unaffect()//----------------------------------------------------------------------void EffectAddMonster::unaffect (Creature* pCreature) throw (Error){ __BEGIN_TRY __END_CATCH}//----------------------------------------------------------------------// get debug string//----------------------------------------------------------------------string EffectAddMonster::toString () const throw (){ StringStream msg; msg << "EffectAddMonster(" << "ZoneID:" << (int)m_pZone->getZoneID() << ",X:" << (int)getX() << ",Y:" << (int)getY(); if (m_pTarget) msg << ",Target:" << m_pTarget->toString(); else msg << ",Target:NULL"; msg << ",Deadline:" << (int)m_Deadline.tv_sec << "." << (int)m_Deadline.tv_usec; msg << ")"; return msg.toString();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -