public Game(MyList <string> players_names) { generate_players_list(players_names); decide_assasin(); decide_first_king(); this.assasin.add_info("You are the assasin"); this.first_king.add_info("You are the first king"); #region role specific info foreach (Role role_1 in this.evil_roles.without(Role.COLGREVANCE)) { foreach (Role role_2 in this.evil_roles.without(role_1).without(Role.COLGREVANCE).random_add_if(Role.TITANIA, role_in_game(Role.TITANIA))) { role_1.add_info(role_2.get_player_name() + " is evil"); if (role_in_game(Role.TITANIA)) { role_1.add_info("Titania has infiltrated your ranks. (One of the people you see is not Evil.)"); } if (role_in_game(Role.COLGREVANCE)) { role_1.add_info("Colgrevance lurks in the shadows. (There is another Evil that you do not see.)"); } } } if (role_in_game(Role.TRISTAN)) { Role.TRISTAN.add_info(Role.ISEULT.get_player_name() + " is Iseult"); Role.ISEULT.add_info(Role.TRISTAN.get_player_name() + " is Tristan"); } if (role_in_game(Role.MERLIN)) { foreach (Role role in this.evil_roles.without(Role.MORDRED).random_add_if(Role.LANCELOT, role_in_game(Role.LANCELOT))) { Role.MERLIN.add_info(role.get_player_name() + " is evil"); } } if (role_in_game(Role.NIMUE)) { foreach (Role role in this.all_roles.without(Role.NIMUE)) { Role.NIMUE.add_info(role.get_role_name() + " is in the game"); } } if (role_in_game(Role.PERCIVAL)) { foreach (Role role in new MyList <Role>() { Role.MERLIN, Role.MORGANA }.shuffled()) { if (role_in_game(role)) { Role.PERCIVAL.add_info(role.get_player_name() + " is Merlin or Morgana"); } } } if (role_in_game(Role.ARTHUR)) { foreach (Role role in this.good_roles.without(Role.ARTHUR)) { Role.ARTHUR.add_info(role.get_role_name() + " is in the game"); } } if (role_in_game(Role.COLGREVANCE)) { foreach (Role role in this.evil_roles.without(Role.COLGREVANCE)) { Role.COLGREVANCE.add_info(role.get_player_name() + " is " + role.get_role_name()); } } #endregion }