public override IEnumerator OnTrigger(List <CharacterState> targets) { ProviderManager.TryGetProvider <RoomManager>(out RoomManager roomManager); var cardEffectParams = new CardEffectParams { saveManager = ProviderManager.CombatManager.GetSaveManager(), combatManager = ProviderManager.CombatManager, heroManager = ProviderManager.CombatManager.GetHeroManager(), roomManager = roomManager, targets = targets, }; var bumper = new CardEffectBump(); yield return(bumper.Bump(cardEffectParams, -1)); }
protected override IEnumerator OnTriggered(InputTriggerParams inputTriggerParams, OutputTriggerParams outputTriggerParams) { // Don't fly up during Relentless List <CharacterState> characters = new List <CharacterState>(); inputTriggerParams.combatManager.GetHeroManager().AddCharactersInRoomToList(characters, inputTriggerParams.associatedCharacter.GetCurrentRoomIndex()); foreach (var character in characters) { if (character.GetStatusEffect("relentless") != null) { yield break; } } // Provider ProviderManager.TryGetProvider <RoomManager>(out inputTriggerParams.roomManager); // At end of turn, ascend and if we try to ascend into the Pyre then we kaboom and do something. if (inputTriggerParams.associatedCharacter.GetCurrentRoomIndex() == 2) { yield return(inputTriggerParams.associatedCharacter.Sacrifice(new CardState())); } else { var cardEffectParams = new CardEffectParams { saveManager = inputTriggerParams.combatManager.GetSaveManager(), combatManager = inputTriggerParams.combatManager, heroManager = inputTriggerParams.combatManager.GetHeroManager(), roomManager = inputTriggerParams.roomManager, targets = new List <CharacterState> { inputTriggerParams.associatedCharacter }, }; var bumper = new CardEffectBump(); yield return(bumper.Bump(cardEffectParams, 1)); } yield break; }
protected override IEnumerator OnTriggered(InputTriggerParams inputTriggerParams, OutputTriggerParams outputTriggerParams) { ProviderManager.TryGetProvider <RoomManager>(out inputTriggerParams.roomManager); // At end of turn, descend, and if we did Descend remove a stack of gravity. if (canMove(inputTriggerParams)) { var cardEffectParams = new CardEffectParams { saveManager = inputTriggerParams.combatManager.GetSaveManager(), combatManager = inputTriggerParams.combatManager, heroManager = inputTriggerParams.combatManager.GetHeroManager(), roomManager = inputTriggerParams.roomManager, targets = new List <CharacterState> { inputTriggerParams.associatedCharacter }, }; var bumper = new CardEffectBump(); yield return(bumper.Bump(cardEffectParams, -1)); yield return(Descend(inputTriggerParams.associatedCharacter)); } }
public override void Setup(CardEffectState cardEffectState) { base.Setup(cardEffectState); this.bumper = new CardEffectBump(); }