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

30 lines
979 B
C#
Raw Normal View History

2024-05-17 15:37:56 +08:00
using UnityEngine;
namespace Gameplay.Buff
{
public class BuffBulletDamage7 : BaseBuff
{
protected override void _OnTrigger()
{
base._OnTrigger();
// 对目标造成A%+B克默攻击点伤害有10%几率额外造成双倍伤害
// 修正 0-固定值 1-攻击力百分比 2-暴击率 3-暴击倍数
var fixValue = _TryGetFloatParam(0);
var rateAttack = _TryGetFloatParam(1);
2024-05-17 15:37:56 +08:00
var critRate = _TryGetFloatParam(2);
var critValue = _TryGetFloatParam(3);
var damage = Mathf.FloorToInt((fixValue + rateAttack * owner.fightData.attack));
var random = Random.Range(0, 1f);
var isCritical = random < critRate;
if (isCritical)
{
damage = Mathf.FloorToInt(damage * critValue);
}
owner.TakeNormalDamage(damage, creator, isCritical);
}
}
}