Files
Cielonos/Assets/Scripts/MainGame/Items/PassiveEquipments/CombustionEnhancer.cs

36 lines
1.2 KiB
C#
Raw Normal View History

2026-05-27 15:15:28 -04:00
using System;
using Cielonos.MainGame.Buffs.Character;
using Cielonos.MainGame.Characters;
using SLSUtilities.General;
using UnityEngine;
namespace Cielonos.MainGame.Inventory.Collections
{
/// <summary>
/// 助燃剂 / Combustion Enhancer
/// 每次攻击到敌人后如果敌人处于燃烧Buff那么为燃烧Buff持续时间延长0.1秒
/// </summary>
public class CombustionEnhancer : PassiveEquipmentBase
{
private const string EventKey = nameof(CombustionEnhancer);
public override void OnObtained()
{
base.OnObtained();
Action<AttackAreaBase, CharacterBase, Attack.Result> onFinishAttack = OnFinishAttack;
player.eventSm.onFinishAttack.Add(EventKey, onFinishAttack.ToPrioritized());
}
public override void OnDiscarded()
{
player.eventSm.onFinishAttack.Remove(EventKey);
base.OnDiscarded();
}
private void OnFinishAttack(AttackAreaBase attackArea, CharacterBase target, Attack.Result result)
{
Burn burn = target.buffSm.GetBuff<Burn>();
burn?.timeSubmodule.AddDuration(0.1f);
}
}
}