From a764911025382a8863f60a4e4c893c03c61a40ef Mon Sep 17 00:00:00 2001 From: Golbolco Date: Fri, 8 Dec 2023 11:01:43 -0500 Subject: [PATCH] 12 15 role audit (#1274) gonna merge this preemptively just because I want santa to give out all the items --- Games/types/Mafia/roles/cards/GiveCrystal.js | 4 - Games/types/Mafia/roles/cards/GivePresents.js | 2 +- data/roles.js | 76 ++++++++++--------- 3 files changed, 40 insertions(+), 42 deletions(-) diff --git a/Games/types/Mafia/roles/cards/GiveCrystal.js b/Games/types/Mafia/roles/cards/GiveCrystal.js index caefec192..04b5b320b 100644 --- a/Games/types/Mafia/roles/cards/GiveCrystal.js +++ b/Games/types/Mafia/roles/cards/GiveCrystal.js @@ -9,16 +9,12 @@ module.exports = class GiveCrystal extends Card { "Give Crystal": { states: ["Night"], flags: ["voting"], - shouldMeet: function () { - return !this.crystalGiven; - }, action: { labels: ["giveItem", "crystal"], priority: PRIORITY_ITEM_GIVER_DEFAULT, run: function () { this.target.holdItem("Crystal"); this.target.queueGetItemAlert("Crystal"); - this.actor.role.crystalGiven = true; }, }, }, diff --git a/Games/types/Mafia/roles/cards/GivePresents.js b/Games/types/Mafia/roles/cards/GivePresents.js index 680054f6f..7ca3e0d8a 100644 --- a/Games/types/Mafia/roles/cards/GivePresents.js +++ b/Games/types/Mafia/roles/cards/GivePresents.js @@ -28,7 +28,7 @@ module.exports = class GivePresents extends Card { states: ["Night"], flags: ["voting"], inputType: "custom", - targets: ["Gun", "Armor", "Knife", "Crystal", "Whiskey", "Bread"], + targets: ["Gun", "Armor", "Bomb", "Knife", "Crystal", "Whiskey", "Bread", "Key", "Falcon", "Tract", "Syringe"], action: { priority: PRIORITY_ITEM_GIVER_DEFAULT - 1, run: function () { diff --git a/data/roles.js b/data/roles.js index 3e4f93a8b..7bd5bb3e8 100644 --- a/data/roles.js +++ b/data/roles.js @@ -138,6 +138,14 @@ const roleData = { "Gives out a gun to all visitors at night.", ], }, + Gemcutter: { + alignment: "Village", + recentlyUpdated: true, + description: [ + "Gives out a crystal ball to a player during the night.", + "Crystal balls reveal the chosen player's role identity upon the holder's death.", + ], + }, Gunsmith: { alignment: "Village", description: ["Gives out a gun each night."], @@ -167,6 +175,14 @@ const roleData = { ], graveyardParticipation: "all", }, + Santa: { + alignment: "Village", + description: [ + "Visits a player each night to learn their role alignment.", + "If not visited during the night, will learn whether that player is naughty or nice.", + "Gives out a Gun, Knife, Armor, Crystal, Whiskey, Bread, Key, Falcon, Tract, or Syringe each night.", + ], + }, //investigatory roles Bloodhound: { alignment: "Village", @@ -209,6 +225,12 @@ const roleData = { "Appears as normal cop upon death.", ], }, + Coroner: { + alignment: "Village", + description: [ + "Chooses to visit a dead player at night and learns their role identity.", + ], + }, Detective: { alignment: "Village", description: [ @@ -296,6 +318,13 @@ const roleData = { "Visits one player each night whose role will be revealed upon death.", ], }, + "Robin Hood": { + alignment: "Village", + description: [ + "Chooses one player to steal from each night and another player to receive their items.", + "If the player chosen to receive an item is mafia, the steal will not go through.", + ], + }, //sacrificial roles Hunter: { alignment: "Village", @@ -478,6 +507,15 @@ const roleData = { ], graveyardParticipation: "all", }, + Mourner: { + alignment: "Village", + description: [ + "Can ask players in the graveyard a question every night.", + "The players can answer with yes or no.", + "The mourner will receive the results of the vote.", + ], + graveyardParticipation: "all", + }, "Town Crier": { alignment: "Village", description: ["Can anonymously broadcast messages during the day."], @@ -491,50 +529,14 @@ const roleData = { ], graveyardParticipation: "self", }, - "Robin Hood": { - alignment: "Village", - description: [ - "Chooses one player to steal from each night and another player to receive their items.", - "If the player chosen to receive an item is mafia, the steal will not go through.", - ], - }, - Gemcutter: { - alignment: "Village", - description: [ - "Gives out a crystal ball to a player during the night, once per game.", - "Crystal balls reveal the chosen player's role identity upon the holder's death.", - ], - }, Inventor: { alignment: "Village", + disabled: true, description: [ "Creates an item if not visited by anyone during the night.", "Created item can be a Gun, Knife, Armor, Crystal Ball or Whiskey.", ], }, - Coroner: { - alignment: "Village", - description: [ - "Chooses to visit a dead player at night and learns their role identity.", - ], - }, - Mourner: { - alignment: "Village", - description: [ - "Can ask players in the graveyard a question every night.", - "The players can answer with yes or no.", - "The mourner will receive the results of the vote.", - ], - graveyardParticipation: "all", - }, - Santa: { - alignment: "Village", - description: [ - "Visits a player each night to learn their role alignment.", - "If not visited during the night, will learn whether that player is naughty or nice.", - "Gives out a Gun, Knife, Armor, Crystal, Whiskey, or Bread, each night.", - ], - }, Tinkerer: { alignment: "Village", description: [