Checked all the other roles, they were already correct. Basically, when
a user is silenced they are removed from nightroles, which means if we
add people unable to actually act, we may prematurely end night.
Caused issues due to killers not being defined. For example, a VG lover
of the shot wolf would join the village team (against wolves) if gunner
shot their wolflover during night. Now it properly sides the VG with
wolves (against village).
- Account for revealing totem + amnesiac in experimental !stats properly
- Fix amnesiac blacklist checks to be consistent with each other
- Remove non-events from villager.py -- these always ran before or after
all other events, so there was no point in them being events in the
first place
- stop_game now follows the mainroles/allroles pattern instead of
roles/templates pattern. This also modifies the data stored in db
stats, and fixes readouts for cases where we do goofy stuff with
secondary roles
Convert chk_decision, chk_nightdone, transition_day, transition_night, doomsayer, mayor, and convert+split shamans in three files with a shared helper. Fixes and updates for the User containers, and some other tweaks and fixes.
Only check it where absolutely necessary, and ensure in User that we
don't set accounts if we don't support them. This lets us ensure that
account is always None when account support is disabled, which means
that the existing None checks handle that without additional conditions.
- Add the new User containers for easier handling of users throughout the codebase
- Remove the swap_player event (replaced by User.swap, made possible thanks to the containers)
- Remove the cli argument from several events
- Remove !frole (a replacement will follow)
- Remove the ALLOWED_NORMAL_MODE_COMMANDS config option
Plus a couple of small fixes here and there.
Fix balance in mudkip, it was skewed too much towards village winning.
Also, if day ended in mudkip and nobody was being voted, it would error.
Let's make that not error.