Fix up lovers winning
This commit is contained in:
parent
9161541c39
commit
70b0c33896
@ -2064,7 +2064,7 @@ def stop_game(cli, winner = "", abort = False):
|
|||||||
if x != None:
|
if x != None:
|
||||||
if role == "amnesiac" and x in var.AMNESIACS:
|
if role == "amnesiac" and x in var.AMNESIACS:
|
||||||
plrl[x] = var.FINAL_ROLES[x]
|
plrl[x] = var.FINAL_ROLES[x]
|
||||||
elif role != "amnesiac" and x in var.FINAL_ROLES: # role swap
|
elif role != "amnesiac" and x in var.FINAL_ROLES: # role swap or clone
|
||||||
plrl[x] = var.FINAL_ROLES[x]
|
plrl[x] = var.FINAL_ROLES[x]
|
||||||
else:
|
else:
|
||||||
plrl[x] = role
|
plrl[x] = role
|
||||||
@ -2079,11 +2079,6 @@ def stop_game(cli, winner = "", abort = False):
|
|||||||
else:
|
else:
|
||||||
acc = "*" #probably fjoin'd fake
|
acc = "*" #probably fjoin'd fake
|
||||||
|
|
||||||
if rol == "clone":
|
|
||||||
# see if they became a different role
|
|
||||||
if splr in var.FINAL_ROLES:
|
|
||||||
rol = var.FINAL_ROLES[splr]
|
|
||||||
|
|
||||||
won = False
|
won = False
|
||||||
iwon = False
|
iwon = False
|
||||||
# determine if this player's team won
|
# determine if this player's team won
|
||||||
@ -2107,33 +2102,29 @@ def stop_game(cli, winner = "", abort = False):
|
|||||||
# You get NOTHING! You LOSE! Good DAY, sir!
|
# You get NOTHING! You LOSE! Good DAY, sir!
|
||||||
won = False
|
won = False
|
||||||
iwon = False
|
iwon = False
|
||||||
|
elif splr in var.LOVERS and splr in survived and len([x for x in var.LOVERS[splr] if x in survived]) > 0:
|
||||||
|
for lvr in var.LOVERS[splr]:
|
||||||
|
if lvr not in survived:
|
||||||
|
# cannot win with dead lover (if splr in survived and lvr is not, that means lvr idled out)
|
||||||
|
continue
|
||||||
|
|
||||||
|
lvrrol = "" #somehow lvrrol wasn't set and caused a crash once
|
||||||
|
if lvr in plrl:
|
||||||
|
lvrrol = plrl[lvr]
|
||||||
|
|
||||||
|
if not winner.startswith("@") and winner != "monsters":
|
||||||
|
iwon = True
|
||||||
|
break
|
||||||
|
elif winner.startswith("@") and winner == "@" + lvr and var.LOVER_WINS_WITH_FOOL:
|
||||||
|
iwon = True
|
||||||
|
break
|
||||||
|
elif winner == "monsters" and lvrrol == "monster":
|
||||||
|
iwon = True
|
||||||
|
break
|
||||||
elif rol == "fool" and "@" + splr == winner:
|
elif rol == "fool" and "@" + splr == winner:
|
||||||
iwon = True
|
iwon = True
|
||||||
elif rol == "monster" and splr in survived and winner == "monsters":
|
elif rol == "monster" and splr in survived and winner == "monsters":
|
||||||
iwon = True
|
iwon = True
|
||||||
elif splr in var.LOVERS and splr in survived:
|
|
||||||
for lvr in var.LOVERS[splr]:
|
|
||||||
lvrrol = "" #somehow lvrrol wasn't set and caused a crash once
|
|
||||||
if lvr in plrl:
|
|
||||||
lvrrol = plrl[lvr]
|
|
||||||
elif ("(dced)" + lvr) in plrl:
|
|
||||||
lvrrol = plrl["(dced)" + lvr]
|
|
||||||
if lvrrol == "clone" and lvr in var.FINAL_ROLES:
|
|
||||||
lvrrol = var.FINAL_ROLES[lvr]
|
|
||||||
|
|
||||||
if lvr in survived and not winner.startswith("@") and winner != "monsters":
|
|
||||||
iwon = True
|
|
||||||
break
|
|
||||||
elif lvr in survived and winner.startswith("@") and winner == "@" + lvr and var.LOVER_WINS_WITH_FOOL:
|
|
||||||
iwon = True
|
|
||||||
break
|
|
||||||
elif lvr in survived and winner == "monsters" and lvrrol == "monster":
|
|
||||||
iwon = True
|
|
||||||
break
|
|
||||||
|
|
||||||
if plr.startswith("(dced)"):
|
|
||||||
won = False
|
|
||||||
iwon = False
|
|
||||||
elif rol == "crazed shaman" or rol == "clone":
|
elif rol == "crazed shaman" or rol == "clone":
|
||||||
# For clone, this means they ended game while being clone and not some other role
|
# For clone, this means they ended game while being clone and not some other role
|
||||||
if splr in survived and not winner.startswith("@") and winner != "monsters":
|
if splr in survived and not winner.startswith("@") and winner != "monsters":
|
||||||
|
Loading…
Reference in New Issue
Block a user