Commit Graph

486 Commits

Author SHA1 Message Date
Vgr E. Barry
37ce9ad17c Actually fix ping replies 2015-11-13 14:55:31 -05:00
skizzerz
e54630e902 Don't count night phase towards idle timeouts if DEVOICE_DURING_NIGHT = True 2015-11-12 21:39:41 -06:00
Vgr E. Barry
256d4ae39f Fix !ping randomly erroring out
Blame @laneatomic
2015-11-12 08:39:29 -05:00
jacob1
c072991a71 fix !fwait -1 grammar 2015-11-11 23:41:45 -05:00
jacob1
7184a02d54 use reply() in !wiki 2015-11-11 23:15:16 -05:00
jacob1
a2cd0d15e2 Reapply 217c8ffc8e
Somehow got wiped in a recent push.
2015-11-11 21:30:14 -06:00
skizzerz
e6c36830c4 Fix formatting issues and fgame 2015-11-11 13:10:23 -06:00
Lane Farrow
a4e21aa997 move irc messages to json and allow overriding in custom file 2015-11-10 19:58:50 -06:00
Vgr E. Barry
346af23a5d Fix shooting succubus 2015-11-09 16:43:09 -05:00
Vgr E. Barry
4e7b8ec6bb Fix issue with Python 3.2 2015-11-07 22:22:09 -05:00
jacob1
217c8ffc8e fix player who died last in the previous game being automatically joined to the deadchat the next game 2015-11-06 12:08:03 -05:00
nyuszika7h
6aedc39352 Add some missing periods 2015-11-06 15:23:16 +01:00
nyuszika7h
7d6fab1f01 Refactor calls to reply() to explicitly use 'private' keyword argument 2015-11-06 15:17:28 +01:00
skizzerz
8c4956469e Rejigger vigilante valid targets to make it more clear what does/does not apply 2015-11-05 20:17:40 -06:00
jacob1
aee627b3e2 fix fquit not working in PM (to fquit someone from deadchat) 2015-11-05 21:14:52 -05:00
jacob1
dd45c3ebc0 Revert "force non-!simple for the new roles"
This reverts commit 202dcd33cb.
2015-11-04 22:51:11 -05:00
skizzerz
fdd42a927b meow 2015-11-04 19:19:57 -06:00
Vgr E. Barry
8c0582477e Some tweaks to the error handler 2015-11-04 13:16:35 -05:00
Vgr E. Barry
b28d4bf6e3 Properly fix the error handler 2015-11-04 12:41:47 -05:00
jacob1
154589a748 make "stats type changed" message use botconfig.CMD_CHAR, to avoid actually running !stats on other bots 2015-11-04 12:31:54 -05:00
jacob1
e3c5897f6f add !deadchat help text, and change "chat" to "deadchat" because it confused people 2015-11-04 12:26:29 -05:00
jacob1
818773113b auto complete role names in pstats 2015-11-04 12:19:56 -05:00
jacob1
fb18a6bce8 add function to vote for a game mode called by !game and !join, fixes some issues with !join game mode voting 2015-11-04 12:10:49 -05:00
jacob1
8c73e64b49 fix being able to quit games in PM (must be run in channel) 2015-11-04 11:55:30 -05:00
jacob1
c350603ea0 add reply() command, cleans up some logic with deciding where to send messages
This also easily fixes the bug where commands in alternate channels would be sent to a /notice
2015-11-04 00:07:35 -05:00
skizzerz
44d1173c20 Make !fquit act like !quit
Notably, this will cause the nick to be consdered "dced" so they do not
receive a win, and it applies stasis just as !quit would (preventing the
nick from joining deadchat, among other uses for stasis).

Fixes #183
2015-11-02 21:38:58 -06:00
skizzerz
d67ab56a45 Rework dullahan death
Instead of treating dullahan as if they have a permanent retribution and
desperation totem, they now instead kill a random target in their list
should they die. If all of their targets are dead, nothing special
happens when they die.
2015-11-02 21:26:20 -06:00
Vgr E. Barry
6eb1ce44e1 Special-case lynched fool 2015-11-02 21:33:45 -05:00
Vgr E. Barry
2ee1110e41 Fix !wiki not accounting for PMs 2015-11-02 21:33:45 -05:00
Vgr E. Barry
806097444b Refactor rename_player 2015-11-02 21:33:45 -05:00
skizzerz
f7777649bf Fix /nick allowing one to avoid nightmares 2015-11-02 20:08:17 -06:00
skizzerz
0f5a08f1c7 Add ENABLE_DEADCHAT setting 2015-11-01 17:45:22 -06:00
skizzerz
ac1bfb778f Fix nightmare not tracking paths correctly and fix joining deadchat 2015-10-31 22:46:01 -05:00
skizzerz
10ad9d35a2 Deadchat performance improvements 2015-10-31 15:08:52 -05:00
jacob1
d4f9e59576 add demoniac and succubus wins to gstats
tables should be automaticly converted
2015-10-31 12:13:52 -04:00
jacob1
cb95394dd8 fix error with !help <invalid command> 2015-10-31 02:48:51 -04:00
skizzerz
106e7ed213 Don't retribute people already dying due to something else 2015-10-30 22:06:13 -05:00
Vgr E. Barry
5217fa6fee Fix bot joining deadchat 2015-10-30 22:43:01 -04:00
Vgr E. Barry
bcf6feafb3 Fix dullahan target count 2015-10-30 22:42:51 -04:00
Vgr E. Barry
ad78c9e613 Fix harlot being entranced when visiting 2015-10-30 22:09:26 -04:00
skizzerz
a9375e5157 fix nick derp 2015-10-30 20:30:47 -05:00
jacob1
202dcd33cb force non-!simple for the new roles 2015-10-30 21:06:22 -04:00
skizzerz
e2f313440d Merge remote-tracking branch 'origin/master' into sleepy 2015-10-30 19:40:46 -05:00
skizzerz
cb7a6db8e8 Fix stats for sleepy (hardcode for now) 2015-10-30 19:08:00 -05:00
jacob1
b2147cd033 don't message fake nicks in mass_privmsg 2015-10-30 20:06:00 -04:00
jacob1
d878525bfe fix syntax error with random.shuffle, ensure dullahan targets are actually shuffled, add dullahan / prophet / blessed villager to !myrole 2015-10-30 19:15:39 -04:00
jacob1
4e1b17ada6 fix !fquit in join phase 2015-10-30 19:14:32 -04:00
skizzerz
cf91ab2c98 More informative messages for nightmares, fix dullahan target issue 2015-10-30 15:06:18 -07:00
Vgr E. Barry
2cf3852518 Fix circular imports 2015-10-30 17:38:39 -04:00
skizzerz
3b4f62e2f1 Finish nightmares 2015-10-30 14:14:21 -07:00
jacob1
55070fd44b add utilities.py, which contains some functions possibly needed by gamemode events
this also fixes it so priest death events finally happen
2015-10-30 17:03:54 -04:00
skizzerz
9e9e4342f8 Slightly less sucky message 2015-10-30 13:17:50 -07:00
skizzerz
dd6f50d7eb Fix derps 2015-10-30 13:14:33 -07:00
Lukas Martini
3761f6d92c Fix two syntax errors and name of setup_nightmares in SleepyMode 2015-10-30 20:30:11 +01:00
Lukas Martini
36adb370b4 Demoniac winning takes precedence over monster 2015-10-30 12:19:46 -07:00
skizzerz
627efab5ec Fix priest death in sleepy, update alpha messages for doomsayer 2015-10-30 12:19:21 -07:00
jacob1
7915c56b34 fix succubi related win conditions
entranced wolves could still win with wolves, dead succubi didn't win when succubi team did, maybe others?
2015-10-30 14:06:50 -04:00
Vgr E. Barry
cbed18fd93 Fix the chk_nightdone event not working properly 2015-10-30 12:18:11 -04:00
Vgr E. Barry
6e5203be2d Use a less misleading name for wolflist checks 2015-10-30 11:44:45 -04:00
skizzerz
48b5104b11 Fix doomsayer prematurely ending night if they're killing 2015-10-30 01:18:18 -05:00
skizzerz
9b23f38b65 Add sleepy events (mostly done)
Add back in var.DYING so that events can use it, also added del_player
event.
2015-10-30 01:09:24 -05:00
skizzerz
8dd2bf4e56 Fix issues with priest, cleanup RESTRICT_WOLFCHAT
Move a lot of duplicated logic into helper functions so that it is easy
to ensure that wolfchat restrictions are being consistently applied.
check_exchange still needs to be modified but everything else should be
ok.
2015-10-30 00:01:35 -05:00
skizzerz
b54dff0f89 Fix chk_nightdone and rework blessed villager template to actually do something 2015-10-29 22:57:02 -05:00
skizzerz
2f3e63a02e Start to fix chk_nightdone for priest/prophet/doomsayer 2015-10-29 22:49:07 -05:00
Vgr E. Barry
a5e2e5ac9e Wrap up dullahan 2015-10-29 23:04:15 -04:00
Vgr E. Barry
3cefa8057e Fix vigilante dying regardless of target 2015-10-29 22:37:05 -04:00
Vgr E. Barry
1c0e0194cd Add doomsayer transformation messages 2015-10-29 22:18:40 -04:00
Vgr E. Barry
fc311bb6a5 Dullahan / Vigilante tweaks 2015-10-29 21:47:25 -04:00
Vgr E. Barry
f73267f6e1 Small tweaks 2015-10-29 17:46:32 -04:00
Vgr E. Barry
922842b49c Add vigilante 2015-10-29 17:46:23 -04:00
Vgr E. Barry
e1a3ed7bf2 Add dullahan 2015-10-29 17:46:00 -04:00
Vgr E. Barry
c4029d826d Succubus fixes 2015-10-29 17:44:34 -04:00
Vgr E. Barry
da9a6f5b62 Some succubus fixes 2015-10-29 10:43:01 -04:00
skizzerz
16db66677c Complete doomsayer (untested) 2015-10-29 01:24:27 -05:00
Vgr E. Barry
3571d664ed Some succubus fixes 2015-10-29 00:06:00 -04:00
Vgr E. Barry
e3ad8a24db Make automatic totem aware of entrancement 2015-10-28 22:28:30 -04:00
Vgr E. Barry
c525380be6 Allow !fquit to leave someone from deadchat 2015-10-28 22:17:03 -04:00
Vgr E. Barry
bc8b336640 Finish up succubus 2015-10-28 22:17:02 -04:00
skizzerz
f9d55db79f Finish prophet
pray <role> is kinda awkward, may want to change the command name
2015-10-28 00:09:45 -05:00
Vgr E. Barry
da81909162 Most of succubus 2015-10-27 22:54:18 -04:00
Lukas Martini
70454bfc3a Merge branch 'sleepy' of https://phab.skizzerz.net/diffusion/LKOS/lykos into sleepy 2015-10-27 23:34:38 +01:00
Lukas Martini
c80078d7f4 Add first version of the demoniac role 2015-10-27 23:34:09 +01:00
Vgr E. Barry
9765703902 Finish deadchat 2015-10-27 16:24:06 -04:00
skizzerz
be051dde70 Initial work for prophet role
!pray command is complete, role is missing night messages as well as
initializing/resetting var.PRAYED in transition_night
2015-10-27 01:02:28 -05:00
skizzerz
dea6052ed5 Rename devout to prophet 2015-10-26 23:09:25 -05:00
Vgr E. Barry
10be2e341f First draft of the !deadchat pref 2015-10-26 23:49:41 -04:00
Vgr E. Barry
8517dff63d Add the game events 2015-10-26 23:49:41 -04:00
skizzerz
1a78a2abfb Add blessed villager template, begin devout 2015-10-26 21:01:34 -05:00
Vgr E. Barry
524773bcdf Finish the woflchat restrictions for the Halloween events 2015-10-26 10:40:39 -04:00
nyuszika7h
3222d646de Fix formatting of !start votes 2015-10-26 14:44:07 +01:00
Vgr E. Barry
5476bcdf27 Small tweaks to wolfchat restrictions 2015-10-25 21:37:59 -04:00
skizzerz
f166baeaa9 Add consecrate command for priests 2015-10-25 16:38:46 -05:00
Lukas Martini
99460a3651 Require a minimum number of votes to start a game 2015-10-25 17:21:23 +01:00
Vgr E. Barry
2127b217b7 Add deadchat and wolfchat restrictions 2015-10-23 21:51:57 -04:00
skizzerz
9f4b205c72 Add priest role
Right now only the !bless command is active, subsequent commits
will add other commands.
2015-10-23 19:51:01 -05:00
skizzerz
738ff7a441 Fix alpha wolf biting an immunized person with retribution totem not dying from totem 2015-10-20 22:48:16 -05:00
skizzerz
5a97397cd9 Alpha wolf fixes
- Correctly logic out bite interacting with harlot, immunized, and lycan:
- A harlot that isn't home does not get bit and refunds the bite unless
  they visit a wolfteam member or visit the unprotected wolves' victim
  (in either of those cases, they get bit instead of dying)
- A lycan or someone with a lycanthropy totem that gets bitten
  immediately turns to wolf and refunds the bite. The regular wolf kill
  still happens too, so this is essentially a freebie for alpha wolf.
- An immunized target dies per normal, but the death from the bite does
  not stack with the death from a normal wolf kill for the purposes of
  protection (meaning a single protection will guard against both).
- Fix nightdone check so that night doesn't end prematurely if alpha
  would be eligible to bite but has already done so previously in the
  game.
2015-10-20 22:26:37 -05:00
Vgr E. Barry
8995ec5815 Fix error on starting random 2015-10-19 15:29:55 -04:00
Vgr E. Barry
1a64a72a78 Change variable name 2015-10-19 15:20:10 -04:00
Vgr E. Barry
27f39c916f Change handling of chk_win events 2015-10-19 15:05:14 -04:00
Vgr E. Barry
04180bc036 Add alternate win condition if only lovers are alive
The message could use a better phrasing, but anyway this works.
2015-10-19 14:51:03 -04:00
skizzerz
26e7acc8f8 More fallow/fdeny fixes
- Always apply host-based allows/denies even in var.ACCOUNTS_ONLY is set
- Fix display of mixed-mode allows/denies for a particular user
- Make -acc and -host switches operate more intelligently on both the
  bare command as well as when given an argument
2015-10-18 20:56:27 -05:00
skizzerz
db0823bb37 Let vengeful ghosts use !retract 2015-10-18 19:20:08 -05:00
skizzerz
15b547ed77 Fix -acc and -host switches on fallow/fdeny 2015-10-18 15:18:55 -05:00
Lane Farrow
a9210b03c4 update simple, notice to track ident@host for users sharing hosts 2015-10-14 20:23:02 -05:00
Vgr E. Barry
45d13846a1 Fix !game and !lynch to not display the same vote twice
Players may no longer vote-spam individual players (or mistakenly vote
the same person/game mode twice)
2015-10-13 16:46:21 -04:00
jacob1
a83911f054 fix error when returning to the game via /nick 2015-10-11 21:59:00 -04:00
jacob1
3845d4e0b3 fix matchmaker, warlock, and piper causing night to end early if they !quit after acting
alpha wolf and turncoat also aren't removed from variables when quitting, but chk_nightdone checks if those roles are still in pl for some reason
2015-10-09 12:44:40 -04:00
Vgr E. Barry
6dd8f88bf6 Ensure socket is closed unconditionally (re: #169)
I cannot reproduce the bug locally, but this will force the socket to
close if it didn't for whatever reason, which is what seems like could
have caused the issue.
2015-10-08 12:03:08 -04:00
jacob1
7a058f77e7 fix !swap bugs
Didn't remove players from var.DISCONNECTED, leading to idling out every 10 seconds and getting lots of stasis while still being in the game
Didn't actually check whether the player was in channel or not
2015-10-06 23:01:39 -04:00
skizzerz
da762e6d73 Fix pl not being updated with chained deaths in del_player 2015-10-03 22:12:42 -05:00
jacob1
b047963cdb fix !roles roles erroring 2015-10-03 22:44:48 -04:00
jacob1
86ae193541 fix hag not working
broken in d9812e552d (blame woffle)
2015-10-03 19:01:53 -04:00
jacob1
5048af853e fix players not being devoiced when unidentifying mid game
fixes flaw in 151d010047
2015-10-03 17:57:44 -04:00
jacob1
c8dea37284 devoice all players before faftergame commands get run 2015-10-03 17:37:41 -04:00
jacob1
3f112b19bc fix previous !fjoin commit not working 2015-10-03 16:27:22 -04:00
jacob1
4612c0dec5 fix using !frole to join a new player during a game 2015-10-03 16:26:09 -04:00
jacob1
1e420a0235 !fjoin checks if the bot is opped before joining the list of players
prevents mass spam ...
2015-10-03 16:25:29 -04:00
jacob1
9c36602e21 fix error when lover changes nickname and then is matched again 2015-10-03 16:12:45 -04:00
Vgr E. Barry
151d010047 Fix devoicing someone twice when they unidentify 2015-09-30 08:38:35 -04:00
nyuszika7h
d1902392ba Add missing import 2015-09-22 23:02:51 +02:00
skizzerz
5132908397 Fix alpha wolf issues
- Make bite able to end night
- Bite was always working even if the target was immunized
- Ensure protection applies when killing a target that was
  immunized-but-bitten
2015-09-21 22:33:52 -05:00
Emanuel Barry
112ffdf80b Fix indent (blame woffle)
You can't `.update()` a dict you're currently iterating over.
2015-09-13 10:17:03 -04:00
skizzerz
d9812e552d Lots of shaman fixes (blame jacob1)
- var.SHAMANS now properly stores who is actually receiving totem, as it
  should. It now holds a tuple so it can still track the original target
  for purposes of letting shaman know if target changed.
- properly reset all totem vars before handing them out so totems don't
  last for multiple days.
- luck/misdirection now applies before exchange totem is checked, making
  it consistent with every other role ever.

completely untested, but should be fine :)
2015-09-13 00:04:24 -05:00
Vgr E. Barry
0219941d08 Get rid of conceal_roles in the game_mode decorator
A game mode is considered "hidden" if it doesn't have a `ROLE_GUIDE`
attribute. The `default` game mode was modified to have those
attributes, and is not hidden.
2015-09-09 10:37:45 -04:00
jacob1
9467a21279 fix some comments in transition_day to be on their own line 2015-09-09 01:36:10 -04:00
jacob1
50dc87938a allow hunter to pick a new target if their old one idles/quits
It also sends hunters/ghosts a message informing them of this
2015-09-09 01:18:39 -04:00
jacob1
4257de5f76 fix hunter being able to use 'pass' after killing on a previous night (ending night early) 2015-09-08 23:24:38 -04:00
jacob1
0246698b87 fix !roles # to work as intended 2015-09-08 23:03:24 -04:00
jacob1
5b62c5c3f6 minor fix, sometimes used 'seems' when it should have used 'seemed' 2015-09-08 22:56:33 -04:00
nyuszika7h
adec2362e4 Fix bot breaking with fake nicks
(blame @skizzerz)
2015-09-07 20:19:20 +02:00
skizzerz
6a0a0bdbd0 Fix fjoining people stasised by hostmask 2015-09-06 15:16:06 -05:00
nyuszika7h
8a90145474 Case-insensitively compare the bot's nick when checking for PMs
Closes #161.
2015-09-06 11:46:49 +02:00
skizzerz
2bd5acab53 fix fallow/fdeny redux 2015-09-05 22:09:22 -05:00
skizzerz
5e1fb7dbcf fix fallow/fdeny 2015-09-05 22:01:25 -05:00
Ryan Schmidt
458d678009 Merge pull request #159 from lykoss/ident-support
Expand host-based variables to take full-on hostmasks
2015-09-05 19:59:01 -07:00
skizzerz
07fdf64aae Fix fool winning
If a fool is also a lover and they are lynched, they don't win (but
their lover might depending on bot settings).

Fixes #162
2015-09-05 18:19:24 -05:00
skizzerz
88180a1ec2 Revert "Make fallen angel become assassin in all cases"
This change negatively impacts balance, assassin should in general never
be applied to any role the other team is required to kill in order to
win. Alpha wolf is the exception here, not the rule, since there is
counterplay involved with alpha biting GA (GA is likely immunized, can
guard self, game might end before turning, etc.) that simply does not
exist in other instances.

This reverts commit 3eb437fad6.
2015-09-04 19:33:58 -05:00
jacob1
028c5c9ae2 fix crash in games with traitor / wolf cub 2015-09-04 18:39:41 -04:00
Vgr E. Barry
3eb437fad6 Make fallen angel become assassin in all cases
Not just from getting bitten by alpha wolf, but also from turning from
amnesiac, and also if in the default role rotation (this one currently
doesn't affect any game modes, but in the future it might).
2015-09-04 11:49:30 -04:00
Vgr E. Barry
279328296d Fix 'devoice' parameter not working in some cases in del_player 2015-09-04 08:25:50 -04:00
skizzerz
f5ec9c9627 Expand host-based variabls to take full-on hostmasks
This allows for things like making ADMINS/OWNERS take a full hostmask,
or fallowing/fdenying a full hostmask with wildcards. It also allows for
a distinction between two people that share a hostmask but have a
different ident.

stasis now checks all matching stasis and returns the highest amount

fallow/fdeny have two new options -acc and -host to explicitly specify
what type the argument is

-cmds in fallow/fdeny show commands from all matching masks, to bring it
in line with how actual allow/deny parsing works, before it would only
show the first match
2015-09-03 19:38:59 -05:00
Vgr E. Barry
0d316d1ec6 Fix bot not devoicing player during day/join phases 2015-09-03 17:05:00 -04:00
Vgr E. Barry
5294f92c6c Add !games to show the available game modes 2015-09-03 12:00:40 -04:00
Vgr E. Barry
609f3282b8 Fix missing name error
The worst part is that I tested that change quite a lot
2015-09-02 22:31:16 -04:00
Vgr E. Barry
bd93e96445 Improve !fgame to allow an arbitrary number of spaces
This also allows to be a bit more liberal with the punctuation
2015-09-02 18:37:49 -04:00
Vgr E. Barry
d827eae2d8 Add option to devoice players during night 2015-09-02 17:48:58 -04:00
Vgr E. Barry
78465c9769 Perform game-ending checks for random earlier on 2015-09-01 23:14:44 -04:00
Vgr E. Barry
245bc57b66 Separate chk_win in two functions 2015-09-01 23:13:10 -04:00
Vgr E. Barry
7702509f90 Fix changing nicks in join phase not working 2015-08-31 19:20:54 -04:00