[OLD] Open Setup Ideas and Discussion

This forum is for discussion of individual Open Setups, including theoretical balance.
Forum rules
User avatar
BBmolla
BBmolla
Open Book
User avatar
User avatar
BBmolla
Open Book
Open Book
Posts: 23833
Joined: May 29, 2011

Post Post #7300 (ISO) » Mon Sep 15, 2014 9:19 pm

Post by BBmolla »

BBmolla wrote:
Mr. And Mrs. Smith


14 Players

1 Mafia Roleblocker
1 Mafia Goon
1 Mafia Recruitable Traitor Doctor

1 Bulletproof Serial Killer

1 Town Gunsmith
1 Town Knifesmith
1 Town Vig
1 Town Doctor
6 VTs


  • Daystart
  • Gunsmith gets a positive on Mafia Roleblocker, Mafia Goon, and Vig.
  • Knifesmith gets a positive on Mafia Traitor Doctor, Doctor, and Serial Killer.
  • 1:1:1 situation results in SK victory.

BBmolla wrote:
Kill All Townies


15 Players

1 Mafia Goon
1 Mafia Godfather
1 Mafia Doctor

1 Werewolf Goon
1 Alpha Werewolf
1 Werewolf Doctor

1 Town Cop
1 Town Seer
1 Town Vig
6 VTs


  • Daystart
  • The first day there is one lynch. For the preceeding days, there is a number of lynches per day equal to amount of town that died during the night.
  • 1:1:1 situations automatically no lynch.

Can I run these in the open queue Llama?

I know the wait is like 2 years but theoretically when my turn is up can I run them
User avatar
BBmolla
BBmolla
Open Book
User avatar
User avatar
BBmolla
Open Book
Open Book
Posts: 23833
Joined: May 29, 2011

Post Post #7301 (ISO) » Mon Sep 15, 2014 9:21 pm

Post by BBmolla »

Might want to make goon a 1-shot strongman in first setup now that I'm looking at it. Roleblocker dying fucks Mafia so hard.
User avatar
wgeurts
wgeurts
Pokédex
User avatar
User avatar
wgeurts
Pokédex
Pokédex
Posts: 4596
Joined: September 15, 2014
Location: The Netherlands
Contact:

Post Post #7302 (ISO) » Tue Sep 16, 2014 12:39 am

Post by wgeurts »

Here's a setup I'm thinking of which I've made, how could I balance/improve it? It's made for 13+ People with tow more roles unlocking after 15 people is reached.
Amsterdam Mafia
:

Roles
:

Mafia
:
Framer
: Picks a night-target, that person shows up "Guilty" on inspection.
Stalker
: Chooses one target per night, that person's role is them given to him.
Genius
: Selects one night-target, any effects aimed at him are deflected to the night-target. Can only be roleblocked by Druggy.
Hooker
: (Only with 15+ people) Selects one person to role-block that night by "distracting" him/her.


Town
:
Cop
: Selects one night-target, he then gets sent "Innocent" or "Guilty".
Jail-keeper
: Same as doctor except blocks the night-targets ability.
Vigilante
: May once per game select a target to "shoot" at night. He does this by sending a name or "No Kill"
Druggy
: Same as role-blocker except shows up guilty on inspection.
Virgin
: No night kills next night if night-killed, becomes town/gang member if "hooked" by Hooker. (Only with 15+ people.)
Townie/Gang Member
: rest (gang members are townies and all townies are gang members, I'm just using the name "gang member" instead of townie.
Cheese Maker
: Passes on a cheese to someone on the first night, if that person is killed by mafia/lynch/vigilante he becomes a cheese, if he doesn't die that player must pm me the name of someone who they wish to pass the cheese onto. If you become a cheese you may speak in the topic and act as if you are still in except you may not lynch.
If someone becomes a cheese the Cheese maker will start again and pass someone a new cheese. He wins if 3 people become a cheese.
Last edited by wgeurts on Tue Sep 16, 2014 12:44 am, edited 2 times in total.
User avatar
Phillammon
Phillammon
Mafia Scum
User avatar
User avatar
Phillammon
Mafia Scum
Mafia Scum
Posts: 2399
Joined: March 8, 2012
Location: Cambridge, England

Post Post #7303 (ISO) » Tue Sep 16, 2014 12:40 am

Post by Phillammon »

I'm still trying to get my head around the EVs for this one, but it's looking relatively good. If there's a way to shortcut the probability I'm all ears, if there isn't, I may well just script it and run 10,000 odd iterations to get a good estimate.

Memento Mori
2 Mafia Goons
1 Mafia Vigilante

9 Vanilla Town
1 Town Vigilante


All players with the Vigilante role must keep a Last Will at all times. These are submitted privately to the moderated either via PM or via Quicktopic. This Last Will must target another living player. If a player with the Vigilante role dies, the target of their Last Will immediately receives the Vigilante role. If the target already has the Vigilante role, the Last Will has no effect. Vigilantes may not attempt to kill the target of their Last Will


There are some modifications that can be made if the balance is off- changing numbers of town and scum being the obvious change. Any thoughts?

EDIT: Preliminary testing suggests 48% EV for town, though my model is disregarding overlapping nightkills, which it probably shouldn't.

EDIT AGAIN: Okay, that's interesting. Giving the town a second vigilante actually decreases the town's EV to 40%

EDIT ONCE MORE: Nevermind, forgot that I'd added another mafioso to that model. 2 Vigilantes, 7 VT, 1 ScumVig, 2 Goons has a 50% EV.

EDIT 4: EDIT HARDER: Played around with some parameters- 9:3 nightless is 50/50? That makes sense, I guess, but still, you learn something new every day.
Current Losing Streak: 4 (record: 9)
Probable record holder for most games played on site before managing to win one!
User avatar
TierShift
TierShift
Jack of All Trades
User avatar
User avatar
TierShift
Jack of All Trades
Jack of All Trades
Posts: 8384
Joined: November 5, 2013

Post Post #7304 (ISO) » Tue Sep 16, 2014 2:41 am

Post by TierShift »

I like the idea of last will vig. But why give the scumteam a vig instead of a regular nightkill?

Afaik 10:3 is scumsided and vig is not positive utility so I do not see how that EV is so high.
User avatar
Phillammon
Phillammon
Mafia Scum
User avatar
User avatar
Phillammon
Mafia Scum
Mafia Scum
Posts: 2399
Joined: March 8, 2012
Location: Cambridge, England

Post Post #7305 (ISO) » Tue Sep 16, 2014 2:49 am

Post by Phillammon »

The intention with making the scum kill a vig as well is largely thematic, but also so if the scum want two nightkills they have to get it last willed onto a specific member, not just any of them, but that wouldn't be too much of a problem to change, probably. As for the probabilities, 10-3 mountainous is theoretically 80% scumsided as you say, so... I genuinely have no clue why my simulations are coming out so close to 50%. If anything, not overlapping kills can only benefit scum, as the way I'm simulating makes the vig kill resolve first, and the scum kill is guaranteed to hit town...

EDIT: Okay, making a more sophisticated simulation. Hopefully if it's a bug that's giving these winrates, I should be able to flush it out.
Current Losing Streak: 4 (record: 9)
Probable record holder for most games played on site before managing to win one!
User avatar
TierShift
TierShift
Jack of All Trades
User avatar
User avatar
TierShift
Jack of All Trades
Jack of All Trades
Posts: 8384
Joined: November 5, 2013

Post Post #7306 (ISO) » Tue Sep 16, 2014 2:54 am

Post by TierShift »

Wait, scum get a factional kill AND a vigkill?
User avatar
Phillammon
Phillammon
Mafia Scum
User avatar
User avatar
Phillammon
Mafia Scum
Mafia Scum
Posts: 2399
Joined: March 8, 2012
Location: Cambridge, England

Post Post #7307 (ISO) » Tue Sep 16, 2014 3:12 am

Post by Phillammon »

No, no. They get one Vigkill, but if the Town vigilante last-wills a Vigkill to them, they can use that too, for double NK.
Current Losing Streak: 4 (record: 9)
Probable record holder for most games played on site before managing to win one!
User avatar
Phillammon
Phillammon
Mafia Scum
User avatar
User avatar
Phillammon
Mafia Scum
Mafia Scum
Posts: 2399
Joined: March 8, 2012
Location: Cambridge, England

Post Post #7308 (ISO) » Tue Sep 16, 2014 4:09 am

Post by Phillammon »

Okay, not sure what it was, but I had a horrible bug in my previous code, which is hopefully now fixed.

Spoiler: Python Script for the interested, can be modified to simulate other setups

Code: Select all

import random

Total_Number_Of_Townies = 11
Total_Number_Of_Scum = 2
Starting_Vigs = 1
Starting_Scum_Vigs = 1


class Player(object):
    def __init__(self, allegiance):
        self.gun = False
        self.allegiance = allegiance
        self.alive = True
    def hasGun(self):
        return self.gun
    def isScum(self):
        return self.allegiance
    def giveGun(self):
        self.gun = True
    def isAlive(self):
        return self.alive
    def Die(self):
        self.alive = False
        return self.isScum(), self.hasGun()

class MementoMori(object):
    def __init__(self, town, scum, townkills, scumkills):
        players = []
        townlist = []
        scumlist = []
        if townkills > town:
            townkills = town
        if scumkills > scum:
            scumkills = scum
        for i in range(town):
            townlist.append(Player(False))
        for i in range(scum):
            scumlist.append(Player(True))
        for i in range(townkills):
            n = 0
            while townlist[n].hasGun():
                n = random.randint(0, town-1)
            townlist[n].giveGun()
        for i in range(scumkills):
            n = 0
            while scumlist[n].hasGun():
                n = random.randint(0, scum-1)
            scumlist[n].giveGun()
        self.players = scumlist + townlist
        self.livetown = town
        self.livescum = scum
        random.shuffle(self.players)
        self.result = 2
        self.gameover = False
    def Day(self):
        random.shuffle(self.players)
        lynchee = self.players.pop()
        flip = lynchee.Die()
        if flip[0]:
            self.livescum -= 1
            if self.livescum == 0:
                self.TownWin()
        else:
            self.livetown -= 1
            if self.livetown == 0:
                self.ScumWin()
        if flip[1]:
            self.LastWill(lynchee)
    def Night(self):
        victims = []
        for player in self.players:
            if player.hasGun():
                if player.isScum():
                    n = 0
                    while self.players[n].isScum():
                        n = random.randint(0, len(self.players)-1)
                    victims.append(self.players[n])
                else:
                    n = 0
                    while not self.players[n] == player:
                        n = random.randint(0, len(self.players)-1)
                    victims.append(self.players[n])
        for bodybag in victims:
            if bodybag.isAlive():
                flip = bodybag.Die()
                self.players.remove(bodybag)
                if flip[0]:
                    self.livescum -= 1
                    if self.livescum == 0:
                        self.TownWin()
                else:
                    self.livetown -= 1
                    if self.livetown == 0:
                        self.ScumWin()
                if flip[1]:
                    self.LastWill(bodybag)
        if self.livescum == self.livetown == 0:
            self.Draw()
        if self.livescum >= self.livetown:
            self.ScumWin()
        if self.livescum == 0:
            self.TownWin()
        
    def LastWill(self, corpse):
        random.shuffle(self.players)
        if corpse.isScum():
            for i in self.players:
                if i.isScum:
                    if not i.hasGun:
                        i.giveGun()
                        break
        else:
            self.players[0].giveGun()
    def TownWin(self):
        self.result = 0
        self.gameover = True
    def ScumWin(self):
        self.result = 1
        self.gameover = True
    def Draw(self):
        self.gameover = True
    def Play(self):
        while not self.gameover:
            self.Day()
            if not self.gameover:
                self.Night()
        return self.result
    
town = 0
scum = 0
draw = 0
repeats = 100000
for i in range(repeats):
    Game = MementoMori(Total_Number_Of_Townies,Total_Number_Of_Scum,Starting_Vigs,Starting_Scum_Vigs)
    result = Game.Play()
    if result == 0:
        town += 1
    elif result == 1:
        scum += 1
    else:
        draw += 1

print(str(town)+'/'+str(scum)+'/'+str(draw))
print("Estimated Town EV: " + str(round((town/repeats)*100, 3)) + '%')


Upshot is, that's a 12.5% town EV, which is much, *much* worse than I thought. I may play around with the numbers a bit, see what I can do.

EDIT:
10 VT
,
1 Vig
,
1 Goon
,
1 ScumVig
gives a 30% Town EV, which seems to come as balanced according to the wiki.
Last edited by Phillammon on Tue Sep 16, 2014 4:19 am, edited 1 time in total.
Current Losing Streak: 4 (record: 9)
Probable record holder for most games played on site before managing to win one!
User avatar
TierShift
TierShift
Jack of All Trades
User avatar
User avatar
TierShift
Jack of All Trades
Jack of All Trades
Posts: 8384
Joined: November 5, 2013

Post Post #7309 (ISO) » Tue Sep 16, 2014 4:18 am

Post by TierShift »

That seems about right.

Town needs more power.
User avatar
Phillammon
Phillammon
Mafia Scum
User avatar
User avatar
Phillammon
Mafia Scum
Mafia Scum
Posts: 2399
Joined: March 8, 2012
Location: Cambridge, England

Post Post #7310 (ISO) » Tue Sep 16, 2014 4:25 am

Post by Phillammon »

Any recommendations? My gut says Gunsmith or Oracle would be the logical power role to put in for town. Leaning towards the latter. (Target someone at night, if the oracle dies that night and the target was town, they are mod-confirmed as town)
Current Losing Streak: 4 (record: 9)
Probable record holder for most games played on site before managing to win one!
User avatar
wgeurts
wgeurts
Pokédex
User avatar
User avatar
wgeurts
Pokédex
Pokédex
Posts: 4596
Joined: September 15, 2014
Location: The Netherlands
Contact:

Post Post #7311 (ISO) » Tue Sep 16, 2014 4:29 am

Post by wgeurts »

Phillammon wrote:Okay, not sure what it was, but I had a horrible bug in my previous code, which is hopefully now fixed.

Spoiler: Python Script for the interested, can be modified to simulate other setups

Code: Select all

import random

Total_Number_Of_Townies = 11
Total_Number_Of_Scum = 2
Starting_Vigs = 1
Starting_Scum_Vigs = 1


class Player(object):
    def __init__(self, allegiance):
        self.gun = False
        self.allegiance = allegiance
        self.alive = True
    def hasGun(self):
        return self.gun
    def isScum(self):
        return self.allegiance
    def giveGun(self):
        self.gun = True
    def isAlive(self):
        return self.alive
    def Die(self):
        self.alive = False
        return self.isScum(), self.hasGun()

class MementoMori(object):
    def __init__(self, town, scum, townkills, scumkills):
        players = []
        townlist = []
        scumlist = []
        if townkills > town:
            townkills = town
        if scumkills > scum:
            scumkills = scum
        for i in range(town):
            townlist.append(Player(False))
        for i in range(scum):
            scumlist.append(Player(True))
        for i in range(townkills):
            n = 0
            while townlist[n].hasGun():
                n = random.randint(0, town-1)
            townlist[n].giveGun()
        for i in range(scumkills):
            n = 0
            while scumlist[n].hasGun():
                n = random.randint(0, scum-1)
            scumlist[n].giveGun()
        self.players = scumlist + townlist
        self.livetown = town
        self.livescum = scum
        random.shuffle(self.players)
        self.result = 2
        self.gameover = False
    def Day(self):
        random.shuffle(self.players)
        lynchee = self.players.pop()
        flip = lynchee.Die()
        if flip[0]:
            self.livescum -= 1
            if self.livescum == 0:
                self.TownWin()
        else:
            self.livetown -= 1
            if self.livetown == 0:
                self.ScumWin()
        if flip[1]:
            self.LastWill(lynchee)
    def Night(self):
        victims = []
        for player in self.players:
            if player.hasGun():
                if player.isScum():
                    n = 0
                    while self.players[n].isScum():
                        n = random.randint(0, len(self.players)-1)
                    victims.append(self.players[n])
                else:
                    n = 0
                    while not self.players[n] == player:
                        n = random.randint(0, len(self.players)-1)
                    victims.append(self.players[n])
        for bodybag in victims:
            if bodybag.isAlive():
                flip = bodybag.Die()
                self.players.remove(bodybag)
                if flip[0]:
                    self.livescum -= 1
                    if self.livescum == 0:
                        self.TownWin()
                else:
                    self.livetown -= 1
                    if self.livetown == 0:
                        self.ScumWin()
                if flip[1]:
                    self.LastWill(bodybag)
        if self.livescum == self.livetown == 0:
            self.Draw()
        if self.livescum >= self.livetown:
            self.ScumWin()
        if self.livescum == 0:
            self.TownWin()
        
    def LastWill(self, corpse):
        random.shuffle(self.players)
        if corpse.isScum():
            for i in self.players:
                if i.isScum:
                    if not i.hasGun:
                        i.giveGun()
                        break
        else:
            self.players[0].giveGun()
    def TownWin(self):
        self.result = 0
        self.gameover = True
    def ScumWin(self):
        self.result = 1
        self.gameover = True
    def Draw(self):
        self.gameover = True
    def Play(self):
        while not self.gameover:
            self.Day()
            if not self.gameover:
                self.Night()
        return self.result
    
town = 0
scum = 0
draw = 0
repeats = 100000
for i in range(repeats):
    Game = MementoMori(Total_Number_Of_Townies,Total_Number_Of_Scum,Starting_Vigs,Starting_Scum_Vigs)
    result = Game.Play()
    if result == 0:
        town += 1
    elif result == 1:
        scum += 1
    else:
        draw += 1

print(str(town)+'/'+str(scum)+'/'+str(draw))
print("Estimated Town EV: " + str(round((town/repeats)*100, 3)) + '%')


Upshot is, that's a 12.5% town EV, which is much, *much* worse than I thought. I may play around with the numbers a bit, see what I can do.

EDIT:
10 VT
,
1 Vig
,
1 Goon
,
1 ScumVig
gives a 30% Town EV, which seems to come as balanced according to the wiki.

Would you be ablt to put this setup through for odds:
Godfather
Scum Inspector
Framer
Scum Rolelocker

Viligante
Roleblocker (Shows up guilty on inspection)
Cop
Jail-Keeper
8 Townies
User avatar
Phillammon
Phillammon
Mafia Scum
User avatar
User avatar
Phillammon
Mafia Scum
Mafia Scum
Posts: 2399
Joined: March 8, 2012
Location: Cambridge, England

Post Post #7312 (ISO) » Tue Sep 16, 2014 4:34 am

Post by Phillammon »

I could, but it would be skewed. Because all of the targetting is randomized from the possible (and not completely insane) targets, the roleblockers would be near useless, and there's no real way that investigative roles can be simulated...

So in other words, I can simulate
3xGoon 1xMafia Roleblocker
vs
10xVT 1xVig 1xRoleblocker
, but that loses... most of the impact.
Current Losing Streak: 4 (record: 9)
Probable record holder for most games played on site before managing to win one!
User avatar
wgeurts
wgeurts
Pokédex
User avatar
User avatar
wgeurts
Pokédex
Pokédex
Posts: 4596
Joined: September 15, 2014
Location: The Netherlands
Contact:

Post Post #7313 (ISO) » Tue Sep 16, 2014 4:48 am

Post by wgeurts »

I've decided to change it as to give the role-blockers more power.
Deflector
Hooker
Framer
Stalker

Jailkeeper
Guilty Roleblocker
Cop
Vigilante
Virgin
7 Town

This means the hooker and the stalker will be working together to hunt down the Virgin as if they night-kill him/her they aren't allowed a night-kill the next night. The Cop has to think very well with all the innocent/guilty changing roles, I've eliminated the "Follow the Cop" routine by making the doctor jail-keeper; who also blocks the role of the guy he protects. The Deflector can only be roleblocked by the Guilty Roleblocker and not the Jailkeeper.
I'm thinking of a possible 2nd cop, what do you suggest?
User avatar
TierShift
TierShift
Jack of All Trades
User avatar
User avatar
TierShift
Jack of All Trades
Jack of All Trades
Posts: 8384
Joined: November 5, 2013

Post Post #7314 (ISO) » Tue Sep 16, 2014 10:45 am

Post by TierShift »

Phillammon wrote:Any recommendations? My gut says Gunsmith or Oracle would be the logical power role to put in for town. Leaning towards the latter. (Target someone at night, if the oracle dies that night and the target was town, they are mod-confirmed as town)

Even with a full cop it looks scumsided due to the amount of kills.
User avatar
Wake1
Wake1
Jack of All Trades
User avatar
User avatar
Wake1
Jack of All Trades
Jack of All Trades
Posts: 8683
Joined: August 3, 2013

Post Post #7315 (ISO) » Tue Sep 16, 2014 10:56 am

Post by Wake1 »

LlamaFluff wrote:
Wake1 wrote:Mainly I want it like a Large Fire and Ice where the NKs on each other turn into Cop guilties.


That's essentially what it was historically (NKs failed on opposite factions) but that was way too scumsided, so that part was removed. Then it was still too scumsided so another VT was added to the game.

Maybe you want to check out this as a jumping off point.


One of the problems is that I'm also being told it's Townsided, which is why I'm told to continue removing Town PRs.

My aim is to have it a Large Open/Normal Fire and Ice where Scum have Daytalk and NKs on opposing Scum become Cop guilties.

That's where the magic of interesting game discussion is made. In a 15:3:3 setup like this, it's pretty tough for Scum to stay hidden.

The current build I have needs to be better balanced. If I put in a Macho COp I'm going to include Scum Cops and Roleblockers. The Scum Cops will only further hinder enemy Scum, and the RBs dissuade any Town PR claims.
"It's wise to be... cautious... with Wake."
— House*
"What Wake lacks in charisma, he makes up for it in pure analytic power."
— Nosferatu*
User avatar
Phillammon
Phillammon
Mafia Scum
User avatar
User avatar
Phillammon
Mafia Scum
Mafia Scum
Posts: 2399
Joined: March 8, 2012
Location: Cambridge, England

Post Post #7316 (ISO) » Tue Sep 16, 2014 11:10 am

Post by Phillammon »

TierShift wrote:
Phillammon wrote:Any recommendations? My gut says Gunsmith or Oracle would be the logical power role to put in for town. Leaning towards the latter. (Target someone at night, if the oracle dies that night and the target was town, they are mod-confirmed as town)

Even with a full cop it looks scumsided due to the amount of kills.


Statistically, it's on par with 10/2 mountainous, which is why I'm not sure giving it more town power is a good idea.

Maybe jailkeeper? That mitigates some of the kills while remaining pretty versatile.
Current Losing Streak: 4 (record: 9)
Probable record holder for most games played on site before managing to win one!
User avatar
TierShift
TierShift
Jack of All Trades
User avatar
User avatar
TierShift
Jack of All Trades
Jack of All Trades
Posts: 8384
Joined: November 5, 2013

Post Post #7317 (ISO) » Tue Sep 16, 2014 11:13 am

Post by TierShift »

Perhaps the town vig should just disappear after being given to scum, that would mitigate the ev.
User avatar
Phillammon
Phillammon
Mafia Scum
User avatar
User avatar
Phillammon
Mafia Scum
Mafia Scum
Posts: 2399
Joined: March 8, 2012
Location: Cambridge, England

Post Post #7318 (ISO) » Tue Sep 16, 2014 12:44 pm

Post by Phillammon »

Spoiler: Modified Codeblock

Code: Select all

import random

Total_Number_Of_Townies = 11
Total_Number_Of_Scum = 2
Starting_Vigs = 1
Starting_Scum_Vigs = 1


class Player(object):
    def __init__(self, allegiance):
        self.gun = False
        self.allegiance = allegiance
        self.alive = True
    def hasGun(self):
        return self.gun
    def isScum(self):
        return self.allegiance
    def giveGun(self):
        self.gun = True
    def isAlive(self):
        return self.alive
    def Die(self):
        self.alive = False
        return self.isScum(), self.hasGun()

class MementoMori(object):
    def __init__(self, town, scum, townkills, scumkills):
        players = []
        townlist = []
        scumlist = []
        if townkills > town:
            townkills = town
        if scumkills > scum:
            scumkills = scum
        for i in range(town):
            townlist.append(Player(False))
        for i in range(scum):
            scumlist.append(Player(True))
        for i in range(townkills):
            n = 0
            while townlist[n].hasGun():
                n = random.randint(0, town-1)
            townlist[n].giveGun()
        for i in range(scumkills):
            n = 0
            while scumlist[n].hasGun():
                n = random.randint(0, scum-1)
            scumlist[n].giveGun()
        self.players = scumlist + townlist
        self.livetown = town
        self.livescum = scum
        random.shuffle(self.players)
        self.result = 2
        self.gameover = False
    def Day(self):
        random.shuffle(self.players)
        lynchee = self.players.pop()
        flip = lynchee.Die()
        if flip[0]:
            self.livescum -= 1
            if self.livescum == 0:
                self.TownWin()
        else:
            self.livetown -= 1
            if self.livetown == 0:
                self.ScumWin()
        if flip[1]:
            self.LastWill(lynchee)
    def Night(self):
        victims = []
        for player in self.players:
            if player.hasGun():
                if player.isScum():
                    n = 0
                    while self.players[n].isScum():
                        n = random.randint(0, len(self.players)-1)
                    victims.append(self.players[n])
                else:
                    n = 0
                    while not self.players[n] == player:
                        n = random.randint(0, len(self.players)-1)
                    victims.append(self.players[n])
        for bodybag in victims:
            if bodybag.isAlive():
                flip = bodybag.Die()
                self.players.remove(bodybag)
                if flip[0]:
                    self.livescum -= 1
                    if self.livescum == 0:
                        self.TownWin()
                else:
                    self.livetown -= 1
                    if self.livetown == 0:
                        self.ScumWin()
                if flip[1]:
                    self.LastWill(bodybag)
        if self.livescum == self.livetown == 0:
            self.Draw()
        if self.livescum >= self.livetown:
            self.ScumWin()
        if self.livescum == 0:
            self.TownWin()
        
    def LastWill(self, corpse):
        random.shuffle(self.players)
        if corpse.isScum():
            for i in self.players:
                if i.isScum:
                    if not i.hasGun:
                        i.giveGun()
                        break
        else:
            if not self.players[0].isScum():
                self.players[0].giveGun()
    def TownWin(self):
        self.result = 0
        self.gameover = True
    def ScumWin(self):
        self.result = 1
        self.gameover = True
    def Draw(self):
        self.gameover = True
    def Play(self):
        while not self.gameover:
            self.Day()
            if not self.gameover:
                self.Night()
        return self.result
    
town = 0
scum = 0
draw = 0
repeats = 10000
for i in range(repeats):
    Game = MementoMori(Total_Number_Of_Townies,Total_Number_Of_Scum,Starting_Vigs,Starting_Scum_Vigs)
    result = Game.Play()
    if result == 0:
        town += 1
    elif result == 1:
        scum += 1
    else:
        draw += 1

print(str(town)+'/'+str(scum)+'/'+str(draw))
print("Estimated Town EV: " + str(round((town/repeats)*100, 3)) + '%')


The projected winrate for town increases to 33% with the kill vanishing if passed to scum. In practise, the fact that a kill's disappeared gives more information to town, which is good. I reckon that could work, in that case.
Current Losing Streak: 4 (record: 9)
Probable record holder for most games played on site before managing to win one!
User avatar
LlamaFluff
LlamaFluff
Jack of All Trades
User avatar
User avatar
LlamaFluff
Jack of All Trades
Jack of All Trades
Posts: 9561
Joined: May 3, 2008
Location: California
Contact:

Post Post #7319 (ISO) » Tue Sep 16, 2014 3:51 pm

Post by LlamaFluff »

BBmolla wrote:Can I run these in the open queue Llama?


They both look a bit swingy but seem fine. If you want to get wiki pages made for both of them I can try and get upcoming mods to run trial runs of them

BBmolla wrote:That's a cool setup, who made it? And has it been played yet?


It was a setup I made a while ago, was ran a few times maybe half a year or so in the past but never seemed too popular so just got shelved.
Co-host of The USL Show
GeoGuessr: USL Pony
Fall Guys: Scary Hopping Bonkus
User avatar
wgeurts
wgeurts
Pokédex
User avatar
User avatar
wgeurts
Pokédex
Pokédex
Posts: 4596
Joined: September 15, 2014
Location: The Netherlands
Contact:

Post Post #7320 (ISO) » Tue Sep 16, 2014 6:40 pm

Post by wgeurts »

Llama would this be accepted?
1-50 = T (Town)
51-65 = I (Informative)
66-75 = P (Protective)
76-85 = K (Killing)
86-95 = A (Passive)
96-100 = M (Manipulative)

Town:
TTTTTTT =
2 Goons

TTTTTT =
Hooker + 2 Goons

TTTTT =
Stalker + Goon + Hooker
,
Serial Killer

TTTT =
Stalker + Goon + Hooker

TTT =
Stalker + Lawyer + Hooker
,
Serial Killer

TT =
Stalker + Lawyer + Hooker

T =
Stalker + Lawyer + Bus Driver
,
Serial Killer

0 Ts =
Stalker + Lawyer + Bus Driver


Informative:
I =
1-Shot Cop

II =
Cop

III =
Cop + 1-Shot Cop

IIII =
Cop + Deputy

IIIII =
Cop + Deputy + 1-Shot Cop

IIIIII =
2 Cops + Deputy


Protective:
P =
Bodyguard

PP =
Doctor

PPP =
Doctor + Bodyguard

PPPP =
Doctor + Bodyguard + Nurse

PPPPP =
2 Doctors + Nurse


Killing:
K =
Suicide Bomber

KK =
1-Shot Vigilante

KKK =
1-Shot Vigilante + Suicide Bomber

KKKK =
2 1-Shot Vigilantes

KKKKK =
2 1-Shot Vigilantes + Vengeful


Passive:
A =
Innocent Child

AA =
2 Masons

AAA =
2 Masons + Innocent Child

AAAA =
2 Masons + Innocent Child + Virgin

AAAAA =
3 Masons + Virgin


Manipulative:
M =
1-Shot Roleblocker

MM =
Roleblocker

MMM =
Roleblocker + Nexus

MMMM =
Roleblocker + Nexus + 1-Shot Roleblocker

MMMMM =
2 Roleblockers + Nexus


Serial Killer
chooses one of two abilities at start of game;
  • 1-Shot Inspection Immunity
    Or
  • 1-Shot BulletProof
Last edited by wgeurts on Fri Sep 19, 2014 9:11 am, edited 3 times in total.
User avatar
BBmolla
BBmolla
Open Book
User avatar
User avatar
BBmolla
Open Book
Open Book
Posts: 23833
Joined: May 29, 2011

Post Post #7321 (ISO) » Tue Sep 16, 2014 7:18 pm

Post by BBmolla »

LlamaFluff wrote:They both look a bit swingy but seem fine. If you want to get wiki pages made for both of them I can try and get upcoming mods to run trial runs of them

Cool. Lemme give them another lookover to make sure I didn't miss anything I didn't consider.
User avatar
Phillammon
Phillammon
Mafia Scum
User avatar
User avatar
Phillammon
Mafia Scum
Mafia Scum
Posts: 2399
Joined: March 8, 2012
Location: Cambridge, England

Post Post #7322 (ISO) » Wed Sep 17, 2014 12:51 am

Post by Phillammon »

Memento Mori
2 Mafia Goons

1 Town Last Will Vigilante
1 Town Last Will Jailkeeper
9 Vanilla Townspersons


All players with the Last Will modifier must keep a Last Will at all times. These are submitted privately to the moderated either via PM or via Quicktopic. This Last Will must target another living player. If a player with the Last Will modifier dies, the target of their Last Will immediately receives their role, including the Last Will modifier, but their alignment remains unchanged.

A
Mafia Last Will Jailkeeper
may either perform the factional nightkill or jailkeep a target on a given night, but not both. A
Mafia Last Will Vigilante
does not have a personal kill, however, if they perform the factional nightkill, it gains the Sledgehammer modifier.


Spoiler: Relevant PM Templates
Vanilla Townsperson wrote:Welcome, <Player Name>, you are a
Vanilla Townie
.
Abilities:

Your weapon is your vote, you have no night actions.
Win condition:

You win when all threats to the town have been eliminated.

Town Last Will Vigilante wrote:Welcome, <Player Name>, you are a
Town Last Will Vigilante
.
Abilities:

Got a Gun: Each night, you may target another player. That player is killed.
Last Will: At all times, you must have a Last Will. This Last Will must target another living player. If you die, the target of your Last Will receives your Gun.
Win condition:

You win when all threats to the town have been eliminated.

Town Last Will Jailkeeper wrote:Welcome, <Player Name>, you are a
Town Last Will Jailkeeper
.
Abilities:

Got a Key: Each night, you may target another player. That player is roleblocked and protected from any nightkills targeting them.
Last Will: At all times, you must have a Last Will. This Last Will must target another living player. If you die, the target of your Last Will receives your Key.
Win condition:

You win when all threats to the town have been eliminated.

Mafia Goon wrote:Welcome, <Player Name>. You are a
Mafia Goon
, along with your partner, <Scumbuddy>.
Abilities:

Factional communication: During the night phase you may talk with your partner here.
Factional kill: Each night phase, one of you or your partner may perform the factional kill.
Win condition:

You win when all members of the town have been eliminated or nothing can prevent this from occurring.

Vanilla Townsperson receives Gun wrote:Somebody left you a gun in their will!

Congratulations, <Player Name>, you are now a
Town Last Will Vigilante
.
Abilities:

Got a Gun: Each night, you may target another player. That player is killed.
Last Will: At all times, you must have a Last Will. This Last Will must target another living player. If you die, the target of your Last Will receives your Gun.
Win condition:

You win when all threats to the town have been eliminated.

Vanilla Townsperson receives Key wrote:Somebody left you the jail key in their will!

Congratulations, <Player Name>, you are now a
Town Last Will Jailkeeper
.
Abilities:

Got a Key: Each night, you may target another player. That player is roleblocked and protected from any nightkills targeting them.
Last Will: At all times, you must have a Last Will. This Last Will must target another living player. If you die, the target of your Last Will receives your Key.
Win condition:

You win when all threats to the town have been eliminated.
Town Jailkeeper receives Gun wrote:Somebody left you a gun in their will! Great, more responsibilities...

Congratulations, <Player Name>, you are now a
Town Last Will Vigilante Jailkeeper
.
Abilities:

Got a Gun, and a Key: Each night, you may target a player. At your choice, that player either dies, or is roleblocked and protected from any nightkills targeting them.
Second-To-Last Will: At all times, you must have a Second-To-Last Will for your gun. This Last Will must target another living player. If you die, the target of your Last Will receives your Gun.
Last Will: At all times, you must have a Last Will for your key. This Last Will must target another living player. This may target the same player as your Second-To-Last Will. If you die, the target of your Last Will receives your Key.
Win condition:

You win when all threats to the town have been eliminated.

Town Vigilante receives Gun wrote:Somebody left you the jail key in their will! Great, more responsibility...

Congratulations, <Player Name>, you are now a
Town Last Will Vigilante Jailkeeper
.
Abilities:

Got a Gun, and a Key: Each night, you may target a player. At your choice, that player either dies, or is roleblocked and protected from any nightkills targeting them.
Second-To-Last Will: At all times, you must have a Second-To-Last Will for your gun. This Last Will must target another living player. If you die, the target of your Last Will receives your Gun.
Last Will: At all times, you must have a Last Will for your key. This Last Will must target another living player. This may target the same player as your Second-To-Last Will. If you die, the target of your Last Will receives your Key.
Win condition:

You win when all threats to the town have been eliminated.

Vanilla Townsperson receives gun and key wrote:Somebody left you the jail key and a gun in their will!

Congratulations, <Player Name>, you are now a
Town Last Will Vigilante Jailkeeper
.
Abilities:

Got a Gun, and a Key: Each night, you may target a player. At your choice, that player either dies, or is roleblocked and protected from any nightkills targeting them.
Second-To-Last Will: At all times, you must have a Second-To-Last Will for your gun. This Last Will must target another living player. If you die, the target of your Last Will receives your Gun.
Last Will: At all times, you must have a Last Will for your key. This Last Will must target another living player. This may target the same player as your Second-To-Last Will. If you die, the target of your Last Will receives your Key.
Win condition:

You win when all threats to the town have been eliminated.
Mafia Goon receives Gun wrote:Somebody left you a gun in their will! A bit redundant, hey, but now you have two guns!

Congratulations, <Player Name>, you are now a
Mafia Last Will Sledgehammer Goon
.
Abilities:

Factional communication: During the night phase you may talk with your partner here.
Factional kill: Each night phase, one of you or your partner may perform the factional kill.
Got a Gun: If you perform the factional kill, the target of the kill cannot be protected.
Last Will: If your partner is still alive when you die, they become receive your Gun.
Win condition:

You win when all members of the town have been eliminated or nothing can prevent this from occurring.

Mafia Goon receives Key wrote:Somebody left you the jail key in their will!

Congratulations, <Player Name>, you are now a
Mafia Last Will Jailkeeper Goon
.
Abilities:

Factional communication: During the night phase you may talk with your partner here.
Factional kill: Each night phase, one of you or your partner may perform the factional kill.
Got a Key: If you
Last Will: If your partner is still alive when you die, they become receive your Key.
Win condition:

You win when all members of the town have been eliminated or nothing can prevent this from occurring.

Mafia control both Key and Gun wrote:
Congratulations. You and your partner have successfully appropriated the key to the town Jail, and the town's Gun. Now, to finish the job...

You are now a
Mafia Goon
.
Abilities:

Factional communication: During the night phase you may talk with your partner here.
Factional kill: Each night phase, one of you or your partner may perform the factional kill.
Win condition:

You win when all members of the town have been eliminated or nothing can prevent this from occurring.


Note: If the mafia collect both the gun and the key, then they become useless, but individually they're useful tools for dealing with the other one. I found that amusing.

This any better, then?
Current Losing Streak: 4 (record: 9)
Probable record holder for most games played on site before managing to win one!
User avatar
Cheery Dog
Cheery Dog
Kayak
User avatar
User avatar
Cheery Dog
Kayak
Kayak
Posts: 8013
Joined: June 30, 2012
Location: OMG BALL!

Post Post #7323 (ISO) » Wed Sep 17, 2014 1:31 am

Post by Cheery Dog »

Phillammon wrote:
Memento Mori
2 Mafia Goons

1 Town Last Will Vigilante
1 Town Last Will Jailkeeper
9 Vanilla Townspersons


All players with the Last Will modifier must keep a Last Will at all times. These are submitted privately to the moderated either via PM or via Quicktopic. This Last Will must target another living player. If a player with the Last Will modifier dies, the target of their Last Will immediately receives their role, including the Last Will modifier, but their alignment remains unchanged.

A
Mafia Last Will Jailkeeper
may either perform the factional nightkill or jailkeep a target on a given night, but not both. A
Mafia Last Will Vigilante
does not have a personal kill, however, if they perform the factional nightkill, it gains the Sledgehammer modifier.


Note: If the mafia collect both the gun and the key, then they become useless, but individually they're useful tools for dealing with the other one. I found that amusing.

This any better, then?

If Mafia dies day one, and two deaths, or the one death and a vig claim of not killing anyone the jailkeeper role will break open the game.
I'm assuming here you have that they can't target their current lastwill target.
They give their last will to their target from night 1, and oust a new target for night 2.
Vig doesn't kill anybody.
This would give a new confirmed town for the same thing to happen and it's just follow the JK.
Everything happens for a reason, except maybe football.
Telephone Pictionary!!
User avatar
Cheery Dog
Cheery Dog
Kayak
User avatar
User avatar
Cheery Dog
Kayak
Kayak
Posts: 8013
Joined: June 30, 2012
Location: OMG BALL!

Post Post #7324 (ISO) » Wed Sep 17, 2014 1:32 am

Post by Cheery Dog »

That doesn't even have to be day 1, if the original jailkeeper is still alive the day after a scum dies.
Everything happens for a reason, except maybe football.
Telephone Pictionary!!
Post Reply