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

📄 bloodywarp.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : BloodyWarp.cpp// Written by  : excel96// Description : //////////////////////////////////////////////////////////////////////////////#include "BloodyWarp.h"#include "Zone.h"#include "SkillHandlerManager.h"//////////////////////////////////////////////////////////////////////////////// 积己磊// 付胶农甫 檬扁拳茄促.//////////////////////////////////////////////////////////////////////////////POINTBloodyWarp::getWarpPosition(int myX, int myY, int targetX, int targetY)	throw(){	__BEGIN_TRY	POINT pt;	// 10%狼 犬伏肺 random茄 困摹肺 况橇/*	if (rand()%10==0)	{		pt.x = myX + rand()%9 - 4;		pt.y = myY + rand()%9 - 4;	}	else*/	{		int stepX = targetX - myX;		int stepY = targetY - myY;		int signX = (stepX > 0? 1 : stepX < 0? -1 : 0);		int signY = (stepY > 0? 1 : stepY < 0? -1 : 0);		int cx = targetX + signX*(2+rand()%2);		int cy = targetY + signY*(2+rand()%2);		pt.x = cx;		pt.y = cy;	}	return pt;	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// 轨颇捞绢 坷宏璃飘 勤甸矾//////////////////////////////////////////////////////////////////////////////void BloodyWarp::execute(Vampire* pVampire, ObjectID_t TargetObjectID, VampireSkillSlot* pVampireSkillSlot, CEffectID_t CEffectID)    throw(Error){    __BEGIN_TRY	//cout << "TID[" << Thread::self() << "]" << getSkillHandlerName() << "begin " << endl;	Assert(pVampire != NULL);	Assert(pVampireSkillSlot != NULL);    try    {		Zone* pZone = pVampire->getZone();		Assert(pZone != NULL);		Creature* pTargetCreature = pZone->getCreature(TargetObjectID);		Assert(pTargetCreature != NULL);		// NoSuch力芭. by sigi. 2002.5.2		if (pTargetCreature==NULL)		{			executeSkillFailException(pVampire, getSkillType());			return;		}		execute(pVampire, pTargetCreature->getX(), pTargetCreature->getY(), pVampireSkillSlot, CEffectID);    } 	catch (Throwable & t) 	{		executeSkillFailException(pVampire, getSkillType());        //cout << t.toString() << endl;    }	//cout << "TID[" << Thread::self() << "]" << getSkillHandlerName() << " end " << endl;    __END_CATCH}//////////////////////////////////////////////////////////////////////////////// 轨颇捞绢 鸥老 勤甸矾//////////////////////////////////////////////////////////////////////////////void BloodyWarp::execute(Vampire* pVampire, ZoneCoord_t X, ZoneCoord_t Y, VampireSkillSlot* pVampireSkillSlot, CEffectID_t CEffectID)	throw(Error){	__BEGIN_TRY	//cout << "TID[" << Thread::self() << "]" << getSkillHandlerName() << "begin " << endl;	/*	SkillInput input(pVampire);	SkillOutput output;	computeOutput(input, output);	int myX = pVampire->getX(); 	int myY = pVampire->getY();	POINT& pt = getWarpPosition(myX, myY, X, Y );	if (moveFastPC( pVampire, myX, myY, X, Y ))	{		decreaseMana(pVampire, RequiredMP, _GCSkillToObjectOK1);	}	else	*/	{		executeSkillFailNormal(pVampire, getSkillType(), NULL);	}	//cout << "TID[" << Thread::self() << "]" << getSkillHandlerName() << " end " << endl;	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// 阁胶磐 鸥老 勤甸矾//////////////////////////////////////////////////////////////////////////////void BloodyWarp::execute(Monster* pMonster, ZoneCoord_t X, ZoneCoord_t Y)	throw(Error){	__BEGIN_TRY	//cout << "TID[" << Thread::self() << "]" << getSkillHandlerName() << "begin " << endl;	Zone* pZone = pMonster->getZone();	Assert(pZone!=NULL);	SkillInput input(pMonster);	SkillOutput output;	computeOutput(input, output);	int myX = pMonster->getX(); 	int myY = pMonster->getY();	POINT pt = getWarpPosition(myX, myY, X, Y );	// BLOODY_WALL甫 利狼 困摹俊 荤侩茄促.	SkillType_t SkillType  = SKILL_BLOODY_WALL;	SkillHandler* pSkillHandler = g_pSkillHandlerManager->getSkillHandler(SkillType);	Assert(pSkillHandler != NULL);	pSkillHandler->execute(pMonster, X, Y);	if (pZone->moveFastMonster( pMonster, myX, myY, pt.x, pt.y, getSkillType() ))	{		// BLOODY_WAVE甫 pMonster狼 档馒瘤痢俊 荤侩茄促.		SkillType = (pMonster->isMaster()? SKILL_BLOODY_MASTER_WAVE : SKILL_BLOODY_WAVE);		pSkillHandler = g_pSkillHandlerManager->getSkillHandler(SkillType);	    Assert(pSkillHandler != NULL);		pSkillHandler->execute(pMonster, X, Y);	}	else	{		executeSkillFailNormal(pMonster, getSkillType(), NULL);	}	//cout << "TID[" << Thread::self() << "]" << getSkillHandlerName() << " end " << endl;	__END_CATCH}BloodyWarp g_BloodyWarp;

⌨️ 快捷键说明

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