using UnityEngine; namespace Gameplay.Buff { public class BuffBulletDamage5 : BaseBuff { protected override void _OnTrigger() { base._OnTrigger(); var paramA = _TryGetFloatParam(0); var paramB = _TryGetFloatParam(1); var paramC = _TryGetFloatParam(2); // 伤害公式 // 伤害 = (A * 攻击力 + B) * (1 + 如果有异常状态则为C) var sender = creator; var senderAttack = sender.fightData.attack; var preFinalDamage = (paramA * senderAttack + paramB); var hasDebuff = owner.buffManager.CheckHasAnyDebuff(); if (hasDebuff) { preFinalDamage *= (1 + paramC); } var finalDamage = Mathf.FloorToInt(preFinalDamage); owner.TakeNormalDamage(configData.AttackPowerLevel,finalDamage, sender, false); } } }