Commit Graph

2413 Commits

Author SHA1 Message Date
Vgr E. Barry
64eb34a61a Properly handle the bot's host change 2017-04-07 16:52:35 -04:00
skizzerz
e0ea1f00e4 derp^2 2017-04-01 14:53:17 -05:00
skizzerz
9076872726 Fix dulla 2017-04-01 14:06:08 -05:00
skizzerz
ffb23f587d derp 2017-04-01 13:39:16 -05:00
skizzerz
8a8a79627f Overhaul how templates work
Templates are still applied on game start according to
var.TEMPLATE_RESTRICTIONS, but now any arbitrary role can be applied as
a template during gameplay without breaking things horribly.

Speaking of breaking things horribly, things are probably broken
horribly due to this. It was lightly tested, but there's a lot of
fundamental stuff that changed.
2017-03-31 12:45:53 -05:00
skizzerz
f096814fec Add additional aliases
mm = matchmaker, ms = mad scientist, vg = vengeful ghost

Additionally, allow all special keys to be queried via pstats in an
extensible manner (used for vg activated and vg driven off)
2017-03-28 12:13:59 -05:00
skizzerz
d029302ead Reduce delay range for villagergame
Now has a standard deviation of 1.5 seconds rather than 3 seconds, which
makes it a lot easier (hopefully) to identify when lykos is wolf.
2017-03-28 11:49:18 -05:00
Emanuel Barry
5d03ed414b Convert dullahan to use the new API (#292)
* Convert dullahan to use the new API

* Address small nitpicks about dullahan

* Totally unimportant commit, please do not pay attention at all
2017-03-28 09:39:51 -07:00
Ryan Schmidt
322de008e7 Merge pull request #291 from lykoss/swap-event
Add a new swap_player event
2017-03-24 22:18:57 -07:00
Vgr E. Barry
faa3925e7d De-uglify message 2017-03-25 01:14:31 -04:00
Vgr E. Barry
b08d802df7 Add a new swap_player event 2017-03-24 17:05:37 -04:00
Ryan Schmidt
1cc38e54b2 Make potato an alias for villager (#290)
Also allow prefixing commands by their role name to remove ambiguity
should a person be multiple roles. For example, "seer see foo" and
"augur see foo" will now work if a person is both seer and augur
(whereas normal see foo would be ambiguous). A player will be directed
to use the unambiguous prefixed version if we detect that a role command
will fire multiple times for them (note: coming soon).

For sanity reasons, these role prefixes are implemented as exclusive
commands, meaning no other commands or command aliases may use the same
name. Clone needs to be special-cased in this regard, as clone is both a
role name and a command name.
2017-03-24 16:31:08 -04:00
Vgr E. Barry
0df627fcca Properly fix automatic toggling of modes 2017-03-23 11:56:52 -04:00
jacob1
0aea09f066 fix italics being interpreted as newlines when sending messages (deadchat fix) 2017-03-11 21:36:12 -05:00
skizzerz
63efb85bbb Split harlot 2017-03-08 20:13:45 -06:00
Vgr E. Barry
e74079dae1 Fix goat and fgoat to use proper case
It would be nice to have a users.complete_one_match function (do we even need the current API?)
2017-03-06 16:22:54 -05:00
skizzerz
54de373242 Fix !lastgame
It simply didn't work before now for a while (as in, you could still
join/start). Also make it function during join phase, because having
weird restrictions on which it does/doesn't disable the commands is
weird. The admin can still !fjoin/!fstart as needed if they do want to
run one more game after executing this command during join phase.
2017-03-02 14:18:14 -06:00
Ryan Schmidt
426a86e909 Merge pull request #289 from FastLizard4/master
In team reveal, be more clear about team names
2017-03-01 15:11:00 -07:00
Andrew "FastLizard4" Adams
e2db3b28a9 In team reveal, be more clear about team names
When a game is being played with team reveal instead of role reveal, use
explicit team names instead of just "wolf" or "villager" to make it clear that
we're referencing teams, not the similarly-named roles.
2017-03-01 14:08:03 -08:00
skizzerz
8c8823ebfe Don't remove users if they're playing
Instead mark them as a ghost, and remove them at end of game should they
still be gone.
2017-02-28 21:17:51 -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
jacob1
bb8ae99310 fix pingif for hosts when DISABLE_ACCOUNTS is true on networks that support accounts 2017-02-24 23:52:35 -05:00
jacob1
6f5f09b76e don't check account in can_run_restricted_cmd when DISABLE_ACCOUNTS is True 2017-02-24 23:50:51 -05:00
jacob1
bc6375cf24 fix users.match_hostmask only working on full hostmasks
fixes admins list in botconfig.py when DISABLE_ACCOUNTS is true
2017-02-24 23:49:56 -05:00
jacob1
c615a62f9d don't attempt to set modes when fake users join in debug mode 2017-02-23 23:51:16 -05:00
jacob1
268129bd9d fix potential recursion error during maelstrom
when calling chk_win_conditions, maelstrom uses a rolemap where all players are usually '0', this is casted to a set which makes it think there is only one player
2017-02-23 23:43:32 -05:00
Fudster
c64526b248 Fix message about invalid game mode when joining (#288)
Using `!join` followed by something should not result in an error message. If a gamemode can be voted for, do it, otherwise silently do nothing.
2017-02-22 12:34:46 -05:00
Vgr E. Barry
05b900ef57 Don't allow messages from users we don't know 2017-02-15 11:07:15 -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
29d8423b25 Fire part/quit event before removing user from channels
Before, strong refs ensured that the user stayed "alive" but now we
remove user instances when they leave the last channel. As such, fire
the event before removing them from channels so the user instance is
still in our overall user set.
2017-02-09 14:22:48 -06:00
Fudster
b631f75499 Goat revamp (#286) 2017-02-08 16:16:58 -07:00
skizzerz
47705fbb2c ACME® Commit Message Kit
Thank you for purchasing the ACME® Commit Message Kit! We specialize in
providing the finest commit message kits. Should you find your kit not
up to your satisfaction, contact your Customer Support Representative
for a full refund.

To use this kit, please assemble the following components into your
desired commit message. Using ACME® BottomlessBits® technology, you can
use each component in the kit as many times as you'd like!

Components:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;'"/
2017-02-08 14:43:52 -05:00
Vgr E. Barry
37e2d404d3 Add setting to customize traceback frame locals reporting 2017-02-08 13:57:26 -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
Vgr E. Barry
0a18f8e70e Disallow apples to be in the same bag as oranges
Pears are fine, though
2017-02-07 20:12:16 -05:00
Vgr E. Barry
70b42dceb6 Fix not being able to join fake nicks
Also fix unrelated issue with fake users
2017-02-07 19:45:21 -05:00
Fudster
8a9d4412d3 Tweak fjoin (#285)
Change the behaviour of fjoin in both normal and debug modes:

- Only joins fake nicks in debug mode;
- Only joins one person in normal mode, multiple in debug mode;
- Autocomplete nicks in both normal and debug modes.
2017-02-06 22:36:33 -05:00
Vgr E. Barry
32409b8f76 Update fjoin to use the new API everywhere 2017-02-06 13:15:49 -05:00
jacob1
749310e564 fix some !roles messages 2017-02-05 12:48:18 -05:00
jacob1
0ec0c5d73d fix a few errors and broken messages, random cleanup 2017-02-05 12:39:52 -05:00
Fudster
0a6c6200ab Fix for #176 improve invalid role errors 2017-02-05 12:39:52 -05:00
jacob1
4c67a5b438 fix user references staying around due to !pingif pinger
also remove ugly hack since we don't need it anymore
2017-02-02 22:08:04 -05:00
Vgr E. Barry
e1e3b8d177 Ignore locals from hook.caller 2017-02-02 21:00:47 -05:00
Vgr E. Barry
48e1f06b33 Be more aggressive when trying to figure out why there are duplicates 2017-02-02 20:59:37 -05:00
Vgr E. Barry
0ef70245ff Don't show locals of proxy stubs 2017-01-28 00:40:28 -05:00
Vgr E. Barry
5842b41097 Add some hacky debugging aid for when a User lingers around 2017-01-28 00:40:12 -05:00
jacob1
8f38900a44 fix chk_win events in gamemodes.py 2017-01-27 21:42:52 -05: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