コード例 #1
0
        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));
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
 public override void Setup(CardEffectState cardEffectState)
 {
     base.Setup(cardEffectState);
     this.bumper = new CardEffectBump();
 }