Commit Graph

159 Commits

Author SHA1 Message Date
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
skizzerz
b82cc92997 Add option for mad scientist to skip over dead players, based on how many players joined the game 2014-08-22 01:03:50 -05:00
Ryan Schmidt
6e2cae8e6b Remove jester from default role set
The inclusion of jester was causing a disproportionately high number of wolf wins due to wolves voting jester as a strategy in order to bring numbers to even. Per discussion in -ops, it was decided that removing jester would be good in order to prevent this (an alternative option being reducing number of wolves so that the gameplay can still happen, but it requires more finesse on the wolves' part in order to utilize).
2014-08-18 19:02:23 -05:00
skizzerz
361cb0dd6e Fix typo in rapidfire where day ending warning was not shown 2014-08-17 21:45:28 -05:00
skizzerz
84b2fdc24e Improvements
- Make rapidfire more rapid by reducing timers and adding in time lord
- Correctly credit someone for a win if they die and THEN /part or /quit
  (someone that dies and is /kicked will not get a win, as that usually
  means they cheated or something.)
- Break up long messages (roles, player totals) at intelligent points.
2014-08-12 23:07:02 -05:00
skizzerz
50191bb4d3 move gunner to 10 2014-08-10 14:21:28 -05:00
skizzerz
bd2451b3b5 Redo default roles and fix bug where day timing out didn't correctly apply vote altering totems 2014-08-10 14:14:27 -05:00
Skizzerz
1627e21b8d Additional gamemodes 2014-08-08 21:25:03 -05:00
Skizzerz
8b49e1c0c8 Finish retribution totem and remove unused config var 2014-08-05 23:19:54 -05:00
Skizzerz
277c99db41 Fix exchange totem and wolf cub and other improvements 2014-08-05 21:34:46 -05:00
skizzerz
1d9b4f54e6 Various fixes plus code exchange totem. 2014-08-05 00:54:01 -05:00
Skizzerz
2d331cdcd7 Fix fool being lynched and begin shaman bonanza, most of the totems do nothing atm but it *should* theoretically work 2014-08-04 00:23:29 -05:00
Skizzerz
b47ab14632 Fix grammar on lynch messages 2014-08-03 21:26:37 -05:00
Skizzerz
4e31cc0a0f Gigantic update
1. Rewrite amnesiac: Instead of removing an existing role from the game for the first 2 days,
they now become a brand new random role. Seers, oracles, sorcerers, detectives, and revealing
totems will see through their amnesia so they can learn their actual role. Amnesiacs are neutral
until they clear up, and thus if the game ends while they are still amnesiac, they will win
alongside the default role (e.g. village if default is villagers, or wolves if default is cultists).

2. Make vengeful ghost take vengeance based on the role that killed them instead of making it based
on time of day. If they suicide due to being someone's lover, they will take vengeance on the team
that killed their lover. If they are gunner and their gun explodes, they take vengeance on the
village due to their shoddy gun construction processes.

3. Make clone always trigger even if their target idles out or !quits.

4. Make a harlot visiting victim, harlot visiting wolf, and bodyguard guarding victim able to
shoot wolves if they are also gunner, and for wolves to pick up their gun. In the event of a wolf
kill plus another non-wolf kill, the wolf kill takes precedence in the event of harlot visiting
victim and bodyguard guarding victim, and the non-wolf kill takes precedence in the event of
harlot visiting wolf (the non-wolf kill happens en-route to the wolves, and the gun disappears or
something, idk). Additionally, if the harlot visits victim or the bodyguard guards victim and the
harlot/bodyguard are also targeted by wolves, their special "died visiting/guarding victim" event
plays instead of the normal death message.

5. Change alive vengeful ghost win conditions to work like amnesiac: they win with the default
role if alive at the end of the game.

6. Minor wording fixes, such as the gunner shot wolf message with more commas than words.
Remember, every time you abuse a comma, God kills a kitten.
2014-08-03 17:04:18 -05:00
skizzerz
6920e2e20c Bugfixes: monster can no longer be mayor, and fix issue when bodyguard chooses not to guard anyone 2014-08-03 00:31:18 -05:00
skizzerz
2a0392bc42 Add back in regular lover win code that was accidentally removed, and make lover winning with fool configurable since there was a lot of pushback for the change. Still defaults to false though 2014-08-02 23:51:49 -05:00
skizzerz
137a4f2d03 Add jester role
Similar to fool, the jester wins if they are lynched. Unlike fool,
the game continues if jester is lynched and they win alongside the
normal winners.

Also change it so that a fool's lover does NOT win with fool, so
that fool/jester win mechanics are similar (since jester's lover
would die with jester). It doesn't pay to fall in love with fools!
2014-08-02 22:27:10 -05:00
skizzerz
7f269874d6 Disable amnesiac pending rewrite 2014-07-31 22:15:23 -05:00
skizzerz
b2d5d15606 Rework timers to track when they started and how long they last so \!time can be more accurate. Closes #42 2014-07-26 13:28:24 -05:00
skizzerz
0a9d5c8817 Swap what GA and bodyguard do because it makes more sense if bodyguard dies and GA doesn't 2014-07-26 12:20:47 -05:00
skizzerz
202c03d0d9 Merge branch 'master' of https://github.com/lykoss/lykos
Conflicts:
	modules/wolfgame.py
	settings/wolfgame.py
2014-07-25 08:30:53 -05:00
skizzerz
5cf86473e6 Expand the roles game mode to allow setting the default role and role reveal. Note that default role should always be either villager or cultist 2014-07-24 20:30:24 -05:00