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

32 lines
1.0 KiB
C#

using UnityEngine;
namespace Gameplay.Buff
{
public class BuffBulletDamage12 : BaseBuff
{
protected override void _OnTrigger()
{
base._OnTrigger();
// 【基础值,攻击力百分比,累积受伤值百分比,最大累积受伤百分比】
var fixValue = _TryGetIntParam(0);
var attackPercent = _TryGetFloatParam(1);
var hurtPercent = _TryGetFloatParam(2);
var maxHurtHpPercent = _TryGetFloatParam(3);
var hurtHp = owner.fightData.hurtAccumulate;
var maxHp = owner.aliveData.maxHp;
var hurtValue = Mathf.RoundToInt(maxHp * maxHurtHpPercent);
if (hurtHp > hurtValue)
{
hurtHp = hurtValue;
}
var damageValue = Mathf.RoundToInt(fixValue
+ creator.fightData.attack * attackPercent + hurtHp * hurtPercent);
owner.TakeNormalDamage(configData.AttackPowerLevel,damageValue, creator, false);
}
}
}