Some succubus fixes
This commit is contained in:
parent
16db66677c
commit
da9a6f5b62
@ -2280,7 +2280,7 @@ def chk_decision(cli, force = ""):
|
|||||||
if votee in var.ROLES["jester"]:
|
if votee in var.ROLES["jester"]:
|
||||||
var.JESTERS.add(votee)
|
var.JESTERS.add(votee)
|
||||||
|
|
||||||
if not var.ROLES["succubus"] & set(var.VOTES[votee]):
|
if not var.ROLES["succubus"] & set(var.VOTES[votee]) and var.ROLES["succubus"] & set(itertools.chain(*var.VOTES.values())):
|
||||||
voted_along = set()
|
voted_along = set()
|
||||||
for person, all_voters in var.VOTES.items():
|
for person, all_voters in var.VOTES.items():
|
||||||
if var.ROLES["succubus"] & set(all_voters):
|
if var.ROLES["succubus"] & set(all_voters):
|
||||||
@ -4420,7 +4420,9 @@ def transition_day(cli, gameid=0):
|
|||||||
# can play. Harlot visiting wolf doesn't play special events if they die via other means since
|
# can play. Harlot visiting wolf doesn't play special events if they die via other means since
|
||||||
# that assumes they die en route to the wolves (and thus don't shoot/give out gun/etc.)
|
# that assumes they die en route to the wolves (and thus don't shoot/give out gun/etc.)
|
||||||
for v in victims_set:
|
for v in victims_set:
|
||||||
if v in var.ROLES["bodyguard"] and var.GUARDED.get(v) in victims_set:
|
if v in var.ENTRANCED_DYING:
|
||||||
|
victims.append(v)
|
||||||
|
elif v in var.ROLES["bodyguard"] and var.GUARDED.get(v) in victims_set:
|
||||||
vappend.append(v)
|
vappend.append(v)
|
||||||
elif v in var.ROLES["harlot"] and var.HVISITED.get(v) in victims_set:
|
elif v in var.ROLES["harlot"] and var.HVISITED.get(v) in victims_set:
|
||||||
vappend.append(v)
|
vappend.append(v)
|
||||||
@ -4531,8 +4533,8 @@ def transition_day(cli, gameid=0):
|
|||||||
message.append("The wolves' selected victim was not home last night, and avoided the attack.")
|
message.append("The wolves' selected victim was not home last night, and avoided the attack.")
|
||||||
novictmsg = False
|
novictmsg = False
|
||||||
elif victim in var.ENTRANCED_DYING:
|
elif victim in var.ENTRANCED_DYING:
|
||||||
message.append(("\u0002{0}\u0002 was found dead by the village's center, and seem to "
|
message.append("\u0002{0}\u0002 seems to have died of a lack of faithfulness...".format(victim))
|
||||||
"have died of a lack of faithfulness...").format(victim))
|
dead.append(victim)
|
||||||
novictmsg = False
|
novictmsg = False
|
||||||
elif protected.get(victim) == "totem":
|
elif protected.get(victim) == "totem":
|
||||||
message.append(("\u0002{0}\u0002 was attacked last night, but their totem " +
|
message.append(("\u0002{0}\u0002 was attacked last night, but their totem " +
|
||||||
@ -5386,11 +5388,8 @@ def shoot(cli, nick, chan, rest):
|
|||||||
var.GUNNERS[nick] -= 1
|
var.GUNNERS[nick] -= 1
|
||||||
|
|
||||||
rand = random.random()
|
rand = random.random()
|
||||||
if victim in var.ROLES["succubus"] and nick in var.ENTRANCED: # hardcoded chances for entranced targetting succubus
|
if victim in var.ROLES["succubus"]: # hardcoded chances for entranced targetting succubus
|
||||||
if nick in var.ROLES["sharpshooter"]:
|
chances = (1, 0, 0, 0)
|
||||||
chances = (1, 0, 0, 0)
|
|
||||||
else:
|
|
||||||
chances = (1, 0, 0, 0)
|
|
||||||
elif nick in var.ROLES["village drunk"]:
|
elif nick in var.ROLES["village drunk"]:
|
||||||
chances = var.DRUNK_GUN_CHANCES
|
chances = var.DRUNK_GUN_CHANCES
|
||||||
elif nick in var.ROLES["sharpshooter"]:
|
elif nick in var.ROLES["sharpshooter"]:
|
||||||
@ -5940,7 +5939,7 @@ def hvisit(cli, nick, chan, rest):
|
|||||||
target = random.choice(list(set(var.list_players()) - var.ROLES["succubus"]))
|
target = random.choice(list(set(var.list_players()) - var.ROLES["succubus"]))
|
||||||
pm(cli, victim, "In your drunken stupor, you have selected \u0002{0}\u0002 as your target.".format(target))
|
pm(cli, victim, "In your drunken stupor, you have selected \u0002{0}\u0002 as your target.".format(target))
|
||||||
var.TARGETED[victim] = target
|
var.TARGETED[victim] = target
|
||||||
if var.SHAMANS.get(victim)[1] in var.ROLES["succubus"] and (var.get_role(victim) == "crazed shaman" or var.TOTEMS[victim] not in var.BENEFICIAL_TOTEMS):
|
if var.SHAMANS.get(victim, (None, None))[1] in var.ROLES["succubus"] and (var.get_role(victim) == "crazed shaman" or var.TOTEMS[victim] not in var.BENEFICIAL_TOTEMS):
|
||||||
pm(cli, victim, "You have retracted your totem on \u0002{0}\u0002, a succubus.".format(nick))
|
pm(cli, victim, "You have retracted your totem on \u0002{0}\u0002, a succubus.".format(nick))
|
||||||
del var.SHAMANS[victim]
|
del var.SHAMANS[victim]
|
||||||
if victim in var.HEXED and var.LASTHEXED[victim] in var.ROLES["succubus"]:
|
if victim in var.HEXED and var.LASTHEXED[victim] in var.ROLES["succubus"]:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user