27 lines
992 B
C#
27 lines
992 B
C#
using System;
|
|
using Cielonos.MainGame.Characters;
|
|
using SLSUtilities.General;
|
|
using UnityEngine;
|
|
|
|
namespace Cielonos.MainGame.Characters.Inventory.Collections
|
|
{
|
|
public partial class VipersFang : PassiveEquipmentBase
|
|
{
|
|
public override void OnObtained()
|
|
{
|
|
base.OnObtained();
|
|
Action<AttackAreaBase, CharacterBase, AttackResult> onStartAttack = OnStartAttack;
|
|
player.eventSm.onStartAttack.Add("VipersFang", onStartAttack.ToPrioritized());
|
|
}
|
|
}
|
|
|
|
public partial class VipersFang
|
|
{
|
|
private void OnStartAttack(AttackAreaBase attackArea, CharacterBase target, AttackResult attackResult)
|
|
{
|
|
float targetHealthPercentage = target.attributeSm["Health"] / target.attributeSm["MaximumHealth"];
|
|
float extraDamage = passiveAttributeData.itemAttributes["ExtraDamage"] * (1 - targetHealthPercentage);
|
|
attackResult.attackValue.additionalFlatDamage += extraDamage;
|
|
}
|
|
}
|
|
} |