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

📄 hitconvert.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////// Filename    : HitConvert.cpp// Written by  : // Description : //////////////////////////////////////////////////////////////////////////////#include "HitConvert.h"#include "SimpleMissileSkill.h"#include "RankBonus.h"#include "SkillUtil.h"#include "Item.h"//////////////////////////////////////////////////////////////////////////////// 浇饭捞绢 坷宏璃飘 勤甸矾//////////////////////////////////////////////////////////////////////////////void HitConvert::execute(Slayer* pSlayer, ObjectID_t TargetObjectID, SkillSlot * pSkillSlot, CEffectID_t CEffectID)	throw(Error){	__BEGIN_TRY	//cout << "TID[" << Thread::self() << "]" << getSkillHandlerName() << " Begin(slayer)" << endl;	Item* pWeapon = pSlayer->getWearItem( Slayer::WEAR_RIGHTHAND );	if ( pWeapon == NULL || pWeapon->getItemClass() != Item::ITEM_CLASS_SWORD )	{		executeSkillFailException(pSlayer, getSkillType());		return;	}	SkillInput input(pSlayer, pSkillSlot);	SkillOutput output;	computeOutput(input, output);	SIMPLE_SKILL_INPUT param;	param.SkillType     = getSkillType();	param.SkillDamage   = max(1,Random( pWeapon->getMinDamage(), pWeapon->getMaxDamage() )) * ( 1.0f + ( (float)pSkillSlot->getExpLevel() * 4.0f / 100.f ) );		//(float)pSlayer->getDamage() * ( 1.0f + ( (float)pSkillSlot->getExpLevel() * 4.0f / 100.f ) );	param.Delay         = output.Delay;	param.ItemClass     = Item::ITEM_CLASS_SWORD;	param.STRMultiplier = 8;	param.DEXMultiplier = 1;	param.INTMultiplier = 1;	param.bMagicHitRoll = false;	param.bMagicDamage  = true;	param.bAdd          = false;	SIMPLE_SKILL_OUTPUT result;//    cout << pSlayer->getDamage() << ", " << pSkillSlot->getExpLevel() << ", " << param.SkillDamage << endl;	Creature* pTargetCreature = pSlayer->getZone()->getCreature( TargetObjectID );	bool bRangeCheck = pTargetCreature != NULL && verifyDistance(pSlayer, pTargetCreature, output.Range );	// 历 救俊辑绰 Max Range 父 眉农茄促. -_-;	if ( !bRangeCheck )	{		executeSkillFailNormal(pSlayer, param.SkillType, pTargetCreature);		return;	}	Item* pItem = pSlayer->getWearItem(Slayer::WEAR_RIGHTHAND);	if (pItem == NULL || pItem->getItemClass() != param.ItemClass)	{		executeSkillFailException(pSlayer, param.SkillType);		return;	}	g_SimpleMissileSkill.execute(pSlayer, TargetObjectID, pSkillSlot, param, result);	//cout << "TID[" << Thread::self() << "]" << getSkillHandlerName() << " End(slayer)" << endl;	// knockback 矫挪促.	if ( result.bSuccess )	{		int dist = 1 + pSkillSlot->getExpLevel() / 100;		for ( int i=0; i<dist; ++i )		{			knockbackCreature(pSlayer->getZone(), pTargetCreature, pSlayer->getX(), pSlayer->getY() );		}	}	__END_CATCH}HitConvert g_HitConvert;

⌨️ 快捷键说明

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