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(damageValue, creator, false); } } }