new test/unbalanced rolesets: drunkfire, lycan, something, potato
This commit is contained in:
parent
d174fc4d89
commit
0708ace615
@ -345,9 +345,65 @@ class DefaultMode(object):
|
|||||||
# No extra settings, just an explicit way to revert to default settings
|
# No extra settings, just an explicit way to revert to default settings
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@game_mode("something", 7, 24, 3)
|
||||||
|
class SomeMode(object):
|
||||||
|
"""Some roleset."""
|
||||||
|
def __init__(self):
|
||||||
|
self.ROLE_INDEX = ( 8 , 10 , 11 , 12 , 15 , 17 , 20 , 21 , 22 , 24 )
|
||||||
|
self.ROLE_GUIDE = reset_roles(self.ROLE_INDEX)
|
||||||
|
self.ROLE_GUIDE.update({# village roles
|
||||||
|
"seer" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"harlot" : ( 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 ),
|
||||||
|
"bodyguard" : ( 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 ),
|
||||||
|
"augur" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"hunter" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"shaman" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
# wolf roles
|
||||||
|
"wolf" : ( 1 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 4 ),
|
||||||
|
"traitor" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 ),
|
||||||
|
"wolf cub" : ( 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"sorcerer" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
# neutral roles
|
||||||
|
"clone" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"fool" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
# templates
|
||||||
|
"cursed villager" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"gunner" : ( 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 2 , 2 ),
|
||||||
|
"sharpshooter" : ( 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"mayor" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
})
|
||||||
|
|
||||||
# evilvillage is broken, disable for now
|
@game_mode("potato", 7, 22, 3)
|
||||||
#@game_mode("evilvillage", 6, 18)
|
class SomeMode2(object):
|
||||||
|
"""Some roleset."""
|
||||||
|
def __init__(self):
|
||||||
|
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
|
||||||
|
"oracle" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"mad scientist" : ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"detective" : ( 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"guardian angel" : ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ),
|
||||||
|
"matchmaker" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"harlot" : ( 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 ),
|
||||||
|
"village drunk" : ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 ),
|
||||||
|
# wolf roles
|
||||||
|
"wolf" : ( 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 ),
|
||||||
|
"traitor" : ( 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"werecrow" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"wolf cub" : ( 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 2 ),
|
||||||
|
"cultist" : ( 1 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
# neutral roles
|
||||||
|
"vengeful ghost" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"jester" : ( 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 ),
|
||||||
|
# templates
|
||||||
|
"cursed villager" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"gunner" : ( 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"sharpshooter" : ( 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"assassin" : ( 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 ),
|
||||||
|
})
|
||||||
|
|
||||||
|
@game_mode("evilvillage", 6, 18)
|
||||||
class EvilVillageMode(object):
|
class EvilVillageMode(object):
|
||||||
"""Majority of the village is wolf aligned, safes must secretly try to kill the wolves."""
|
"""Majority of the village is wolf aligned, safes must secretly try to kill the wolves."""
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -421,9 +477,40 @@ class RapidFireMode(object):
|
|||||||
"sharpshooter" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 ),
|
"sharpshooter" : ( 0 , 0 , 1 , 1 , 1 , 1 , 1 ),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@game_mode("drunkfire", 8, 17, 1)
|
||||||
|
class DrunkFireMode(object):
|
||||||
|
"""Most players get a gun, quickly shoot all the wolves!"""
|
||||||
|
def __init__(self):
|
||||||
|
self.SHARPSHOOTER_CHANCE = 1
|
||||||
|
self.DAY_TIME_LIMIT = 480
|
||||||
|
self.DAY_TIME_WARN = 360
|
||||||
|
self.SHORT_DAY_LIMIT = 240
|
||||||
|
self.SHORT_DAY_WARN = 180
|
||||||
|
self.NIGHT_TIME_LIMIT = 60
|
||||||
|
self.NIGHT_TIME_WARN = 40 # HIT MISS SUICIDE HEADSHOT
|
||||||
|
self.GUN_CHANCES = ( 3/7 , 3/7 , 1/7 , 4/5 )
|
||||||
|
self.WOLF_GUN_CHANCES = ( 4/7 , 3/7 , 0/7 , 1 )
|
||||||
|
self.ROLE_INDEX = ( 8 , 10 , 12 , 14 , 16 )
|
||||||
|
self.ROLE_GUIDE = reset_roles(self.ROLE_INDEX)
|
||||||
|
self.ROLE_GUIDE.update({# village roles
|
||||||
|
"seer" : ( 1 , 1 , 1 , 2 , 2 ),
|
||||||
|
"village drunk" : ( 2 , 3 , 4 , 4 , 5 ),
|
||||||
|
# wolf roles
|
||||||
|
"wolf" : ( 1 , 2 , 2 , 3 , 3 ),
|
||||||
|
"traitor" : ( 1 , 1 , 1 , 1 , 2 ),
|
||||||
|
"hag" : ( 0 , 0 , 1 , 1 , 1 ),
|
||||||
|
# neutral roles
|
||||||
|
"crazed shaman" : ( 0 , 0 , 1 , 1 , 1 ),
|
||||||
|
# templates
|
||||||
|
"cursed villager" : ( 1 , 1 , 1 , 1 , 1 ),
|
||||||
|
"assassin" : ( 0 , 0 , 0 , 1 , 1 ),
|
||||||
|
"gunner" : ( 5 , 6 , 7 , 8 , 9 ),
|
||||||
|
"sharpshooter" : ( 2 , 2 , 3 , 3 , 4 ),
|
||||||
|
})
|
||||||
|
|
||||||
@game_mode("noreveal", 4, 21, 2)
|
@game_mode("noreveal", 4, 21, 2)
|
||||||
class NoRevealMode(object):
|
class NoRevealMode(object):
|
||||||
"""Roles are not normally revealed when players are lynched or die."""
|
"""Roles are not revealed when players die."""
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.ROLE_REVEAL = False
|
self.ROLE_REVEAL = False
|
||||||
self.ROLE_INDEX = ( 4 , 6 , 8 , 10 , 12 , 15 , 17 , 19 )
|
self.ROLE_INDEX = ( 4 , 6 , 8 , 10 , 12 , 15 , 17 , 19 )
|
||||||
@ -449,13 +536,38 @@ class NoRevealMode(object):
|
|||||||
"cursed villager" : ( 0 , 1 , 1 , 1 , 1 , 1 , 2 , 2 ),
|
"cursed villager" : ( 0 , 1 , 1 , 1 , 1 , 1 , 2 , 2 ),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@game_mode("lycan", 7, 21, 2)
|
||||||
|
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_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 ),
|
||||||
|
# wolf roles
|
||||||
|
"wolf" : ( 1 , 2 , 2 , 2 , 2 , 2 , 2 ),
|
||||||
|
"traitor" : ( 0 , 0 , 0 , 0 , 1 , 1 , 1 ),
|
||||||
|
# neutral roles
|
||||||
|
"clone" : ( 0 , 1 , 1 , 1 , 1 , 2 , 2 ),
|
||||||
|
"lycan" : ( 1 , 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 ),
|
||||||
|
})
|
||||||
|
|
||||||
@game_mode("amnesia", 10, 24)
|
@game_mode("amnesia", 10, 24)
|
||||||
class AmnesiaMode(object):
|
class AmnesiaMode(object):
|
||||||
"""Everyone gets assigned a random role on night 3."""
|
"""Everyone gets assigned a random role on night 3."""
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.DEFAULT_ROLE = "cultist"
|
self.DEFAULT_ROLE = "cultist"
|
||||||
self.HIDDEN_AMNESIAC = False
|
self.HIDDEN_AMNESIAC = False
|
||||||
self.ROLE_INDEX = range(self.MIN_PLAYERS, self.MAX_PLAYERS + 1)
|
self.ROLE_INDEX = range(10, 25)
|
||||||
self.ROLE_GUIDE = reset_roles(self.ROLE_INDEX)
|
self.ROLE_GUIDE = reset_roles(self.ROLE_INDEX)
|
||||||
self.ROLE_GUIDE.update({
|
self.ROLE_GUIDE.update({
|
||||||
"wolf" : [2 for i in self.ROLE_INDEX],
|
"wolf" : [2 for i in self.ROLE_INDEX],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user