コード例 #1
0
        /* Setup:
         * At the start of the game, put {Celadroch}'s villain character cards into play, 'Black Wind Rising' side up.
         * Search the villain deck for 3 relic cards and put them into play. Shuffle the villain deck.
         * Flip the top card of the villain deck face up."
         */

        public override IEnumerator StartGame()
        {
            if (!(base.CharacterCardController is CeladrochCharacterCardController))
            {
                yield break;
            }

            IEnumerator coroutine = PutCardsIntoPlay(new LinqCardCriteria(c => c.Owner == TurnTaker && c.IsRelic, "relic"), 3);

            if (base.UseUnityCoroutines)
            {
                yield return(base.GameController.StartCoroutine(coroutine));
            }
            else
            {
                base.GameController.ExhaustCoroutine(coroutine);
            }

            var topCard = TurnTaker.Deck.TopCard;
            var cc      = FindCardController(topCard);

            cc.SetCardProperty("CeladrochsTopCard", true);

            coroutine = GameController.SendMessageAction($"Celadroch's top card is {topCard.Title}", Priority.High, CharacterCardController.GetCardSource(), new[] { topCard });
            if (base.UseUnityCoroutines)
            {
                yield return(base.GameController.StartCoroutine(coroutine));
            }
            else
            {
                base.GameController.ExhaustCoroutine(coroutine);
            }
        }
コード例 #2
0
        public override IEnumerator StartGame()
        {
            //Blazing Axe and Firestarter are put into play, and the villain deck is shuffled.
            IEnumerator coroutine  = PutCardIntoPlay("BlazingAxe");
            IEnumerator coroutine2 = PutCardIntoPlay("Firestarter");
            IEnumerator coroutine3 = GameController.ShuffleLocation(TurnTaker.Deck, cardSource: CharacterCardController.GetCardSource());

            if (base.UseUnityCoroutines)
            {
                yield return(base.GameController.StartCoroutine(coroutine));

                yield return(base.GameController.StartCoroutine(coroutine2));

                yield return(base.GameController.StartCoroutine(coroutine3));
            }
            else
            {
                base.GameController.ExhaustCoroutine(coroutine);
                base.GameController.ExhaustCoroutine(coroutine2);
                base.GameController.ExhaustCoroutine(coroutine3);
            }
            yield break;
        }
コード例 #3
0
        public override IEnumerator StartGame()
        {
            if (base.CharacterCardController is DendronCharacterCardController)
            {
                // Search the deck for 1 copy of Stained Wolf and 1 copy of Painted Viper and put them into play.
                IEnumerator stainedWolfRoutine  = this.PutCardIntoPlay(StainedWolfCardController.Identifier, shuffleDeckAfter: false);
                IEnumerator paintedViperRoutine = this.PutCardIntoPlay(PaintedViperCardController.Identifier);

                if (base.UseUnityCoroutines)
                {
                    yield return(base.GameController.StartCoroutine(stainedWolfRoutine));

                    yield return(base.GameController.StartCoroutine(paintedViperRoutine));
                }
                else
                {
                    base.GameController.ExhaustCoroutine(stainedWolfRoutine);
                    base.GameController.ExhaustCoroutine(paintedViperRoutine);
                }
            }
            if (base.CharacterCardController is WindcolorDendronCharacterCardController)
            {
                /*
                 * At the start of the game, put {Dendron}'s villain character cards into play, 'Outside The Lines' side up.
                 * Search the deck for all copies of Painted Viper and Stained Wolf. Place them beneath this card and shuffle the villain deck.
                 */

                var coroutine = GameController.MoveCards(this, FindCardsWhere(c => c.Identifier == "StainedWolf" || c.Identifier == "PaintedViper"), CharacterCard.UnderLocation, cardSource: CharacterCardController.GetCardSource());
                if (base.UseUnityCoroutines)
                {
                    yield return(base.GameController.StartCoroutine(coroutine));
                }
                else
                {
                    base.GameController.ExhaustCoroutine(coroutine);
                }

                coroutine = GameController.ShuffleLocation(TurnTaker.Deck);
                if (base.UseUnityCoroutines)
                {
                    yield return(base.GameController.StartCoroutine(coroutine));
                }
                else
                {
                    base.GameController.ExhaustCoroutine(coroutine);
                }
            }
        }
コード例 #4
0
        public override IEnumerator StartGame()
        {
            //Put Total Chaos into play and the villain deck is shuffled.
            IEnumerator coroutine  = PutCardIntoPlay("TotalChaos");
            IEnumerator coroutine2 = GameController.ShuffleLocation(TurnTaker.Deck, cardSource: CharacterCardController.GetCardSource());

            if (base.UseUnityCoroutines)
            {
                yield return(base.GameController.StartCoroutine(coroutine));

                yield return(base.GameController.StartCoroutine(coroutine2));
            }
            else
            {
                base.GameController.ExhaustCoroutine(coroutine);
                base.GameController.ExhaustCoroutine(coroutine2);
            }
            yield break;
        }
コード例 #5
0
        public override IEnumerator StartGame()
        {
            //Put Crimson Shield and Giger Mobility Chair into play, then shuffle the villain deck.
            IEnumerator coroutine  = PutCardIntoPlay("CrimsonShield");
            IEnumerator coroutine2 = PutCardIntoPlay("GigerMobilityChair");
            IEnumerator coroutine3 = GameController.ShuffleLocation(TurnTaker.Deck, cardSource: CharacterCardController.GetCardSource());

            if (base.UseUnityCoroutines)
            {
                yield return(base.GameController.StartCoroutine(coroutine));

                yield return(base.GameController.StartCoroutine(coroutine2));

                yield return(base.GameController.StartCoroutine(coroutine3));
            }
            else
            {
                base.GameController.ExhaustCoroutine(coroutine);
                base.GameController.ExhaustCoroutine(coroutine2);
                base.GameController.ExhaustCoroutine(coroutine3);
            }
            yield break;
        }
コード例 #6
0
        public override IEnumerator StartGame()
        {
            //Put Immortal Form and Consume Lifeforce into play, then shuffle the villain deck.
            IEnumerator coroutine  = PutCardIntoPlay("ImmortalForm");
            IEnumerator coroutine2 = PutCardIntoPlay("ConsumeLifeforce");
            IEnumerator coroutine3 = GameController.ShuffleLocation(TurnTaker.Deck, cardSource: CharacterCardController.GetCardSource());

            if (base.UseUnityCoroutines)
            {
                yield return(base.GameController.StartCoroutine(coroutine));

                yield return(base.GameController.StartCoroutine(coroutine2));

                yield return(base.GameController.StartCoroutine(coroutine3));
            }
            else
            {
                base.GameController.ExhaustCoroutine(coroutine);
                base.GameController.ExhaustCoroutine(coroutine2);
                base.GameController.ExhaustCoroutine(coroutine3);
            }
            yield break;
        }