32 lines
966 B
C#
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);
|
|
}
|
|
|
|
}
|
|
}
|