Commit Graph

180 Commits

Author SHA1 Message Date
jacob1
453242a257 improve some comments and fix 'f rom' typo 2014-12-28 17:26:30 -05:00
jacob1
8dce5a4d16 gramatical fixes (var.plural one by skizzerz) 2014-12-28 17:06:15 -05:00
skizzerz
aaba899983 Add "alpha" gamemode
This mode features the alpha wolf and doctor roles, and should provide
for very "swingy" games where wolves are very disadvantaged at first
but should be able to make a decent comeback later on.

This also brought some rebalancing to gamemode weights, mostly all of
the existing ones stayed the same though, a summary of changes is below.
Numbers below are rounded to the nearest percent, so they won't
necessarily add up to 100.

default: 41% -> 40% (-1%)
foolish: 19% -> 16% (-3%)
mad: 19% -> 16% (-3%)
classic: 11% -> 8% (-3%)
lycan: 3% -> 2% (-1%)
aleatoire: 8% -> 8% (0%)
alpha: n/a -> 10%
2014-12-26 01:07:27 -06:00
skizzerz
9b61dde15e Add 2 new roles: doctor and alpha wolf
Doctor is on the village team, and has a number of immunizations they
can give out during the day. An immunized lycan reverts a normal
villager, and anyone that is immunized will die instead of turning into
a wolf if they are bitten by the alpha wolf. Beware, however, because
attempting to immunize someone already bitten will simply speed up the
process of them becoming a wolf!

Alpha wolf has a once-per-game ability where they can bite the wolves'
target instead of killing them following the death of a werewolf during
the day. The bitten person will subsequently turn into a wolf in 3
nights.
2014-12-26 01:06:17 -06:00
jacob1
a6a87c2dde add villager and cultist to the amnesiac blacklist 2014-12-19 10:29:07 -05:00
jacob1
92a7697584 order !pstats and !stats using var.role_order() 2014-12-18 13:26:20 -05:00
Ryan Schmidt
a960696e6e Merge pull request #95 from kernelpanic3/dyn-quit
Dynamic quit messages, take 2
2014-12-17 20:27:38 -06:00
jacob1
0a48c3ced4 end of game role list shows role swaps / is ordered mostly alphabetically
TODO: also order !stats, !pstats, others; and maybe show villagers in end of game list
2014-12-17 18:12:13 -05:00
Ominous
5c57c62be3 Make dynquit during game configurable, per woffle 2014-12-14 23:34:15 -05:00
Ominous
3294c01b49 Avert convention rot per woffle 2014-12-13 19:27:09 -05:00
nyuszika7h
63d4ac6e05 Don't mark services away in settings/wolfgame.py
This can be done in botconfig.py now.
2014-12-13 20:58:55 +01:00
Vgr E.Barry
3aa54cf565 Add an automatic mode toggling. 2014-12-13 14:23:56 -05:00
Janik Kleinhoff
e9c8768b31 settings/wolfgame.py: fix typo (I blame Vgr) 2014-12-12 18:50:31 +00: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
906e181f16 Dynamic, random quit messages 2014-12-08 23:22:32 -05:00
Janik Kleinhoff
6dfce11865 Player totals: sum up totals for different capitalizations 2014-12-08 21:12:40 +00: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
7ad48ee412 Always initialize opt-in ping list
If OPT_IN_PING is enabled via botconfig.py, OPT_IN_PING isn't set to
True at the time we set up tables as necessary, so people using !in will
make the bot run into the lack of table and crash.

We already do this with the away list even if we're going to use opt-in
ping, so this shouldn't cause any issues.
2014-12-08 13:01:12 +00:00
Vgr E.Barry
f43dba4a3f Fix some specific PM commands not working. 2014-12-07 16:33:39 -05:00
Vgr E.Barry
3192052add Allow admins and owners tracking via account. 2014-12-06 15:43:34 -05:00
jacob1
47f3b0e4d3 fix fool wins with lover setting, adjust lots of numbers 2014-11-30 17:27:27 -05: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
c964b556de update aleatoire roleset with description + likelihood 2014-11-28 16:29:37 -05:00
jacob1
857a9be355 balance adjustments to mad roleset 2014-11-28 16:25:42 -05:00
jacob1
185e750a0f fix !fgame roles to set MAX_PLAYERS to 35 (maybe useful for testing / huge games) 2014-11-28 16:25:42 -05:00
jacob1
a33e8cecd8 give the new rolesets real names 2014-11-28 16:25:42 -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
0708ace615 new test/unbalanced rolesets: drunkfire, lycan, something, potato 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
kernelpanic3
90dbbbe23e Fix comments 2014-11-28 01:55:58 -05:00
kernelpanic3
643dab58d0 More sensible and elegant name 2014-11-28 01:54:26 -05:00
skizzerz
21904cd33a Disable evilvillage since it's broken, and add a new roleset designed by Metacity 2014-11-28 00:47:48 -06:00
skizzerz
9ecd1075be 2 wolves instead of just 1, also make sure that hidden amnesiac is off (is by default, but just in case it gets changed) 2014-11-05 22:48:03 -06:00
skizzerz
7ad7580817 Add amnesia gamemode 2014-11-05 21:45:15 -06:00
jacob1
9f979439ea minor !fdeny change
to please the woffle god
2014-11-03 20:13:28 -05:00
jacob1
85675dedc6 remove ALLOW / DENY from botconfig 2014-11-03 13:44: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
Janik Kleinhoff
e16ed28787 settings/wolfgame.py: raise WAIT_AFTER_JOIN to 25 2014-11-02 04:15:21 +01:00
Ryan Schmidt
8a64f73715 Fix error in list_players
If a list of roles is passed to list_players, the function breaks if there aren't any alive players with that role and emits a stacktrace. Unsure of what this actually affects, but I saw it in the console a bunch of times.
2014-10-31 22:57:43 -05: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
skizzerz
3620b05a96 Make mad scientist skip over dead players once the game size gets to 16p, number chosen arbitrarily. 2014-09-15 22:08:32 -05:00
Janik Kleinhoff
b8c2f6d841 Warn idlers a second time in PM 2014-09-12 14:59:03 +02: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
Janik Kleinhoff
41b8740eb1 Make stasis persist through restarts by saving it in the DB
Fixes lykoss/lykos#28.
2014-09-04 01:45:54 +02:00
Janik Kleinhoff
ff8912e8a3 Revert "Avoid having the village 'mourn' a wolfteam or monster death."
As it turns out, this has further implications that ought to be resolved
before making this part of the bot.
2014-08-29 20:49:39 +02:00
Janik Kleinhoff
dff9ec1e52 Avoid having the village 'mourn' a wolfteam or monster death. 2014-08-29 06:58:10 +02:00
Janik Kleinhoff
eb1387b7c2 Add a !notice toggle separate from !simple.
!simple used to determine whether you were given simple instructions
*and* whether the bot NOTICEs you; now, it only controls the former and
!notice controls the latter.
2014-08-29 04:12:35 +02:00