using Continentis.MainGame; using Continentis.MainGame.Character; using Continentis.MainGame.Combat; using SLSFramework.General; using UnityEngine; namespace Continentis.Mods.Basic.Buffs { public class GuardianAura : CharacterCombatBuffBase { public GuardianAura(int stack) { Initialize(BuffType.Focusing, BuffDispelLevel.Strong); this.contentSubmodule = new ContentSubmodule(this) .AddParameterGetter("Stack", () => unitedStackSubmodule.stackAmount.ToString()); this.iconSubmodule = new IconSubmodule(this); this.unitedStackSubmodule = new UnitedStackSubmodule(this, stack); this.eventSubmodule = new EventSubmodule(this); this.eventSubmodule.onActionStart.Add("GuardianAura", new PrioritizedAction(() => { CombatMainManager.Instance.characterController.playerHeroes.ForEach(hero => { hero.AddBlock(this.unitedStackSubmodule.stackAmount, false); }); })); } public override bool OnBuffApply(out CharacterCombatBuffBase existingBuff) { MainGameManager.Instance.basePrefabs.GenerateInfoText(contentSubmodule.displayName, attachedCharacter.characterView); if (FocusingCheck(out existingBuff)) { existingBuff.unitedStackSubmodule.PickHigherStack(this.unitedStackSubmodule); return false; } return true; } } }