NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Buff/Impl/BuffBulletDamage8.cs

35 lines
1.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using UnityEngine;
namespace Gameplay.Buff
{
public class BuffBulletDamage8 : BaseBuff
{
protected override void _OnTrigger()
{
base._OnTrigger();
// 对目标造成 A + B%攻击力伤害, 目标专一【专注一击】对同一目标造成的伤害根据次数递增最多30%
var fixValue = _TryGetFloatParam(0);
var rateAttack = _TryGetFloatParam(1);
var addPercent = _TryGetFloatParam(2);
var maxPercent = _TryGetFloatParam(3);
var skillContinueHitData = creator.controlData.continueSkillData;
if (skillContinueHitData.hitUnit == owner)
{
skillContinueHitData.continueHitCount++;
}
else
{
skillContinueHitData.hitUnit = owner;
skillContinueHitData.continueHitCount = 0;
}
var finalAddPercent = Mathf.Min(skillContinueHitData.continueHitCount * addPercent, maxPercent);
var damage = Mathf.FloorToInt((fixValue + rateAttack * owner.fightData.attack) * (1 + finalAddPercent));
owner.TakeNormalDamage(configData.AttackPowerLevel,damage, creator, false);
}
}
}