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

📄 effectrelicposition.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : EffectRelicPosition.cpp// Written by  :// Description : //////////////////////////////////////////////////////////////////////////////#include "EffectRelicPosition.h"#include "ZoneUtil.h"#include "ZoneGroupManager.h"#include "HolyLandManager.h"#include "ShrineInfoManager.h"#include "StringStream.h"#include "Relic.h"#include "ZoneInfoManager.h"#include "CastleInfoManager.h"#include "Gpackets/GCSystemMessage.h"#include "Gpackets/GCBloodBibleStatus.h"#include "StringPool.h"#include <stdio.h>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////EffectRelicPosition::EffectRelicPosition(Item* pItem)	throw(Error){	__BEGIN_TRY	setTarget(pItem);	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectRelicPosition::affect()	throw(Error){	__BEGIN_TRY	Item* pItem = dynamic_cast<Item*>(m_pTarget);	affect( pItem );	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectRelicPosition::affect(Item* pItem)	throw(Error){	__BEGIN_TRY	// 粮 沥焊甫 掘绰促.	ZoneInfo* pZoneInfo = g_pZoneInfoManager->getZoneInfo( m_ZoneID );	Assert( pZoneInfo != NULL );	if (pItem->getItemClass() == Item::ITEM_CLASS_RELIC)	{		// 己拱狼 沥焊甫 掘绰促.		ItemType_t relicIndex = pItem->getItemType();		const RelicInfo* pRelicInfo = dynamic_cast<RelicInfo*>(g_pRelicInfoManager->getItemInfo(relicIndex));		Assert( pRelicInfo != NULL );//		StringStream msg;/*		// 困摹甫 舅赴促.		msg << "己拱(" << pRelicInfo->getName() << ")捞 "			<< pZoneInfo->getFullName() << "(" << (int)m_X << ", " << (int)m_Y << ")俊 冻绢廉 乐嚼聪促."; */		char msg[100];		sprintf( msg, g_pStringPool->c_str( STRID_RELIC_IN_ZONE ),						pRelicInfo->getName().c_str(),						pZoneInfo->getFullName().c_str(),						(int)m_X,						(int)m_Y		);		GCSystemMessage gcSystemMessage;		gcSystemMessage.setType( SYSTEM_MESSAGE_COMBAT );		gcSystemMessage.setMessage( msg );		g_pHolyLandManager->broadcast( &gcSystemMessage );		setNextTime(m_Tick);	}	else if (pItem->getItemClass() == Item::ITEM_CLASS_BLOOD_BIBLE)	{		ShrineSet* pShrineSet = g_pShrineInfoManager->getShrineSet( m_Part );		Assert(pShrineSet!=NULL);		GCBloodBibleStatus* pGCBBS = new GCBloodBibleStatus;		pGCBBS->setItemType( m_Part );		pGCBBS->setZoneID( m_ZoneID );		pGCBBS->setStorage( STORAGE_ZONE );		//pGCBBS->setRace( pShrineSet->getOwnerRace() );		pGCBBS->setShrineRace( pShrineSet->getOwnerRace() );		pGCBBS->setX( m_X );		pGCBBS->setY( m_Y );		g_pHolyLandManager->broadcast( pGCBBS );		g_pShrineInfoManager->registerBloodBibleStatus( m_Part, pGCBBS );		/*		msg << "乔狼 己辑 炼阿捞 "			<< pZoneInfo->getFullName() << "(" << (int)m_X << ", " << (int)m_Y << ")俊 冻绢廉 乐嚼聪促.";		g_pZoneGroupManager->broadcast( &gcSystemMessage );		*/		setNextTime(999999);	}	else if (pItem->getItemClass() == Item::ITEM_CLASS_CASTLE_SYMBOL)	{//		StringStream msg;//		msg << "己狼 惑隆捞 "//			<< pZoneInfo->getFullName() << "(" << (int)m_X << ", " << (int)m_Y << ")俊 冻绢廉 乐嚼聪促.";		char msg[200];		sprintf( msg, g_pStringPool->c_str( STRID_BROADCAST_CASTLE_SYMBOL_POSITION_3 ),						pZoneInfo->getFullName().c_str(), (int)m_X, (int)m_Y );		GCSystemMessage gcSystemMessage;		gcSystemMessage.setType( SYSTEM_MESSAGE_HOLY_LAND );		gcSystemMessage.setMessage( msg );		g_pCastleInfoManager->broadcastShrinePacket( m_Part, &gcSystemMessage );		setNextTime(m_Tick);//		g_pZoneGroupManager->broadcast( &gcSystemMessage );	}	else	{		return;	}	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectRelicPosition::unaffect() 	throw(Error){	__BEGIN_TRY			Item* pItem = dynamic_cast<Item *>(m_pTarget);	unaffect(pItem);	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectRelicPosition::unaffect(Item* pItem)	throw(Error){	__BEGIN_TRY	Assert(pItem != NULL);	pItem->removeFlag( Effect::EFFECT_CLASS_RELIC_POSITION );	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////string EffectRelicPosition::toString()	const throw(){	__BEGIN_TRY	StringStream msg;	msg << "EffectRelicPosition("		<< "ObjectID:" << getObjectID()		<< ")";	return msg.toString();	__END_CATCH}

⌨️ 快捷键说明

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