35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
|
|
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);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|