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); }