I figure, since I keep running into problems with this, I'd open source the damn thing and see if anyone can get it running more smoothly. PM me with any questions but keep your comments about how dumb I am at programming to a minimum, nerds.
; -----------------------------------------------
; -------------------------------------------------
; ------ ------
; ----- -----
; ----- Five Man Mafia -----
; ----- -----
; ------ ------
; -------------------------------------------------
; -----------------------------------------------
on 5:text:@5mmreset*:#casino: {
unset %5mm*
}
on *:text:!5mm*:#casino: {
if %5mmison = $null {
if $floor($2) >= 1 {
if $funds($nick) >= $2 {
moneygive $nick - $+ $2
set %5mmpot $2
set %5mmison 1
set %5mmp1 $nick
msg #casino 12Beginning a game of 5 man mafia. Ante: 3€ $+ $2 $+ .
msg #casino 4 $+ $nick might be the mafia!
halt
}
else insufficientfunds $nick $2
}
else notice $nick That's an invalid ante. Syntax: !5mm <amount>.
}
if %5mmison = 1 {
if $funds($nick) >= %5mmpot && $nick !isin %5mmp1 {
moneygive $nick - $+ %5mmpot
set %5mmison 2
set %5mmp2 $nick
msg #casino 4 $+ $nick might be the mafia!
halt
}
else insufficientfunds $nick %5mmpot
}
if %5mmison = 2 {
if $funds($nick) >= %5mmpot && $nick !isin %5mmp1 && $nick !isin %5mmp2 {
moneygive $nick - $+ %5mmpot
set %5mmison 3
set %5mmp3 $nick
msg #casino 4 $+ $nick might be the mafia!
halt
}
else insufficientfunds $nick %5mmpot
}
if %5mmison = 3 {
if $funds($nick) >= %5mmpot && $nick !isin %5mmp1 && $nick !isin %5mmp2 && $nick !isin %5mmp3 {
moneygive $nick - $+ %5mmpot
set %5mmison 4
set %5mmp4 $nick
msg #casino 4 $+ $nick might be the mafia!
halt
}
else insufficientfunds $nick %5mmpot
}
if %5mmison = 4 {
if $funds($nick) >= %5mmpot && $nick !isin %5mmp1 && $nick !isin %5mmp2 && $nick !isin %5mmp3 && $nick !isin %5mmp4 {
moneygive $nick - $+ %5mmpot
set %5mmison 5
set %5mmp5 $nick
msg #casino 4 $+ $nick might be the mafia!
msg #casino Rolling roles.
mode #casino +m
goto gameon
}
else insufficientfunds $nick %5mmpot
}
else 5mmcurrentphase
halt
:gameon
;make the role list MSCPN
set %5mmr MSCPN
;set the 1st role determine variable 1-5
set %5mm1rd $rand(1,5) {
if %5mm1rd = 1 {
set %5mmp1r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp1 You are the Mafia.
goto p2determine
}
if %5mm1rd = 2 {
set %5mmp1r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp1 You are a Cop.
goto p2determine
}
if %5mm1rd = 3 {
set %5mmp1r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp1 You are a Cop.
goto p2determine
}
if %5mm1rd = 4 {
set %5mmp1r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp1 You are a Cop.
goto p2determine
}
if %5mm1rd = 5 {
set %5mmp1r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp1 You are a Cop.
goto p2determine
}
}
:p2determine
set %5mm2rd $rand(1,4)
if M !isin %5mmr {
if %5mm2rd = 1 {
set %5mmp2r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp2 You are a Cop.
goto p3determine
}
if %5mm2rd = 2 {
set %5mmp2r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp2 You are a Cop.
goto p3determine
}
if %5mm2rd = 3 {
set %5mmp2r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp2 You are a Cop.
goto p3determine
}
if %5mm2rd = 4 {
set %5mmp2r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp2 You are a Cop.
goto p3determine
}
}
if S !isin %5mmr {
if %5mm2rd = 1 {
set %5mmp2r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp2 You are the Mafia.
goto p3determine
}
if %5mm2rd = 2 {
set %5mmp2r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp2 You are a Cop.
goto p3determine
}
if %5mm2rd = 3 {
set %5mmp2r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp2 You are a Cop.
goto p3determine
}
if %5mm2rd = 4 {
set %5mmp2r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp2 You are a Cop.
goto p3determine
}
}
if C !isin %5mmr {
if %5mm2rd = 1 {
set %5mmp2r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp2 You are the Mafia.
goto p3determine
}
if %5mm2rd = 2 {
set %5mmp2r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp2 You are a Cop.
goto p3determine
}
if %5mm2rd = 3 {
set %5mmp2r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp2 You are a Cop.
goto p3determine
}
if %5mm2rd = 4 {
set %5mmp2r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp2 You are a Cop.
goto p3determine
}
}
if P !isin %5mmr {
if %5mm2rd = 1 {
set %5mmp2r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp2 You are the Mafia.
goto p3determine
}
if %5mm2rd = 2 {
set %5mmp2r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp2 You are a Cop.
goto p3determine
}
if %5mm2rd = 3 {
set %5mmp2r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp2 You are a Cop.
goto p3determine
}
if %5mm2rd = 4 {
set %5mmp2r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp2 You are a Cop.
goto p3determine
}
}
if N !isin %5mmr {
if %5mm2rd = 1 {
set %5mmp2r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp2 You are the Mafia.
goto p3determine
}
if %5mm2rd = 2 {
set %5mmp2r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp2 You are a Cop.
goto p3determine
}
if %5mm2rd = 3 {
set %5mmp2r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp2 You are a Cop.
goto p3determine
}
if %5mm2rd = 4 {
set %5mmp2r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp2 You are a Cop.
goto p3determine
}
}
:p3determine
set %5mm3rd $rand(1,3)
if M !isin %5mmr && S !isin %5mmr {
if %5mm3rd = 1 {
set %5mmp3r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 2 {
set %5mmp3r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 3 {
set %5mmp3r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp3 You are a Cop.
goto p4determine
}
}
if M !isin %5mmr && C !isin %5mmr {
if %5mm3rd = 1 {
set %5mmp3r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 2 {
set %5mmp3r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 3 {
set %5mmp3r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp3 You are a Cop.
goto p4determine
}
}
if M !isin %5mmr && P !isin %5mmr {
if %5mm3rd = 1 {
set %5mmp3r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 2 {
set %5mmp3r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 3 {
set %5mmp3r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp3 You are a Cop.
goto p4determine
}
}
if M !isin %5mmr && N !isin %5mmr {
if %5mm3rd = 1 {
set %5mmp3r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 2 {
set %5mmp3r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 3 {
set %5mmp3r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp3 You are a Cop.
goto p4determine
}
}
if S !isin %5mmr && C !isin %5mmr {
if %5mm3rd = 1 {
set %5mmp3r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp3 You are the Mafia.
goto p4determine
}
if %5mm3rd = 2 {
set %5mmp3r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 3 {
set %5mmp3r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp3 You are a Cop.
goto p4determine
}
}
if S !isin %5mmr && P !isin %5mmr {
if %5mm3rd = 1 {
set %5mmp3r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp3 You are the Mafia.
goto p4determine
}
if %5mm3rd = 2 {
set %5mmp3r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 3 {
set %5mmp3r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp3 You are a Cop.
goto p4determine
}
}
if S !isin %5mmr && N !isin %5mmr {
if %5mm3rd = 1 {
set %5mmp3r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp3 You are the Mafia.
goto p4determine
}
if %5mm3rd = 2 {
set %5mmp3r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 3 {
set %5mmp3r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp3 You are a Cop.
goto p4determine
}
}
if C !isin %5mmr && P !isin %5mmr {
if %5mm3rd = 1 {
set %5mmp3r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp3 You are the Mafia.
goto p4determine
}
if %5mm3rd = 2 {
set %5mmp3r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 3 {
set %5mmp3r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp3 You are a Cop.
goto p4determine
}
}
if C !isin %5mmr && N !isin %5mmr {
if %5mm3rd = 1 {
set %5mmp3r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp3 You are the Mafia.
goto p4determine
}
if %5mm3rd = 2 {
set %5mmp3r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 3 {
set %5mmp3r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp3 You are a Cop.
goto p4determine
}
}
if P !isin %5mmr && N !isin %5mmr {
if %5mm3rd = 1 {
set %5mmp3r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp3 You are the Mafia.
goto p4determine
}
if %5mm3rd = 2 {
set %5mmp3r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp3 You are a Cop.
goto p4determine
}
if %5mm3rd = 3 {
set %5mmp3r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp3 You are a Cop.
goto p4determine
}
}
:p4determine
set %5mm4rd $rand(1,2)
if M !isin %5mmr && S !isin %5mmr && C !isin %5mmr {
if %5mm4rd = 1 {
set %5mmp4r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp4 You are a Cop.
goto p5determine
}
if %5mm4rd = 2 {
set %5mmp4r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp4 You are a Cop.
goto p5determine
}
}
if M !isin %5mmr && S !isin %5mmr && P !isin %5mmr {
if %5mm4rd = 1 {
set %5mmp4r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp4 You are a Cop.
goto p5determine
}
if %5mm4rd = 2 {
set %5mmp4r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp4 You are a Cop.
goto p5determine
}
}
if M !isin %5mmr && S !isin %5mmr && N !isin %5mmr {
if %5mm4rd = 1 {
set %5mmp4r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp4 You are a Cop.
goto p5determine
}
if %5mm4rd = 2 {
set %5mmp4r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp4 You are a Cop.
goto p5determine
}
}
if M !isin %5mmr && C !isin %5mmr && P !isin %5mmr {
if %5mm4rd = 1 {
set %5mmp4r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp4 You are a Cop.
goto p5determine
}
if %5mm4rd = 2 {
set %5mmp4r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp4 You are a Cop.
goto p5determine
}
}
if M !isin %5mmr && C !isin %5mmr && N !isin %5mmr {
if %5mm4rd = 1 {
set %5mmp4r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp4 You are a Cop.
goto p5determine
}
if %5mm4rd = 2 {
set %5mmp4r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp4 You are a Cop.
goto p5determine
}
}
if M !isin %5mmr && P !isin %5mmr && N !isin %5mmr {
if %5mm4rd = 1 {
set %5mmp4r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp4 You are a Cop.
goto p5determine
}
if %5mm4rd = 2 {
set %5mmp4r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp4 You are a Cop.
goto p5determine
}
}
if S !isin %5mmr && C !isin %5mmr && P !isin %5mmr {
if %5mm4rd = 1 {
set %5mmp4r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp4 You are the Mafia.
goto p5determine
}
if %5mm4rd = 2 {
set %5mmp4r Naive
set %5mmr $remove(%5mmr,N)
msg %5mmp4 You are a Cop.
goto p5determine
}
}
if S !isin %5mmr && C !isin %5mmr && N !isin %5mmr {
if %5mm4rd = 1 {
set %5mmp4r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp4 You are the Mafia.
goto p5determine
}
if %5mm4rd = 2 {
set %5mmp4r Paranoid
set %5mmr $remove(%5mmr,P)
msg %5mmp4 You are a Cop.
goto p5determine
}
}
if S !isin %5mmr && P !isin %5mmr && N !isin %5mmr {
if %5mm4rd = 1 {
set %5mmp4r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp4 You are the Mafia.
goto p5determine
}
if %5mm4rd = 2 {
set %5mmp4r Crazy
set %5mmr $remove(%5mmr,C)
msg %5mmp4 You are a Cop.
goto p5determine
}
}
if C !isin %5mmr && P !isin %5mmr && N !isin %5mmr {
if %5mm4rd = 1 {
set %5mmp4r Mafia
set %5mmr $remove(%5mmr,M)
msg %5mmp4 You are the Mafia.
goto p5determine
}
if %5mm4rd = 2 {
set %5mmp4r Sane
set %5mmr $remove(%5mmr,S)
msg %5mmp4 You are a Cop.
goto p5determine
}
}
:p5determine
if M !isin %5mmr && S !isin %5mmr && C !isin %5mmr && P !isin %5mmr {
set %5mmp5r Naive
msg %5mmp5 You are a Cop.
}
if M !isin %5mmr && S !isin %5mmr && C !isin %5mmr && N !isin %5mmr {
set %5mmp5r Paranoid
msg %5mmp5 You are a Cop.
}
if M !isin %5mmr && S !isin %5mmr && P !isin %5mmr && N !isin %5mmr {
set %5mmp5r Crazy
msg %5mmp5 You are a Cop.
}
if M !isin %5mmr && C !isin %5mmr && P !isin %5mmr && N !isin %5mmr {
set %5mmp5r Sane
msg %5mmp5 You are a Cop.
}
if S !isin %5mmr && C !isin %5mmr && P !isin %5mmr && N !isin %5mmr {
set %5mmp5r Mafia
msg %5mmp5 You are the Mafia.
}
set %5mmn1a 0
set %5mmphase nightone
set %5mmp1na 0
set %5mmp2na 0
set %5mmp3na 0
set %5mmp4na 0
set %5mmp5na 0
msg #casino Send me your choices for investigation or kills. Say !n1 <name> in a private message to me.
}