111 Commits

Author SHA1 Message Date
skizzerz
63efb85bbb Split harlot 2017-03-08 20:13:45 -06:00
skizzerz
750aa757e3 Move more cub stuff out of wolfgame.py 2017-02-28 09:32:31 -06:00
jacob1
c581801077 fix error when bodyguard saves assassin target 2017-02-25 00:27:14 -05:00
skizzerz
535d588c7b Succubus fixes
If in team reveal and succubus visits victim, show her as a neutral
player.

Don't try to double-kill people if all succubi die. While double tap is
a proven technique against zombies, it apparently breaks werewolf bots.
2017-02-14 21:35:02 -06:00
jacob1
0361c62406 ensure retribution_kill event for VG fires after "@wolves" is replaced with a nick 2017-02-13 20:44:03 -05:00
skizzerz
dd76f79603 Backend QoL adjustments for cub
Eliminate stupid get_final_role event and instead simply don't add cubs
to var.FINAL_ROLES when they grow up into wolf. That var is only ever
used for end-game stats readouts, so there is no mechanical impact in
omitting adding something there.

Add new event to experimental stats to allow roles like cub and clone to
reflect role swaps when players die. Cubs growing up now shows up in
experimental stats.
2017-02-08 10:40:18 -06:00
Ryan Schmidt
69fa7d377f Split succubus (#284)
* Split + buff succubus

When all succubi die, all entranced people now die along with them. This
should prevent an entranced person from ratting out the succubus early
on so that they go back to their team, as they lose now even if succubus
dies. One exception is if EVERY succubus idles out, then everyone that
is entranced is freed of entrancement, as it isn't their fault that they
didn't protect their friends in that case.

Dullahans now have succubi entirely removed from their list as the
likelihood they get unentranced is low, and it's easier to implement
this way.

Ensure that entranced people can vote along with ANY succubus, even if
that vote isn't the one that succeeded. Before there were cases where
they could vote along with succubus but still end up dying (particularly
in respect to a vote passing when a succubus abstained).

Clear up some message wording with regards to succubi.

Cleaned up chk_win_conditions and eliminated chk_traitor, so they make
much more sense now.

Also fixed minor issues, such as end-game saying "same number" of wolves
even if there are more wolves than villagers, hunter/vigilante dying
during night sometimes not clearing variables correctly (thus causing
premature night end) and some various stupidity going on with some old
code I wrote that doesn't have any visible effects.

* Combine all players into the same succubus death message

* Fix stylistic issues and succubus idling not working
2017-01-27 14:08:41 -05:00
Vgr E. Barry
2354269ed2 Revert unintentional change to dullahan 2017-01-17 14:46:50 -05:00
Vgr E. Barry
bc63f2be4f Mad scientist fixes
Also stats fix
2017-01-17 14:43:28 -05:00
skizzerz
740d14ef72 Experimental stats: intelligently determine if traitor could have died
If it is impossible for other (non-wolf) roles to have killed at night,
we do not deduct from the traitor count. This logic isn't perfect yet,
but should cover the majority of cases.
2017-01-16 16:38:51 -06:00
Vgr E. Barry
e8338d1ef6 Add the new command API + converted commands
Converted commands mostly use some backwards-compatibility hack. Please don't mind it, I'll eventually get to it.
2016-11-28 20:19:48 -05:00
skizzerz
11d626ab25 Revert old_api cmd change
Causing way too many bugs, need to use a more sane method of breaking
the cmd API, and only do so when it's actually ready to go. My
personal preference is to make the new API use @command instead of @cmd.

This reverts commits c90d35e6c0a9ba96692e9d73bbe27efca405d542 and 5f5966a8b49e5214c82d806ac43a2553754fdee6.
2016-11-20 21:33:36 -06:00
Emanuel Barry
5f5966a8b4 Add a transition method for the old->new interface (#272)
* Add a transition method for the old->new interface

* Modify direct calls to cmd to explicitly use the old API
2016-11-19 17:47:54 +01:00
skizzerz
ae5b39c36f Split traitor
As part of this, adjust team and accurate stats to no longer hide any
information. For team stats in particular, it was very misleading to
list traitor as villager, because it gives the village the impression
they have more time than they actually do (i.e. 2 wolfteam 5 vilteam
actually means 3 wolfteam 4 vilteam but that is not obvious). As team
stats were changed, team reveal was also changed to disregard hidden
traitor, so that the two can't be correlated to pick out if traitor died
(if traitor was revealed as vilteam but stats decremented wolfteam, that
would guarantee that traitor died).

Also commit groundwork for the stats rewrite, hidden behind an
"experimental" stats type (so it is not on by default). It is still very
WIP, many things do not yet work with it.
2016-11-16 22:19:54 +01:00
skizzerz
64e6a90921 *hic*
Make doctor immunize work against doomsayer sickness and pestilence
totem
2016-11-12 23:46:45 -06:00
Ryan Schmidt
8039b5e2a1 Merge pull request #266 from lykoss/werecrow_kill
Allow werecrow to both observe and kill at the same time
2016-11-07 23:13:10 -07:00
jacob1
cd118dbabe allow werecrow to both observe and kill at the same time 2016-11-07 20:52:58 -05:00
Vgr E. Barry
fb2ece45e6 Clean up some of doomsayer's code 2016-11-06 21:54:29 -05:00
skizzerz
341cce6a8f Split mayor
Also adjust revealing totem so that it always fires after mayor, in case
someone has both. Before it would depend on the order the files were
imported, which could lead to oddities down the road.

This fixes #256
2016-11-03 16:29:15 -05:00
nyuszika7h
5eba188607 Also fix idols when wild child itself changes nick 2016-10-27 20:49:56 +02:00
nyuszika7h
a0092b981f Update wild child's idol when they change nick
Closes #249.
2016-10-27 20:42:11 +02:00
jacob1
1d664fae6b fix error when doing 'kill and', 'kill and 7' will try killing 'and' and '7' 2016-10-25 08:27:28 -04:00
jacob1
24c5e845d3 prevent bodyguard from guarding self, this shouldn't be possible 2016-10-24 23:04:02 -04:00
skizzerz
c8a5f804da Fix wolfteam VG killing protected people 2016-10-19 19:25:52 -05:00
nyuszika7h
95133160ab Tell dullahan their role at night even if targets dead 2016-10-18 15:06:33 +02:00
jacob1
9c041e253c fix "you are a cursedtraitor"
also add tags support to all the other wolf roles in case we do that sometime
2016-10-15 22:16:35 -04:00
skizzerz
2dac49f741 Fix dullahan spine whip breaking due to FA split 2016-09-25 19:39:52 -05:00
skizzerz
bfc675e953 Split fallen angel
Also fixes some bugs with using stop_propagation instead of
stop_processing in events (the former does absolutely nothing).

Added a skeleton file to assist with adding new roles, contains the
needed imports on top and vim modeline on the bottom.

Yes, these are all related and need to go in the same commit, stop
throwing things at me.
2016-09-23 20:10:04 -05:00
skizzerz
cc7138eb44 Fix cursed villager not being seen as wolf 2016-09-13 16:42:54 -05:00
skizzerz
01dfdc7ac4 Split blessed and cursed villager 2016-09-13 16:35:54 -05:00
skizzerz
cd9e436bc2 Fix error when VG is driven off by retribution totem
Error only manifests if it was a wolf-side VG, or if it was a
village-side VG and no wolf-side VGs also attempted to kill that person
(in other words, the VG was given lead credit for the kill).
2016-09-12 14:05:32 -05:00
skizzerz
446d77b452 Split GA and bodyguard 2016-09-10 11:22:10 -05:00
skizzerz
0287b05bcd Split shaman
This has a number of related changes in other files due to needing to
re-prioritize events and fixing other bits of code to play more nicely
with split-off totems. Alpha wolf handling was moved after protection
handling because it should've been that way to begin with, and as part
of splitting off protection totem it needed to be split at the same
time. Same with fallen angel changes with how protection now adjusts the
killers lists.
2016-09-02 13:56:26 -05:00
skizzerz
55fa1cbb88 Fix error when wolves attack monster 2016-08-23 12:05:50 -05:00
skizzerz
cd0423deb0 Fix wild child 2016-08-21 21:11:12 -05:00
skizzerz
ac78e46e91 Fix VG win attribution 2016-08-19 23:46:04 -05:00
jacob1
f222c9ab16 fix dullahan spine whip 2016-08-18 23:06:12 -04:00
skizzerz
3479b72ce7 Let mystic know of all unsplit special roles too 2016-08-17 17:22:00 -05:00
skizzerz
af2fef5ea9 Fix exchange totem not firing 2016-08-17 17:06:27 -05:00
skizzerz
ebb3bdccfb Split mystic/wolf mystic 2016-08-17 16:52:37 -05:00
skizzerz
32dc611acf Split detective 2016-08-17 16:07:01 -05:00
skizzerz
457feb92de Split off doomsayer's sickness too 2016-08-17 12:46:16 -05:00
skizzerz
f66a1502dc Split doomsayer 2016-08-17 11:46:40 -05:00
skizzerz
3eccf32765 Use a non-discriminatory variable name #WolfSphereLivesMatter 2016-08-16 10:34:16 -05:00
Vgr E. Barry
9333588126 Modify the decorators so that nicks may be used for commands
Also add framework so that custom roles can modify what roles are part
of a pack of tetrahedron wolves more easily, but no other part has been
done to help that.
2016-08-15 23:38:33 -04:00
skizzerz
b5571c82e0 split VG 2016-08-15 18:59:24 -05:00
skizzerz
052a2b2823 fix crow 2016-08-10 23:17:27 -05:00
skizzerz
23f27b088a Split dullahan
Also fix the del_player event to be more sane, and fix some suicide bugs
in hunter/vigilante kills.
2016-08-10 18:06:37 -05:00
Vgr E.Barry
10dff4a73d Tweak some seer's event listener 2016-08-10 18:08:41 -04:00
skizzerz
67f698a701 Add vigilante 2016-08-10 13:16:17 -05:00