using UnityEngine; namespace Gameplay.Buff { public class BuffBulletDamage8 : BaseBuff { protected override void _OnTrigger() { base._OnTrigger(); // 对目标造成 A + B%攻击力伤害, 目标专一:【专注一击】对同一目标造成的伤害根据次数递增,最多30% var fixValue = _TryGetFloatParam(0); var rateAttack = _TryGetFloatParam(1); var addPercent = _TryGetFloatParam(2); var maxPercent = _TryGetFloatParam(3); var skillContinueHitData = creator.controlData.continueSkillData; if (skillContinueHitData.hitUnit == owner) { skillContinueHitData.continueHitCount++; } else { skillContinueHitData.hitUnit = owner; skillContinueHitData.continueHitCount = 0; } var finalAddPercent = Mathf.Min(skillContinueHitData.continueHitCount * addPercent, maxPercent); var damage = Mathf.FloorToInt((fixValue + rateAttack * owner.fightData.attack) * (1 + finalAddPercent)); owner.TakeNormalDamage(configData.AttackPowerLevel,damage, creator, false); } } }