public List <Card> ManageCharactersOffToTheSide(bool banish = true)
        {
            List <Card> characterCards = new List <Card> {
            };

            foreach (string charID in roninIdentifiers)
            {
                Card target = TurnTaker.FindCard(charID);
                characterCards.Add(target);

                Location currentLoc = target.Location;

                if (currentLoc.IsOffToTheSide)
                {
                    Location destination;
                    //Log.Debug("Looking for destination...");
                    if (banish)
                    {
                        //Log.Debug("Attempting to banish...");
                        destination = TurnTaker.InTheBox;
                    }
                    else
                    {
                        //Log.Debug("Putting in play...");
                        destination = TurnTaker.PlayArea;
                    }
                    TurnTaker.MoveCard(target, destination);
                }
            }
            return(characterCards);
        }
Beispiel #2
0
        public List <Card> ManageCharactersOffToTheSide(bool banish = true)
        {
            List <Card> characterCards = new List <Card> {
            };

            foreach (string charID in nightloreCouncilIdentifiers)
            {
                Card target = TurnTaker.FindCard(charID);
                characterCards.Add(target);

                Location destination = target.Location;
                if (destination.Name == LocationName.OffToTheSide)
                {
                    //Log.Debug("Looking for destination...");
                    if (banish)
                    {
                        //Log.Debug("Attempting to banish...");
                        destination = TurnTaker.InTheBox;
                    }
                    else
                    {
                        //Log.Debug("Putting in play...");
                        destination = TurnTaker.PlayArea;
                    }
                    destination.AddCard(target);
                    if (target.Location.Name == LocationName.PlayArea && !GameController.Game.OrderedCardsInPlay.Contains(target))
                    {
                        //Log.Debug("But the game does not know that it is in play");
                        GameController.Game.AssignPlayCardIndex(target);
                        //Log.Debug($"Given index {target.PlayIndex}");
                    }
                }
            }
            return(characterCards);
        }
Beispiel #3
0
        public void HandleWintersEarly(bool banish = true)
        {
            Card winters = TurnTaker.FindCard("AdmiralWintersCharacter", true);

            if (winters == null || winters.Location != TurnTaker.OffToTheSide)
            {
                Log.Debug("Failed to find Admiral Winters");
                return;
            }

            Location targetLocation = banish ? TurnTaker.InTheBox : TurnTaker.PlayArea;

            TurnTaker.MoveCard(winters, targetLocation);
        }