📄 instantskill.cpp
字号:
#include "stdafx.h"
#include "SkillInfoParser.h"
#include "NPC.h"
#include "Field.h"
#include "Character.h"
#include "Player.h"
#include "InstantSkill.h"
#include "AITypes.h"
#include <PacketStruct_CG.h>
#include <battle.h>
#include "CharacterFormula.h"
#include "SkillInfoParser.h"
VOID InstantSkill::SetExecuteInterval()
{
switch( GetSkillClassCode() )
{
case eSKILL_DOUBLE_ATTACK : m_wInterval = 2000; break;
case eSKILL_ILLUSION_DANCE : m_wInterval = 1500; break;
case eSKILL_BLOOD_RAIN : m_wInterval = 2000; break;
case eSKILL_AIRBLOW : m_wInterval = 4000; break;
case eSKILL_BATTLERHONE: m_wInterval = 4000; break;
default: m_wInterval = 0;
}
}
VOID InstantSkill::StartExecute()
{
// 颇扼固磐甫 檬扁拳茄促.
if( !Skill::ParamInitialize() )
{
m_bEndExecute = FALSE;
return;
}
// MainTarget捞 蜡瓤茄瘤 眉农茄促.(胶懦 荤芭府 眉农)
if( !Skill::CheckMainTarget() )
{
// 胶懦捞 公瓤拳登瘤 臼绊 Miss 贸府登骨肺 扁夯利栏肺 贸府秦具且 巴甸篮 茄促.
Skill::CommonExecute();
// Miss 贸府甫 窍扁 困秦辑 搬苞 菩哦篮 焊辰促.
Broadcast_Instant_Result();
return;
}
// 傍烹栏肺 贸府秦具 窍绰 荤亲阑 贸府茄促.
Skill::CommonExecute();
// 鸥百府胶飘甫 备茄促.
m_byNumberOfTargets = FindTargets( m_pTarget );
// 鸥百俊霸 利侩登绰 绢呼府萍甫 利侩茄促.
Character *pMainTarget = NULL;
for( int i = 0; i < m_byNumberOfTargets; ++i )
{
if( !m_pTarget[i] ) continue;
if( m_SkillInfo.m_dwMainTargetKey == m_pTarget[i]->GetObjectKey() )
pMainTarget = m_pTarget[i];
// Ability甫 角青矫挪促.
if( !Skill::ExecuteAbilities( m_pTarget[i], m_ResultMsg[m_byHitTargetCount] ) ) continue;
// 傍拜俊 己傍沁阑 版快 AIMessage甫 朝赴促.
Skill::SendAIMessage( m_pTarget[i] );
m_byHitTargetCount++;
if( m_pBaseSkillInfo->m_byMaxTargetNo )
{
if( m_byHitTargetCount >= m_pBaseSkillInfo->m_byMaxTargetNo )
break;
}
}
// 鞘靛俊 利侩登绰 绢呼府萍甫 利侩茄促.
m_byEffectCount = ExecuteEffectAbilities( &m_ResultEffectMsg[0] );
// 傍拜窍搁 MP, HP啊 雀汗登绰 某腐磐啊 乐促.
m_pOwnerChar->OnAttack( pMainTarget, m_SkillInfo.m_SkillCode, 0 );
// 搬苞 菩哦阑 焊辰促.
Broadcast_Instant_Result();
}
VOID InstantSkill::EndExecute()
{
if( !m_bEndExecute ) return;
// 加己捞唱 绢呼府萍甸阑 秦力茄促.
Skill::CommonRelease();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -