Commit Graph

572 Commits

Author SHA1 Message Date
skizzerz
baa3831ce7 Fix bot's handling of WHO replies on connect:
Some IRCds always output the servername on a WHOX query even if it
wasn't asked for. Let's ask for it now and just ignore the response. The
order of parameters in WHOX is now in the order they are returned, to
make life easier.

Also tidy up the generator a tad; if we aren't using things we're
computing then there's no need to compute it at all :)
2014-12-14 23:48:24 -06:00
jacob1
18199b166c fix multiple letter command prefixes 2014-12-14 17:42:36 -05:00
jacob1
bc60357ae5 !roles/!gamestats accept partial names, new complete_match/get_victim functions to clean up code for role commands (reverted from commit c1a937f763) 2014-12-14 16:30:25 -05:00
jacob1
c1a937f763 !roles/!gamestats accept partial names, new complete_match/get_victim functions to clean up code for role commands 2014-12-14 16:23:52 -05:00
nyuszika7h
c4fb449a77 Reintroduce !mystats
It's useful for things like "!m wolf", and it's easier to do this than
hacking !pstats to support "!p wolf", which could be ambiguous if
there's a player with an account name of "wolf".
2014-12-14 15:14:28 +01:00
jacob1
60cd1ee06c allow gstats and pstats in pm during games 2014-12-14 01:30:07 -05:00
skizzerz
970e55e828 Fix instance where harlot A would not die if harlot A is visiting harlot B, harlot B is visiting someone, and wolves attack harlot B 2014-12-13 17:19:25 -06:00
Vgr E.Barry
3aa54cf565 Add an automatic mode toggling. 2014-12-13 14:23:56 -05:00
skizzerz
7d3a7cd140 Fix fjoining fake nicks 2014-12-13 11:30:06 -06:00
Janik Kleinhoff
5789be967e ping: more useful behaviour when noone can be pinged 2014-12-12 18:53:50 +00:00
Vgr E.Barry
17c59fd277 Fix a few random issues with previous commit. 2014-12-09 21:40:25 -05:00
Vgr E.Barry
6a2eec608a Huge overhaul to the system to use accounts. 2014-12-09 19:44:06 -05:00
Janik Kleinhoff
1d06b68d24 Move database/persistence initialization into a function
This allows us to postpone init_db(). One advantage of this is that
specifying AWAY in botconfig.py won't overwrite the away list from the
DB anymore, but properly get added to (as would be expected).
2014-12-08 14:02:09 +00:00
Janik Kleinhoff
45e59ea647 fquit: say "No more players remaining" at 0 players 2014-12-08 12:36:58 +00:00
Vgr E.Barry
f43dba4a3f Fix some specific PM commands not working. 2014-12-07 16:33:39 -05:00
Vgr E.Barry
a7fe73c355 Allow admins to invite the bot to any channel. 2014-12-07 11:01:06 -05:00
nyuszika7h
f5b9c3e612 Small refactor to log_cmd 2014-12-07 16:50:18 +01:00
nyuszika7h
7f668cbb2c Add a common logging function for fsend et al
This is just a basic logging function designed for logging (admin)
command calls. We'll have a better logging system eventually (ref:
lykoss/lykos#72).
2014-12-07 16:39:25 +01:00
jacob1
8ecef11482 fixes to lots of bugs with the bot being in an alternate channel 2014-12-06 22:33:42 -05:00
Ryan Schmidt
45f640e9c9 Fix impatient message showing up in places it shouldn't 2014-12-06 19:01:22 -06:00
Vgr E.Barry
87f74d3265 Adds ability for the bot to be in multiple channels. 2014-12-06 17:39:21 -05:00
Vgr E.Barry
3192052add Allow admins and owners tracking via account. 2014-12-06 15:43:34 -05:00
Vgr E.Barry
5cc9715eb1 Move argument parsing out of botconfig. 2014-12-06 15:03:03 -05:00
jacob1
ab1edec0cb Merge pull request #86 from Vgr255/master
Add ability to carry settings from botconfig to var.
2014-12-06 14:57:51 -05:00
Vgr E.Barry
859bc842da Add ability to carry settings from botconfig to var. 2014-12-06 14:31:49 -05:00
jacob1
1519ba3765 add var.GRAVEYARD_LOCK check in chk_win, add more checks for game ending in those 2014-12-06 14:03:31 -05:00
Ryan Schmidt
6aeb149241 Merge pull request #85 from skizzerz/fiximpatience
Impatience and pacifism totem improvements
2014-12-05 09:00:16 -06:00
nyuszika7h
a69a070c27 fpull: Show diffstat
It isn't shown by default with rebase, but it's pretty useful.
2014-12-05 11:33:48 +01:00
jacob1
fc53b905be Merge pull request #83 from lykoss/fix-cub-error
Fix KeyError in chk_win
2014-12-05 00:10:36 -05:00
jacob1
c9c5317ecf Merge pull request #82 from lykoss/refactor-fsay-fact
Refactor fsay and fact
2014-12-05 00:10:03 -05:00
skizzerz
5819976a1f Pacifism/Impatience totem improvements
- A message is now displayed whenever a pacifism or impatience totem is
  triggered, e.g. "X impatiently votes for Y." or "X meekly votes to not
  lynch anyone today." These are played immediately before the vote
  passes, so there is no opportunity for people to abandon course.
- Reinstate people with impatience totems being the ones that die to
  desperation totems. Due to the above message playing, it is now more
  obvious why they died, and I believe that doing it this way adds to
  gameplay ("I have a random totem and so does the person being voted. I
  should try to jump in early just in case I have impatience so I don't
  die."). If someone with impatience votes normally, their actual vote
  counts for determing vote order (so they aren't last unless they voted
  last). If there are multiple people with impatience that didn't vote,
  then the order in which they vote is random.
2014-12-04 22:45:11 -06:00
skizzerz
7b2ee4ecd5 Fix impatience totem interaction with abstaining:
- Moving code to chk_decision means that doing an actual !abstain
will still make you show up in !votes (unlike now where it does not)
- impatience and pacifism should balance each other out if they
are present in equal numbers, preventing an !abstain from working
if you have impatience does not yield that behavior
2014-12-04 21:57:30 -06:00
Vgr E.Barry
4ac967be1d Fix hunter passing ending night early. 2014-12-04 20:38:08 -05:00
nyuszika7h
f646844aad Fix KeyError in chk_win
This fixes the error with wolf cub that has been appearing for a while
now, and also prevents similar errors from happening with monster and
traitor in the same function.
2014-12-04 11:41:09 +01:00
nyuszika7h
0ab6ee52e6 Refactor fsay and fact 2014-12-04 11:21:03 +01:00
ChiyoOsaka
6e372566c6 Merge pull request #80 from lykoss/new-rolesets
<+jacob1> !moo , is someone going to press the Merge pull request button on https://github.com/lykoss/lykos/pull/80 eventually or do I have to :P

Rolesets are picked randomly + 4 new rolesets
2014-12-02 00:22:50 +00:00
jacob1
47f3b0e4d3 fix fool wins with lover setting, adjust lots of numbers 2014-11-30 17:27:27 -05:00
Janik Kleinhoff
2a07f2e5ec fstart: don't require the admin to be joined 2014-11-29 22:37:33 +00:00
jacob1
9e83ac941c increase likelihood of default-like rolesets, make rapid/drunkfire and amnesia only picked from a majority of the votes 2014-11-29 15:03:50 -05:00
jacob1
193ead22aa change "roleset" to "game mode" in the code / messages 2014-11-29 13:39:55 -05:00
jacob1
788707ffb1 partial matches work with !game/!fgame, also using !fgame on an invalid roleset will no longer reset it to default 2014-11-28 22:41:03 -05:00
skizzerz
3742dcea2a Various Bugfixes/QOL Improvements:
- Hag can no longer hex the same target two nights in a row
- Hag target is un-hexed if hag gets exchanged with someone
- GA now properly guards people whose names contain uppercase letters
- Make var.START_WITH_DAY mostly work, doesn't crash the bot anymore
  but still needs improvements, namely messaging everyone what role
  they are.
2014-11-28 21:26:12 -06:00
jacob1
0944b4a919 delete vote from var.ROLESET_VOTES when a player quits 2014-11-28 16:25:42 -05:00
jacob1
9da979c6e0 !game without args also prints valid rolesets 2014-11-28 16:25:42 -05:00
jacob1
9f7dbaa7c7 don't log loss in player stats when game is fstopped 2014-11-28 16:25:42 -05:00
jacob1
34ad806341 add player to var.DCED_PLAYERS when they quits (fixes not logging a loss in stats) 2014-11-28 16:24:56 -05:00
jacob1
d31a75c43f log stats for templates and "lover" 2014-11-28 16:24:55 -05:00
jacob1
059fe556ec gamestats are stored per roleset 2014-11-28 16:24:55 -05:00
jacob1
15c8335349 changes / improvements to !game
if > 2/5 of the players vote for a roleset it's automatically picked
picked roleset is printed out on the welcome message
!help game prints possible rolesets, also more bold
2014-11-28 16:24:55 -05:00
jacob1
d174fc4d89 rolesets are randomly picked with varying frequencies / add a !game command to make certain rolesets more likely
Not done, even if this is final it still needs more good rolesets to choose from
2014-11-28 16:23:56 -05:00