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

32 lines
966 B
C#

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);
}
}
}