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

35 lines
1.2 KiB
C#
Raw Normal View History

2024-07-17 18:31:55 +08:00
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(damage, creator, false);
}
}
}