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

📄 execute_knockback.cpp

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 CPP
字号:
#include "stdafx.h"
#include "Ability.h"
#include "StatusManager.h"


DEFINE_EXECUTE_FUNC( KnockBack )
{
	SKILL_RESULT_POSITION *pPositionMsg = (SKILL_RESULT_POSITION*)pMsg;

	// 绢呼府萍 颇扼固磐 汲沥
	float fKnockBackLength = (float)m_pBaseAbilityInfo->m_iParam[1] / 10;

	// 傍拜磊客 鸥百狼 困摹蔼
	WzVector vAttackerPos, vTargetPos;
	m_pAttacker->GetPos( &vAttackerPos );
	pTarget->GetPos( &vTargetPos );

	// 剐府扁 贸府甫 秦霖促.
	WzVector vNormalVectorP2M;
	VectorNormalize( &vNormalVectorP2M, &(vTargetPos - vAttackerPos) );
	vNormalVectorP2M = vNormalVectorP2M * fKnockBackLength;
	BOOL bDownAfterThrust = FALSE;
	if( pTarget->GetStatusManager()->FindStatus( eCHAR_STATE_DOWN ) )	bDownAfterThrust = TRUE;

	if( !pTarget->ExecuteThrust( TRUE, &vNormalVectorP2M, pPositionMsg->m_wvDestPos, fKnockBackLength, bDownAfterThrust ) )
	{
		return FALSE;
	}

	// 剐府扁 惑怕甫 吧绢霖促.(剐扁扁 蜡瘤矫埃篮 1.5檬肺 茄促.)
	m_eStateID = eCHAR_STATE_THRUST;
	m_pBaseAbilityInfo->m_iParam[2] = 1500;
	pTarget->GetStatusManager()->AllocAbility( m_pAttacker, this );

	// 函荐甸阑 盔惑怕肺 檬扁拳茄促.
	m_eStateID = eCHAR_STATE_INVALID;
	m_pBaseAbilityInfo->m_iParam[2] = 0;

	// 菩哦备炼眉甫 盲款促.
	pPositionMsg->m_wAbilityIndex = byOrder;
	pPositionMsg->m_wvCurPos = vTargetPos;
	wMsgSize = pPositionMsg->GetSize();

	return TRUE;
}

⌨️ 快捷键说明

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