From f7f8b7687e4b0fd6855bb634420e585d91949bdd Mon Sep 17 00:00:00 2001 From: jacob1 Date: Sat, 28 Feb 2015 01:27:13 -0500 Subject: [PATCH] balance adjustments to several game modes lycan: was totally imbalanced so added another traitor at 8, moved wolf(2) from 9 to 10, and moved GA from 10 to 11 mad: minor change, gunner always has 1 bullet now (2 bullet gunner was unfair in 9p, also this means gunner is less safe now) alpha: now starts at 7p since less than 7p games are the same as default classic: disable abstaining, classic never had abstaining --- settings/wolfgame.py | 63 +++++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/settings/wolfgame.py b/settings/wolfgame.py index 64ce8a9..b73fb60 100644 --- a/settings/wolfgame.py +++ b/settings/wolfgame.py @@ -477,6 +477,8 @@ class FoolishMode(object): class MadMode(object): """This game mode has mad scientist and many things that may kill you.""" def __init__(self): + self.SHOTS_MULTIPLIER = 0.0001 # gunner and sharpshooter always get 0 bullets + self.SHARPSHOOTER_MULTIPLIER = 0.0001 self.ROLE_INDEX = ( 7 , 8 , 10 , 12 , 14 , 15 , 17 , 18 , 20 ) self.ROLE_GUIDE = reset_roles(self.ROLE_INDEX) self.ROLE_GUIDE.update({# village roles @@ -529,6 +531,7 @@ class EvilVillageMode(object): class ClassicMode(object): """Classic game mode from before all the changes.""" def __init__(self): + self.ABSTAIN_ENABLED = False self.ROLE_INDEX = ( 4 , 6 , 8 , 10 , 12 , 15 , 17 , 18 , 20 ) self.ROLE_GUIDE = reset_roles(self.ROLE_INDEX) self.ROLE_GUIDE.update({# village roles @@ -640,25 +643,25 @@ class NoRevealMode(object): class LycanMode(object): """Many lycans will turn into wolves. Hunt them down before the wolves overpower the village.""" def __init__(self): - self.ROLE_INDEX = ( 7 , 9 , 10 , 12 , 15 , 17 , 20 ) + self.ROLE_INDEX = ( 7 , 8 , 9 , 10 , 11 , 12 , 15 , 17 , 20 ) self.ROLE_GUIDE = reset_roles(self.ROLE_INDEX) self.ROLE_GUIDE.update({# village roles - "seer" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 ), - "guardian angel" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 ), - "detective" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 ), - "matchmaker" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 ), - "hunter" : ( 1 , 1 , 2 , 2 , 2 , 2 , 2 ), + "seer" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), + "guardian angel" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 ), + "detective" : ( 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 ), + "matchmaker" : ( 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 ), + "hunter" : ( 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 ), # wolf roles - "wolf" : ( 1 , 2 , 2 , 2 , 2 , 2 , 2 ), - "traitor" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 ), + "wolf" : ( 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 ), + "traitor" : ( 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), # neutral roles - "clone" : ( 0 , 1 , 1 , 1 , 1 , 2 , 2 ), - "lycan" : ( 1 , 2 , 2 , 3 , 4 , 4 , 5 ), + "clone" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 , 2 , 2 ), + "lycan" : ( 1 , 1 , 2 , 2 , 2 , 3 , 4 , 4 , 5 ), # templates - "cursed villager" : ( 1 , 1 , 1 , 2 , 2 , 2 , 2 ), - "gunner" : ( 0 , 0 , 0 , 0 , 0 , 1 , 1 ), - "sharpshooter" : ( 0 , 0 , 0 , 0 , 0 , 1 , 1 ), - "mayor" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 ), + "cursed villager" : ( 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 ), + "gunner" : ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 ), + "sharpshooter" : ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 ), + "mayor" : ( 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 ), }) @game_mode("amnesia", minp = 10, maxp = 24, likelihood = 0) @@ -740,31 +743,31 @@ class AleatoireMode(object): "mayor" : ( 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 ), }) -@game_mode("alpha", minp = 4, maxp = 24, likelihood = 5) +@game_mode("alpha", minp = 7, maxp = 24, likelihood = 5) class AlphaMode(object): """Features the alpha wolf who can turn other people into wolves, be careful whom you trust!""" def __init__(self): - self.ROLE_INDEX = ( 4 , 6 , 7 , 8 , 10 , 11 , 12 , 14 , 15 , 17 , 18 , 20 , 21 , 24 ) + self.ROLE_INDEX = ( 7 , 8 , 10 , 11 , 12 , 14 , 15 , 17 , 18 , 20 , 21 , 24 ) self.ROLE_GUIDE = reset_roles(self.ROLE_INDEX) self.ROLE_GUIDE.update({ #village roles - "oracle" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), - "matchmaker" : ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), - "village drunk" : ( 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), - "guardian angel" : ( 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), - "doctor" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), - "harlot" : ( 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), - "augur" : ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 ), + "oracle" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), + "matchmaker" : ( 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), + "village drunk" : ( 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), + "guardian angel" : ( 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), + "doctor" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), + "harlot" : ( 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), + "augur" : ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 ), # wolf roles - "wolf" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 3 , 3 , 4 , 5 ), - "alpha wolf" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), - "traitor" : ( 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), - "werecrow" : ( 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), + "wolf" : ( 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 3 , 3 , 4 , 5 ), + "alpha wolf" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), + "traitor" : ( 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), + "werecrow" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ), # neutral roles - "lycan" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 ), - "clone" : ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 ), + "lycan" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 ), + "clone" : ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 ), # templates - "cursed villager" : ( 0 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 4 ), + "cursed villager" : ( 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 4 ), })