Skip to content

Commit b39e8be

Browse files
committed
Unrestrict vigilante kill in pactbreaker
They still die if they target incorrectly, but they no longer require evidence in order to use the !kill command. This should in turn make it a bit more likely that wolf dies before vigilante dies/turns, which in turn makes it a bit easier for vigilante (and vampire) to win.
1 parent 3f6fc71 commit b39e8be

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

messages/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1452,7 +1452,7 @@
14521452
"pactbreaker_observe_success": "After observing {0:@} for a while, you determine that they are likely {1!role:article} {1!role:bold}!",
14531453
"pactbreaker_wolf_notify": "You are {=wolf!role:article} {=wolf!role:bold}. It is your job to eliminate the {=vampire!role:plural} and {=vigilante!role:plural} to re-establish your pact with the village.\n{=pactbreaker_notify!message}\nFinally, you can use \"{=kill!command} <nick>\" to kill someone in the stocks or a known {=vampire!role} or {=vigilante!role} instead of visiting a location.",
14541454
"pactbreaker_vampire_notify": "You are {=vampire!role:article} {=vampire!role:bold}. It is your job to kill all the villagers.\n{=pactbreaker_notify!message}\nFinally, you can use \"{=bite!command} <nick>\" to feed on someone's blood instead of visiting a location. Your target will gain clues should you do so, but biting most people twice will kill them.",
1455-
"pactbreaker_vigilante_notify": "You are {=vigilante!role:article} {=vigilante!role:bold}. It is your job to eliminate the {=wolf!role:plural} and {=vampire!role:plural} to end their threat over the village.\n{=pactbreaker_notify!message}\nFinally, you can use \"{=kill!command} <nick>\" to kill someone in the stocks or a known {=wolf!role} or {=vampire!role} instead of visiting a location. If the person you kill is not {=wolf!role:article} {=wolf!role} or {=wolf!role:article} {=vampire!role}, you will die alongside your victim.",
1455+
"pactbreaker_vigilante_notify": "You are {=vigilante!role:article} {=vigilante!role:bold}. It is your job to eliminate the {=wolf!role:plural} and {=vampire!role:plural} to end their threat over the village.\n{=pactbreaker_notify!message}\nFinally, you can use \"{=kill!command} <nick>\" to kill someone instead of visiting a location. If the person you kill is not {=wolf!role:article} {=wolf!role} or {=wolf!role:article} {=vampire!role}, you will die alongside your victim.",
14561456
"pactbreaker_villager_notify": "You are {=villager!role:article} {=villager!role:bold}. It is your job to either re-establish the pact with the {=wolf!role:plural} by killing the {=vigilante!role:plural} and {=vampire!role:plural} or to help the {=vigilante!role:plural} end the threat the {=wolf!role:plural} and {=vampire!role:plural} cause.\n{=pactbreaker_notify!message}",
14571457
"pactbreaker_notify": "You may visit the {=forest!command:bold}, {=square!command:bold}, {=streets!command:bold}, or {=graveyard!command:bold} by using \"{=visit!command} <location>\". Visiting allows you to collect evidence about other players.",
14581458
"pactbreaker_clue_notify": "You have {0:bold} clue {=token,tokens:plural({0})}. You may spend {1} clue tokens to use \"{=observe!command} <nick>\" in PM to gain potentially-inaccurate evidence on someone or {2} tokens to use \"{=id!command} <nick>\" in PM to gain accurate evidence.",

src/gamemodes/pactbreaker.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -650,15 +650,15 @@ def kill(self, wrapper: MessageDispatcher, message: str):
650650
return
651651

652652
have_evidence = False
653-
can_kill = ("vampire", "vigilante") if player_role == "wolf" else ("vampire", "wolf")
654-
for role in can_kill:
655-
if target in self.collected_evidence[wrapper.source][role]:
656-
have_evidence = True
657-
break
658-
659-
if target is not self.in_stocks and not have_evidence:
660-
wrapper.send(messages["pactbreaker_no_kill_evidence"].format(target))
661-
return
653+
if player_role == "wolf":
654+
for role in ("vigilante", "vampire"):
655+
if target in self.collected_evidence[wrapper.source][role]:
656+
have_evidence = True
657+
break
658+
659+
if target is not self.in_stocks and not have_evidence:
660+
wrapper.send(messages["pactbreaker_no_kill_evidence"].format(target))
661+
return
662662

663663
self.killing[wrapper.source] = target
664664
self.visiting[wrapper.source] = Limbo

0 commit comments

Comments
 (0)