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

📄 corpse.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : Corpse.h// Written by  : excel96// Description : //////////////////////////////////////////////////////////////////////////////#include "Corpse.h"#include "Zone.h"#include "ItemFactory.h"#include "Inventory.h"#include "ItemUtil.h"#include "RelicUtil.h"#include <stdio.h>//#include "EffectHasBloodBible.h"#include "Gpackets/GCAddEffect.h"// ItemUtil.h俊 捞芭 颗扁绊 瘤况档 等促.extern void saveItemInCorpse(Item* pItem, Corpse* pCorpse) throw (Error);//////////////////////////////////////////////////////////////////////////////// class Corpse member methods//////////////////////////////////////////////////////////////////////////////Corpse::Corpse()	throw(){	__BEGIN_TRY	m_TreasureCount = 0;	m_X = m_Y = 0;	m_pZone = NULL;	m_Level = 0;	m_Exp = 0;	__END_CATCH}Corpse::~Corpse()	throw(){	__BEGIN_TRY	while (!m_Treasures.empty())	{		Item* pItem = m_Treasures.front();		SAFE_DELETE(pItem);		m_Treasures.pop_front();	}	__END_CATCH}Item* Corpse::getTreasure() 	throw(){	__BEGIN_TRY	if (!m_Treasures.empty())	{		Item* pItem = m_Treasures.front();		Assert(pItem!=NULL);		// 己窜俊辑 己辑啊 狐廉唱哎锭 捞棋飘甫 波霖促.		deleteFlagEffect( this, pItem );		deleteRelicEffect( this, pItem );		m_Treasures.pop_front();		m_TreasureCount--;		return pItem;	}	return NULL;	__END_CATCH}void Corpse::addTreasure(Item* pItem)	throw(){	__BEGIN_TRY		Assert(pItem != NULL);	if (isRelicItem(pItem))	{		saveItemInCorpse(pItem, this);		addHasRelicEffect(m_pZone, this, pItem);	}	else if ( pItem->isFlagItem() )	{		saveItemInCorpse(pItem, this);	}	else if ( pItem->getItemClass() == Item::ITEM_CLASS_SWEEPER )	{		saveItemInCorpse(pItem, this);	}	m_Treasures.push_back(pItem);	m_TreasureCount++;	__END_CATCH}Item* Corpse::getTreasure( ObjectID_t objectID ) const	throw(){	__BEGIN_TRY	list<Item*>::const_iterator itr = m_Treasures.begin();	for ( ; itr != m_Treasures.end() ; itr++ )	{		if ( (*itr)->getObjectID() == objectID ) return *itr;	}	return NULL;	__END_CATCH}Item* Corpse::popTreasure( ObjectID_t objectID )	throw(){	__BEGIN_TRY	list<Item*>::iterator itr = m_Treasures.begin();	for ( ; itr != m_Treasures.end() ; itr++ )	{		if ( (*itr)->getObjectID() == objectID )		{			Item* pItem = *itr;			m_Treasures.erase(itr);			m_Treasures.push_front( pItem );			return getTreasure();		}	}	return NULL;	__END_CATCH}

⌨️ 快捷键说明

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