using Cielonos.MainGame.Buffs.Character; using Cielonos.MainGame.Characters; using SLSUtilities.General; namespace Cielonos.MainGame.Inventory.Collections { public partial class FutureWand { /// /// 订阅目标身上 Fusion Buff 的引爆事件,当引爆来源为 FutureWand 时执行专属效果。 /// 字典 Key 天然去重,无需手动 -= +=。 /// private void SubscribeFusionExplode(CharacterBase enemy) { Fusion fusion = enemy.buffSm.GetBuff(); if (fusion == null) return; fusion.onExploded[nameof(FutureWand)] = new PrioritizedAction(OnFusionExploded); } /// /// 当 Fusion Buff 引爆时,如果引爆来源是 FutureWand,则对附着的角色施加一个持续 50 点伤害的 Decay Buff。 /// private void OnFusionExploded(Fusion fusion, AttackAreaBase triggerArea) { if (triggerArea == null || triggerArea.itemSource != this) return; new Decay(50).Apply(fusion.attachedCharacter); } } }