Commit Graph

2577 Commits

Author SHA1 Message Date
Em Barry
a2be87b85a Convert succubus (#311)
Convert succubus to new API along with (un)related fixes.
2018-01-10 07:51:45 -07:00
jacob1
cac893fd14 record stats for "roles" gamemode 2018-01-09 23:20:38 -05:00
skizzerz
f4876d254e Convert some things to new command API+users
MessageDispatcher, sleepy mode, warnings, and the latency command,
to be exact. Sleepy also benefits from some code deduplication in
addition to now operating on users.

The warnings code could use a more comprehensive overhaul too, but
that's going to be harder to achieve.
2018-01-09 16:06:40 -07:00
skizzerz
6d401fd461 Don't try to add new users if we're changing usermodes on ourselves.
The actor in this case will either be ourself (in which case users.Bot
already exists), or a services nick (which may not have a full hostmask,
and therefore cause hashing errors). Only try to add a user if we're
changing a channel mode. This may still break on chanmodes, needs more
testing in that regard.
2018-01-05 13:04:42 -07:00
Vgr E. Barry
08a81fbc09 Properly handle CAP LS lines with name=value items in them 2018-01-05 14:23:58 -05:00
Vgr E. Barry
cdcc65c9b8 Add a timestamp to users 2017-12-30 10:35:43 -05:00
Vgr E. Barry
ebd7f24f41 Updating the event_hosthidden handler 2017-12-30 09:51:59 -05:00
jacob1
aa8e7006b4 fix time lord 2017-12-30 00:08:20 -05:00
jacob1
b11333cac0 allow setting amnesiac role in frole 2017-12-29 20:31:31 -05:00
skizzerz
e8408214f5 Kill proxy with fire
It's not needed since we can import at function scope. Also make
chk_nightdone implicit for role commands executed during night, so we
can remove tons of redundant calls.
2017-12-29 16:49:09 -06:00
skizzerz
b677400ce4 General cleanup
- Expand skel.py to be more useful
- Remove circular dependency from utilities.py. It *CANNOT* globally
  import users.
- Remove unused functions from utilities.py and make some others proxy
  through to user-aware functions to ensure functionality stays the
  same.
- Remove duplicate event listener.
- Clarify some comments about stats.
2017-12-29 16:10:32 -06:00
jacob1
15e0d9f503 convert most botconfig.NICK usages to users.Bot.nick 2017-12-29 11:30:04 -05:00
Vgr E. Barry
b3687268c2 Handle the bot itself changing nicks 2017-12-29 10:10:11 -05:00
skizzerz
6dcf2f513c Fix idling out not triggering dc loss 2017-12-28 15:24:51 -06:00
jacob1
8ed4b37633 fix mudkip again 2017-12-26 19:42:24 -05:00
skizzerz
7ba8290ece Mael and mudkip bugfixes
In mael, when giving wolflist to someone who joined midday, I assumed
that pl was a player list when it was already finessed into a list of
strings.

In mudkip, it is possible for the lynch logic to try to lynch someone
twice due to how chk_decision works (if you're forcing someone and
someone ELSE has a majority vote, who actually gets voted depends on the
order in which the dict keys are iterated over). As a result, ensure
that the only possible choice to lynch is the person we're interested in
lynching.
2017-12-22 12:49:55 -06:00
moonheart08
7d7aa78ce2 Adds 3 more "No Victim" Messages (#312)
Add a few more "No Victim" messages.
2017-12-20 09:52:43 -05:00
skizzerz
910d495f19 Balance changes
Swap cultist with minion so wolf can collab with them better and not
screw themselves over n1, and make shaman always get dt n1 to make
things more interesting.
2017-12-19 14:11:00 -06:00
jacob1
96aceb42be fix maelstrom midgame join 2017-12-17 20:01:11 -05:00
skizzerz
7fb0022928 Fix amnesiac 2017-12-16 21:51:25 -06:00
skizzerz
33cdeb2380 Only make retribution kill wolves who actually did the kill 2017-12-16 21:41:55 -06:00
jacob1
bd66621a43 fix ORIGINAL_ROLES not being updated on player swaps 2017-12-16 21:11:56 -05:00
jacob1
141bab2624 fix pony in a way that matches slightly better 2017-12-14 00:20:48 -05:00
jacob1
697ac58ef3 fix pony 2017-12-14 00:19:26 -05:00
skizzerz
0cc497111f Fix roleswap wins 2017-12-13 22:49:18 -06:00
skizzerz
7a66275bcc Fixes for role change 2017-12-13 22:04:08 -06:00
skizzerz
95da346344 Fix mudkip 2017-12-13 21:06:56 -06:00
Em Barry
4ee52e3f1d
Merge pull request #309 from lykoss/yolo
Convert var.ROLES and var.ORIGINAL_ROLES to Users
2017-12-13 21:29:44 -05:00
skizzerz
7d0dc29af1 Fix traitor 2017-12-13 20:10:44 -06:00
skizzerz
efe4f538bb Fixes 2017-12-13 16:32:51 -06:00
skizzerz
4fde6f9bae Convert var.ROLES and var.ORIGINAL_ROLES to Users
This gets rid of the (dced) hack, with var.DCED_LOSERS taking its place.
Succubus was not touched, as there is already a PR which converts it,
although the succubus events in other files were touched.

Some sites were updated to be (more) Users-aware, while others replaced
it with an old deprecated get_roles() API. As more things get converted,
these will hopefully get eliminated as well. A FIXME comment was added
to all such occurrences.
2017-12-12 16:25:56 -06:00
Ryan Schmidt
b8b48627ab
Merge pull request #308 from lykoss/convert_vigilante
Convert vigilante
2017-12-12 09:31:51 -07:00
Vgr E. Barry
19f713de37 @Skizzerz is picky 2017-12-12 11:23:41 -05:00
Vgr E. Barry
ab4913dcb2 Convert vigilante 2017-12-12 11:16:21 -05:00
Em Barry
ab125c26de
Merge pull request #307 from ammongit/coin-pony-cat
!coin, !cat, !pony
2017-12-12 08:18:25 -05:00
Ammon Smith
6f830619cf Apply review changes. 2017-12-11 14:00:47 -08:00
Ryan Schmidt
d8aabf0db6
Merge pull request #306 from lykoss/harlot-convert
Convert harlot to the new API
2017-12-11 13:24:02 -07:00
Vgr E. Barry
8236664e15 Fix some issues with harlot conversion 2017-12-11 15:21:01 -05:00
Ammon Smith
c8a4502aec Move !coin and the rest to @command. 2017-12-10 21:22:51 -08:00
jacob1
83f7294150 disable piper in maelstrom, broken for now 2017-12-10 22:03:07 -05:00
jacob1
29c3449509 use evt.data["pl"] instead 2017-12-10 20:30:10 -05:00
jacob1
b45610528e fix succubus attempting to kill already dead players 2017-12-10 20:17:39 -05:00
skizzerz
2aa4644ad8 Fix double lynch bug in new mode 2017-12-09 16:56:46 -06:00
skizzerz
6be001c78f derp 2017-12-09 14:55:49 -06:00
skizzerz
a2dd0fd189 Balance tweaks for new mode
- Remove minion entirely, keeping cultist at 8p instead.
- Cultist swaps with doomsayer at 9p, so there's still only 2 wolfteam
  until 11p. Doomsayer is powerful enough already, don't need another
  wolfteam in there.
- Get rid of retribution totems. Shaman is now 50/50 death/pestilence
  and wolf shaman is 50/50 protection/misdirection.
- Make stalemates benefit village by allowing tied votes to lynch all
  tied people instead of nobody. Day ends once everyone votes, even if
  there is no majority vote. In that case, the plurality of votes is
  considered rather than majority.
2017-12-09 11:21:04 -06:00
skizzerz
f9119e12e0 pika pika 2017-12-08 22:36:11 -06:00
Vgr E. Barry
ab0920f824 Make harlot listen to swap_player 2017-12-08 09:39:33 -05:00
Vgr E. Barry
8e45ab5978 Fix thing 2017-12-07 13:33:38 -05:00
Vgr E. Barry
f6a169fdee Small fixes 2017-12-07 13:31:18 -05:00
Vgr E. Barry
7e9bbcaf3c Some small fixes for harlot 2017-12-07 13:31:18 -05:00