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

📄 effecthascastlesymbol.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : EffectHasCastleSymbol.cpp// Written by  : elca// Description : //////////////////////////////////////////////////////////////////////////////#include "EffectHasCastleSymbol.h"#include "ZoneUtil.h"#include "Creature.h"#include "Slayer.h"#include "CastleSymbol.h"#include "CastleInfoManager.h"#include "Vampire.h"#include "Monster.h"#include "MonsterCorpse.h"#include "Player.h"#include "PlayerCreature.h"#include "WarSystem.h"#include "ZoneInfoManager.h"#include "ZoneGroupManager.h"#include "GuildManager.h"#include "StringPool.h"#include "Gpackets/GCModifyInformation.h"#include "Gpackets/GCStatusCurrentHP.h"#include "Gpackets/GCAddEffect.h"#include "Gpackets/GCRemoveEffect.h"#include "Gpackets/GCSystemMessage.h"#include <stdio.h>const Effect::EffectClass EffectHasCastleSymbol::EffectClasses[6] ={	Effect::EFFECT_CLASS_HAS_CASTLE_SYMBOL,	Effect::EFFECT_CLASS_HAS_CASTLE_SYMBOL_2,	Effect::EFFECT_CLASS_HAS_CASTLE_SYMBOL_3,	Effect::EFFECT_CLASS_HAS_CASTLE_SYMBOL_4,	Effect::EFFECT_CLASS_HAS_CASTLE_SYMBOL_5,	Effect::EFFECT_CLASS_HAS_CASTLE_SYMBOL_6,};////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////EffectHasCastleSymbol::EffectHasCastleSymbol(Creature* pCreature)	throw(Error): EffectHasRelic( pCreature ){	__BEGIN_TRY	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////EffectHasCastleSymbol::EffectHasCastleSymbol(Item* pItem)	throw(Error): EffectHasRelic( pItem ){	__BEGIN_TRY	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectHasCastleSymbol::affect(Creature* pCreature)	throw(Error){	__BEGIN_TRY	// 粮 沥焊甫 掘绰促.	Zone* pZone = pCreature->getZone();	Assert(pZone!=NULL);	ZoneInfo* pZoneInfo = g_pZoneInfoManager->getZoneInfo( pZone->getZoneID() );	Assert( pZoneInfo != NULL );	PlayerCreature* pPC = dynamic_cast<PlayerCreature*>(pCreature);	Assert(pPC!=NULL);		// 困摹甫 舅赴促./*	StringStream msg;	msg << pCreature->getName() << " 丛(" 		//<< ( pCreature->isSlayer() ? "浇饭捞绢" : "轨颇捞绢" ) << ")捞 " 		<< g_pGuildManager->getGuildName( pPC->getGuildID() ) << ")捞 "	    << pZoneInfo->getFullName() << "(" << (int)pCreature->getX() << ", " << (int)pCreature->getY()		<< ")俊辑 己狼 惑隆(" << m_PartName << ")阑 啊瘤绊 乐嚼聪促.";	*/	char msg[300]; 	sprintf( msg, g_pStringPool->c_str( STRID_BROADCAST_CASTLE_SYMBOL_POSITION ),					pCreature->getName().c_str(), g_pGuildManager->getGuildName( pPC->getGuildID() ).c_str(),					pZoneInfo->getFullName().c_str(), (int)pCreature->getX(), (int)pCreature->getY(),					m_PartName.c_str() );	GCSystemMessage gcSystemMessage;	gcSystemMessage.setMessage(msg);		g_pCastleInfoManager->broadcastShrinePacket( m_Part , &gcSystemMessage );/*	CastleInfo* pCastleInfo = g_pCastleInfoManager->getCastleInfo( m_Part );		const list<ZoneID_t>& ZoneIDList = pCastleInfo->getZoneIDList();	list<ZoneID_t>::const_iterator itr = ZoneIDList.begin();	for ( ; itr != ZoneIDList.end() ; itr++) 	{		Zone* pCastleZone = getZoneByZoneID( *itr );		pCastleZone->broadcastPacket( &gcSystemMessage );	}*///	g_pZoneGroupManager->broadcast( &gcSystemMessage );	setNextTime(m_Tick);																															    		__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectHasCastleSymbol::affect(Item* pItem)	throw(Error){	__BEGIN_TRY	if (m_pZone==NULL) return;	// 己俊 傈里捞 柳青吝牢 版快父 皋技瘤甫 焊郴霖促.	ZoneID_t 	castleZoneID;	bool		isCastle;	isCastle = g_pCastleInfoManager->getCastleZoneID( m_pZone->getZoneID() , castleZoneID);	if ( isCastle && g_pWarSystem->hasCastleActiveWar( castleZoneID ))	{		ZoneInfo* pZoneInfo = g_pZoneInfoManager->getZoneInfo( m_pZone->getZoneID() );		Assert( pZoneInfo != NULL );		// 困摹甫 舅赴促./*		StringStream msg;		msg << pZoneInfo->getFullName() << "(" << (int)m_X << ", " << (int)m_Y			<< ")狼 己窜俊 " << m_PartName << " 己狼 惑隆 捞 乐嚼聪促.";*/		char msg[200];		sprintf( msg, g_pStringPool->c_str( STRID_BROADCAST_CASTLE_SYMBOL_POSITION_2 ),						pZoneInfo->getFullName().c_str(), (int)m_X, (int)m_Y, m_PartName.c_str() );		GCSystemMessage gcSystemMessage;		gcSystemMessage.setMessage(msg);		g_pCastleInfoManager->broadcastShrinePacket( m_Part , &gcSystemMessage );/*		CastleInfo* pCastleInfo = g_pCastleInfoManager->getCastleInfo( m_Part );				const list<ZoneID_t>& ZoneIDList = pCastleInfo->getZoneIDList();		list<ZoneID_t>::const_iterator itr = ZoneIDList.begin();		for ( ; itr != ZoneIDList.end() ; itr++) 		{			Zone* pCastleZone = getZoneByZoneID( *itr );			pCastleZone->broadcastPacket( &gcSystemMessage );		}*///		g_pZoneGroupManager->broadcast( &gcSystemMessage );	}	setNextTime(m_Tick);	__END_CATCH}void EffectHasCastleSymbol::setPart( int part )	throw(){	__BEGIN_TRY	const CastleSymbolInfo* pCastleSymbolInfo = dynamic_cast<const CastleSymbolInfo*>(g_pCastleSymbolInfoManager->getItemInfo( part ) );	if ( pCastleSymbolInfo != NULL )	{		m_Part = part;		m_PartName = pCastleSymbolInfo->getName();	}	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////string EffectHasCastleSymbol::toString()	const throw(){	__BEGIN_TRY	StringStream msg;	msg << "EffectHasCastleSymbol("		<< "ObjectID:" << getObjectID()		<< ")";	return msg.toString();	__END_CATCH}

⌨️ 快捷键说明

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