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

📄 effectsoulchain.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : EffectSoulChain.cpp// Written by  : elca// Description : // 焙牢扁贱 Sniping 肚绰 轨颇捞绢 扁贱 Invisibility肺 牢秦辑// 泅犁 痢痢 锐固秦廉啊绊 乐绰(荤扼瘤绊 乐绰) 农府媚俊 嘿绰 捞棋飘捞促.//////////////////////////////////////////////////////////////////////////////#include "EffectSoulChain.h"#include "Slayer.h"#include "Vampire.h"#include "GamePlayer.h"#include "PCFinder.h"#include "ZoneUtil.h"#include "ZoneInfoManager.h"#include "Gpackets/GCRemoveEffect.h"#include "Gpackets/GCSkillFailed1.h"#include "Gpackets/GCSkillFailed2.h"////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////EffectSoulChain::EffectSoulChain(Creature* pCreature)	throw(Error){	__BEGIN_TRY	//setTarget(pCreature);	m_OwnerOID = pCreature->getObjectID();	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectSoulChain::affect(Creature* pCreature)	throw(Error){	__BEGIN_TRY	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectSoulChain::unaffect(Creature* pCreature)	throw(Error){	__BEGIN_TRY		//cout << "EffectSoulChain " << "unaffect BEGIN" << endl;	Assert(pCreature != NULL);	// 捞棋飘 敲饭弊啊 绝促搁 磷菌促芭唱 窍绰 巩力肺 transport 窍瘤 臼摆促绰吧 狼固茄促.	if ( !pCreature->isFlag( Effect::EFFECT_CLASS_SOUL_CHAIN ) )		return;	Zone* pZone = pCreature->getZone();	Assert(pZone != NULL);	Player* pPlayer = pCreature->getPlayer();	Assert( pPlayer != NULL );	GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pPlayer);	Assert( pGamePlayer != NULL );	PlayerCreature* pPC = dynamic_cast<PlayerCreature*>(pCreature);	Assert( pPC != NULL );	ZoneCoord_t x = pCreature->getX();	ZoneCoord_t y = pCreature->getY();	pCreature->removeFlag(Effect::EFFECT_CLASS_SOUL_CHAIN);	// Effect 啊 绝绢脸澜阑 舅赴促.	GCRemoveEffect gcRemoveEffect;	gcRemoveEffect.setObjectID( pCreature->getObjectID() );	gcRemoveEffect.addEffectList( Effect::EFFECT_CLASS_SOUL_CHAIN );	pZone->broadcastPacket( x, y, &gcRemoveEffect );	// Target 阑 眉农秦辑 傈价捞 啊瓷窍搁 傈价茄促.	bool bValid = false;	__ENTER_CRITICAL_SECTION( (*g_pPCFinder) )	Creature* pTargetCreature = g_pPCFinder->getCreature_LOCKED( m_TargetName );	if ( pTargetCreature != NULL )	{		Zone* pTargetZone = pTargetCreature->getZone();		if ( pTargetZone != NULL )		{			// 付胶磐 饭绢肺绰 捞悼且 荐 绝促.			if ( !pTargetZone->isMasterLair() )			{				// 蜡丰 辑厚胶 捞侩捞 啊瓷茄啊?				if ( pGamePlayer->loginPayPlay( pGamePlayer->getSocket()->getHost(), pGamePlayer->getID() )					|| pGamePlayer->isFamilyFreePass()					|| !( g_pZoneInfoManager->getZoneInfo( pTargetZone->getZoneID() )->isPayPlay() ) )				{					// 具傈荤飞何, 矫寇胞瘤开, 捞亥飘版扁厘, 捞亥飘OX 粮栏肺绰 哎 荐 绝促.					// 抛皋府俊 己瘤肺档 哎 荐 绝促.					if ( pTargetZone->getZoneID() != 2101 && pTargetZone->getZoneID() != 2102 &&						 pTargetZone->getZoneID() != 1005 && pTargetZone->getZoneID() != 1006 &&						 pTargetZone->getZoneID() != 1122 && pTargetZone->getZoneID() != 1131 &&						 pTargetZone->getZoneID() != 1132 && pTargetZone->getZoneID() != 1133 &&						 pTargetZone->getZoneID() != 1134)					{						bValid = true;						transportCreature( pCreature, pTargetZone->getZoneID(), pTargetCreature->getX(), pTargetCreature->getY(), false );					}				}			}		}	}	__LEAVE_CRITICAL_SECTION( (*g_pPCFinder) )	if ( !bValid )	{		GCSkillFailed1 gcSkillFailed1;		gcSkillFailed1.setSkillType( SKILL_SOUL_CHAIN );		pPlayer->sendPacket( &gcSkillFailed1 );		GCSkillFailed2 gcSkillFailed2;		gcSkillFailed2.setSkillType(SKILL_SOUL_CHAIN);		gcSkillFailed2.setObjectID(pCreature->getObjectID());		pZone->broadcastPacket( pCreature->getX(), pCreature->getY(), &gcSkillFailed2, pCreature );	}	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EffectSoulChain::unaffect()	throw(Error){	__BEGIN_TRY	if ( m_pZone != NULL )	{		Creature* pCreature = m_pZone->getCreature( m_OwnerOID );		if ( pCreature != NULL )			unaffect(pCreature);	}		__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////string EffectSoulChain::toString() const 	throw(){	__BEGIN_TRY	StringStream msg;	msg << "EffectSoulChain("		<< "ObjectID:" << getObjectID()		<< "TargetName:" << m_TargetName		<< ")";	return msg.toString();	__END_CATCH}

⌨️ 快捷键说明

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