Commit Graph

850 Commits

Author SHA1 Message Date
nyuszika7h
d59f2ec4a8 Use reply() in !warn/!fwarn instead of hardcoding cli.notice() 2016-07-18 10:28:13 +02:00
Ryan Schmidt
dd05f5e6d8 make MS always skip over dead players in rapidfire 2016-07-16 23:29:32 -07:00
skizzerz
00bf10f6c0 Fix giving warnings to new players 2016-07-16 22:55:56 -05:00
skizzerz
d2dc4d2deb Remove care/kill color/bold/startspam settings 2016-07-16 22:48:18 -05:00
skizzerz
9d827b95be I hate python 2016-07-11 15:34:05 -05:00
nyuszika7h
e2469c342f Make !ping actually goat the user when they win a goat 2016-07-09 10:32:29 +02:00
Ryan Schmidt
8aede6d01d Let's go with NOT trying to be clever 2016-07-07 12:28:32 -07:00
Ryan Schmidt
f6f05db7cc Disable succubus in maelstrom 2016-07-06 14:14:49 -07:00
skizzerz
7a0c9b87e1 Expiration date fixes for fwarn
- Always use UTC (time issued was already UTC, but expiration was not)
- Remove some duplicate code about parsing expiration date
- Round dates to the nearest minute
2016-06-28 12:53:10 -05:00
nyuszika7h
f8ed5c7dbd Fix pluralization of warning points 2016-06-28 10:30:20 +02:00
skizzerz
137408d1f4 Allow # in front of warning numbers for warn view/ack 2016-06-26 12:42:59 -05:00
skizzerz
454afca1b3 Various fixes
- fflags no longer says things were modified on account "*" when they
  weren't
- don't give an autowarning on kick anymore; if an op is kicking chances
  are they'll be giving their own warning anyway
- attempt to make a backup copy of the database before migrating to new
  schema
2016-06-26 12:37:22 -05:00
nyuszika7h
e83e6caac3 Remove bureaucrat
Closes #220.
2016-06-23 22:20:33 +02:00
skizzerz
9009304db0 fix fwarn list 2016-06-22 00:08:01 -05:00
skizzerz
ef4e60bc37 Make fwarn +F instead of +A since it can be used to deny commands 2016-06-21 23:51:52 -05:00
skizzerz
c6bd24aea7 Fix fool wins and auto warning expirations 2016-06-21 23:10:19 -05:00
skizzerz
7980b13ba4 Add missing warning messages 2016-06-21 22:02:09 -05:00
skizzerz
79614a0719 Use thread-local storage to hold sqlite connection 2016-06-21 17:02:18 -05:00
Ryan Schmidt
c08cd3efbc Merge pull request #225 from lykoss/newdb
- new schema, including stats tracking
- fwarn/warn commands to view and manipulate warnings
- fstasis can now only decrease stasis, not add to it
- refreshdb command can sync bot game state with what is in the db
  (including expiring any unexpired stasis or warnings)
- stasis now expires
- tempban is still not implemented and will not be implemented as
  part of the PR (it will come later, if ever)
- sanctions can be automatically applied after warnings cross a
  certain threshold; some defaults are configured
- fflags/ftemplate for permissions revamp
2016-06-21 13:28:18 -07:00
skizzerz
79c70fdeb3 Adjust messages 2016-06-20 13:44:09 -05:00
skizzerz
16a0a28e36 Re-add botconfig.ADMINS and ADMINS_ACCOUNTS
Still considered legacy/backwards-compat code, so giving out +F flags
should be preferred, but now wildcard admins are possible again.
2016-06-14 17:05:05 -05:00
skizzerz
1bf468224e Update syntax descriptions 2016-06-14 16:47:13 -05:00
skizzerz
b39828be7f Remove !join
bug. Now it should actually work even if the user has no warnings.
Also don't list expired/deleted warnings as unacknowledged.
Warning expiration can now be modified via !fwarn set, and the default
expiration is now 30d instead of never (never can be manually specified
along with a handful of aliases that mean the same thing).
2016-06-14 12:02:54 -05:00
skizzerz
2f62c4a867 Fix some embarassing typos 2016-06-13 16:40:57 -05:00
skizzerz
adea98e3ed Fix some derps
Need to move module init code after the functions it calls, also forgot
the sanction definitions for 11-14 points.
2016-06-12 23:03:47 -05:00
Vgr E. Barry
75447310f3 Tweak definition of is_fake_nick
Doesn't change much, just avoids compiling a regex pattern everytime,
and it only calls one function.
2016-06-12 14:37:33 -04:00
skizzerz
2151df4fef Add !fflags and !ftemplate
These allow for access control, and work pretty much exactly like they
do in atheme's ChanServ (the /cs flags and /cs template commands).

Also remove unused things from botconfig.py.example.
2016-06-07 17:02:12 -05:00
skizzerz
a6ea55a8fe Finish warning system
- fwarn/warn commands to view and manipulate warnings
- fstasis can now only decrease stasis, not add to it
- refreshdb command can sync bot game state with what is in the db
  (including expiring any unexpired stasis or warnings)
- stasis now expires
- tempban is still not implemented and will not be implemented as
  part of the PR (it will come later, if ever)
- sanctions can be automatically applied after warnings cross a
  certain threshold; some defaults are configured
2016-06-07 14:17:21 -05:00
skizzerz
bba5ab745e Make bot run and fwarn partially work 2016-06-06 18:59:28 -05:00
skizzerz
2d2ce6483a Initial work on new schema and warning system
Still very WIP and not completed, bot likely doesn't even run.
2016-06-06 14:35:58 -05:00
nyuszika7h
9ea9a1a317 Fix modelines in other files 2016-05-11 16:09:19 +02:00
Ryan Schmidt
6c166d4fb0 meow
Add !cat command, a la !coin and !pony. Because we really needed another
one and because kitties are adorable.
2016-05-10 16:17:45 -07:00
Ryan Schmidt
fe451962cd Fix spurious error when ending night as shaman and dying.
An artifact of how we run commands means that we try to run the rest of
the "give" command handlers even after the first (shaman) one ended night.
As such, check the phase and if it's different, stop trying to execute
command handlers.

This has a small race condition where the error this fixes can happen
anyway, but since it's purely a visual error I think that's fine. Better
than happening all of the time, at least.
2016-05-10 15:37:57 -07:00
nyuszika7h
accd75cfaf Changed winner = "none" to "no_team_wins" 2016-05-01 20:43:48 +02:00
Ryan Schmidt
6bc2d40a64 Use defaultdict for event callback lists 2016-05-01 10:51:17 -07:00
nyuszika7h
108fe19278 Skip quit safeguard for Ctrl-C in console 2016-04-30 22:42:12 +02:00
nyuszika7h
1f0a1e1303 Add a safeguard to !fdie and !frestart when a game is running 2016-04-19 16:16:59 +02:00
nyuszika7h
4ecfead19e !stasis: Use reply() 2016-04-19 15:50:51 +02:00
nyuszika7h
dfb23a1892 reply(): Add prefix_nick option
This will prefix the nickname of the user if the bot replies in-channel.
2016-04-19 15:49:54 +02:00
nyuszika7h
44ca368724 Add !stasis command to view amount of stasis you have without joining 2016-04-19 13:54:57 +02:00
Vgr E. Barry
a65b371111 Blacklist wild child from maelstrom 2016-04-18 22:50:35 -04:00
nyuszika7h
29d2a1f83e Add an option for the pony to land on the tosser 2016-04-16 15:34:06 +02:00
Ryan Schmidt
f564a7a01e Don't rename functions, ever. 2016-04-11 12:44:30 -07:00
nyuszika7h
7fa7f8564f Pony tweaks 2016-04-10 22:10:47 +02:00
Vgr E. Barry
7fc0ab9f39 Fix missing message
Also remove some useless parens
2016-04-10 12:14:49 -04:00
Vgr E. Barry
952081d300 Make oracle not see through wild child's disguise 2016-04-09 17:11:07 -04:00
Vgr E. Barry
f8e1d96994 Make !myrole tell the wild child who their idol is 2016-04-09 17:05:02 -04:00
Vgr E. Barry
7b2cc43a50 Run, Forrest, Run! 2016-04-09 16:57:11 -04:00
Vgr E. Barry
4d03ed03cf Spread out "give" to the commands 2016-04-09 14:08:02 -04:00
Vgr E. Barry
e8aff5d0c3 Small change to allow stacking of cmd decorators 2016-04-09 14:07:39 -04:00
Ryan Schmidt
d9b5c0fd55 Don't add extra cursed to villagergame 2016-04-08 14:53:29 -07:00
Bryce Roesner
71ff8c34e8 Notify players in deadchat when the game ends 2016-04-07 20:50:56 +02:00
jacob1
4d480e32c6 ensure player is added to var.PLAYERS upon midgame join in maelstrom
fixes wolfchat / !simple / maybe other stuff
2016-04-06 22:55:07 -04:00
nyuszika7h
1aa18af5cb Tell players to use !join if they try to !start when no game is running 2016-04-06 18:31:44 +02:00
Ryan Schmidt
949fe168bf Fix villagergame to actually make nobody win if they fail 2016-04-06 09:24:55 -07:00
Ryan Schmidt
63e6c7eab5 Kill var.WOLF_GUNNERS with fire
Wolf gunners are now added to var.GUNNERS. To facilitate !revealroles,
they are also automatically given the gunner template if they were not
already a gunner or sharpshooter (otherwise their bullet count was not
listed in !revealroles, although night role messages and !myrole worked
just fine).
2016-04-05 22:40:37 -07:00
Ryan Schmidt
2973decce8 aleatoire balance tweaks
12p aleatoire was too heavily skewed towards wolves, while 14+ was heavily
skewed towards village. The following changes hope to rectify this
(although there probably isn't enough for 14+ to be fixed yet).

- Guardian Angel moved from 13p to 12p
- 2nd Assassin moved from 12p to 13p
- Bureaucrat removed
- Turncoat replaces Lycan at 14p
2016-04-05 22:03:00 -07:00
io
4e41dfe47a Add CTCP VERSION support 2016-04-04 16:18:04 -07:00
jacob1
5108822594 use var.GAME_PLASES for reply() in utilities.py 2016-04-03 22:47:28 -04:00
jacob1
db43486fa8 make sure admins always prints to alternate channels even when a game is running 2016-04-03 22:26:53 -04:00
skizzerz
4f1d9d8920 One slipped through 2016-04-01 10:40:12 -05:00
skizzerz
b369a0d4b3 Nothing to see here, move along. 2016-03-31 23:46:43 -05:00
Ryan Schmidt
c32b9031d3 Make use of botconfig vars for chanserv
Missed these the first time around...
2016-02-26 14:49:55 -07:00
nyuszika7h
602c99a6ff Detect op status on joining empty channel 2016-02-26 22:39:28 +01:00
Ryan Schmidt
73030424cd Blacklist monster and demoniac in maelstrom 2016-02-25 15:13:57 -07:00
skizzerz
8a49977318 Derp 2016-02-19 16:41:40 -06:00
skizzerz
6fff851350 Add event framework to allow for injecting phases 2016-02-19 15:54:02 -06:00
skizzerz
f0663d7aa4 Add var.GAME_PHASES to track when a game is in progress instead of hardcoding night/day 2016-02-19 15:04:26 -06:00
Ryan Schmidt
997b2c3c89 Default balance fix
12p default is horribly skewed towards wolves (11 and 13 are pretty well balanced though), move det from 13p to 12p to combat this
2016-02-17 16:25:44 -07:00
Vgr E. Barry
05bab1d83f Fix ALL THE THINGS 2016-02-11 13:55:25 -05:00
Vgr E. Barry
fb3e7eb8b6 woof 2016-02-11 13:26:23 -05:00
Vgr E. Barry
beb5ffd54c derp 2016-02-11 13:26:15 -05:00
Vgr E. Barry
edb9df50ea Fix error when lynching person with revealing totem 2016-02-11 12:00:04 -05:00
Vgr E. Barry
4a969f729a Fix nicks not being tracked in join phase 2016-02-09 15:25:11 -05:00
Vgr E. Barry
a10f6052a6 Track players nicks after death
Prevents horrible breakage in maelstrom
2016-02-09 12:16:29 -05:00
skizzerz
610874c5a1 Fix chained deaths on lynch and also prophet 2016-02-08 17:37:48 -06:00
skizzerz
c4cfbfca83 Prophet QOL improvements
- Redo prophet messages so that they don't split into multiple lines
- If prophet never reveals, don't bother making them pray twice
- Split prophet messages into different messages based on reveal setting
  instead of putting it together piecemeal -- this allows for easier
  customization/translation down the road.
2016-02-08 09:40:49 -06:00
nyuszika7h
00e976d1e0 Notify players in PM if they part the channel during a game 2016-02-08 08:47:01 +01:00
skizzerz
fc815c1549 Fix midgame role attribution in maelstrom 2016-02-05 21:53:29 -06:00
skizzerz
48b5db2d9c Maelstrom fixes
- Don't allow dead players to re-join
- Don't end game via a midgame join (e.g. ensure that numbers are good
  after the join)
2016-02-03 23:11:58 -06:00
skizzerz
805ee7e18a Fix mm being able to be assigned n2+ in mael 2016-02-03 22:10:38 -06:00
skizzerz
dbad8d1f09 Part 2 of 2
And as thus we sat in darkness,
Each one busy in his prayers,
“We are lost!” the captain shouted,
As he staggered down the stairs.

But his little daughter whispered,
As she took his icy hand,
“Isn’t God upon the ocean,
Just the same as on the land?”

Then we kissed the little maiden,
And we spoke in better cheer;
And we anchored safe in harbor
When the morn was shining clear.
2016-02-03 22:04:29 -06:00
skizzerz
69f72499ef Make frole only work during game 2016-02-03 20:30:15 -06:00
skizzerz
abc90530d8 Partial revert of 56827a2, rm unneeded (and horrific) code 2016-02-01 21:05:01 -06:00
jacob1
32db6b131d allow using !gstats in alternate channels while a game is going on elsewhere 2016-02-01 20:54:47 -05:00
jacob1
56827a2ce2 lycan balance adjustments
lycan#2 moved down from 10 to 9p
wolf#2 swapped for wolf shaman
GA swapped for bodyguard
2016-02-01 20:54:15 -05:00
skizzerz
6738acc82c Add disabled-by-default start spam killer
Like the color/bold killers, this can be configured to kick people if
they spam !start while it is being ratelimited for them.
2016-02-01 17:32:02 -06:00
skizzerz
f3a7be45d4 Relay wolf shaman and do prefix hiding in wolfchat
Commands starting with ! will no longer be relayed regardless of if one
is in wolfchat or deadchat. All wolf roles that issue commands now have
their commands properly relayed, so hiding commands this way isn't
really any issue.
2016-02-01 10:33:43 -06:00
skizzerz
344b7b108b Don't time out night if dullahan can't do anything 2016-01-29 13:48:21 -06:00
skizzerz
587b03a970 Fix lingering entries in var.ORIGINAL_ROLES due to roleswaps in maelstrom 2016-01-27 21:45:19 -06:00
skizzerz
29e5873104 Don't show original roles in maelstrom in listings 2016-01-27 21:31:32 -06:00
skizzerz
3f9bf7468b Fix clone taking on the role of someone when they're also dying
This only happens for simultaneous deaths (e.g. night deaths), as
chained deaths are resolved in a fashion that makes it impossible for
the clone to know he is also dying until after he inherits the new role.

Closes #214
2016-01-27 21:15:20 -06:00
skizzerz
16a8a86e4a Persist templates in maelstrom 2016-01-14 17:46:50 -06:00
skizzerz
b29701782f Maelstrom fixes
- Correctly assign random roles upon game start
- Let people know if they're villager/cultist or whatever even on nights
  2 and beyond
2016-01-14 01:08:49 -06:00
jacob1
7de3fbb324 ok, I actually tested the fix this time (fix maelstrom) 2016-01-13 23:50:02 -05:00
jacob1
6bbd4b0ae1 Fix error with maelstrom game mode
Tested about as much as woffle apparently tested originally
2016-01-13 23:44:09 -05:00
skizzerz
6e22cd860c Part 1 of 2
We were crowded in the cabin;
Not a soul would dare to sleep:
It was midnight on the waters,
And a storm was on the deep.

’Tis a fearful thing in winter
To be shattered by the blast,
And to hear the rattling trumpet
Thunder, “Cut away the mast!”

So we shuddered there in silence,
For the stoutest held his breath,
While the hungry sea was roaring,
And the breakers threatened death.
2016-01-13 22:07:51 -06:00
skizzerz
9d8f77c1e1 Fix stasis messages (both display for adding stasis as well as internal message keys) 2016-01-11 22:56:04 -06:00
skizzerz
281beda634 Fix wonky message ordering if a lynch is forced 2016-01-11 19:14:42 -06:00
jacob1
9f64b13489 fix crash when trying to !swap to someone not in var.USERS (fake nicks in debug mode) 2016-01-02 01:21:45 -05:00
jacob1
9ef0696da8 fix minor issues preventing pull request #184 from being merged, closes #184 2016-01-02 01:16:34 -05:00
William Maduno | Diitto
f552a6e86e Fixes #184 (!swap, when targeting someone, should be case insensitive) 2016-01-02 01:10:02 -05:00
jacob1
00ddf27e23 fix crash when trying to fstart 4/5p random games, fixes #181 2016-01-02 00:51:51 -05:00
jacob1
cd8a3de8b3 fix being unable to join fake players in debug mode
It said they were in stasis for -1 games ... This change should only affect fake nicks, since if the user isn't in var.USERS they can't join anyway
2016-01-02 00:25:19 -05:00
jacob1
356368d7bb fix idle players not having loss logged in stats (they aren't in var.DCED_PLAYERS) 2016-01-02 00:11:15 -05:00
Ryan Schmidt
0250f59fed Fix deceit totems not canceling out properly for seer
If both seer and target have deceit totem, the result should be printed normally (e.g. the totems cancel out). They were not doing that previously, as it would route all non-village non-wolf roles into villager (e.g. harlot -> villager). Let's fix that.
2015-12-31 15:36:40 -07:00
Ryan Schmidt
48547972e9 Make is_user_stasised return a truthy value if the user is not found
This ensures that code paths that should not be run if the user is stasised are not run if we don't know the user's status. Generally we don't know the user's status because they are not in the main channel, and therefore allowing them to effectively bypass stasis by not being around is a bad thing. We return -1 to differentiate between actual stasis, and because -1 is still True when cast to boolean. This may have the effect of giving some very odd-looking error messages but that's a very minor issue.
2015-12-31 15:06:19 -07:00
Ryan Schmidt
8a71c839a9 Increase night timer for valentines 2015-12-29 14:01:09 -07:00
skizzerz
8845dd8d7c Revert "Fix issue with !quit at the beginning of the game"
This reverts commit b342c6c53e.
2015-12-27 22:53:49 -06:00
Vgr E. Barry
b342c6c53e Fix issue with !quit at the beginning of the game 2015-12-27 23:23:40 -05:00
Ryan Schmidt
57e5aec9cd Increase quit grace time to 60s
Rejoining an IRC server after quitting can take a bunch of time for slow connections or if a lot of channels are to be joined. Additionally, quits could be indicative of temporary internet issues, want to make sure we give sufficient time to reconnect in case of a DHCP lease expiring or whatnot.
2015-12-20 14:54:22 -07:00
Vgr E. Barry
a5c9541543 Make sure handle_error(im) is failproof 2015-12-13 10:32:58 -05:00
jacob1
06cea36c97 fix typo causing error when you abstain after previously abstaining another day 2015-12-06 15:35:40 -05:00
Ryan Schmidt
81da5cb789 Merge pull request #202 from lutoma/hide-deadchat-commands
Hide commands in deadchat
2015-12-04 07:09:21 -07:00
Lukas Martini
2ef78a9783 Hide commands in deadchat 2015-12-04 08:33:44 +01:00
Lukas Martini
b8b61a0c8d Only allow retracting start votes in the main channel 2015-12-04 04:22:18 +01:00
Vgr E. Barry
548d212435 Fix 'random' not keeping template ordering 2015-12-02 08:38:08 -05:00
nyuszika7h
c6a5cea715 Log connection, end of MOTD and joining channels in normal mode 2015-11-27 17:37:04 +01:00
jacob1
d72eadf34f fix players not becoming unentranced if succubus dying ends game 2015-11-25 18:59:16 -05:00
Ryan Schmidt
99c8845118 Merge pull request #198 from lykoss/wolf-shaman
Add the new wolf shaman
2015-11-23 17:47:17 -07:00
Vgr E. Barry
c47a84d058 Add the wolf shaman role 2015-11-23 19:36:02 -05:00
skizzerz
32d91ec3a4 Enable team stats for random (sometimes) 2015-11-23 18:27:08 -06:00
skizzerz
747249991e Add botconfig.OWNERS_ONLY_COMMANDS to further restrict commands 2015-11-16 12:11:52 -07:00
jacob1
be4421dd59 fix fquit "not_playing" message 2015-11-16 10:56:23 -05:00
jacob1
cd44f2384f !frole: add to ORIGINAL_ROLES or FINAL_ROLES to fix end of game output 2015-11-16 10:51:43 -05:00
jacob1
3fd1360fed fix !stats for wolves in PM being out of order
should be in player join order, not randomly shuffled
2015-11-16 10:17:45 -05:00
skizzerz
debf9c78ff Horrible hacky error fix to make pm available in proxy/decorators 2015-11-15 18:42:20 -06:00
Vgr E. Barry
c24ae0bb8f Make deadchat preferences actually matter
derpidy derpidoo da
2015-11-15 19:24:59 -05:00
Vgr E. Barry
aa1af8dea8 Fix debug logging of totems. Closes #196 2015-11-15 19:24:33 -05:00
Emanuel Barry
837cf49c44 Merge pull request #191 from lykoss/proxy
Introduce proxies as a means of breaking circular import chains
2015-11-15 18:08:06 -05:00
skizzerz
8a36dd8442 Fix docstring 2015-11-15 17:06:46 -06:00
skizzerz
737f4e6184 Fix werecrow observe not working in some instances 2015-11-15 16:56:32 -06:00
skizzerz
a26f912f6e Wrap the impl side of implementations in handle_error unconditionally as well 2015-11-15 13:51:46 -06:00
skizzerz
6f83a909df Introduce proxies as a means of breaking circular import chains 2015-11-15 13:12:22 -06:00
skizzerz
4750981b4b Don't fire retribution against self 2015-11-14 23:58:01 -06:00
skizzerz
26f798456e Expand werecrow observe list
Now observes every role that acts at night as "not in bed" EXCEPT:
- matchmaker
- assassin
- clone
- turncoat

matchmaker and clone are night 1-only, and allowing them to be observed
would only serve to reduce werecrow power. assassin and turncoat's night
actions are passive and not anything that would require staying up late
at night or moving around at night for.

In the event that a luck or misdirection totem is applied, wolf-aligned
roles are now also observable as not in bed should they act. This will
also apply if RESTRICT_WOLFCHAT is used to take those roles out of
wolfchat.
2015-11-14 23:45:23 -06:00
skizzerz
d386b76d48 Don't allow spectating deadchat if one is already in it 2015-11-14 23:08:51 -06:00
jacob1
80e5c72b3d decrease 'mad' likelihood from 8 to 4 (not very popular, even though balanced :P) 2015-11-14 23:05:47 -05:00
jacob1
87e387df5f fix error when changing nicks in join phase 2015-11-14 22:58:04 -05:00
skizzerz
d3676948c3 Add !fspectate command
Admin-only command (can be !fallowed) to spectate deadchat or wolfchat.
The person spectating is not revealed to anyone in the chat, however
they can see everyone in that chat.

If used outside of debug mode, it is restricted a la !revealroles where
it cannot be used by an alive player or an active vengeful ghost.
2015-11-14 21:04:43 -06:00
skizzerz
b351cd496f Enhance succubus win message 2015-11-14 19:22:42 -06:00
Lane Farrow
b121d3a2c4 Fix voicing on rejoin at night when devoice during night is enabled 2015-11-13 21:52:34 -06:00
Vgr E. Barry
37ce9ad17c Actually fix ping replies 2015-11-13 14:55:31 -05:00
nyuszika7h
2cf3bfe811 Remove useless DISABLE_DEBUG_MODE option
There is no point in this whatsoever; admins can do !frestart debugmode
but that cannot lead to privilege escalation as !eval and !exec are
owner-only and !fallow won't work on them either.
2015-11-13 20:19:51 +01: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
9b3768522b reduce sleepy likelihood to 5
we agreed not to reduce it to 0, 5 works well
2015-11-04 22:51:11 -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
4ebb3f7e9f Fix errors when changing nicks in sleepy 2015-11-04 18:10:10 -05:00
Vgr E. Barry
bb8041e0fd Fixed some protected functions not working 2015-11-04 14:19:02 -05: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
jacob1
b97085c32a fix database error 2015-11-01 19:03:13 -05:00
skizzerz
0f5a08f1c7 Add ENABLE_DEADCHAT setting 2015-11-01 17:45:22 -06:00
skizzerz
4e65ad6e19 Remove unused format params 2015-11-01 14:23:29 -06:00
skizzerz
950c11e0a0 Don't advertise how many people turned 2015-10-31 23:38:24 -05:00
skizzerz
d8f1a5d946 Fix bug with nightmares attempting to message/kill dead people 2015-10-31 23:31:59 -05:00
skizzerz
ac1bfb778f Fix nightmare not tracking paths correctly and fix joining deadchat 2015-10-31 22:46:01 -05:00
skizzerz
e0cd6e577d Unrestrict random 2015-10-31 16:04:38 -05:00
jacob1
0f6f41f263 remove sleepy custom commands better (doesn't delete !w alias for wait now) 2015-10-31 16:26:49 -04: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
4abd9a41dd change 'sleepy' likelihood to 20 temporarily (nyuszika7h edit) 2015-10-31 10:55:59 -04:00
jacob1
85fac86b4a fix error breaking nightmares, add back word I accidentally deleted 2015-10-31 10:55:21 -04:00
jacob1
930e35b31d fix sleepy mode breaking !help after game ends 2015-10-31 02:49:26 -04:00
jacob1
cb95394dd8 fix error with !help <invalid command> 2015-10-31 02:48:51 -04:00
skizzerz
6e647e86e9 Yet another nightmare fix (with initial path selection) 2015-10-30 22:55:52 -05: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
skizzerz
e60a32d400 Fix final roles 2015-10-30 20:28:32 -05:00
skizzerz
cb07d67a8f Fix doomsayer message 2015-10-30 20:20:40 -05:00
skizzerz
cfb435e1cb Another nightmare fix 2015-10-30 20:19:20 -05:00
jacob1
202dcd33cb force non-!simple for the new roles 2015-10-30 21:06:22 -04:00
skizzerz
aa4d165646 fix nightmares (again) 2015-10-30 19:56:22 -05:00
skizzerz
fc138f0af4 Disable disable wolfchat 2015-10-30 19:46:36 -05:00
skizzerz
e2f313440d Merge remote-tracking branch 'origin/master' into sleepy 2015-10-30 19:40:46 -05:00
Vgr E. Barry
ee3a2c6ab9 Temporarily disable new roles in random 2015-10-30 20:32:29 -04:00
skizzerz
ffacac3764 Fix nightmare kills 2015-10-30 19:20:25 -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
7b8c504c79 fix error when starting 'random' game 2015-10-30 20:05:43 -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
45e29a3fcd fix syntax error 2015-10-30 19:15:05 -04:00
jacob1
4e1b17ada6 fix !fquit in join phase 2015-10-30 19:14:32 -04:00
skizzerz
df93da0d2e Fix direction picking 2015-10-30 15:39:02 -07:00
jacob1
a7c7bb808e fix syntax error and error preventing restart 2015-10-30 18:18:44 -04:00
Vgr E. Barry
3c90830cff Fix a NameError 2015-10-30 18:13:17 -04:00
skizzerz
cf91ab2c98 More informative messages for nightmares, fix dullahan target issue 2015-10-30 15:06:18 -07:00
jacob1
12384d191d fixes to nightmares 2015-10-30 15:06:17 -07:00
jacob1
e77ad447ef fixes to nightmares 2015-10-30 18:03:43 -04:00
Vgr E. Barry
2cf3852518 Fix circular imports 2015-10-30 17:38:39 -04:00
skizzerz
e860eeabdd Give a failure message for nightmares 2015-10-30 14:21:29 -07:00
skizzerz
e2d8f01832 Reset paths if wrong one is chosen part 2 2015-10-30 14:16:37 -07:00
skizzerz
8b5f757057 Reset paths if wrong one is chosen 2015-10-30 14:15:56 -07: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
85fafcc789 Fix error, work on nightmares a bit 2015-10-30 12:19:40 -07:00
skizzerz
01dc76d0bb Tweak sleepy roleset (swap vigilante and harlot) 2015-10-30 12:19:33 -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
e013d76d5c Remove medium from ROLE_GUIDE
We don't have time to introduce it in time for the Halloween update, so
let's remove it to prevent bad things happening (e.g. random)
2015-10-30 11:45:43 -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