diff --git a/CHANGELOG.md b/CHANGELOG.md index 6684383..e714523 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # Release Notes ### Version 2.15.3 -- add Huntsman/Damsel, Noble, Al-Hadikhia, Golem, Fearmonger, Puzzlemaster, Alchemist to list of available characters +- add Huntsman/Damsel, Noble, Al-Hadikhia, Golem, Fearmonger, Puzzlemaster, Alchemist, Engineer to list of available characters ### Version 2.15.2 - added mobile web application support diff --git a/README.md b/README.md index 993780d..d31a7f7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Blood on the Clocktower Grimoire & Town Square +> :warning: **This project is no longer actively maintained** and will only receive critical bug fixes and the remaining Kickstarter preview roles. :warning: + ![social](https://user-images.githubusercontent.com/325521/102897760-d1147b00-4468-11eb-9d7b-63a204bc9fc1.png) This is an unofficial online tool to run Blood on the Clocktower games through Discord or other digital means. diff --git a/src/assets/icons/engineer.png b/src/assets/icons/engineer.png new file mode 100644 index 0000000..e1db07f Binary files /dev/null and b/src/assets/icons/engineer.png differ diff --git a/src/hatred.json b/src/hatred.json index 2dcaf49..632362e 100644 --- a/src/hatred.json +++ b/src/hatred.json @@ -140,6 +140,10 @@ { "id": "Legion", "hatred": [ + { + "id": "Engineer", + "reason": "Legion and the Engineer can not both be in play at the start of the game. If the Engineer creates Legion, most players (including all evil players) become evil Legion." + }, { "id": "Preacher", "reason": "Only 1 jinxed character can be in play." @@ -162,6 +166,10 @@ "id": "Magician", "reason": "When the Spy sees the Grimoire, the Demon and Magician's character tokens are removed." }, + { + "id": "Alchemist", + "reason": "The Alchemist can not have the Spy ability." + }, { "id": "Poppy Grower", "reason": "If the Poppy Grower is in play, the Spy does not see the Grimoire until the Poppy Grower dies." @@ -187,6 +195,10 @@ "id": "Poppy Grower", "reason": "If the Poppy Grower is in play, the Widow does not see the Grimoire until the Poppy Grower dies." }, + { + "id": "Alchemist", + "reason": "The Alchemist can not have the Widow ability." + }, { "id": "Damsel", "reason": "Only 1 jinxed character can be in play." diff --git a/src/roles.json b/src/roles.json index e023d46..82f3612 100644 --- a/src/roles.json +++ b/src/roles.json @@ -4,7 +4,7 @@ "name": "Washerwoman", "edition": "tb", "team": "townsfolk", - "firstNight": 31, + "firstNight": 32, "firstNightReminder": "Show the character token of a Townsfolk in play. Point to two players, one of which is that character.", "otherNight": 0, "otherNightReminder": "", @@ -18,7 +18,7 @@ "name": "Librarian", "edition": "tb", "team": "townsfolk", - "firstNight": 32, + "firstNight": 33, "firstNightReminder": "Show the character token of an Outsider in play. Point to two players, one of which is that character.", "otherNight": 0, "otherNightReminder": "", @@ -32,7 +32,7 @@ "name": "Investigator", "edition": "tb", "team": "townsfolk", - "firstNight": 33, + "firstNight": 34, "firstNightReminder": "Show the character token of a Minion in play. Point to two players, one of which is that character.", "otherNight": 0, "otherNightReminder": "", @@ -46,7 +46,7 @@ "name": "Chef", "edition": "tb", "team": "townsfolk", - "firstNight": 34, + "firstNight": 35, "firstNightReminder": "Show the finger signal (0, 1, 2, \u2026) for the number of pairs of neighbouring evil players.", "otherNight": 0, "otherNightReminder": "", @@ -59,9 +59,9 @@ "name": "Empath", "edition": "tb", "team": "townsfolk", - "firstNight": 35, + "firstNight": 36, "firstNightReminder": "Show the finger signal (0, 1, 2) for the number of evil alive neighbours of the Empath.", - "otherNight": 52, + "otherNight": 53, "otherNightReminder": "Show the finger signal (0, 1, 2) for the number of evil neighbours.", "reminders": [], "setup": false, @@ -72,9 +72,9 @@ "name": "Fortune Teller", "edition": "tb", "team": "townsfolk", - "firstNight": 36, + "firstNight": 37, "firstNightReminder": "The Fortune Teller points to two players. Give the head signal (nod yes, shake no) for whether one of those players is the Demon. ", - "otherNight": 53, + "otherNight": 54, "otherNightReminder": "The Fortune Teller points to two players. Show the head signal (nod 'yes', shake 'no') for whether one of those players is the Demon.", "reminders": ["Red herring"], "setup": false, @@ -87,7 +87,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 55, + "otherNight": 56, "otherNightReminder": "If a player was executed today: Show that player\u2019s character token.", "reminders": ["Executed"], "setup": false, @@ -100,7 +100,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 12, + "otherNight": 13, "otherNightReminder": "The previously protected player is no longer protected. The Monk points to a player not themself. Mark that player 'Protected'.", "reminders": ["Protected"], "setup": false, @@ -113,7 +113,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 41, + "otherNight": 42, "otherNightReminder": "If the Ravenkeeper died tonight: The Ravenkeeper points to a player. Show that player\u2019s character token.", "reminders": [], "setup": false, @@ -176,9 +176,9 @@ "name": "Butler", "edition": "tb", "team": "outsider", - "firstNight": 37, + "firstNight": 38, "firstNightReminder": "The Butler points to a player. Mark that player as 'Master'.", - "otherNight": 54, + "otherNight": 55, "otherNightReminder": "The Butler points to a player. Mark that player as 'Master'.", "reminders": ["Master"], "setup": false, @@ -229,9 +229,9 @@ "name": "Poisoner", "edition": "tb", "team": "minion", - "firstNight": 16, + "firstNight": 17, "firstNightReminder": "The Poisoner points to a player. That player is poisoned.", - "otherNight": 7, + "otherNight": 8, "otherNightReminder": "The previously poisoned player is no longer poisoned. The Poisoner points to a player. That player is poisoned.", "reminders": ["Poisoned"], "setup": false, @@ -242,9 +242,9 @@ "name": "Spy", "edition": "tb", "team": "minion", - "firstNight": 46, + "firstNight": 47, "firstNightReminder": "Show the Grimoire to the Spy for as long as they need.", - "otherNight": 66, + "otherNight": 67, "otherNightReminder": "Show the Grimoire to the Spy for as long as they need.", "reminders": [], "setup": false, @@ -257,7 +257,7 @@ "team": "minion", "firstNight": 0, "firstNightReminder": "", - "otherNight": 19, + "otherNight": 20, "otherNightReminder": "If the Scarlet Woman became the Demon today: Show the 'You are' card, then the demon token.", "reminders": ["Demon"], "setup": false, @@ -283,7 +283,7 @@ "team": "demon", "firstNight": 0, "firstNightReminder": "", - "otherNight": 23, + "otherNight": 24, "otherNightReminder": "The Imp points to a player. That player dies. If the Imp chose themselves: Replace the character of 1 alive minion with a spare Imp token. Show the 'You are' card, then the Imp token.", "reminders": ["Dead"], "setup": false, @@ -359,9 +359,9 @@ "name": "Grandmother", "edition": "bmr", "team": "townsfolk", - "firstNight": 38, + "firstNight": 39, "firstNightReminder": "Show the marked character token. Point to the marked player.", - "otherNight": 49, + "otherNight": 50, "otherNightReminder": "If the Grandmother\u2019s grandchild was killed by the Demon tonight: The Grandmother dies.", "reminders": ["Grandchild"], "setup": false, @@ -385,9 +385,9 @@ "name": "Chambermaid", "edition": "bmr", "team": "townsfolk", - "firstNight": 48, + "firstNight": 49, "firstNightReminder": "The Chambermaid points to two players. Show the number signal (0, 1, 2, \u2026) for how many of those players wake tonight for their ability.", - "otherNight": 68, + "otherNight": 69, "otherNightReminder": "The Chambermaid points to two players. Show the number signal (0, 1, 2, \u2026) for how many of those players wake tonight for their ability.", "reminders": [], "setup": false, @@ -400,7 +400,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 21, + "otherNight": 22, "otherNightReminder": "The Exorcist points to a player, different from the previous night. If that player is the Demon: Wake the Demon. Show the Exorcist token. Point to the Exorcist. The Demon does not act tonight.", "reminders": ["Chosen"], "setup": false, @@ -413,7 +413,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 8, + "otherNight": 9, "otherNightReminder": "The previously protected and drunk players lose those markers. The Innkeeper points to two players. Those players are protected. One is drunk.", "reminders": ["Protected", "Drunk"], @@ -427,7 +427,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 10, + "otherNight": 11, "otherNightReminder": "The Gambler points to a player, and a character on their sheet. If incorrect, the Gambler dies.", "reminders": ["Dead"], "setup": false, @@ -440,7 +440,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 46, + "otherNight": 47, "otherNightReminder": "If the Gossip\u2019s public statement was true: Choose a player not protected from dying tonight. That player dies.", "reminders": ["Dead"], "setup": false, @@ -451,9 +451,9 @@ "name": "Courtier", "edition": "bmr", "team": "townsfolk", - "firstNight": 18, + "firstNight": 19, "firstNightReminder": "The Courtier either shows a 'no' head signal, or points to a character on the sheet. If the Courtier used their ability: If that character is in play, that player is drunk.", - "otherNight": 9, + "otherNight": 10, "otherNightReminder": "Reduce the remaining number of days the marked player is poisoned. If the Courtier has not yet used their ability: The Courtier either shows a 'no' head signal, or points to a character on the sheet. If the Courtier used their ability: If that character is in play, that player is drunk.", "reminders": ["Drunk 3", "Drunk 2", @@ -469,7 +469,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 44, + "otherNight": 45, "otherNightReminder": "If the Professor has not used their ability: The Professor either shakes their head no, or points to a player. If that player is a Townsfolk, they are now alive.", "reminders": ["Alive", "No ability"], @@ -535,7 +535,7 @@ "team": "outsider", "firstNight": 0, "firstNightReminder": "", - "otherNight": 47, + "otherNight": 48, "otherNightReminder": "The Tinker might die.", "reminders": ["Dead"], "setup": false, @@ -548,7 +548,7 @@ "team": "outsider", "firstNight": 0, "firstNightReminder": "", - "otherNight": 48, + "otherNight": 49, "otherNightReminder": "If the Moonchild used their ability to target a player today: If that player is good, they die.", "reminders": ["Dead"], "setup": false, @@ -574,7 +574,7 @@ "team": "outsider", "firstNight": 7, "firstNightReminder": "If 7 or more players: Show the Lunatic a number of arbitrary 'Minions', players equal to the number of Minions in play. Show 3 character tokens of arbitrary good characters. If the token received by the Lunatic is a Demon that would wake tonight: Allow the Lunatic to do the Demon actions. Place their 'attack' markers. Wake the Demon. Show the Demon\u2019s real character token. Show them the Lunatic player. If the Lunatic attacked players: Show the real demon each marked player. Remove any Lunatic 'attack' markers.", - "otherNight": 20, + "otherNight": 21, "otherNightReminder": "Allow the Lunatic to do the actions of the Demon. Place their 'attack' markers. If the Lunatic selected players: Wake the Demon. Show the 'attack' marker, then point to each marked player. Remove any Lunatic 'attack' markers.", "reminders": ["Attack 1", "Attack 2", @@ -587,9 +587,9 @@ "name": "Godfather", "edition": "bmr", "team": "minion", - "firstNight": 20, + "firstNight": 21, "firstNightReminder": "Show each of the Outsider tokens in play.", - "otherNight": 37, + "otherNight": 38, "otherNightReminder": "If an Outsider died today: The Godfather points to a player. That player dies.", "reminders": ["Died today", "Dead"], @@ -601,9 +601,9 @@ "name": "Devil's Advocate", "edition": "bmr", "team": "minion", - "firstNight": 21, + "firstNight": 22, "firstNightReminder": "The Devil\u2019s Advocate points to a living player. That player survives execution tomorrow.", - "otherNight": 13, + "otherNight": 14, "otherNightReminder": "The Devil\u2019s Advocate points to a living player, different from the previous night. That player survives execution tomorrow.", "reminders": ["Survives execution"], "setup": false, @@ -616,7 +616,7 @@ "team": "minion", "firstNight": 0, "firstNightReminder": "", - "otherNight": 36, + "otherNight": 37, "otherNightReminder": "If the Assassin has not yet used their ability: The Assassin either shows the 'no' head signal, or points to a player. That player dies.", "reminders": ["Dead", "No ability"], @@ -643,7 +643,7 @@ "team": "demon", "firstNight": 0, "firstNightReminder": "", - "otherNight": 24, + "otherNight": 25, "otherNightReminder": "If no-one died during the day: The Zombuul points to a player. That player dies.", "reminders": ["Died today", "Dead"], @@ -655,9 +655,9 @@ "name": "Pukka", "edition": "bmr", "team": "demon", - "firstNight": 27, + "firstNight": 28, "firstNightReminder": "The Pukka points to a player. That player is poisoned.", - "otherNight": 25, + "otherNight": 26, "otherNightReminder": "The Pukka points to a player. That player is poisoned. The previously poisoned player dies. ", "reminders": ["Poisoned", "Dead"], @@ -671,7 +671,7 @@ "team": "demon", "firstNight": 0, "firstNightReminder": "", - "otherNight": 26, + "otherNight": 27, "otherNightReminder": "One player that the Shabaloth chose the previous night might be resurrected. The Shabaloth points to two players. Those players die.", "reminders": ["Dead", "Alive"], @@ -685,7 +685,7 @@ "team": "demon", "firstNight": 0, "firstNightReminder": "", - "otherNight": 27, + "otherNight": 28, "otherNightReminder": "If the Po chose no-one the previous night: The Po points to three players. Otherwise: The Po either shows the 'no' head signal , or points to a player. Chosen players die", "reminders": ["Dead", "3 attacks"], @@ -763,7 +763,7 @@ "name": "Clockmaker", "edition": "snv", "team": "townsfolk", - "firstNight": 39, + "firstNight": 40, "firstNightReminder": "Show the hand signal for the number (1, 2, 3, etc.) of places from Demon to closest Minion.", "otherNight": 0, "otherNightReminder": "", @@ -776,9 +776,9 @@ "name": "Dreamer", "edition": "snv", "team": "townsfolk", - "firstNight": 40, + "firstNight": 41, "firstNightReminder": "The Dreamer points to a player. Show 1 good and 1 evil character token; one of these is correct.", - "otherNight": 56, + "otherNight": 57, "otherNightReminder": "The Dreamer points to a player. Show 1 good and 1 evil character token; one of these is correct.", "reminders": [], "setup": false, @@ -789,9 +789,9 @@ "name": "Snake Charmer", "edition": "snv", "team": "townsfolk", - "firstNight": 19, + "firstNight": 20, "firstNightReminder": "The Snake Charmer points to a player. If that player is the Demon: swap the Demon and Snake Charmer character and alignments. Wake each player to inform them of their new role and alignment. The new Snake Charmer is poisoned.", - "otherNight": 11, + "otherNight": 12, "otherNightReminder": "The Snake Charmer points to a player. If that player is the Demon: swap the Demon and Snake Charmer character and alignments. Wake each player to inform them of their new role and alignment. The new Snake Charmer is poisoned.", "reminders": ["Poisoned"], "setup": false, @@ -802,9 +802,9 @@ "name": "Mathematician", "edition": "snv", "team": "townsfolk", - "firstNight": 49, + "firstNight": 50, "firstNightReminder": "Show the hand signal for the number (0, 1, 2, etc.) of players whose ability malfunctioned due to other abilities.", - "otherNight": 69, + "otherNight": 70, "otherNightReminder": "Show the hand signal for the number (0, 1, 2, etc.) of players whose ability malfunctioned due to other abilities.", "reminders": ["Abnormal"], "setup": false, @@ -817,7 +817,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 57, + "otherNight": 58, "otherNightReminder": "Nod 'yes' or shake head 'no' for whether the Demon voted today. Place the 'Demon not voted' marker (remove 'Demon voted', if any).", "reminders": ["Demon voted", "Demon not voted"], @@ -831,7 +831,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 58, + "otherNight": 59, "otherNightReminder": "Nod 'yes' or shake head 'no' for whether a Minion nominated today. Place the 'Minion not nominated' marker (remove 'Minion nominated', if any).", "reminders": ["Minions not nominated", "Minion nominated"], @@ -845,7 +845,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 59, + "otherNight": 60, "otherNightReminder": "Show the hand signal for the number (0, 1, 2, etc.) of dead evil players.", "reminders": [], "setup": false, @@ -869,9 +869,9 @@ "name": "Seamstress", "edition": "snv", "team": "townsfolk", - "firstNight": 41, + "firstNight": 42, "firstNightReminder": "The Seamstress either shows a 'no' head signal, or points to two other players. If the Seamstress chose players , nod 'yes' or shake 'no' for whether they are of same alignment.", - "otherNight": 60, + "otherNight": 61, "otherNightReminder": "If the Seamstress has not yet used their ability: the Seamstress either shows a 'no' head signal, or points to two other players. If the Seamstress chose players , nod 'yes' or shake 'no' for whether they are of same alignment.", "reminders": ["No ability"], "setup": false, @@ -911,7 +911,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 61, + "otherNight": 62, "otherNightReminder": "If today was the Juggler\u2019s first day: Show the hand signal for the number (0, 1, 2, etc.) of 'Correct' markers. Remove markers.", "reminders": ["Correct"], "setup": false, @@ -924,7 +924,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 42, + "otherNight": 43, "otherNightReminder": "If the Sage was killed by a Demon: Point to two players, one of which is that Demon.", "reminders": [], "setup": false, @@ -950,7 +950,7 @@ "team": "outsider", "firstNight": 0, "firstNightReminder": "", - "otherNight": 40, + "otherNight": 41, "otherNightReminder": "Choose a player that is drunk.", "reminders": ["Drunk"], "setup": false, @@ -963,7 +963,7 @@ "team": "outsider", "firstNight": 0, "firstNightReminder": "", - "otherNight": 39, + "otherNight": 40, "otherNightReminder": "If the Barber died today: Wake the Demon. Show the 'This character selected you' card, then Barber token. The Demon either shows a 'no' head signal, or points to 2 players. If they chose players: Swap the character tokens. Wake each player. Show 'You are', then their new character token.", "reminders": ["Haircuts tonight"], "setup": false, @@ -987,7 +987,7 @@ "name": "Evil Twin", "edition": "snv", "team": "minion", - "firstNight": 22, + "firstNight": 23, "firstNightReminder": "Wake the Evil Twin and their twin. Confirm that they have acknowledged each other. Point to the Evil Twin. Show their Evil Twin token to the twin player. Point to the twin. Show their character token to the Evil Twin player.", "otherNight": 0, "otherNightReminder": "", @@ -1000,9 +1000,9 @@ "name": "Witch", "edition": "snv", "team": "minion", - "firstNight": 23, + "firstNight": 24, "firstNightReminder": "The Witch points to a player. If that player nominates tomorrow they die immediately.", - "otherNight": 14, + "otherNight": 15, "otherNightReminder": "If there are 4 or more players alive: The Witch points to a player. If that player nominates tomorrow they die immediately.", "reminders": ["Cursed"], "setup": false, @@ -1013,9 +1013,9 @@ "name": "Cerenovus", "edition": "snv", "team": "minion", - "firstNight": 24, + "firstNight": 25, "firstNightReminder": "The Cerenovus points to a player, then to a character on their sheet. Wake that player. Show the 'This character selected you' card, then the Cerenovus token. Show the selected character token. If the player is not mad about being that character tomorrow, they can be executed.", - "otherNight": 15, + "otherNight": 16, "otherNightReminder": "The Cerenovus points to a player, then to a character on their sheet. Wake that player. Show the 'This character selected you' card, then the Cerenovus token. Show the selected character token. If the player is not mad about being that character tomorrow, they can be executed.", "reminders": ["Mad"], "setup": false, @@ -1028,7 +1028,7 @@ "team": "minion", "firstNight": 0, "firstNightReminder": "", - "otherNight": 16, + "otherNight": 17, "otherNightReminder": "The Pit-Hag points to a player and a character on the sheet. If this character is not in play, wake that player and show them the 'You are' card and the relevant character token. If the character is in play, nothing happens.", "reminders": [], "setup": false, @@ -1041,7 +1041,7 @@ "team": "demon", "firstNight": 0, "firstNightReminder": "", - "otherNight": 28, + "otherNight": 29, "otherNightReminder": "The Fang Gu points to a player. That player dies. Or, if that player was an Outsider and there are no other Fang Gu in play: The Fang Gu dies instead of the chosen player. The chosen player is now an evil Fang Gu. Wake the new Fang Gu. Show the 'You are' card, then the Fang Gu token. Show the 'You are' card, then the thumb-down 'evil' hand sign.", "reminders": ["Dead", "Once"], @@ -1055,7 +1055,7 @@ "team": "demon", "firstNight": 0, "firstNightReminder": "", - "otherNight": 31, + "otherNight": 32, "otherNightReminder": "The Vigormortis points to a player. That player dies. If a Minion, they keep their ability and one of their Townsfolk neighbours is poisoned.", "reminders": ["Dead", "Has ability", @@ -1070,7 +1070,7 @@ "team": "demon", "firstNight": 0, "firstNightReminder": "", - "otherNight": 29, + "otherNight": 30, "otherNightReminder": "The No Dashii points to a player. That player dies.", "reminders": ["Dead", "Poisoned"], @@ -1084,7 +1084,7 @@ "team": "demon", "firstNight": 0, "firstNightReminder": "", - "otherNight": 30, + "otherNight": 31, "otherNightReminder": "The Vortox points to a player. That player dies.", "reminders": ["Dead"], "setup": false, @@ -1162,7 +1162,7 @@ "name": "Noble", "edition": "", "team": "townsfolk", - "firstNight": 42, + "firstNight": 43, "firstNightReminder": "Point to 3 players including one evil player, in no particular order.", "otherNight": 0, "otherNightReminder": "", @@ -1175,9 +1175,9 @@ "name": "Bounty Hunter", "edition": "", "team": "townsfolk", - "firstNight": 44, + "firstNight": 45, "firstNightReminder": "Point to 1 evil player. Wake the townsfolk who is evil and show them the 'You are' card and the thumbs down evil sign.", - "otherNight": 64, + "otherNight": 65, "otherNightReminder": "If the known evil player has died, point to another evil player. ", "reminders": ["Known"], "setup": true, @@ -1188,7 +1188,7 @@ "name": "Pixie", "edition": "", "team": "townsfolk", - "firstNight": 28, + "firstNight": 29, "firstNightReminder": "Show the Pixie 1 in-play Townsfolk character token.", "otherNight": 0, "otherNightReminder": "", @@ -1202,9 +1202,9 @@ "name": "General", "edition": "", "team": "townsfolk", - "firstNight": 47, + "firstNight": 48, "firstNightReminder": "Show the General thumbs up for good winning, thumbs down for evil winning or thumb to the side for neither.", - "otherNight": 67, + "otherNight": 68, "otherNightReminder": "Show the General thumbs up for good winning, thumbs down for evil winning or thumb to the side for neither.", "reminders": [], "setup": false, @@ -1215,9 +1215,9 @@ "name": "Preacher", "edition": "", "team": "townsfolk", - "firstNight": 13, + "firstNight": 14, "firstNightReminder": "The Preacher chooses a player. If a Minion is chosen, wake the Minion and show the 'This character selected you' card and then the Preacher token.", - "otherNight": 6, + "otherNight": 7, "otherNightReminder": "The Preacher chooses a player. If a Minion is chosen, wake the Minion and show the 'This character selected you' card and then the Preacher token.", "reminders": ["At a sermon"], "setup": false, @@ -1230,7 +1230,7 @@ "team": "townsfolk", "firstNight": 9, "firstNightReminder": "Wake the Demon, show them the 'This character selected you' card, show the King token and point to the King player.", - "otherNight": 63, + "otherNight": 64, "otherNightReminder": "If there are more dead than living, show the King a character token of a living player.", "reminders": [], "setup": false, @@ -1241,9 +1241,9 @@ "name": "Balloonist", "edition": "", "team": "townsfolk", - "firstNight": 43, + "firstNight": 44, "firstNightReminder": "Choose a character type. Point to a player whose character is of that type. Place the Balloonist's Seen reminder next to that character.", - "otherNight": 62, + "otherNight": 63, "otherNightReminder": "Choose a character type that does not yet have a Seen reminder next to a character of that type. Point to a player whose character is of that type, if there are any. Place the Balloonist's Seen reminder next to that character.", "reminders": ["Seen Townsfolk", "Seen Outsider", @@ -1258,9 +1258,9 @@ "name": "Cult Leader", "edition": "", "team": "townsfolk", - "firstNight": 45, + "firstNight": 46, "firstNightReminder": "If the cult leader changed alignment, show them the thumbs up good signal of the thumbs down evil signal accordingly.", - "otherNight": 65, + "otherNight": 66, "otherNightReminder": "If the cult leader changed alignment, show them the thumbs up good signal of the thumbs down evil signal accordingly.", "reminders": [], "setup": false, @@ -1273,7 +1273,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 22, + "otherNight": 23, "otherNightReminder": "The Lycanthrope points to a living player: if good, they die and no one else can die tonight.", "reminders": ["Dead"], "setup": false, @@ -1292,6 +1292,19 @@ "setup": false, "ability": "You do not know what your ability is. Each day, privately guess what it is: you learn how accurate you are." }, + { + "id": "engineer", + "name": "Engineer", + "edition": "", + "team": "townsfolk", + "firstNight": 13, + "firstNightReminder": "The Engineer shows a 'no' head signal, or points to a Demon or points to the relevant number of Minions. If the Engineer chose characters, replace the Demon or Minions with the choices, then wake the relevant players and show them the You are card and the relevant character tokens.", + "otherNight": 6, + "otherNightReminder": "The Engineer shows a 'no' head signal, or points to a Demon or points to the relevant number of Minions. If the Engineer chose characters, replace the Demon or Minions with the choices, then wake the relevant players and show them the 'You are' card and the relevant character tokens.", + "reminders": ["No ability"], + "setup": false, + "ability": "Once per game, at night, choose which Minions or which Demon is in play." + }, { "id": "fisherman", "name": "Fisherman", @@ -1310,9 +1323,9 @@ "name": "Huntsman", "edition": "", "team": "townsfolk", - "firstNight": 29, + "firstNight": 30, "firstNightReminder": "The Huntsman shakes their head 'no' or points to a player. If they point to the Damsel, wake that player, show the 'You are' card and a not-in-play character token.", - "otherNight": 50, + "otherNight": 51, "otherNightReminder": "The Huntsman shakes their head 'no' or points to a player. If they point to the Damsel, wake that player, show the 'You are' card and a not-in-play character token.", "reminders": ["No ability"], "setup": true, @@ -1339,7 +1352,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 45, + "otherNight": 46, "otherNightReminder": "If a Farmer died tonight, choose another good player and make them the Farmer. Wake this player, show them the 'You are' card and the Farmer character token.", "reminders": [], "setup": false, @@ -1365,7 +1378,7 @@ "team": "townsfolk", "firstNight": 0, "firstNightReminder": "", - "otherNight": 43, + "otherNight": 44, "otherNightReminder": "If the King was killed by the Demon, wake the Choirboy and point to the Demon player.", "reminders": [], "setup": true, @@ -1418,7 +1431,7 @@ "team": "outsider", "firstNight": 0, "firstNightReminder": "", - "otherNight": 38, + "otherNight": 39, "otherNightReminder": "If a good living neighbour is drunk or poisoned, the Acrobat player dies.", "reminders": ["Dead"], "setup": false, @@ -1456,9 +1469,9 @@ "name": "Damsel", "edition": "", "team": "outsider", - "firstNight": 30, + "firstNight": 31, "firstNightReminder": "Wake all the Minions, show them the 'This character selected you' card and the Damsel token.", - "otherNight": 51, + "otherNight": 52, "otherNightReminder": "If selected by the Huntsman, wake the Damsel, show 'You are' card and a not-in-play Townsfolk token.", "reminders": ["Guess used"], "setup": false, @@ -1495,7 +1508,7 @@ "name": "Widow", "edition": "", "team": "minion", - "firstNight": 17, + "firstNight": 18, "firstNightReminder": "Show the Grimoire to the Widow for as long as they need. The Widow points to a player. That player is poisoned. Wake a good player. Show the 'These characters are in play' card, then the Widow character token.", "otherNight": 0, "otherNightReminder": "", @@ -1509,9 +1522,9 @@ "name": "Fearmonger", "edition": "", "team": "minion", - "firstNight": 25, + "firstNight": 26, "firstNightReminder": "The Fearmonger points to a player. Place the Fear token next to that player and announce that a new player has been selected with the Fearmonger ability.", - "otherNight": 17, + "otherNight": 18, "otherNightReminder": "The Fearmonger points to a player. If different from the previous night, place the Fear token next to that player and announce that a new player has been selected with the Fearmonger ability.", "reminders": ["Fear"], "setup": false, @@ -1535,9 +1548,9 @@ "name": "Mephit", "edition": "", "team": "minion", - "firstNight": 26, + "firstNight": 27, "firstNightReminder": "Show the Mephit their secret word.", - "otherNight": 18, + "otherNight": 19, "otherNightReminder": "Wake the 1st good player that said the Mephit's secret word and show them the 'You are' card and the thumbs down evil signal.", "reminders": ["Turns evil", "No ability"], @@ -1549,9 +1562,9 @@ "name": "Mezepheles", "edition": "", "team": "minion", - "firstNight": 26, + "firstNight": 27, "firstNightReminder": "Show the Mezepheles their secret word.", - "otherNight": 18, + "otherNight": 19, "otherNightReminder": "Wake the 1st good player that said the Mezepheles' secret word and show them the 'You are' card and the thumbs down evil signal.", "reminders": ["Turns evil", "No ability"], @@ -1590,9 +1603,9 @@ "name": "Lil' Monsta", "edition": "", "team": "demon", - "firstNight": 15, + "firstNight": 16, "firstNightReminder": "Wake all Minions together, allow them to vote by pointing at who they want to babysit Lil' Monsta.", - "otherNight": 35, + "otherNight": 36, "otherNightReminder": "Wake all Minions together, allow them to vote by pointing at who they want to babysit Lil' Monsta. Choose a player, that player dies.", "reminders": [], "remindersGlobal": ["Is the Demon", @@ -1605,9 +1618,9 @@ "name": "Lleech", "edition": "", "team": "demon", - "firstNight": 14, + "firstNight": 15, "firstNightReminder": "The Lleech points to a player. Place the Poisoned reminder token.", - "otherNight": 34, + "otherNight": 35, "otherNightReminder": "The Lleech points to a player. That player dies.", "reminders": ["Dead", "Poisoned"], @@ -1621,7 +1634,7 @@ "team": "demon", "firstNight": 0, "firstNightReminder": "", - "otherNight": 32, + "otherNight": 33, "otherNightReminder": "The Al-Hadikhia chooses 3 players. Announce the first player, wake them to nod yes to live or shake head no to die, kill or resurrect accordingly, then put to sleep and announce the next player. If all 3 are alive after this, all 3 die.", "reminders": ["1", "2", "3", "Chose death", @@ -1636,7 +1649,7 @@ "team": "demon", "firstNight": 0, "firstNightReminder": "", - "otherNight": 33, + "otherNight": 34, "otherNightReminder": "Choose a player, that player dies.", "reminders": ["Dead", "About to die"], @@ -1648,9 +1661,9 @@ "name": "Leviathan", "edition": "", "team": "demon", - "firstNight": 51, + "firstNight": 52, "firstNightReminder": "Place the Leviathan 'Day 1' marker. Announce 'The Leviathan is in play; this is Day 1.'", - "otherNight": 71, + "otherNight": 72, "otherNightReminder": "Change the Leviathan Day reminder for the next day.", "reminders": ["Day 1", "Day 2",