effectdeleteitem.cpp

来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 137 行

CPP
137
字号
//----------------------------------------------------------------------//// Filename    : EffectDeleteItem.cpp// Written by  : Reiot////----------------------------------------------------------------------// include fies#include "Assert.h"#include "EffectDeleteItem.h"#include "Gpackets/GCDeleteObject.h"#include "Tile.h"#include "Zone.h"#include "Item.h"#include "ZoneUtil.h"//----------------------------------------------------------------------// constructor//----------------------------------------------------------------------EffectDeleteItem::EffectDeleteItem (Zone* pZone , ZoneCoord_t x , ZoneCoord_t y , Object* pObject , Turn_t delay)	throw (Error): Effect(pZone,x,y,pObject,delay) {	__BEGIN_TRY	Assert(getZone() != NULL);	Assert(getTarget() != NULL);	//m_ObjectID = pItem->getObjectID();	m_ObjectID = pObject->getObjectID();	// 辑滚 傈侩 Effect捞促. by sigi. 2002.11.14	m_bBroadcastingEffect = false;	__END_CATCH}//----------------------------------------------------------------------// destructor//----------------------------------------------------------------------EffectDeleteItem::~EffectDeleteItem () 	throw (Error){	__BEGIN_TRY	unaffect(m_pZone , m_X , m_Y , m_pTarget);	__END_CATCH}			//----------------------------------------------------------------------// affect to target// 捞 捞棋飘绰 鸥老俊 辆加登瘤 臼栏骨肺, affect()绰 龋免登瘤 臼绰促.// 恐衬窍搁, target篮 积己磊俊辑 瘤沥登哥, 酒公繁 老档 窍瘤 臼扁 锭巩捞促.//----------------------------------------------------------------------void EffectDeleteItem::affect (Zone* pZone , ZoneCoord_t x , ZoneCoord_t y , Object* pTarget)	throw (Error){	__BEGIN_TRY//	throw UnsupportedError();		__END_CATCH}//----------------------------------------------------------------------// remove effect from target//----------------------------------------------------------------------void EffectDeleteItem::unaffect (Zone* pZone , ZoneCoord_t x , ZoneCoord_t y , Object* pTarget)	throw (Error){	__BEGIN_TRY	// 棵官弗 谅钎捞绢具 茄促.	Assert(pTarget!=NULL);	Assert(isValidZoneCoord(pZone, x, y));	//pZone->deleteFromItemList(pTarget->getObjectID());	//(pZone->getTile( x, y)).deleteItem();	pZone->deleteItem( pTarget, x, y );	GCDeleteObject gcDO;	gcDO.setObjectID(pTarget->getObjectID());	pZone->broadcastPacket(x, y, &gcDO);	SAFE_DELETE(pTarget);	__END_CATCH}//----------------------------------------------------------------------// unaffect()//----------------------------------------------------------------------void EffectDeleteItem::unaffect ()	throw (Error){	__BEGIN_TRY	__END_CATCH}//----------------------------------------------------------------------// unaffect()//----------------------------------------------------------------------void EffectDeleteItem::unaffect (Creature* pCreature)	throw (Error){	__BEGIN_TRY	__END_CATCH}//----------------------------------------------------------------------// get debug string//----------------------------------------------------------------------string EffectDeleteItem::toString () const 	throw (){	StringStream msg;	msg << "EffectDeleteItem("			<< "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 + =
减小字号Ctrl + -
显示快捷键?