This commit adds 3 new roles and changes the semantics of
kills/protections to work more like the impatience and pacifism totems.
- Add mystic and wolf mystic roles which can divine the number of
players still alive on the opposing team each night. These roles are
meant for games where role reveal is off as !stats gives the same info
otherwise.
- Add fallen angel which is a corrupted version of the guardian angel,
created when a guardian angel is bitten by alpha wolf. This role is
incredibly potent as they bypass all forms of protection on their
target. GAs corrupted this way also automatically gain the assassin
template.
- Protections/kills now stack and cancel each other out. As such, 2
kills but only 1 protection will result in the kill still happening.
- Fix help text for active alpha wolf to show the reworked bite command.
- If alpha bites someone who is going to die via other means that night,
refund the bite.
- If the bite was unsuccessful due to whatever reason and was refunded,
give a different message to alpha wolf to let them know that.
- Make adding more wolf roles in the future easier to do by replacing
some hardcoded lists with var.WOLF_ROLES.
Modify game over messages to read better
Modify win conds to remove unneeded ones and to also add in some "nobody
wins" conds that happen due to MAD or stalemates.
- Piper can now only win during daytime (this includes transition_day as
well as chk_decision)
- There is now at most 1 piper in charming regardless of player count,
more than 1 is simply overpowered and impossible to balance
This adds the new piper role, whose goal is to charm all the other
players to win. The charmed players are told who else is charmed, every
night, and must find out the piper and lynch him to win. The piper is a
win stealer, and takes precedence over monster. They can select either
one or two targets, but unless there is exactly one person left to be
charmed, they must pick two targets.
Adds "warlock" role, which is wolf-aligned and in wolfchat. They cannot
kill, but they get to turn someone into a cursed villager each night
(the curse remains in place for the rest of the game). If they act
quickly enough, they can even impact the seer or oracle for the current
night!
Added werekitten role, which is seen villager by seer and is always
missed when shot (even by sharpshooter!). They can still nom tasty
villagers at night, including pesky visiting harlots.
Also fix minor bug with alpha wolf being roleswapped where night may end
prematurely due to not removing their kill selection.
This makes up for removing the wait effect of !ping.
Default settings are one !wait every 240 seconds, initially two !wait
tokens, maximum (burst) of three tokens.
Villagers win if the wolves die, wolves win if all villagers are dead
(removes the stupid way of wolves winning for cultists to elect
themselves to be voted).
Also swap shaman and hunter so villagers always have a means of getting
a kill no matter the game size.