## To-do list: ADD TESTING UNITS Kill at end of night [Sorta Done] - Create a list of actions that need to be done. Allow multiple actives and passives [DONE] Fix "That is not a valid ability" Add day phase where one person can be exe'd Add win conditions directly to teams class Add graphics Add networking features Mafia Key: Class = C, Object = O Game ~ C Attributes: - State O (Class State, round) - Players (List of players) - Character ~ O ~ Character Class - Interface Methods: - Generate Players - Game loop (until win condition met, while) - Day Round[i] - use interface - Actions taken (useAbility) - 30 second clock - Night Round[i] - Actions taken - 15 second clock Character ~ C Attributes: - Role ~ O ~ Role Class - Abilities - Teams - Name - Player State Methods: - getters/setters (e.g getName, getRole etc) - private - useAbility State ~ C Attributes: -Time - currentRound - Day - use interface - Night - Health - Dead - Alive - Poisoned Role ~ C Attributes: Abilities (List of abilities) - Passive - Active - Timeframe Team Team ~ Class Attributes: - Win Condition - Name (ENUM) Ability ~ C Attributes: - Name - Passive - Active - Timeframe