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

📄 periodicdamageeffect.cpp

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


VOID PeriodicDamageEffect::Execute()
{
	if( !m_pField )	return;

	Character *pTargetArray[MAX_TARGET_NUM];
	memset( pTargetArray, 0, sizeof(Character*)*MAX_TARGET_NUM );
	BYTE byNumberOfTargets = 0;
	BYTE byHitTargetCount = 0;
	DAMAGETYPE wDamage = m_wDamage;

	// 弥措 付府荐 力茄
	SkillScriptInfo *pBaseSkillInfo = (SkillScriptInfo *)SkillInfoParser::Instance()->GetSkillInfo( m_SkillCode );
	int iCountLimit = MAX_TARGET_NUM;
	if( pBaseSkillInfo && pBaseSkillInfo->m_byMaxTargetNo )
	{
		iCountLimit = pBaseSkillInfo->m_byMaxTargetNo;
	}

	// 林函俊 鸥百捞 乐绰瘤 茫绰促.
	byNumberOfTargets = m_pField->FindTargetsByPosition( pTargetArray, m_dwSectorIndex, m_vCurPos, m_fRadius, iCountLimit );

	MSG_CG_SKILL_PERIODIC_DAMAGE_BRD BrdMsg;
	BrdMsg.m_dwAttackerKey = m_pOwner->GetObjectKey();
	BrdMsg.m_SkillCode = m_SkillCode;

	for( int i = 0; i < byNumberOfTargets; ++i )
	{
		if( !pTargetArray[i] )	continue;

		// 磷菌阑 版快 力寇
		if( pTargetArray[i]->IsDead() )		continue;

		// 酒焙篮 力寇
		if( m_pOwner->IsFriend( pTargetArray[i] ) )		continue;

		// 单固瘤 贸府
		pTargetArray[i]->Damaged( m_pOwner, m_eDamageType, wDamage );

		// 菩哦俊 单固瘤 沥焊 悸泼
		BrdMsg.m_DamageInfo[byHitTargetCount].m_dwTargetKey = pTargetArray[i]->GetObjectKey();
		BrdMsg.m_DamageInfo[byHitTargetCount].m_wDamage = wDamage;
		BrdMsg.m_DamageInfo[byHitTargetCount].m_dwTargetHP = pTargetArray[i]->GetHP();

		++byHitTargetCount;
	}

	BrdMsg.m_byNumberOfTargets = byHitTargetCount;

	// 林函俊 舅妨霖促.
	if( byHitTargetCount )
		m_pField->SendPacketAround( m_dwSectorIndex, &BrdMsg, BrdMsg.GetSize() );

	BaseEffect::Execute();
}



















⌨️ 快捷键说明

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