If a list of roles is passed to list_players, the function breaks if there aren't any alive players with that role and emits a stacktrace. Unsure of what this actually affects, but I saw it in the console a bunch of times.
This reverts commit 5e4bb1ed5d and puts
the relevant quiet-related code in a conditional instead, depending on a
newly-added var.QUIET_DEAD_PLAYERS setting.
!simple used to determine whether you were given simple instructions
*and* whether the bot NOTICEs you; now, it only controls the former and
!notice controls the latter.
The inclusion of jester was causing a disproportionately high number of wolf wins due to wolves voting jester as a strategy in order to bring numbers to even. Per discussion in -ops, it was decided that removing jester would be good in order to prevent this (an alternative option being reducing number of wolves so that the gameplay can still happen, but it requires more finesse on the wolves' part in order to utilize).
- Make rapidfire more rapid by reducing timers and adding in time lord
- Correctly credit someone for a win if they die and THEN /part or /quit
(someone that dies and is /kicked will not get a win, as that usually
means they cheated or something.)
- Break up long messages (roles, player totals) at intelligent points.
1. Rewrite amnesiac: Instead of removing an existing role from the game for the first 2 days,
they now become a brand new random role. Seers, oracles, sorcerers, detectives, and revealing
totems will see through their amnesia so they can learn their actual role. Amnesiacs are neutral
until they clear up, and thus if the game ends while they are still amnesiac, they will win
alongside the default role (e.g. village if default is villagers, or wolves if default is cultists).
2. Make vengeful ghost take vengeance based on the role that killed them instead of making it based
on time of day. If they suicide due to being someone's lover, they will take vengeance on the team
that killed their lover. If they are gunner and their gun explodes, they take vengeance on the
village due to their shoddy gun construction processes.
3. Make clone always trigger even if their target idles out or !quits.
4. Make a harlot visiting victim, harlot visiting wolf, and bodyguard guarding victim able to
shoot wolves if they are also gunner, and for wolves to pick up their gun. In the event of a wolf
kill plus another non-wolf kill, the wolf kill takes precedence in the event of harlot visiting
victim and bodyguard guarding victim, and the non-wolf kill takes precedence in the event of
harlot visiting wolf (the non-wolf kill happens en-route to the wolves, and the gun disappears or
something, idk). Additionally, if the harlot visits victim or the bodyguard guards victim and the
harlot/bodyguard are also targeted by wolves, their special "died visiting/guarding victim" event
plays instead of the normal death message.
5. Change alive vengeful ghost win conditions to work like amnesiac: they win with the default
role if alive at the end of the game.
6. Minor wording fixes, such as the gunner shot wolf message with more commas than words.
Remember, every time you abuse a comma, God kills a kitten.
Similar to fool, the jester wins if they are lynched. Unlike fool,
the game continues if jester is lynched and they win alongside the
normal winners.
Also change it so that a fool's lover does NOT win with fool, so
that fool/jester win mechanics are similar (since jester's lover
would die with jester). It doesn't pay to fall in love with fools!
Bump day time down to 60s and night time down to 30s
Time lord triggers if they die during day for any reason (except idling)
Reduce rate limit for !time to 10s instead of 60
- Usage: set a non-zero value for var.JOIN_TIMER_LIMIT in seconds
- Added kill_join() to handle game cancellations
- Join timers set on first join and canceled if everybody quits or when a
game starts
Added grand total to the output of "gamestats" command when no size is
given. Changed camel case to '_' for a couple of variables. Added
identification check for "player" command.
Updated game text for stats commands. Fixed error with "mystats" help
string. Added additional check in player stats commands to find the
associated account before attempting to retrieve stats.
Loosely based on code from jcao219. New commands are "player", "p", "mystats", "me". The commands access existing stats stored in the game database (data.sqlite3).
Added the option in ./modules/wolfgame.py. When activated, if traitor dies before turning, he will only be revealed as a villager.
Also, when "stats" command is used, traitor will be counted as a villager. By default, it is set to True.
i.e. it makes sure that there are at least X seconds of wait time left after a !join.
Feb01[18:03:40] +Zazie_Lavender | I think there should be an enforced 10 to 20 second wait after last !join