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

45 lines
1.4 KiB
C#

using Gameplay.Common;
namespace Gameplay.Buff
{
using UnityEngine;
public class BulletDamage1Buff : BaseSkillBuff
{
protected override void _OnTrigger()
{
base._OnTrigger();
var sender = this.creator;
var senderAttack = sender.fightData.attack;
var skillConfig = _skill.runtimeData.configData;
var floatValueA = skillConfig.FloatParams[0];
var floatValueB = skillConfig.FloatParams[1];
var finalDamage = floatValueA + senderAttack * floatValueB;
var scaleValue1 = skillConfig.FloatParams[2];
var scaleValue2 = skillConfig.FloatParams[3];
var scaleValue3 = skillConfig.FloatParams[4];
// 如果目标是人形还要进行增伤
if (owner.avatarType == EAvatarType.Human)
{
finalDamage *= scaleValue1;
}
// 如果目标是载具还要进行增伤
if (owner.avatarType == EAvatarType.Vehicle)
{
finalDamage *= scaleValue2;
}
// 如果目标是建筑还要进行增伤
if (owner.avatarType == EAvatarType.Building)
{
finalDamage *= scaleValue3;
}
// 造成伤害
owner.TakeNormalDamage(Mathf.CeilToInt(finalDamage), sender, false);
}
}
}