public void TakeStartOfTurnActions(GameState g, UserInterface ui) { if (g.NameOfDraculaAlly() == "Quincey P. Morris") { Hunter victim = logic.DecideWhichHunterToAttackWithQuincey(g.GetHunters()); ui.TellUser("Dracula has chosen " + victim.Name + " to affect with Quincey P. Morris"); switch (ui.GetHunterHolyItems(victim.Name)) { case 0: ui.TellUser(victim.Name + " loses 1 health"); victim.Health--; g.HandlePossibleHunterDeath(ui); break; case 1: if (victim.ItemsKnownToDracula.FindIndex(item => item.Name == "Crucifix") == -1) { g.AddToHunterItemsKnownToDracula(victim, "Crucifix"); } ui.TellUser("No effect from Quincey P. Morris"); break; case 2: if (victim.ItemsKnownToDracula.FindIndex(item => item.Name == "Heavenly Host") == -1) { g.AddToHunterItemsKnownToDracula(victim, "Heavenly Host"); } ui.TellUser("No effect from Quincey P. Morris"); break; } } Logger.WriteToDebugLog("Deciding what to do with Catacombs locations"); for (int i = 0; i < 3; i++) { if (Catacombs[i] != null) { Logger.WriteToDebugLog("Deciding what to do with location " + Catacombs[i].Name); if (logic.DecideToDiscardCatacombLocation(g, this)) { Logger.WriteToDebugLog("Discarding " + Catacombs[i].Name); while (Catacombs[i].Encounters.Count() > 0) { Logger.WriteToDebugLog("Putting encounter " + Catacombs[i].Encounters.First().name + " back into the encounter pool"); g.AddEncounterToEncounterPool(Catacombs[i].Encounters.First()); Catacombs[i].Encounters.Remove(Catacombs[i].Encounters.First()); } Logger.WriteToDebugLog("Emptying " + Catacombs[i].Name + " from Catacombs"); Catacombs[i] = null; } } } }
private void PlayNightVisit(GameState g, UserInterface ui) { Hunter hunterToVisit = logic.DecideWhoToNightVisit(g); Logger.WriteToDebugLog("Playing Night Visit on " + hunterToVisit.Name); ui.TellUser(hunterToVisit.Name + " was visited by Dracula in the night and loses 2 health"); hunterToVisit.Health -= 2; g.HandlePossibleHunterDeath(ui); }