Commit Graph

605 Commits

Author SHA1 Message Date
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
Ominous
0f6ee5c994 Distinction between a and an 2014-12-09 00:17:33 -05:00
kernelpanic3
b8361ab6bc Dynamic, random quit messages 2014-12-08 23:22:32 -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
3192052add Allow admins and owners tracking via account. 2014-12-06 15:43:34 -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
skizzerz
4cdc065d2f Security Fix: Don't allow non-admins to fsay/fact to a target other than the channel itself 2014-11-27 19:08:47 -06:00
skizzerz
eb8ffb9f68 Make GA guard also go away in the event of exchange totem firing 2014-11-26 23:45:13 -06:00
jacob1
87d7b0d375 impatience totem holder is added to the start of the voters list
prevents them from being killed by desperation totem when they didn't actually vote
2014-11-27 00:07:41 -05:00
jacob1
addc7c9e96 don't run the reaper in debug mode (fixes errors with fake nicks) 2014-11-26 23:43:34 -05:00
jacob1
8ca611a43e clone gets a random target if they forget to clone, also don't pm them an empty wolf list 2014-11-26 23:32:53 -05:00
jacob1
7c39906852 fix guardian angel being able to guard the same person twice in a row sometimes 2014-11-26 21:50:15 -06:00
nyuszika7h
19809f4d70 fpull: Refactor code 2014-11-26 14:23:55 +01:00
nyuszika7h
d9b89a5f95 fpull: Use rebase 2014-11-26 14:23:55 +01:00
jacob1
adca55fce5 Add back !fact aliases: !fdo and !fme 2014-11-25 13:31:52 -05:00
nyuszika7h
8ac4f2faad Revert "!plsnofuckup !plsnoexplode"
This reverts commit e424520eb5.
2014-11-25 07:42:41 +01:00
ChiyoOsaka
e424520eb5 !plsnofuckup !plsnoexplode
Adding 'faction' and 'fdo' as aliases to 'fact'.

!plsnoexplode
2014-11-25 02:52:35 +00:00
nyuszika7h
a03001ecf6 Make !away one-way 2014-11-22 23:34:07 +01:00
Janik Kleinhoff
3bb280a6b2 Re-add !ops alias for !admins for now 2014-11-19 19:13:40 +00:00
nyuszika7h
4e31c7d621 Remove !ops alias for !admins
There's no reasonable way to disable commands yet, and !ops is now
handled by AntiSpamMeta, so this is the best we can do for now.
2014-11-18 20:29:33 +01:00
nyuszika7h
868ef5c74e Fix typo in werecrow message 2014-11-17 22:23:59 +01:00
Janik Kleinhoff
ecc17933d9 Fix missing period 2014-11-17 11:06:14 +00:00
jacob1
04c4b46a3e Revert "fix wolf cub / traitor turning in chk_win even when end_game is false, + some other random error" 3c53ae19e8 2014-11-16 22:05:11 -05:00
nyuszika7h
54d45ba02c Revert "fstasis: Improve non-negative integer message"
This reverts commit 6468cf42b7.

The new message is confusing, as it doesn't exclude floating point
numbers, which are invalid here.
2014-11-16 10:37:17 +01:00
nyuszika7h
6468cf42b7 fstasis: Improve non-negative integer message
Suggested by @ecksdee.
2014-11-16 10:33:56 +01:00
nyuszika7h
93b1c47ee2 Log messages sent to fake players instead of sending them 2014-11-14 17:19:50 +01:00
nyuszika7h
8fe1cf9ef5 Fix commit dc156da
This reverts one of the changes made by that commit. Not PMing fake
nicks can make debugging impossible without real players.
2014-11-14 11:37:55 +01:00
jacob1
3c53ae19e8 fix wolf cub / traitor turning in chk_win even when end_game is false, + some other random error 2014-11-14 00:28:48 -05:00
jacob1
8c4281de94 !roles can print out roles from other game modes 2014-11-10 22:51:39 -05:00
jacob1
c514296a80 save !fdeny / !fallow in database, also allow commands to be added / removed individually 2014-11-03 13:37:24 -05:00
nyuszika7h
aee5bce1b0 allow_deny: Fix stale references to 'allow' 2014-11-03 18:36:28 +01:00
nyuszika7h
bb6e3e9dfe fallow, fdeny: Add temporary warning about persistence
Or rather, the lack of it.
2014-11-03 14:25:26 +01:00
nyuszika7h
06ae51d29f allow_deny: Improve assertion code 2014-11-03 14:15:30 +01:00
nyuszika7h
5e9f1031ae Fix fallow/fdeny 2014-11-03 14:11:11 +01:00
skizzerz
71fd4acb8a Fix how !stats interacts with amensiac 2014-11-02 21:36:39 -06:00
jacob1
54af1fbd2d fix !fallow message 2014-11-02 16:27:41 -05:00
jacob1
815b38a7e9 New commands: !fdeny and !fallow 2014-11-02 15:58:14 -05:00
nyuszika7h
59c589f3e1 !fwait: Code cleanup 2014-10-26 10:10:02 +01:00
Benjamin Donald-Wilson
897095c4ff Fix small typo in GA message 2014-10-26 14:41:49 +11:00
Janik Kleinhoff
78778b9b16 fix typo 2014-10-26 02:22:58 +01:00
Janik Kleinhoff
1ec60fe99b !fwait: improve message a little 2014-10-26 02:19:39 +01:00
Janik Kleinhoff
5965848bcf !fwait: Allow arbitrary wait durations
We indeed don't have all day, but people with access to fwait should
know as much already anyway. Additionally, this interfered with undoing
a long fwait; !fwait 9999 was possible, !fwait -9999 was not.
2014-10-26 02:10:52 +01:00
Janik Kleinhoff
472d71811a myrole: Only tell shamans their totem at night 2014-09-28 08:10:51 +02:00
Janik Kleinhoff
f3d7e569ae frole: Adjust behaviour for templates; allow specifying totem
The syntax to give 'foo' the additional 'bar' template is now
!frole foo +bar
or, in the case of templates like gunner that can take an argument,
!frole foo +gunner = 9001
Removing a template uses - instead:
!frole foo -bar

The new "role = arg" syntax also applies for shamans and crazed shamans:
!frole foo shaman = impatience
A random totem is selected as usual, rather than the bot crashing, if no
argument is given.
2014-09-28 08:05:21 +02:00
Janik Kleinhoff
7fa8e459f7 Fix "at some poisonous berries" typo 2014-09-28 04:37:40 +02:00
Janik Kleinhoff
c1c742db23 Avoid printing role when it's "person", without a syntax error 2014-09-28 01:20:00 +02:00
nyuszika7h
ffa7f7c58c leave & fleave: Don't say role if it's "person"
And other minor improvements.
2014-09-28 00:55:36 +02:00
nyuszika7h
11b508d40b fstasis: Add missing return 2014-09-27 12:49:03 +02:00
nyuszika7h
2a306fcc7c fstasis: Improve messages 2014-09-27 12:46:07 +02:00
jacob1
f1f166f052 fix fstasis not handling hostmasks with capital letters properly 2014-09-27 00:53:56 -04:00
Romtam
b7fac7be4c Added missing dot 2014-09-26 19:35:43 +07:00
Janik Kleinhoff
92a8c5bd60 Make fjoin message for fake nicks consistent with others 2014-09-25 23:30:58 +02:00
jacob1
dc156da64c don't display the join message / pm fake nicks when in debug mode 2014-09-25 16:37:05 -04:00
jacob1
82b53f92d9 village can't abstain on day one 2014-09-25 16:00:06 -04:00
nyuszika7h
6dc4f4859f Fix the bot telling you you haven't voted after retracting abstain
Reported by @Vgr255 on IRC.
2014-09-20 11:53:11 +02:00
Janik Kleinhoff
b2e0a6b1a3 Add quieting code again, but disabled by default
This reverts commit 5e4bb1ed5d and puts
the relevant quiet-related code in a conditional instead, depending on a
newly-added var.QUIET_DEAD_PLAYERS setting.
2014-09-18 16:12:17 +02:00
nyuszika7h
5e4bb1ed5d Remove quieting
Per discussion in ##werewolf-ops, nick changes are easier to notice than
PM logs which could be faked, and we can ban repeat offenders if needed
anyway.
2014-09-18 15:48:43 +02:00
Janik Kleinhoff
0669799f1e is_fake_nick: only all-numeric nicks are fake
The previous check had quite a few issues, e.g. on UID nicks.
2014-09-17 22:00:24 +02:00
Janik Kleinhoff
62b9b1627d Fix crash with idle warnings and nick changes
Sorry for breaking it. :s
2014-09-17 21:57:39 +02:00
Janik Kleinhoff
bae19598cb !myrole: remind shamans of their totem
This is especially useful if the shaman did not see the original message
informing them of their role (e.g. due to connection issues).
2014-09-17 20:48:04 +02:00
Janik Kleinhoff
4de6899209 !myrole: remind lovers of their love 2014-09-17 20:31:23 +02:00
xnrand
60c0a136f5 bold in wolf gun death messages 2014-09-15 01:03:55 +02:00
Janik Kleinhoff
b8c2f6d841 Warn idlers a second time in PM 2014-09-12 14:59:03 +02:00
skizzerz
8d1a527724 Fix autolose not happening if someone quits 2014-09-09 20:47:11 -05:00
skizzerz
3a6280ad8c Add settings to disable abstain and also limit it
By default, abstain is enabled and limited to being used once per
game. Both of these can be changed in settings.py.
2014-09-08 22:38:57 -05:00
nyuszika7h
eeb812c40e !start: Fix pluralization 2014-09-07 11:53:47 +02:00