cgwithdrawtaxhandler.cpp

来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 97 行

CPP
97
字号
//////////////////////////////////////////////////////////////////////////////// Filename    : CGWithdrawTaxHandler.cp	p// Written By  :// Description ://////////////////////////////////////////////////////////////////////////////#include "CGWithdrawTax.h"#ifdef __GAME_SERVER__	#include "GamePlayer.h"	#include "PlayerCreature.h"	#include "GuildManager.h"	#include "CastleInfoManager.h"	#include "Gpackets/GCNPCResponse.h"	#include "Gpackets/GCModifyInformation.h"#endif	// __GAME_SERVER__////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGWithdrawTaxHandler::execute (CGWithdrawTax* pPacket , Player* pPlayer)	 throw (Error){	__BEGIN_TRY __BEGIN_DEBUG_EX		#ifdef __GAME_SERVER__	Assert(pPacket != NULL);	Assert(pPlayer != NULL);	GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pPlayer);	Assert(pGamePlayer != NULL);	PlayerCreature* pPC = dynamic_cast<PlayerCreature*>(pGamePlayer->getCreature());	Assert( pPC != NULL );	GuildID_t guildID = pPC->getGuildID();	Gold_t gold = pPacket->getGold();	list<CastleInfo*> pCastleInfoList = g_pCastleInfoManager->getGuildCastleInfos( guildID );	if ( pCastleInfoList.empty() )	{		GCNPCResponse fail;		fail.setCode( NPC_RESPONSE_WITHDRAW_TAX_FAIL );		pGamePlayer->sendPacket( &fail );		return;	}	bool bOwner = false;	list<CastleInfo*>::iterator itr = pCastleInfoList.begin();	CastleInfo* pCastleInfo = NULL;	for ( ; itr != pCastleInfoList.end() ; itr++ )	{		if ( (*itr)->getZoneID() == pPC->getZoneID() )		{			pCastleInfo = (*itr);			bOwner = true;			break;		}	}	if ( !g_pGuildManager->isGuildMaster( guildID, pPC )	// 辨靛 付胶磐啊 酒聪促.		|| !bOwner											// 捞 敲饭捞绢狼 辨靛啊 痢飞茄 己捞 酒聪促.		|| gold == 0										// 厘抄摹唱~		|| pCastleInfo->getTaxBalance() < gold				// 捣捞 葛磊鄂促.	)	{		GCNPCResponse fail;		fail.setCode( NPC_RESPONSE_WITHDRAW_TAX_FAIL );		pGamePlayer->sendPacket( &fail );		return;	}	// 葛电 炼扒捞 面练登菌促. 捞力 捣阑 茫酒辑 敲饭捞绢俊霸 持绢霖促.	Gold_t remainBalance = pCastleInfo->decreaseTaxBalanceEx( gold );	pPC->increaseGoldEx( gold );	// 荤侩磊狼 捣捞 疵绢车促绰 沥焊甫 焊郴霖促.	GCModifyInformation gcMI;	gcMI.addLongData( MODIFY_GOLD, pPC->getGold() );	pGamePlayer->sendPacket( &gcMI );	// 捣阑 茫绰 单 己傍沁促绊 舅赴促.	GCNPCResponse success;	success.setCode( NPC_RESPONSE_WITHDRAW_TAX_OK );	success.setParameter( remainBalance );	pGamePlayer->sendPacket( &success );#endif	// __GAME_SERVER__			__END_DEBUG_EX __END_CATCH}

⌨️ 快捷键说明

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