Files
Cielonos/Assets/Scripts/MainGame/Items/PassiveEquipments/SupercriticalCore.cs
SoulliesOfficial 649b7a5ddc 更新
2026-05-23 08:27:50 -04:00

38 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using Cielonos.MainGame.Buffs.Character;
using Cielonos.MainGame.Characters;
using SLSUtilities.General;
using UnityEngine;
namespace Cielonos.MainGame.Inventory.Collections
{
/// <summary>
/// 超临界核心 / Supercritical Core
/// Fusion 引爆所需层数增加,但引爆伤害大幅提升
/// </summary>
public class SupercriticalCore : PassiveEquipmentBase
{
private const string EventKey = nameof(SupercriticalCore);
public override void OnObtained()
{
base.OnObtained();
Action<CharacterBuffBase> onApplyBuff = OnApplyBuffToOther;
player.eventSm.onApplyBuffToTarget.Add(EventKey, onApplyBuff.ToPrioritized());
}
public override void OnDiscarded()
{
player.eventSm.onApplyBuffToTarget.Remove(EventKey);
base.OnDiscarded();
}
private void OnApplyBuffToOther(CharacterBuffBase buff)
{
if (buff is not Fusion fusion) return;
fusion.minimumStackToExplode += Mathf.RoundToInt(passiveAttributeSm.GetItemAttribute("ExtraMinimumStackToExplode"));
fusion.damagePerStack += Mathf.RoundToInt(passiveAttributeSm.GetItemAttribute("ExtraDamagePerStack"));
}
}
}