Commit Graph

1527 Commits

Author SHA1 Message Date
nyuszika7h
66fe0ec167 Fix typo that broke everything 2015-07-20 15:58:34 +02:00
skizzerz
93345c990d Make DISABLE_ACCOUNTS actually disable account-related stuff.
Right now the only thing that still tracks accounts if DISABLE_ACCOUNTS
is True is stats stuff (in sqlite), as I'm unsure of how we want to
handle that for when accounts aren't enabled; likely track by nick but
unsure on that right now.

This further implements issue #112 but doesn't fix it entirely yet.
2015-07-19 14:37:17 -05:00
nyuszika7h
40a7337ee8 Remove redundant calls to set() in previous commit 2015-07-19 21:24:55 +02:00
nyuszika7h
66a8826eb1 Reuse same code for is_admin/is_owner 2015-07-19 21:22:38 +02:00
nyuszika7h
c13e3087d6 Clean up botconfig.py.example 2015-07-19 21:22:37 +02:00
skizzerz
99e4a49fe6 Also deduct min lycans if it is possible alpha turn with GAs around 2015-07-19 04:02:57 -05:00
skizzerz
7ad4098aed Fix idlers breaking stats 2015-07-17 13:15:52 -05:00
nyuszika7h
efcb60e4f5 Merge pull request #152 from lykoss/stats_overhaul
!stats Overhaul
2015-07-17 18:42:57 +02:00
skizzerz
116653432b !stats Overhaul
Decoupled ROLE_REVEAL from impacting !stats, added new STATS_TYPE.

ROLE_REVEAL is now a string:
- on = roles revealed on death
- off = roles not revealed on death
- team = user's team revealed on death but not their role

STATS_TYPE is also a string:
- default = stats are calculated as if a villager or nonplayer was
  manually tracking who was what; this leads to !stats not revealing
  any information that is not publicly known
- accurate = what it used to be with a couple modifications; all roles
  are shown (VG and time lord are no longer lumped with villager),
  alpha wolf and lycans turning are hidden, nothing else is hidden
  (so you can see what amnesiac turned into or when clone turns)
- team = only shows number of people on each team, calculated the same
  way as accurate
- disabled = stats are disabled, doing !stats only serves as a mass-ping
  of alive players

Removed random_reveal/random_noreveal hack
- !fgame random=role reveal:on|off does the same thing as the hack used
  to do.

Allow all game modes to take arguments (aka the blah in roles=blah).
- Allowed arguments are "role reveal" (on/off/team), "stats type"
  (default/accurate/team/disabled), and "abstain"
  (enabled/restricted/disabled).
- roles obviously still allows for taking individual roles as arguments
  as well as specifying a default role, however this functionality is
  not available for any other gamemode.
- if any custom options are set as a result of this or changing them in
  game mode constructors, players will be informed of which options are
  in play.

Performing !frole will force STATS_TYPE from default to accurate, this
is done because the default logic is based not on what roles are
currently in existence, but rather what roles the game was started with
and what transformations could have applied to them. !frole throws a
complete monkey wrench in that to the point where it is impossible to
nicely recover.

Clone and Traitor are now unconditionally blacklisted for amnesiac, as
the additional logic to support them in default !stats is incredibly
complex and as such was not done for this PR.

Matchmaker is conditionally blacklisted for amnesiac if amnesiacs turn
after the first night. It is an allowed choice (unless it appears on the
config blacklist) if amnesiacs turn night 1.
2015-07-17 18:42:07 +02:00
nyuszika7h
ccc1bb68ec Fix "currently not" -> "not currently"
Both are correct; this is just for consistency.
2015-07-17 09:47:14 +02:00
jacob1
90a02de767 remove 'curse <self>' pass alias for warlock 2015-07-16 22:31:45 -04:00
jacob1
680e24dd8b allow warlock and piper to use !pass (they can later decide to use their powers) 2015-07-16 22:26:12 -04:00
jacob1
e9fa4a0293 fix var.LASTGIVEN with silenced shamans 2015-07-16 20:32:30 -04:00
jacob1
b08849b14f if there are multiple pipers ('random' games), tell the other pipers who is being charmed 2015-07-16 19:46:30 -04:00
jacob1
bbfa5331e4 silenced shamans no longer randomly give out totem at end of night 2015-07-16 19:25:38 -04:00
jacob1
bd4b89ef01 delay PMing charmed players until daytime 2015-07-16 19:07:58 -04:00
skizzerz
75d55ab461 Make non-simple message to turncoats more clear if they don't have a side 2015-07-15 21:00:15 -05:00
nyuszika7h
2f3f4b17ea Add support for stasising wildcard hostmasks 2015-07-15 20:15:39 +02:00
skizzerz
3b5a72f3d8 Add missing space 2015-07-15 12:32:26 -05:00
nyuszika7h
9a0c96eab0 Fix comment in mad game mode 2015-07-15 18:18:09 +02:00
skizzerz
d4f786200b Fix turncoat handling for amnesiacs and clones 2015-07-14 22:45:53 -05:00
skizzerz
c0575bd460 Add turncoat role
Turncoats initially start off village-aligned, but can change which team
they're on by using the !side command. Turncoats cannot change sides two
nights in a row, and can use !pass if they don't wish to change sides on
any given night.

Seers and detectives see turncoats as turncoats, augurs see them as
having a grey aura. I was initially toying with det and augur seeing
them as their currently-chosen side and for mystics of the opposite team
to detect them, but since they can flip-flop an unlimited number of
times a night that info would be useless at best and misleading at
worst.
2015-07-14 22:20:53 -05:00
skizzerz
0286a55e6b Add 'r' as an alias for 'retract' 2015-07-13 21:10:48 -05:00
jacob1
37c52337e6 fix !revealroles error 2015-07-13 12:08:13 -04:00
jacob1
4a1c10b697 allow shaman to change targets during the night
totem vars get set in transition_day
2015-07-12 19:42:53 -04:00
skizzerz
adddbe70ff Properly fix error when shaman idles (obsolotes f72a9c3) 2015-07-12 11:46:46 -05:00
nyuszika7h
21d3a8aa68 Fix !frestart on InspIRCd 2015-07-12 16:21:52 +02:00
nyuszika7h
f72a9c37d9 Fix error when shaman idles 2015-07-12 12:57:00 +02:00
nyuszika7h
c30faf8831 Re-add "Nobody wins." when there are no players remaining
I have no idea why I removed it in the first place.
2015-07-12 10:54:07 +02:00
jacob1
e9874441fa !pstats without arguments sends a /notice instead of spamming the channel 2015-07-12 01:42:02 -04:00
jacob1
8e78068a6c small keyword argument change please ignore 2015-07-12 01:42:01 -04:00
skizzerz
25f1bd0ee0 Allow hunters, bodyguards, and GAs to use pass. Guarding self is no longer an alias for passing as bodyguard. 2015-07-12 00:39:45 -05:00
skizzerz
3c8979295b Force matchmaker selection if they didn't pick. matchmaker is not told who is matched in this instance 2015-07-12 00:39:45 -05:00
jacob1
e1832def6e remove some code duplication: call chk_win when fool is lynched 2015-07-12 01:26:36 -04:00
jacob1
cca871262a fix for broken nick tracking in join phase if you get removed due to a Guest/away nick 2015-07-12 00:57:27 -04:00
jacob1
1af572f12a shuffle villager list before pming them the roles
prevents you from knowing if you are a hidden role based on the timing of the message
2015-07-12 00:02:25 -04:00
jacob1
e6ed567364 call the chk_win event when fool is lynched
useful for some 'creative' game modes and should be called anyway
2015-07-11 22:34:40 -04:00
nyuszika7h
051aff9476 fgame: Don't restrict what the default role can be
If it breaks, you get to keep the pieces. ;)
2015-07-11 23:51:38 +02:00
skizzerz
50752ccb5c Remove unused variable 2015-07-11 13:49:56 -05:00
skizzerz
8299a2ee91 Force shaman to act at night 2015-07-11 13:43:50 -05:00
skizzerz
ee2a4ef2cf Fix protection not working against assassin sometimes 2015-07-11 12:16:50 -05:00
nyuszika7h
130a859458 Actually fix restarting on excess flood 2015-07-10 00:07:10 +02:00
nyuszika7h
3649c82174 Fix auto-restart on excess flood 2015-07-09 23:55:04 +02:00
skizzerz
4e6b7ad372 Make !time report remaining wait time during join phase 2015-07-07 13:04:25 -05:00
skizzerz
627da811f8 Make fallen angel kill ALL of the protectors, not just the one that would have taken effect 2015-07-06 13:38:59 -05:00
skizzerz
51d747e7d1 Instantly end night if nobody can act during it 2015-07-06 13:38:59 -05:00
nyuszika7h
8d528bf047 Remove !fghost and !funghost
These commands are completely useless, they just confuse people. I just
had someone ask me whether it would bring them back to the game, with
their role and everything. If an op wants to talk in the middle of the
game, there are other ways to do that. This isn't even being used
anymore.
2015-07-06 20:12:01 +02:00
nyuszika7h
751a284f6d Properly remove stasis on !fjoin
Previously, stasis would be removed locally but not from the database.
2015-07-05 00:23:35 +02:00
nyuszika7h
7f0623b4b0 Add partial role reveal
Roles are revealed upon death, but not shown in !stats.

This will be used for the random game mode with a 50% chance.
The variant used is displayed when the game is started, and
admins can force a specific variant with !fgame.

Also, ignore conceal_roles in !stats, because partial role reveal
handles that now.
2015-07-04 23:57:07 +02:00
skizzerz
649649a355 Fix hunter turning into some other nightrole prematurely ending night on occasion 2015-07-02 17:00:31 -05:00