Commit Graph

151 Commits

Author SHA1 Message Date
Yizhe Shen
04d2702f36 Added get_player_totals(). Some code cleanup.
If the "player" or "mystats" command is called without a role,
then the bot will now list the total games that the player has
played in each role.
2014-02-13 21:59:52 -05:00
Yizhe Shen
04a4f00f80 Added check for abnormal game stop before updating game stats. 2014-02-13 19:05:39 -05:00
Yizhe Shen
32fa38a6c9 Refactored some stats code.
Made update_roles_stats() and update_game_stats() a bit cleaner.
2014-02-13 18:05:59 -05:00
Yizhe Shen
ab1731d93c Removed redundant check in "myrole" command. 2014-02-12 18:53:22 -05:00
Yizhe Shen
e7dad23525 Added check for gun/bullets for "myrole" command.
Adds additional notification of gun/bullets if the player has them.
Minor change in the way messages are sent out for "myrole" command.
2014-02-12 18:53:20 -05:00
Yizhe Shen
609490e87b Added "myrole" command.
A command to remind players of their role during games.
2014-02-12 18:53:19 -05:00
Yizhe Shen
79b870499b Added additional limits for "gamestats" parameters.
Added check to make sure the parameter is an integer between 4 and
var.MAX_PLAYERS.
2014-02-10 23:46:24 -05:00
Yizhe Shen
977112826f Updated stats text. Player stats command checks for account.
Updated game text for stats commands. Fixed error with "mystats" help
string. Added additional check in player stats commands to find the
associated account before attempting to retrieve stats.
2014-02-10 19:01:11 -05:00
Yizhe Shen
829fd260e2 Changed behaviour of "gamestats" command.
"gamestats" without a parameter will list game totals for all game
sizes. The role parameter for player stats commands is now case
insensitive.
2014-02-10 19:01:09 -05:00
Yizhe Shen
a12128b486 Fix for multi-word roles.
Also added help definition for "mystats" command.
2014-02-10 19:01:08 -05:00
Yizhe Shen
cbae0291f8 Added game stats to database and "gamestats" command.
Added a game stats table to game DB to store wolf/village wins for
each game size. Added "gamestats" command to display stored stats.
2014-02-10 19:01:07 -05:00
Yizhe Shen
1994e7330f Added commands to access player stats.
Loosely based on code from jcao219. New commands are "player", "p", "mystats", "me". The commands access existing stats stored in the game database (data.sqlite3).
2014-02-10 19:01:06 -05:00
Yizhe Shen
2b57abc1fb Added an option for hidden traitor.
Added the option in ./modules/wolfgame.py. When activated, if traitor dies before turning, he will only be revealed as a villager.
Also, when "stats" command is used, traitor will be counted as a villager. By default, it is set to True.
2014-02-09 14:17:01 -05:00
nyuszika7h
2ac60b47fb Fix previous commit. 2014-02-09 12:24:57 +01:00
nyuszika7h
a406485319 Prevent detective from IDing themselves. Closes #18. 2014-02-09 11:33:45 +01:00
jacob1
193387bb0f Shooting a werecrow tells you it was one.
Also some other small changes.
2014-02-07 23:57:57 -05:00
nyuszika7h
781317785d Merge branch 'master' of git://github.com/xnrand/seerwolf 2014-02-01 19:36:19 +01:00
nyuszika7h
6e2d7f3d49 Slightly change message when last player leaves 2014-02-01 19:36:00 +01:00
xnrand
92cd0f5f34 implement extra wait time for !join
i.e. it makes sure that there are at least X seconds of wait time left after a !join.

Feb01[18:03:40] +Zazie_Lavender | I think there should be an enforced 10 to 20 second wait after last !join
2014-02-01 19:30:50 +01:00
jacob1
4c213e077b Fix bug where game might end early when multiple people are killed at night 2014-01-02 19:18:16 -05:00
xnrand
113064ac45 new image 2013-12-22 01:38:28 +01:00
nyuszika7h
77be645d9c Limit wolf gunner to 1 bullet
It's sometimes too easy to win for wolves, even with 2 bullets.
2013-11-10 22:20:24 +01:00
nyuszika7h
29f210b394 Fix !pony working when you're not playing 2013-11-10 22:03:49 +01:00
xnrand
f95abc7303 Improvements to the random pictures announcing on kill
Added a new picture, you will like this one.
Changed that one .jpg URL that actually pointed to a .gif file to .jpg.
Changed picking algorithm to have fixed chances even when adding new pictures. Uses random.choice().
We don't want to have these pictures quite as often. We once had a 1/100 chance. To balance things out a bit, a 1/50 chance should do.
2013-11-10 20:09:08 +01:00
Kyle Fahringer
d34207dc67 add three more pictures
wolfbot needs more gif
2013-11-10 13:46:06 -05:00
nyuszika7h
da0681b90d Show admins which are !away in !admins 2013-11-06 22:39:32 +01:00
xnrand
9765c276c6 Fix fatal typo 2013-11-03 11:52:14 +01:00
nyuszika7h
180d36851e Allow using !stats in PM 2013-10-16 22:34:28 +02:00
nyuszika7h
dcb7016b2f Prevent seer from seeing themselves 2013-10-01 22:21:50 +02:00
nyuszika7h
ab2048d5ef Merge branch 'fix-werecrow' 2013-09-18 20:20:49 +02:00
nyuszika7h
55cc34df3f Fix werecrow dying when wolf is shot dead at night
Previously, if a wolf was shot dead at night, any werecrows that have
observed were removed from the game without announcement, although they
would remain voiced.

For those who are curious, this is because lists are copied by reference
on assignment in Python; any changes made on the variable you assigned
the list to will be reflected in the original list. This can be avoided
by making a shallow copy of the list using `list(x)` or `x[:]`.
2013-09-18 20:14:52 +02:00
nyuszika7h
b329fb823e Fix flashback dog 2013-09-13 15:32:37 +02:00
nyuszika7h
6117444de8 Merge branch 'fix-wolfrelay-actions' 2013-09-12 16:37:17 +02:00
nyuszika7h
ff0078e9ec Bold nick for actions in wolf relay
Without this fix, a wolf team member could '/nick Someone' and leave a
fake detective paper, which is indistinguishable from a real one.
2013-09-12 16:36:24 +02:00
aLaserShark
44da66a50e super secure flashback dog 2013-09-11 10:18:58 -04:00
aLaserShark
3566dd5886 import random 2013-09-11 10:13:19 -04:00
aLaserShark
3066870932 pointless flashback dog
http://i.imgur.com/nO8rZ.gif
has a 1/100 chance of appearing every time someone is killed
2013-09-11 10:11:28 -04:00
nyuszika7h
97a8abff45 Revert "Prevent visited harlot from being killed"
This reverts commit f49e7371b8.

Thinking about it, the old behavior actually makes sense. X visits Y,
and Y visits X. When wolf targets X, they find Y, and vice versa.
2013-09-05 21:44:08 +02:00
nyuszika7h
b96c98b01d Add !pony command 2013-08-29 23:23:38 +02:00
nyuszika7h
a8ed5bd3c4 Re-add coin landing on side/bot 2013-08-29 23:20:24 +02:00
nyuszika7h
b5c83eaf42 Allow negative value in !fwait
This is a quite hacky way, and although in my tests, it does not crash
the bot, it might be possible, and there might be a better way to do
this.
2013-08-26 17:52:32 +02:00
nyuszika7h
f49e7371b8 Prevent visited harlot from being killed
At 12 players, there are two harlots, and they can visit each other.
This is intended to make both of them invincible, but the actual
behavior was that the one visiting the victim would die.
2013-08-26 16:30:28 +02:00
Robert Wall
ed62cbbfc9 Change branch condition for checking if night is over, fixes #17
chk_nightdone used to check whether the number of people seen equals
the number of seers (and the same for harlot, etc.). This means night
times out if the seer (etc.) leaves after seeing but before night is
otherwise ended. This commit changes equals to >=, and swaps around the
wolf part of that condition so that it matches the other parts.
2013-07-15 19:37:10 -07:00
Robert Wall
1487256f09 Oops, I fail at paying attention. Fixing last commit. 2013-07-13 21:06:30 -07:00
Robert Wall
a1b948a93a Merge branch 'master' of github.com:LycanthropeTheGreat/lycanthrope 2013-07-13 21:02:53 -07:00
Robert Wall
58ce84235f Move various in-channel messages to user notices
This commit moves the !votes and !stats rate limit warnings to user
notices intead of in-channel messages, to be consistent with the other
rate limit warnings and because those messages are usually just
pointless noise. It also moves the CARE_BOLD and CARE_COLOR messages
to user notices, because they're spammy and annoying and just make
things worse when they're in-channel.
2013-07-13 20:58:19 -07:00
Melissa Draper
7f8d5286b3 Exclude illegal_joins (stasised people) from the !ping list.
Pinging people who are in stasis to join games is both futile and
inflammatory. Closes issue #16
2013-07-14 10:29:35 +12:00
Robert Wall
ecd62cf0ef Simplify stasis logic for people who leave the channel.
Instead of setting make_stasis as soon as they leave, then setting it
again with a negative number if they rejoin, we can just set it when
they actually reach the timer and are killed. We were actually doing
*both* up to now (which was probably what was causing the double stasis
mentioned in issue #8), so I just removed the make_stasis calls when
people leave and come back, and kept the one when they get killed.
2013-07-12 20:59:59 -07:00
Robert Wall
cca373904d Check whether night is done after werecrow !observes. Closes #9 2013-07-12 20:48:34 -07:00
Robert Wall
77e09e1f03 Make traitor an invalid target for !kill. Closes #14 2013-07-12 20:26:40 -07:00