📄 execute_buffrangedamage.cpp
字号:
#include "stdafx.h"
#include "Ability.h"
#include "CharacterFormula.h"
#include "BaseEffect.h"
#include "StatusManager.h"
DEFINE_EXECUTE_FUNC( BuffRangeDamage )
{
// 颇扼固磐 悸泼
eATTACK_TYPE eAttackType = (eATTACK_TYPE)m_pBaseAbilityInfo->m_iOption1;
float fRadius = m_pBaseAbilityInfo->m_iParam[0] / 10.f;
int iDamage = m_pBaseAbilityInfo->m_iParam[1];
int iApplicationTime = m_pBaseAbilityInfo->m_iParam[2];
int iPeriodicTime = m_pBaseAbilityInfo->m_iParam[3];
// 康开俊 吧府绰 版快
if( m_pBaseAbilityInfo->m_iOption2 == 3 )
{
Field *pField = m_pAttacker->GetField();
if( !pField ) return FALSE;
// 康开俊 林扁 单固瘤 捞棋飘 眠啊
BaseEffect *pEffect = pField->AllocEffect( EFFECT_TYPE_PERIODIC_DAMAGE );
if( !pEffect ) return FALSE;
pEffect->Init( GetSkillCode(), iApplicationTime, iPeriodicTime, m_pAttacker, m_wvMainTargetPos, fRadius );
pEffect->SetDamage( eAttackType, iDamage );
// 菩哦备炼眉甫 盲款促.
SKILL_RESULT_EFFECT *pEffectMsg = (SKILL_RESULT_EFFECT*)pMsg;
pEffectMsg->m_wAbilityIndex = byOrder;
pEffectMsg->m_wvCurPos = m_wvMainTargetPos;
wMsgSize = pEffectMsg->GetSize();
}
// 某腐磐俊 吧府绰 版快
else
{
if( !pTarget ) return FALSE;
AbilityStatus *pAbilityStatus = pTarget->GetStatusManager()->AllocAbility( m_pAttacker, this );
if( !pAbilityStatus ) return FALSE;
// 菩哦备炼眉甫 盲款促.
SKILL_RESULT_CODE *pCodeMsg = (SKILL_RESULT_CODE*)pMsg;
pCodeMsg->m_wAbilityIndex = byOrder;
wMsgSize = pCodeMsg->GetSize();
}
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -