- Added a new multivote system. You can vote for as many people as you want. The person with the most votes at EoD dies.
- Added the concept of adding 'roles' to 'factions', allowing the same role to be added to different factions. Mafia Stripper vs Town Stripper. These are called faction roles
- Added control for have the day length decrease as the game progresses. For example on day 1 it can be 15 minutes, day 2, 13, day 3, 11 minutes. Also has a floor
- "Parity Check" ability: Detect someone on Night 1. On Night 2 learn whether the first person's alignment is the same as the second person's alignment.
- Allow games to start if there are less players than roles in a game. Some roles just won't be assigned.
- Added "Back to Back" modifier, enabling or disabling someone from trying to target the same person night after night.
- Added modifier for allowing/disallowing whether an action can be used based off living team members. For example, a cult could start to kill if they get enough team members, but not before.
- Added attribute on a random in a roles list to be exposed or not
- Added attribute on a random in a roles list to have to be spawned or not. This is useful in games where there are less players than roles.
- Added concept of "min/max player count" for whether a role is part of a roles list. This adds dynamic roles list based on setup, and stores this information in the database, rather than having multiple copies of the same setup that have different roles list based on player count.
- Stop ghosts from winning if they're alive at the end of game.
- Fixed bug in condorcet calculations
- Spell publicly correctly.
- Faction Kill can be a role ability now.
- Punch can be used on day 2
- Cleaned up self-target text
- Hides poisoner/doctor interaction text if poisoner not in the game
Setup Management Enhancements
- Added concept of "Featured" setups. All the setups on the host page were hard coded, but they're mostly migrated out and stored in the database now.
- Added concept of an uneditable setup. A setup becomes uneditable if it a game is hosted off of it, or becomes featured.
- Added concept of "setup" modifiers vs "game" modifiers. Stuff like "doctor gets feedback" is a setup modifier, while "day length" is a game modifier.
- Most abilities can be added and shared among factions and manipulated through the API
- Factions can be created/deleted through the API
- Roles can be created/deleted through the API
- Factions can have their roles be deleted or added from them through the API.
- Factions can have their enemies be updated through the API
- Sheriff checks can have their detectable teams updated through the API.
- Setups now have names, slogans, and descriptions, associated to them.
- Roles can be deleted from "Random Roles"(aka town random or hidden mafia)
- Players can receive a different role card than they actually are, and this is editable through the API. (There's a bug with this though and needs to be investigated)
- Roles can have modifiers added to them through the API.
- Role abilities can have modifiers added to them through the API.
- Featured setups cannot be deleted, only archived.
- Whether a role spawns based on player size is configurable through the API.
- Whether the players know what role a setup hidden spawned (like town random) is configurable through the API
- Setups can now be archived through the API
- Setups that don't belong to a user can now be cloned so the user can own and edit these setups.
- Added colored icons to players
- Adjusting game phase lengths will be by minutes, not by seconds. Plans to make that a dropdown for seconds/minutes/hours/days.
- Roles can be added to factions.
- The vote system can now be changed.
- Cult invitation feedback will now show a picture.
- Player count limits now depend on added roles, not a setting.
- Adding setup hidden will propagate to the windows of other players.
- Changed home page links to point to Narrator Discord, and Sc2mafia home page.
- UI will show whether a player is active or not.
- Hide disabled discord settings if game is discord game
- Framing submits correct team
- Show allies in your role card.
- Music plays on lobby join.
- Show all available actions on game start.
- Show end night button on night start.
- Fixed display issues with setup drop downs.
- The "plus sign" for adding roles bled through the faction editor.
- Allow adding non single hiddens to the roles list (aka a Town Random, not a Citizen)
- Show player count on mobile.
- Show only one of faction or role when viewing game info on mobile.
- Decrease call count to the back end for game state. (SPEEEEED)
- User list and roles list updates when new player joins lobby
- Clicking on user list shows kick/ping/repick popup window.
- Redid repick & moderator system.
- Game won't delete from database if changing to a user setup.
Sc2Mafia Integration Fixes + Features
- Point to updated rules
Discord Fixes + Features
- "!skip" should skip the day.
- "!living" should show living people.
- Featured setups should show in order.
- Default night length will be 1 minute long
- "!link" is an alias for "!invite" now.
- Separated player ids from submitted commands. Next step would be to split the command as well.
- Added validation constraints
- Optimized setup reading and writing to and from the database.
- Added logging for long queries.
- Broke Back end and Front end repos into two repos!!!!!
- Started converting the front end to using React and Redux!!!!!
- Refactored more action requests to the Narrator server. Switching from using websockets to http.
- Learned about 'rem' and how that should be the standard for text size usage.
- Rewrote bird vote to use React.
- Rewrote thread scrape to cache pages.