From 2f89cb09b0e42a7f3be7d4fea32ffcc2dd59f9b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Mon, 19 Aug 2024 16:10:45 +0200 Subject: [PATCH 01/13] Add pack definitions --- encounters.json | 8 ++++++-- pack/side/tmg_encounter.json | 1 + packs.json | 8 ++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 pack/side/tmg_encounter.json diff --git a/encounters.json b/encounters.json index 7ea84d334..9faddaed3 100644 --- a/encounters.json +++ b/encounters.json @@ -1162,7 +1162,7 @@ { "code": "relics_of_the_past", "name": "Relics of the Past" - }, + }, { "code": "the_first_day", "name": "The First Day" @@ -1266,5 +1266,9 @@ { "code": "written_in_rock", "name": "Written in Rock" - } + }, + { + "code": "the_midwinter_gala", + "name": "The Midwinter Gala" + } ] diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/pack/side/tmg_encounter.json @@ -0,0 +1 @@ +{} diff --git a/packs.json b/packs.json index 6898b60f9..b0e64c3f3 100644 --- a/packs.json +++ b/packs.json @@ -759,5 +759,13 @@ "name": "Hunting for Answers", "position": 10, "size": 3 + }, + { + "code": "tmg", + "cycle_code": "side_stories", + "date_release": "2024-08-23", + "name": "The Midwinter Gala", + "position": 11, + "size": 78 } ] From 6b8ccfa30cfd9e631e4e0c88a3d0d18c959c0d55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Mon, 19 Aug 2024 23:55:50 +0200 Subject: [PATCH 02/13] feat: add `the_midwinter_gala` --- pack/side/tmg_encounter.json | 1412 +++++++++++++++++++++++++++++++++- 1 file changed, 1411 insertions(+), 1 deletion(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index 0967ef424..29caa1b04 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -1 +1,1411 @@ -{} +[ + { + "back_text": "Hard / Expert\n[skull]: -X. X is 1 plus the current agenda number.\n[cultist]: -X. X is the number of story assets at your location.\n[tablet]: -3. (-5 instead if you are at a [[Private]] location).\n[elder_thing]: -4. If you fail or if The Bloodless Man is at your location, take ? horror.", + "code": "71001", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 1, + "faction_code": "mythos", + "name": "The Midwinter Gala", + "pack_code": "tmg", + "position": 1, + "quantity": 1, + "text": "Easy / Standard\n[skull]: -X. X is the current agenda number.\n[cultist]: -X. X is the number of [[Guest]] assets at your location (to a maximum of 5).\n[tablet]: -2. (-4 instead if you are at a [[Private]] location).\n[elder_thing]: -3. If you fail or if The Bloodless Man is at your location, take 1 horror.", + "type_code": "scenario" + }, + { + "back_flavor": "A crash resounds from somewhere deeper in the manor, followed by a scream. Declan Pearce emerges to calm the crowd in the ballroom, but you can't help but notice the masked attendants have positioned themselves in front of each of the manor's many exits.", + "back_name": "Who Let the Gugs Out?", + "back_text": "Shuffle each set-aside [[Monster]] enemy, both copies of the Vicious Ambush treachery, and the encounter discard pile into the encounter deck.", + "code": "71002", + "doom": 4, + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 2, + "faction_code": "mythos", + "flavor": "Promising to be a night of intrigue and wonder, the gala is expected to be filled with secrets and whispers that are as much a part of the entertainment as the drinks and music.", + "illustrator": "Robert Laskey", + "name": "Masked Revelers", + "pack_code": "tmg", + "position": 2, + "quantity": 1, + "stage": 1, + "text": "Each [[Lantern Club]] enemy cannot be dealt damage.\nDoom cannot be removed from this agenda by card effects.\nForced - When a single-sided [[Guest]] asset would leave play: It becomes spellbound instead (flip it facedown, lose control of it, and heal all damage and horror from it).", + "type_code": "agenda" + }, + { + "back_name": "Mayhem Ensues", + "back_text": "If The Bloodless Man (Silent Lurker) is in play:\n
You turn around to see the Bloodless Man striding toward you with murderous intent. Before you can react, the imposing figure staggers, then falls face first onto the red carpet.
\nMoments later, a sharp sound of ripping cloth breaks the silence. Glistening appendages erupt from the Bloodless Man's torn suit and limbs, blossoming into a grotesque amalgam of flesh and writhing tentacles. Your stomach churns as the creature's bone-white mask stares down at you, set in a maw of nightmarish limbs and gnashing fangs.
\nFlip The Bloodless Man (Silent Lurker) to his (Unleashed) side.\n
\nOtherwise:\n
The clamor around you seems to quiet for a moment.
\nEach investigator may heal 1 horror from an investigator or [[Guest]] asset at their location.", + "code": "71003", + "doom": 6, + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 3, + "faction_code": "mythos", + "flavor": "Commotion stirs deeper within the manor as various guests ask the attendants to be let out. Other guests shuffle through the manor with dead eyes and blank stares.", + "illustrator": "Robert Laskey", + "name": "Unexpected Guests", + "pack_code": "tmg", + "position": 3, + "quantity": 1, + "stage": 2, + "text": "Parley abilities on each [[Lantern Club]] enemy cannot be triggered.\nDoom cannot be removed from this agenda by card effects.\nForced - When a single-sided [[Guest]] asset would leave play: It becomes spellbound instead (flip it facedown, lose control of it, and heal all damage and horror from it).", + "type_code": "agenda" + }, + { + "back_flavor": "", + "back_name": "A Kingsport Goodbye", + "back_text": "Each investigator is defeated and suffers 1 mental trauma.", + "code": "71004", + "doom": 6, + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 4, + "faction_code": "mythos", + "flavor": "The party descends into utter mayhem, with guests throwing themselves out of glass doors and windows to escape the otherworldly monstrosities.", + "illustrator": "Robert Laskey", + "name": "A Killer Party", + "pack_code": "tmg", + "position": 4, + "quantity": 1, + "stage": 3, + "text": "Parley abilities on each [[Lantern Club]] enemy cannot be triggered.\nDoom cannot be removed from this agenda by card effects.\nForced - When a single-sided [[Guest]] asset would leave play: It becomes spellbound instead (flip it facedown, lose control of it, and heal all damage and horror from it).", + "type_code": "agenda" + }, + { + "back_flavor": "You and your contact meet with several guests, who each confirm that the Jewel was taken by Declan Pearce from the display case in the Ballroom. Furthermore, strange sounds have begun to emanate from the second floor of the manor...", + "back_name": "Contacts Acquired", + "back_text": "Choose one of the set-aside [[Second Floor]] locations at random and put it into play directly above the Lobby. For the rest of the game, that location is connected to the Lobby, and vice versa. Put the other 2 set-aside locations into play in a row to the right of the previously placed [[Second Floor]] location.\nPut the set-aside rival story card into play next to the agenda, [[Rival]] side faceup, and follow its Setup text.\nRead Interlude: The Fabled Jewel (page 13).", + "clues": 3, + "code": "71005", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 5, + "faction_code": "mythos", + "flavor": "You notice the Jewel is no longer in the ballroom. Maybe a guest saw someone move it?", + "illustrator": "Pixoloid Studios", + "name": "Meet and Greet", + "pack_code": "tmg", + "position": 5, + "quantity": 1, + "stage": 1, + "text": "[[Guest]] assets do not take up ally slots.\n[action] Choose a [[Guest]] asset and a skill icon on it at your location: Parley. Test that skill (3). If you succeed, take control of that asset.\n[action] If you control a [[Guest]] asset: Give control of it to another investigator at your location.\nObjective - If each undefeated investigator controls a [[Guest]] asset and the current agenda is 2a or 3a, they may spend the requisite amount of clues, as a group, to advance.", + "type_code": "act" + }, + { + "back_flavor": "You take a deep breath as you stagger out into the cold night air. Snow falls thickly on the once-pristine lawn, now stained red with blood. The manor is dead silent behind you. The Jewel of Sarnath pulses with an unearthly light in your palm, and for a moment you feel a balmy breeze, the scent of another place both familiar and dreamlike. Was the gem worth all this devastation?", + "back_name": "The Party's Over", + "back_text": "(→R1).", + "clues": null, + "code": "71006", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 6, + "faction_code": "mythos", + "flavor": "You must help your contact and their associates, no matter the cost.", + "illustrator": "Pixoloid Studios", + "name": "Finding the Jewel", + "pack_code": "tmg", + "position": 6, + "quantity": 1, + "stage": 2, + "text": "[[Guest]] assets do not take up ally slots.\n[action] Choose a [[Guest]] asset and a skill icon on it at your location: Parley. Test that skill (3). If you succeed, take control of that asset.\nObjective - Complete the objective on your faction story card, and try to accomplish as many tasks as you can (see page 24 of the rulebook).", + "type_code": "act" + }, + { + "back_flavor": "The front door of the mansion leads to a room filled with art, attendees, and a beautiful chandelier. Grab yourself a drink; it could be a long night.", + "clues": 1, + "code": "71007", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 7, + "faction_code": "mythos", + "flavor": "The winter chill lingers in your bones. Something feels wrong.", + "illustrator": "Pixoloid Studios", + "name": "Lobby", + "pack_code": "tmg", + "position": 7, + "quantity": 1, + "shroud": 2, + "text": "[fast] If the current agenda is 2a or 3a, spend 1 [per_investigator] resources: Someone is fashionably late. Reveal the top card of the Guest deck and put it into play at this location. (Group limit once per round.)", + "traits": "Manor. Ground Floor.", + "type_code": "location" + }, + { + "back_flavor": "You feel an icy chill when you put your hand on the knob to the silent sanctum.", + "back_text": "As an additional cost to enter this location, you must take 1 horror.", + "clues": 2, + "code": "71008", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 8, + "faction_code": "mythos", + "illustrator": "Pixoloid Studios", + "name": "Lantern Chamber", + "pack_code": "tmg", + "position": 8, + "quantity": 1, + "shroud": 5, + "text": "[fast] During your turn, name a card: Draw the top card of the encounter deck. If it is the named card, cancel its effects and discard it. Discover 1 clue at this location. (Limit once per turn.)\n[action] If this location has no clues: Test [willpower] (4). If you succeed, flip over any spellbound card.", + "traits": "Manor. Private. Basement.", + "type_code": "location", + "victory": 1 + }, + { + "back_flavor": "The stately halls are filled with the sound of music and laughter.", + "back_illustrator": "Yoann Boissonnet", + "back_name": "Ground-Floor Room", + "clues": 1, + "code": "71009", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 9, + "faction_code": "mythos", + "flavor": "There's nothing quite like the pieces on display here.", + "illustrator": "Pixoloid Studios", + "name": "Art Gallery", + "pack_code": "tmg", + "position": 9, + "quantity": 1, + "shroud": 3, + "text": "[action]: There's more to be discovered in this room full of strange works of art. Place up to 2 clues (from the token pool) on this location. Gain 2 resources. (Group limit once per round.)", + "traits": "Manor. Ground Floor.", + "type_code": "location" + }, + { + "back_flavor": "The stately halls are filled with the sound of music and laughter.", + "back_illustrator": "Yoann Boissonnet", + "back_name": "Ground-Floor Room", + "clues": 1, + "code": "71010", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 10, + "faction_code": "mythos", + "flavor": "They're playing \"Sogno e Follia in D Minor\" by a little known composer named E. Zann.", + "illustrator": "Pixoloid Studios", + "name": "Ballroom", + "pack_code": "tmg", + "position": 10, + "quantity": 1, + "shroud": 2, + "text": "[action]: Parley. You persuade two of the guests to have a dance. Exhaust 2 [[Guest]] assets at this location. Then, heal 1 horror from each of them.", + "traits": "Manor. Ground Floor.", + "type_code": "location" + }, + { + "back_flavor": "The stately halls are filled with the sound of music and laughter.", + "back_illustrator": "Yoann Boissonnet", + "back_name": "Ground-Floor Room", + "clues": 2, + "code": "71011", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 11, + "faction_code": "mythos", + "flavor": "This jag juice has a nice kick!", + "illustrator": "Drazenka Kimpel", + "name": "Barroom", + "pack_code": "tmg", + "position": 11, + "quantity": 1, + "shroud": 3, + "text": "[fast] Spend 1 resource: Buy a drink! Heal 1 damage or 1 horror from an investigator or [[Guest]] asset at this location. (Group limit once per round.)", + "traits": "Manor. Ground Floor.", + "type_code": "location" + }, + { + "encounter_code": "the_midwinter_gala", + "pack_code": "tmg", + "encounter_position": 12, + "code": "71012", + "position": 12, + "back_name": "Second-Floor Room", + "back_flavor": "The second floor is eerily silent.", + "back_illustrator": "Yoann Boissonnet", + "clues": 2, + "double_sided": true, + "faction_code": "mythos", + "illustrator": "Pixoloid Studios", + "name": "Bedroom", + "quantity": 1, + "shroud": 3, + "text": "[action] Choose an enemy at any [[Second Floor]] location: Fight. You may use [agility] instead of [combat] for this attack. If you succeed, you may spend 1 clue for this attack to deal +2 damage. (Limit once per turn.)", + "traits": "Manor. Private. Second Floor.", + "type_code": "location" + }, + { + "encounter_code": "the_midwinter_gala", + "pack_code": "tmg", + "encounter_position": 13, + "code": "71013", + "position": 13, + "back_name": "Second-Floor Room", + "back_flavor": "The second floor is eerily silent.", + "back_illustrator": "Yoann Boissonnet", + "clues": 3, + "double_sided": true, + "faction_code": "mythos", + "illustrator": "Pixoloid Studios", + "name": "Library", + "quantity": 1, + "shroud": 4, + "text": "You get +1 skill value while parleying at this location.\n[fast] If the Jewel of Sarnath is at this location: Test [intellect] (3). If you succeed, either place 1 damage on the Jewel of Sarnath or remove 1 token from it. (Group limit once per game.)", + "traits": "Manor. Private. Second Floor.", + "type_code": "location", + "victory": 1 + }, + { + "encounter_code": "the_midwinter_gala", + "pack_code": "tmg", + "encounter_position": 14, + "code": "71014", + "position": 14, + "back_name": "Second-Floor Room", + "back_flavor": "The second floor is eerily silent.", + "back_illustrator": "Yoann Boissonnet", + "clues": 3, + "double_sided": true, + "faction_code": "mythos", + "flavor": "A moon-beast in a bottle? How bizarre.", + "illustrator": "Pixoloid Studios", + "name": "Parlor", + "quantity": 1, + "shroud": 6, + "text": "This location gets -1 shroud for each [[Guest]] asset at it (to a minimum of 1 shroud).\n[fast] If you control the Jewel of Sarnath: Exhaust an enemy at any location. (Group limit once per game.)", + "traits": "Manor. Private. Second Floor.", + "type_code": "location", + "victory": 1 + }, + { + "back_link": "71015b", + "code": "71015a", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 15, + "faction_code": "mythos", + "flavor": "The 'authorities' seem to want you to acquire the Jewel by force. Good luck taking it from the Bloodless Man.", + "name": "The Foundation", + "pack_code": "tmg", + "position": 15, + "quantity": 1, + "text": "Forced - When The Bloodless Man (Unleashed) is defeated: If the Jewel of Sarnath is attached to him, attach it to his location.\n[action] If the Jewel of Sarnath is at your location and The Bloodless Man is not in play: Take control of the Jewel of Sarnath and place 1 damage on it.\nObjective - At the end of the round, if the investigators control the Jewel of Sarnath, they may spend 2 [per_investigator] clues, as a group, to advance the act.\nEnd of game scoring:\n4 points if no non-weakness enemies are in play (2 points instead if exactly one non-weakness enemy is in play).", + "traits": "Allied.", + "type_code": "story" + }, + { + "code": "71015b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 15, + "faction_code": "mythos", + "flavor": "The Foundation doesn't take kindly to your interest in the Jewel. If you make a show of force, you might convince them to back down.", + "hidden": true, + "name": "The Foundation", + "pack_code": "tmg", + "position": 15, + "quantity": 1, + "text": "Setup: Shuffle the set-aside Rookie Cop enemy into the encounter deck. Put the set-aside Valeriya Antonova card into play at the lead investigator's location, enemy side faceup.\n[action] If Valeriya Antonova is at your location: Parley. Test [combat] (3). If you succeed, place 1 of your clues on this story card.\nForced - When there are 1 plus 1 [per_investigator] clues on this story card: Add it and Valeriya Antonova to the victory display. Search the encounter deck, encounter discard pile, and all play areas for Rookie Cop and remove it from the game. If the encounter deck was searched, shuffle it.", + "traits": "Rival.", + "type_code": "story" + }, + { + "back_link": "71016b", + "code": "71016a", + "encounter_code": "the_midwinter_gala", + "encounter_position": 16, + "faction_code": "guardian", + "health": 2, + "illustrator": "Lin Hsiang", + "is_unique": true, + "name": "Valeriya Antonova", + "pack_code": "tmg", + "position": 16, + "quantity": 1, + "sanity": 3, + "skill_combat": 1, + "skill_intellect": 1, + "skill_willpower": 1, + "subname": "Wants Out of Here", + "text": "You get +1 [combat].\n[action] Exhaust Valeriya Antonova: Ready another [[Guest]] asset at your location. You get +1 to your next skill test this round for each [[Guest]] asset at your location.\nForced - When Valeriya Antonova leaves play: Remove her from the game.", + "traits": "Leader. Guest. Agency.", + "type_code": "asset" + }, + { + "code": "71016b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 16, + "enemy_evade": 3, + "enemy_fight": 2, + "enemy_horror": 1, + "faction_code": "mythos", + "health": null, + "hidden": true, + "illustrator": "Lin Hsiang", + "is_unique": true, + "name": "Valeriya Antonova", + "pack_code": "tmg", + "position": 16, + "quantity": 1, + "subname": "Don't Mess With Her", + "text": "Aloof. Hunter.\nValeriya Antonova cannot be damaged.\nEach investigator at this location gets -1 to each of their skills if they control an exhausted [[Guest]] asset.\nForced - When the round ends: Exhaust each [[Guest]] asset at this location.", + "traits": "Humanoid. Leader. Rival. Elite.", + "type_code": "enemy", + "victory": 0 + }, + { + "code": "71017", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 17, + "faction_code": "guardian", + "health": 2, + "illustrator": "Tiziano Baracchi", + "is_unique": true, + "name": "Archibald Hudson", + "pack_code": "tmg", + "position": 17, + "quantity": 1, + "sanity": 2, + "skill_intellect": 2, + "skill_willpower": 2, + "slot": "Ally", + "subname": "Astute Agent", + "text": "[fast] During your turn, exhaust Archibald Hudson: Search the top 9 cards of the encounter deck for an enemy, draw it, and shuffle the encounter deck. Then, exhaust that enemy and gain 3 resources.\n[action] Spend 1 resource: Move 1 damage from an asset at our location to a non-[[Elite]] enemy at your location.", + "traits": "Ally. Guest. Agency.", + "type_code": "asset" + }, + { + "code": "71018", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 18, + "faction_code": "guardian", + "flavor": "\"Say hello to my lil' boy, Tommy!\"", + "health": 3, + "illustrator": "Stephen Somers", + "is_unique": true, + "name": "Special Agent Callahan", + "pack_code": "tmg", + "position": 18, + "quantity": 1, + "sanity": 1, + "skill_combat": 2, + "skill_intellect": 2, + "slot": "Ally", + "subname": "Weapons Expert", + "text": "[action]: Fight. Reduce the difficulty of this test by 1.\n[reaction] After you trigger an [action] ability on an [[Ally]] or [[Weapon]] asset, exhaust Special Agent Callahan: Deal 1 damage to an enemy at your location.", + "traits": "Ally. Guest. Agency.", + "type_code": "asset" + }, + { + "code": "71019", + "cost": 3, + "encounter_code": "the_midwinter_gala", + "encounter_position": 19, + "faction_code": "guardian", + "health": 4, + "illustrator": "David Hovey", + "is_unique": true, + "name": "Horacio Martinez", + "pack_code": "tmg", + "position": 19, + "quantity": 1, + "sanity": 1, + "skill_agility": 2, + "skill_combat": 2, + "slot": "Ally", + "subname": "Brash Bodyguard", + "text": "While you control Horacio Martinez, he may be assigned damage dealt to other investigators at your location.\n[reaction] After a non-[[Elite]] enemy attacks you, exhaust Horacio Martinez: Exhaust that enemy and it cannot ready this round (do not disengage from it).", + "traits": "Ally. Guest. Agency.", + "type_code": "asset" + }, + { + "code": "71020", + "encounter_code": "the_midwinter_gala", + "encounter_position": 20, + "enemy_damage": 1, + "enemy_evade": 2, + "enemy_fight": 2, + "faction_code": "mythos", + "health": 2, + "illustrator": "Nicholas Elias", + "name": "Rookie Cop", + "pack_code": "tmg", + "position": 20, + "quantity": 1, + "text": "Surge. Aloof. Hunter.\nForced - After an investigator at this location attacks another enemy: Deal 1 damage to that investigator.", + "traits": "Humanoid. Police. Rival.", + "type_code": "enemy" + }, + { + "back_link": "71021b", + "code": "71021a", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 21, + "faction_code": "mythos", + "flavor": "You are assisting Dean Caldwell with \"acquiring\" the Jewel, but first you will have to persuade Declan Pearce to give it up.", + "name": "Miskatonic University", + "pack_code": "tmg", + "position": 21, + "quantity": 1, + "text": "Declan Pearce cannot be damaged or leave play while the Jewel of Sarnath is attached to him.\n[action] If Declan Pearce is at your location: Parley. Place up to 2 of your clues on Declan Pearce. Then, if 3 [per_investigator] or more clues are on him, take control of the Jewel of Sarnath and add Declan Pearce to the victory display.\nObjective - At the end of the round, if the investigators control the Jewel of Sarnath, they may advance the act.\nEnd of game scoring:\n1 point per 2 [per_investigator] total cards in hand among all investigators (to a maximum of 4 points).", + "traits": "Allied.", + "type_code": "story" + }, + { + "code": "71021b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 21, + "faction_code": "mythos", + "flavor": "The eggheads at Miskatonic University seem to think this Jewel belongs in their museum. Perhaps you can help them see reason.", + "hidden": true, + "name": "Miskatonic University", + "pack_code": "tmg", + "position": 21, + "quantity": 1, + "text": "Setup: Shuffle the set-aside Confusion treachery into the encounter deck. Put the set-aside Caldwell Philips card into play at the lead investigator's location, enemy side faceup.\n[action] If Caldwell Philips is at your location: Parley. Test [intellect] (3). If you succeed, place\n1 of your clues on this story card.\nForced - When there are 1 plus 1 [per_investigator] clues on this story card: Add it and Caldwell Philips to the victory display. Search the encounter deck and discard pile for Confusion and remove it from the game. Shuffle the encounter deck.", + "traits": "Rival.", + "type_code": "story" + }, + { + "back_link": "71022b", + "code": "71022a", + "encounter_code": "the_midwinter_gala", + "encounter_position": 22, + "faction_code": "seeker", + "health": 2, + "illustrator": "Tiziano Baracchi", + "is_unique": true, + "name": "Caldwell Philips", + "pack_code": "tmg", + "position": 22, + "quantity": 1, + "sanity": 3, + "skill_agility": 1, + "skill_intellect": 1, + "skill_willpower": 1, + "subname": "Enthralled by Legends", + "text": "You get +1 [intellect].\n[reaction] After you discover 1 or more clues, exhaust Caldwell Philips: Draw that number of cards (to a maximum of 3).\nForced - When Caldwell Philips leaves play: Remove him from the game.", + "traits": "Leader. Guest. Miskatonic.", + "type_code": "asset" + }, + { + "code": "71022b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 22, + "enemy_evade": 3, + "enemy_fight": 2, + "enemy_horror": 1, + "faction_code": "mythos", + "health": null, + "hidden": true, + "illustrator": "Tiziano Baracchi", + "is_unique": true, + "name": "Caldwell Philips", + "pack_code": "tmg", + "position": 22, + "quantity": 1, + "subname": "Compelled by Dreains", + "text": "Aloof. Hunter.\nCaldwell Philips cannot be damaged.\nForced - When you end your turn at this location: Choose and discard a non-weakness card from your hand.", + "traits": "Humanoid. Leader. Rival. Elite.", + "type_code": "enemy", + "victory": 0 + }, + { + "code": "71023", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 23, + "faction_code": "seeker", + "flavor": "\"Disturbingly lifelike, isn't it?\"", + "health": 2, + "illustrator": "Tiziano Baracchi", + "is_unique": true, + "name": "Dr. Mya Badry", + "pack_code": "tmg", + "position": 23, + "quantity": 1, + "sanity": 2, + "skill_agility": 2, + "skill_intellect": 2, + "slot": "Ally", + "subname": "Medical Examiner", + "text": "Your maximum hand size is increased by 2.\n[action] Exhaust Dr. Mya Badry: Investigate. Your base value for this investigation is equal to the number of cards in your hand.", + "traits": "Ally. Guest. Miskatonic.", + "type_code": "asset" + }, + { + "code": "71024", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 24, + "faction_code": "seeker", + "health": 3, + "illustrator": "Robert Laskey", + "is_unique": true, + "name": "Lucas Tetlow", + "pack_code": "tmg", + "position": 24, + "quantity": 1, + "sanity": 1, + "skill_combat": 2, + "skill_intellect": 2, + "slot": "Ally", + "subname": "Faculty Curator", + "text": "[reaction] After the last clue is discovered at your location, exhaust Lucas Tetlow: Search the top ? cards of your deck for an [[Item]] asset and draw it. ?If it is? a [[Relic]], gain 2 resources. If it is a [[Tome]], you ?may? play it (paying its cost). If it is a [[Tool]], discover ?? at a connecting location. Shuffle your deck.", + "traits": "Ally. Guest. Miskatonic.", + "type_code": "asset" + }, + { + "code": "71025", + "cost": 3, + "encounter_code": "the_midwinter_gala", + "encounter_position": 25, + "faction_code": "seeker", + "flavor": "\"Has anyone else tried the giggle juice? It's fantastic!\"", + "health": 1, + "illustrator": "Tiziano Baracchi", + "is_unique": true, + "name": "Elizabeth Conrad", + "pack_code": "tmg", + "position": 25, + "quantity": 1, + "sanity": 3, + "skill_agility": 2, + "skill_willpower": 2, + "slot": "Ally", + "subname": "Completely Zozzled", + "text": "[reaction] After you draw a card during your turn, exhaust Elizabeth Conrad: Choose an investigator at your location to move to a connecting location.", + "traits": "Ally. Guest. Miskatonic.", + "type_code": "asset" + }, + { + "code": "71026", + "encounter_code": "the_midwinter_gala", + "encounter_position": 26, + "faction_code": "mythos", + "flavor": "What is this???", + "illustrator": "Robert Laskey", + "name": "Confusion", + "pack_code": "tmg", + "position": 26, + "quantity": 1, + "text": "Surge. Confusion cannot be canceled.\nRevelation - Place 2 of your clues on your location. For each clue you cannot place, take 1 horror.", + "traits": "Blunder. Rival.", + "type_code": "treachery" + }, + { + "back_link": "71027b", + "code": "71027a", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 27, + "faction_code": "mythos", + "flavor": "It's a job, and nothing more. If you can abscond with the Jewel, you know you'll be handsomely rewarded.", + "name": "The Syndicate", + "pack_code": "tmg", + "position": 27, + "quantity": 1, + "text": "[action] Spend 1 [per_investigator] clues: Look at a mystery (a facedown card) beneath your location.\n[fast] During your turn, if there are 1 [per_investigator] or fewer clues on a location with a mystery: Draw that mystery.\nObjective - Find the Jewel of Sarnath and escape. At the end of the round, if an investigator at the Lobby controls the Jewel of Sarnath, the investigators may spend 4 [per_investigator] clues, as a group, to advance the act.\nEnd of game scoring:\n1 point per 3 [per_investigator] resources among all investigators (to a maximum of 4 points).", + "traits": "Allied.", + "type_code": "story" + }, + { + "code": "71027b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 27, + "faction_code": "mythos", + "flavor": "The mob are easily angered, but you might be able to convince Johnny Valone that giving up the Jewel is in his best interest...", + "hidden": true, + "name": "The Syndicate", + "pack_code": "tmg", + "position": 27, + "quantity": 1, + "text": "Setup: Shuffle the set-aside Cold Streak treachery into the encounter deck. Put the set-aside Johnny Valone card into play at the lead investigator's location, enemy side faceup.\n[action] If Johnny Valone is at your location: Parley. Test [agility] (3). If you succeed, place 1 of your clues on this story card.\nForced - When there are 1 plus 1 [per_investigator] clues on this story card: Add it and Johnny Valone to the victory display. Search the encounter deck and discard pile for Cold Streak and remove it from the game. Shuffle the encounter deck.", + "traits": "Rival.", + "type_code": "story" + }, + { + "back_link": "71028b", + "code": "71028a", + "encounter_code": "the_midwinter_gala", + "encounter_position": 28, + "faction_code": "rogue", + "flavor": "\"Fifty clams when the job's done.\"", + "health": 3, + "illustrator": "Jeff Lee Johnson", + "is_unique": true, + "name": "Johnny Valone", + "pack_code": "tmg", + "position": 28, + "quantity": 1, + "sanity": 2, + "skill_agility": 1, + "skill_combat": 1, + "skill_intellect": 1, + "subname": "Ready to Make a Deal", + "text": "You get +1 [agility].\n[reaction] After you gain 1 or more resources via a card effect, exhaust Johnny Valone: Draw 1 card and gain 1 resource.\nForced - When Johnny Valone leaves play: Remove him from the game.", + "traits": "Leader. Guest. Syndicate.", + "type_code": "asset" + }, + { + "code": "71028b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 28, + "enemy_evade": 2, + "enemy_fight": 3, + "enemy_horror": 1, + "faction_code": "mythos", + "flavor": "\"The debt must be paid!\"", + "health": null, + "hidden": true, + "illustrator": "Jeff Lee Johnson", + "is_unique": true, + "name": "Johnny Valone", + "pack_code": "tmg", + "position": 28, + "quantity": 1, + "subname": "Here to Collect", + "text": "Aloof. Hunter.\nJohnny Valone cannot be damaged.\nForced - When you end your turn at Johnny Valone's location: Lose 2 resources.", + "traits": "Humanoid. Leader. Rival. Elite.", + "type_code": "enemy", + "victory": 0 + }, + { + "code": "71029", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 29, + "faction_code": "rogue", + "flavor": "You slay me.", + "health": 2, + "illustrator": "Alexandre Dainche", + "is_unique": true, + "name": "Miranda Keeper", + "pack_code": "tmg", + "position": 29, + "quantity": 1, + "sanity": 2, + "skill_combat": 2, + "skill_intellect": 2, + "slot": "Ally", + "subname": "Antiquities \"Trader\"", + "text": "Uses (3 supplies).\n[fast] Spend 1 supply: Place 1 resource on your location, as an antiquity. You get +2 to your next skill test this round.\n[reaction] After you succeed at a skill test by 2 or more, remove an antiquity from your location: Gain 2 resources.", + "traits": "Ally. Guest. Syndicate.", + "type_code": "asset" + }, + { + "code": "71030", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 30, + "faction_code": "rogue", + "health": 1, + "illustrator": "Lin Hsiang", + "is_unique": true, + "name": "Arsène Renard", + "pack_code": "tmg", + "position": 30, + "quantity": 1, + "sanity": null, + "skill_agility": 2, + "skill_intellect": 2, + "slot": "Ally", + "subname": "Gentleman Thief", + "text": "[fast]: Place 1 resource on each location, as an antiquity. (Group limit once per game.)\n[fast]: If there is an exhausted enemy at your location, remove an antiquity from your location: Either draw 1 card or gain 2 resources.", + "traits": "Ally. Guest. Syndicate.", + "type_code": "asset" + }, + { + "code": "71031", + "cost": 3, + "encounter_code": "the_midwinter_gala", + "encounter_position": 31, + "faction_code": "rogue", + "health": 3, + "illustrator": "Lin Hsiang", + "is_unique": true, + "name": "Nova Malone", + "pack_code": "tmg", + "position": 31, + "quantity": 1, + "sanity": 1, + "skill_combat": 2, + "skill_willpower": 2, + "slot": "Ally", + "subname": "Commanding Gangster", + "text": "[action] Exhaust Nova Malone: Fight. Your base [combat] value for this fight is equal to the number of resources in your resource pool (to a maximum of 7). This attack deals +1 damage.\n[reaction] After you defeat an enemy: Gain 1 resource. (Limit once per round.)", + "traits": "Ally. Guest. Syndicate.", + "type_code": "asset" + }, + { + "code": "71032", + "encounter_code": "the_midwinter_gala", + "encounter_position": 32, + "faction_code": "mythos", + "flavor": "It's just not your night.", + "illustrator": "Sara Biddle", + "name": "Cold Streak", + "pack_code": "tmg", + "position": 32, + "quantity": 1, + "text": "Surge. Cold Streak cannot be canceled.\nRevelation - Lose 4 resources. For each resource you cannot lose, take either 1 damage or 1 horror.", + "traits": "Misfortune. Rival.", + "type_code": "treachery" + }, + { + "back_link": "71033b", + "code": "71033a", + "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 33, + "faction_code": "mythos", + "flavor": "Carl Sanford has promised you a lavish reward for acquiring the Jewel. But can you really trust him?", + "name": "Silver Twilight Lodge", + "pack_code": "tmg", + "position": 33, + "quantity": 1, + "text": "[action]: You try to sense the Jewel's presence. Discard the top card of the encounter deck. You may draw that card. (Group limit twice per round.)\nObjective - Find the Jewel of Sarnath. At the end of the round, if the investigators control the Jewel of Sarnath, they may spend 5 [per_investigator] clues, as a group, to advance the act.\nEnd of game scoring:\n1 point for each treachery with no victory points in the victory display (to a maximum of 4 points).", + "traits": "Allied.", + "type_code": "story" + }, + { + "code": "71033b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 33, + "faction_code": "mythos", + "flavor": "Perhaps you can gently convince Sanford and the Lodge to leave well enough alone.", + "hidden": true, + "name": "Silver Twilight Lodge", + "pack_code": "tmg", + "position": 33, + "quantity": 1, + "text": "Setup: Shuffle the set-aside Ward of Preservation treachery into the encounter deck. Put the set-aside Carl Sanford card into play at the lead investigator's location, enemy side faceup.\n[action] If Carl Sanford is at your location: Parley. Test [willpower] (3). If you succeed, place 1 of your clues on this story card.\nForced - When there are 1 plus 1 [per_investigator] clues on this story card: Add it and Carl Sanford to the victory display. Search the encounter deck, encounter discard pile, and all play areas for Ward of Preservation and remove it from the game. Shuffle the encounter deck.", + "traits": "Rival.", + "type_code": "story" + }, + { + "back_link": "71034b", + "code": "71034a", + "encounter_code": "the_midwinter_gala", + "encounter_position": 34, + "faction_code": "mystic", + "health": 3, + "illustrator": "Nicholas Elias", + "is_unique": true, + "name": "Carl Sanford", + "pack_code": "tmg", + "position": 34, + "quantity": 1, + "sanity": 3, + "skill_combat": 1, + "skill_intellect": 1, + "skill_willpower": 1, + "subname": "Lusting for Power", + "text": "You get +1 [willpower]. You have one additional arcane slot.\n[reaction] After a revelation effect on a non-weakness treachery is canceled, exhaust Carl Sanford: Add that treachery to the victory display. Draw 1 card.\nForced - When Carl Sanford leaves play: Remove him from the game.", + "traits": "Leader. Guest. Silver Twilight.", + "type_code": "asset" + }, + { + "code": "71034b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 34, + "enemy_evade": 3, + "enemy_fight": 3, + "enemy_horror": 1, + "faction_code": "mythos", + "flavor": "\"The Jewel is mine.\"", + "health": null, + "hidden": true, + "illustrator": "Nicholas Elias", + "is_unique": true, + "name": "Cari Sanford", + "pack_code": "tmg", + "position": 34, + "quantity": 1, + "subname": "Intimidating Presence", + "text": "Aloof. Hunter.\nCarl Sanford cannot be damaged.\nEach investigator at this location gets -1 [willpower].", + "traits": "Humanoid. Leader. Rival. Elite.", + "type_code": "enemy", + "victory": 0 + }, + { + "code": "71035", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 35, + "faction_code": "mystic", + "health": 2, + "illustrator": "Romana Kendelic", + "is_unique": true, + "name": "Prudence Douglas", + "pack_code": "tmg", + "position": 35, + "quantity": 1, + "sanity": 2, + "skill_agility": 2, + "skill_willpower": 2, + "slot": "Ally", + "subname": "Pragmatic Occultist", + "text": "Uses (3 portents).\n[fast] During your turn, spend 1 portent and exhaust Prudence Douglas: Look at the top 4 cards of the encounter deck. Discard up to 2 non-[[Elite]] cards from among them and put the rest back on top in any order.", + "traits": "Ally. Guest. Sorcerer. Silver Twilight.", + "type_code": "asset" + }, + { + "code": "71036", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 36, + "faction_code": "mystic", + "flavor": "\"Ares, Hades, heel. Good boys!\"", + "health": 3, + "illustrator": "Mark Winters", + "is_unique": true, + "name": "Sarah Van Shaw", + "pack_code": "tmg", + "position": 36, + "quantity": 1, + "sanity": 1, + "skill_agility": 2, + "skill_combat": 2, + "slot": "Ally", + "subname": "Lodge Warden", + "text": "[action] Spend up to 2 resources and exhaust Sarah Van Shaw: Fight. Add your [willpower] value to your skill value for this attack. For each resource spent, this attack deals +1 damage.", + "traits": "Ally. Guest. Silver Twilight.", + "type_code": "asset" + }, + { + "code": "71037", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 37, + "faction_code": "mystic", + "health": 1, + "illustrator": "Tiziano Baracchi", + "is_unique": true, + "name": "Raymond Loggins", + "pack_code": "tmg", + "position": 37, + "quantity": 1, + "sanity": 2, + "skill_intellect": 2, + "skill_willpower": 2, + "slot": "Ally", + "subname": "Mysterious Benefactor", + "text": "Uses (4 truths).\n[reaction] When you draw a non-weakness treachery, spend 1 truth: Cancel that card's revelation effect and discard it. Then, take 1 horror.", + "traits": "Ally. Guest. Sorcerer. Silver Twilight.", + "type_code": "asset" + }, + { + "code": "71038", + "encounter_code": "the_midwinter_gala", + "encounter_position": 38, + "faction_code": "mythos", + "illustrator": "Alexandr Elichev", + "name": "Ward of Preservation", + "pack_code": "tmg", + "position": 38, + "quantity": 1, + "text": "Surge. Ward of Preservation cannot be canceled.\nRevelation - Put Ward of Preservation into play in your threat area.\nForced - When you play an event: Cancel its effects and take 1 horror. Then, discard Ward of Preservation.", + "traits": "Spell. Rival.", + "type_code": "treachery" + }, + { + "back_link": "71039b", + "code": "71039a", + "encounter_code": "the_midwinter_gala", + "encounter_position": 39, + "faction_code": "mythos", + "flavor": "Bain has hinted at the dangerous power of the Jewel. Perhaps if you can wrest control of it from Declan Pearce, this nightmare will end.", + "name": "Locals of Kingsport", + "pack_code": "tmg", + "position": 39, + "quantity": 1, + "text": "Forced - When Declan Pearce is defeated: Attach the Jewel of Sarnath to his location.\n[action] If the Jewel of Sarnath is attached to your location: You attempt to purge the corruption from the Jewel. Test [combat] or [agility] (3). If you succeed, remove 1 token from it. You may take control of it.\nObjective - At the end of the round, if the investigators control the Jewel of Sarnath and it has no tokens on it, they may spend 3 [per_investigator] clues, as a group, to advance the act.\nEnd of game scoring:\n4 points, minus 1 point for each card in the guest deck (to a minimum of 0 points).", + "traits": "Allied.", + "type_code": "story" + }, + { + "code": "71039b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 39, + "faction_code": "mythos", + "flavor": "The locals don't seem to have taken kindly to your involvement. Perhaps you can show them you don't mean any harm.", + "hidden": true, + "name": "Locals of Kingsport", + "pack_code": "tmg", + "position": 39, + "quantity": 1, + "text": "Setup: Shuffle the set-aside Unlucky treachery into the encounter deck. Put the set-aside William Bain card into play at the lead investigator's location, enemy side faceup.\n[action] If William Bain is at your location: Parley. Test any skill (4). If you succeed, place 1 of your clues on this story card.\nForced - When there are 1 plus 1 [per_investigator] clues on this story card: Add it and William Bain to the victory display. Search the encounter deck, encounter discard pile, and all play areas for Unlucky and remove it from the game. Shuffle the encounter deck.", + "traits": "Rival.", + "type_code": "story" + }, + { + "back_link": "71040b", + "code": "71040a", + "encounter_code": "the_midwinter_gala", + "encounter_position": 40, + "faction_code": "survivor", + "health": 4, + "illustrator": "Felicia Cano", + "is_unique": true, + "name": "William Bain", + "pack_code": "tmg", + "position": 40, + "quantity": 1, + "sanity": 4, + "skill_agility": 1, + "skill_combat": 1, + "skill_willpower": 1, + "subname": "Looking for Those Lost", + "text": "While there are 1 or more cards committed to a skill test you are performing, you get +1 to each of your skills.\n[reaction] After you commit 1 or more cards to a skill test, spend 1 [per_investigator] resources and exhaust William Bain: Reveal the top card of the Guest deck and put it into play at the Lobby.\nForced - When William Bain leaves play: Remove him from the game.", + "traits": "Leader. Guest. Kingsport.", + "type_code": "asset" + }, + { + "code": "71040b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 40, + "enemy_evade": 4, + "enemy_fight": 4, + "enemy_horror": 1, + "faction_code": "mythos", + "health": null, + "hidden": true, + "illustrator": "Felicia Cano", + "is_unique": true, + "name": "William Bain", + "pack_code": "tmg", + "position": 40, + "quantity": 1, + "subname": "Defiant to the Last", + "text": "Aloof. Hunter.\nWilliam Bain cannot be damaged.\nEach investigator at this location cannot commit cards to skill tests.", + "traits": "Humanoid. Leader. Rival. Elite.", + "type_code": "enemy", + "victory": 0 + }, + { + "code": "71041", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 41, + "faction_code": "survivor", + "flavor": "\"That club made me do terrible things. We must stop them.\"", + "health": 1, + "illustrator": "Drazenka Kimpel", + "is_unique": true, + "name": "Delores Gadling", + "pack_code": "tmg", + "position": 41, + "quantity": 1, + "sanity": 3, + "skill_agility": 2, + "skill_combat": 2, + "slot": "Ally", + "subname": "Lantern Club Infiltrator", + "text": "While investigating and parleying, you get +1 for each [[Humanoid]] enemy at your location.\nYou may ignore each attack of opportunity made by [[Humanoid]], non-[[Elite]] enemies against you.", + "traits": "Ally. Guest. Kingsport.", + "type_code": "asset" + }, + { + "code": "71042", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 42, + "faction_code": "survivor", + "health": 3, + "illustrator": "Robert Laskey", + "is_unique": true, + "name": "Thomas Olney", + "pack_code": "tmg", + "position": 42, + "quantity": 1, + "sanity": 1, + "skill_intellect": 2, + "skill_willpower": 2, + "slot": "Ally", + "subname": "Inquisitive Adventurer", + "text": "[fast] Name a [[Trait]] and exhaust Thomas Olney: Discard the top card of the encounter deck. If that card has the named [[Trait]], gain 2 resources.\n[fast] During a skill test at your location, exhaust Thomas Olney: Discard the top card of your deck. You may commit that card to this skill test, if able.", + "traits": "Ally. Guest. Wayfarer.", + "type_code": "asset" + }, + { + "code": "71043", + "cost": 2, + "encounter_code": "the_midwinter_gala", + "encounter_position": 43, + "faction_code": "survivor", + "flavor": "\"I should've stayed home.\"", + "health": 2, + "illustrator": "Robert Laskey", + "is_unique": true, + "name": "Claire Wilson", + "pack_code": "tmg", + "position": 43, + "quantity": 1, + "sanity": 2, + "skill_agility": 2, + "skill_willpower": 2, + "slot": "Ally", + "subname": "Entirely Unimpressed", + "text": "[reaction] After you commit 1 or more cards to a skill test you are performing, exhaust Claire Wilson: You get +1 skill value for this test.", + "traits": "Ally. Guest. Kingsport.", + "type_code": "asset" + }, + { + "code": "71044", + "encounter_code": "the_midwinter_gala", + "encounter_position": 44, + "faction_code": "mythos", + "illustrator":"David Auden Nash", + "name": "Unlucky", + "pack_code": "tmg", + "position": 44, + "quantity": 1, + "text": "Surge. Unlucky cannot be canceled.\nRevelation - Put Unlucky into play in your threat area. You get -2 to each of your skills.\nForced - When the round ends: Discard Unlucky.", + "traits": "Misfortune. Rival.", + "type_code": "treachery" + }, + { + "back_link": "71045b", + "code": "71045a", + "encounter_code": "the_midwinter_gala", + "encounter_position": 45, + "enemy_damage": 1, + "enemy_evade": 2, + "enemy_fight": 4, + "enemy_horror": 1, + "faction_code": "mythos", + "health_per_investigator": true, + "health": 3, + "illustrator": "Robert Laskey", + "is_unique": true, + "name": "The Bloodless Man", + "pack_code": "tmg", + "position": 45, + "quantity": 1, + "subname": "Silent Lurker", + "text": "Aloof. Patrol (nearest location with a [[Guest]]).\nForced - When this enemy is defeated: Instead flip him over, exhaust him, and heal all but 3 [per_investigator] damage from him.\nForced - When the investigation phase ends, if this enemy is ready: Deal 1 horror to each investigator and [[Guest]] asset at this location. If The Pale Lantern is attached to this enemy, each [[Guest]] asset at this location becomes spellbound.", + "traits": "Humanoid. Lantern Club. Elite.", + "type_code": "enemy" + }, + { + "back_link": "71045b", + "code": "71045b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 45, + "enemy_damage": 2, + "enemy_evade": 3, + "enemy_fight": 3, + "enemy_horror": 1, + "faction_code": "mythos", + "health_per_investigator": true, + "health": 6, + "hidden": true, + "illustrator": "Helge C. Balzer", + "is_unique": true, + "name": "The Bloodless Man", + "pack_code": "tmg", + "position": 45, + "quantity": 1, + "subname": "Unleashed", + "text": "Hunter. Massive.\nForced - After this enemy attacks you: Remove a [[Guest]] asset you control from the game, ignoring the agenda's [[Forced]] effect.", + "traits": "Monster. Abomination. Elite.", + "type_code": "enemy", + "victory": 1 + }, + { + "back_link": "71046b", + "code": "71046a", + "encounter_code": "the_midwinter_gala", + "encounter_position": 46, + "faction_code": "neutral", + "illustrator": "Robert Laskey", + "is_unique": true, + "name": "The Pale Lantern", + "pack_code": "tmg", + "position": 46, + "quantity": 1, + "subname": "Hypnotic Glow", + "text": "[action] If The Bloodless Man has 1 or more damage on him or is in the victory display: Test [combat] or [agility] (3). If you succeed, take control of The Pale Lantern and flip it over. Any investigator at this location may trigger this ability.\nForced - When The Pale Lantern would leave play: Attach it to its location instead.", + "traits": "Item. Relic.", + "type_code": "asset" + }, + { + "code": "71046b", + "encounter_code": "the_midwinter_gala", + "encounter_position": 46, + "faction_code": "neutral", + "hidden": true, + "illustrator": "Robert Laskey", + "is_unique": true, + "name": "The Pale Lantern", + "pack_code": "tmg", + "position": 46, + "quantity": 1, + "subname": "Beguiling Aura", + "text": "[action]: Flip over a spellbound card at your location.\n[action] Exhaust The Pale Lantern: Test [combat] or [agility] (2). If you succeed, place 1 damage on it. Then, if there is 4 damage on it, you break it; add it to the victory display (ignoring its Forced effect) and flip over each spellbound card.\nForced - When The Pale Lantern would leave play: Flip it over and attach it to its location instead.", + "traits": "Item. Relic.", + "type_code": "asset", + "victory": 1 + }, + { + "code": "71047", + "encounter_code": "the_midwinter_gala", + "encounter_position": 47, + "enemy_damage": 1, + "enemy_evade": 2, + "enemy_fight": 3, + "enemy_horror": 2, + "faction_code": "mythos", + "flavor": "\"I wasn't expecting this kind of entertainment!\" - Elizabeth Conrad", + "health": 3, + "illustrator": "??", + "name": "Enraged Gug", + "pack_code": "tmg", + "position": 47, + "quantity": 2, + "text": "Alert. Hunter.\nHorror dealt by this enemy must be assigned to [[Guest]] assets you control, if able.", + "traits": "Monster. Dreamlands. Gug.", + "type_code": "enemy" + }, + { + "code": "71048", + "encounter_code": "the_midwinter_gala", + "encounter_position": 49, + "enemy_damage": 1, + "enemy_evade": 4, + "enemy_fight": 2, + "enemy_horror": 1, + "faction_code": "mythos", + "flavor": "\"Life imitates Art far more than Art imitates Life.\" - Oscar Wilde", + "health": 3, + "illustrator": "Alexander Chelyshev", + "name": "Abhorrent Moon-Beast", + "pack_code": "tmg", + "position": 48, + "quantity": 2, + "text": "Hunter. Retaliate.\nDamage dealt by this enemy must be assigned to [[Guest]] assets you control, if able.", + "traits": "Monster. Dreamlands. Servitor.", + "type_code": "enemy" + }, + { + "code": "71049", + "encounter_code": "the_midwinter_gala", + "encounter_position": 51, + "enemy_damage": 2, + "enemy_evade": 1, + "enemy_fight": 1, + "enemy_horror": 1, + "faction_code": "mythos", + "flavor": "And they whispered also that the rumoured Shantak-birds are no wholesome things... - H.P. Lovecraft, The Dream-Quest of Unknown Kadath", + "health": 4, + "illustrator": "Alexander Chelyshev", + "name": "Savage Shantak", + "pack_code": "tmg", + "position": 49, + "quantity": 1, + "text": "Hunter.\nSavage Shantak gets +1 fight and +1 evade for each [[Guest]] asset at its location.", + "traits": "Monster. Dreamlands. Shantak.", + "type_code": "enemy" + }, + { + "code": "71050", + "encounter_code": "the_midwinter_gala", + "encounter_position": 52, + "faction_code": "mythos", + "illustrator": "??", + "name": "Vicious Ambush", + "pack_code": "tmg", + "position": 50, + "quantity": 2, + "text": "Revelation - If no [[Monster]] enemies are in play, Vicious Ambush gains surge. Otherwise, the nearest [[Monster]] enemy readies, moves (one location at a time) until it reaches your location, engages you, and makes an immediate attack.", + "traits": "Scheme.", + "type_code": "treachery" + }, + { + "code": "71051", + "encounter_code": "the_midwinter_gala", + "encounter_position": 54, + "enemy_evade": 2, + "enemy_fight": 2, + "enemy_horror": 2, + "faction_code": "mythos", + "health": 2, + "illustrator": "Lin Hsiang", + "is_unique": true, + "name": "Declan Pearce", + "pack_code": "tmg", + "position": 51, + "quantity": 1, + "subname": "Lantern Club Nomarch", + "text": "Hunter.\nDeclan Pearce gets +2 [per_investigator] health.\nWhile Declan Pearce is engaged with you, you get 1 fewer action during your turn.\nForced - At the end of the enemy phase, if Declan Pearce is ready: Heal 1 damage from each enemy in play.", + "traits": "Humanoid. Lantern Club. Elite.", + "type_code": "enemy", + "victory": 0 + }, + { + "code": "71052", + "encounter_code": "the_midwinter_gala", + "encounter_position": 55, + "faction_code": "neutral", + "illustrator": "Drazenka Kimpel", + "is_unique": true, + "name": "Jewel of Sarnath", + "pack_code": "tmg", + "position": 52, + "quantity": 1, + "subname": "Turning Dreams into Reality", + "text": "Revelation - Put Jewel of Sarnath into play under your control with 3 damage and 1 doom on it.\nForced - When Jewel of Sarnath leaves play: Shuffle it into the encounter deck.\n[fast] Exhaust Jewel of Sarnath: Test [willpower] or [agility] (1). If you succeed, move 1 token on it to an enemy at your location.", + "traits": "Item. Relic.", + "type_code": "asset" + }, + { + "code": "71053", + "encounter_code": "the_midwinter_gala", + "encounter_position": 56, + "enemy_evade": 2, + "enemy_fight": 3, + "enemy_horror": 1, + "faction_code": "mythos", + "flavor": "\"I hear Nomarch Pearce has quite the evening in store.\"", + "health": 2, + "illustrator": "Robert Laskey", + "name": "Lantern Club Member", + "pack_code": "tmg", + "position": 53, + "quantity": 4, + "text": "[action] Spend 1 resource: Parley. Automatically evade this enemy (you may spend 2 additional resources to discard it instead).", + "traits": "Humanoid. Lantern Club.", + "type_code": "enemy" + }, + { + "code": "71054", + "encounter_code": "the_midwinter_gala", + "encounter_position": 60, + "faction_code": "mythos", + "flavor": "They needed redecorating anyway.", + "illustrator": "Rafał Hrynkiewicz", + "name": "Bleeding Walls", + "pack_code": "tmg", + "position": 54, + "quantity": 2, + "text": "Revelation - Test [willpower] (X). X is the shroud value of your location. If you fail, lose 1 action and take 1 horror.", + "traits": "Terror.", + "type_code": "treachery" + }, + { + "code": "71055", + "encounter_code": "the_midwinter_gala", + "encounter_position": 62, + "faction_code": "mythos", + "illustrator": "David Hovey", + "name": "Entrap", + "pack_code": "tmg", + "position": 55, + "quantity": 3, + "text": "Revelation - Test [agility] (3). If you fail and...\n- ... The Bloodless Man is at your location, a [[Guest]] asset you control becomes spellbound.\n- ... The Bloodless Man is at another location, he readies, moves (one location at a time) until he reaches your location, and engages you.\n- ... The Bloodless Man is not in play, Entrap gains surge.", + "traits": "Hazard.", + "type_code": "treachery" + }, + { + "code": "71056", + "encounter_code": "the_midwinter_gala", + "encounter_position": 65, + "faction_code": "mythos", + "illustrator": "Arden Beckwith", + "name": "Inexplicable Cold", + "pack_code": "tmg", + "position": 56, + "quantity": 2, + "text": "Revelation - Test [agility] (4). For each point you fail by, you must choose one:\n- Choose and discard 1 card from your play area.\n- Choose and discard 1 card from your hand.\n- Take 1 damage.", + "traits": "Hazard.", + "type_code": "treachery" + }, + { + "code": "71057", + "encounter_code": "the_midwinter_gala", + "encounter_position": 67, + "faction_code": "mythos", + "illustrator": "Lin Hsiang", + "name": "Mind Extraction", + "pack_code": "tmg", + "position": 57, + "quantity": 2, + "text": "Revelation - Test [willpower] (X). X is 1 plus the current agenda number. If you fail, take 2 horror. Then, if The Bloodless Man is in play and an investigator controls The Pale Lantern, flip it over and attach it to The Bloodless Man (leaving all tokens on it).", + "traits": "Power.", + "type_code": "treachery" + }, + { + "code": "71058", + "encounter_code": "the_midwinter_gala", + "encounter_position": 69, + "faction_code": "mythos", + "illustrator": "Ethan Patrick Harris", + "name": "Noxious Fumes", + "pack_code": "tmg", + "position": 58, + "quantity": 1, + "text": "Revelation - In player order, each investigator at your location must choose:\n- Test [agility] (3) to attempt to flee before the gas fills the room. If you succeed, move to a connecting location. If you fail, take 2 damage.\n- Test [combat] (3) to attempt to hold your breath. For each point you fail by, take 1 damage.", + "traits": "Hazard.", + "type_code": "treachery" + }, + { + "code": "71059", + "encounter_code": "the_midwinter_gala", + "encounter_position": 70, + "faction_code": "mythos", + "flavor": "Push it.", + "illustrator": "Igor Kieryluk", + "name": "Pushed into the Beyond", + "pack_code": "tmg", + "position": 59, + "quantity": 1, + "text": "Revelation - Choose and shuffle a non-story asset you control into its owner's deck. Discard the top 3 cards of that deck. If a copy of that asset is discarded, take 2 horror.", + "traits": "Hex.", + "type_code": "treachery" + }, + { + "code": "71060", + "encounter_code": "the_midwinter_gala", + "encounter_position": 71, + "faction_code": "mythos", + "illustrator": "Robert Laskey", + "name": "Secret Door", + "pack_code": "tmg", + "position": 60, + "quantity": 2, + "text": "Revelation - Attach to the location with the most investigators, and without a Secret Door attached.\nInvestigators cannot leave this location.\n[action]: Test [willpower] (3) to search for the passage or [intellect] (3) to discern the way out. If you succeed, discard Secret Door.", + "traits": "Obstacle.", + "type_code": "treachery" + }, + { + "code": "71061", + "encounter_code": "the_midwinter_gala", + "encounter_position": 73, + "faction_code": "mythos", + "illustrator": "Anders Finer", + "name": "Terror Gate", + "pack_code": "tmg", + "position": 61, + "quantity": 4, + "text": "Revelation - Test [willpower] (2). This test gets +2 difficulty if a [[Rival]] enemy is in play. If you fail and you allied with...\n- ... the [guardian] faction, take 2 damage.\n- ... the [seeker] faction, discard 2 cards from your hand.\n- ... the [rogue] faction, lose 3 resources.\n- ... the [mystic] faction, take 2 horror.\n- ... the [survivor] faction, lose 1 action.", + "traits": "Terror.", + "type_code": "treachery" + }, + { + "code": "71062", + "encounter_code": "the_midwinter_gala", + "encounter_position": 77, + "faction_code": "mythos", + "illustrator": "Stephen Somers", + "name": "Violent Commands", + "pack_code": "tmg", + "position": 62, + "quantity": 2, + "text": "Revelation - Put Violent Commands into play in your threat area.\n[action]: Deal 2 damage to an investigator at your location and discard Violent Commands.\nForced - At the end of your turn: Test [willpower] (3). If you fail, take 1 horror.", + "traits": "Terror.", + "type_code": "treachery" + } +] From 527c1b485f19db84f05f34eb5f9cd7c10188ac3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Sun, 25 Aug 2024 15:10:29 +0200 Subject: [PATCH 03/13] Add text gaps --- pack/side/tmg_encounter.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index 29caa1b04..37817e730 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -1,6 +1,6 @@ [ { - "back_text": "Hard / Expert\n[skull]: -X. X is 1 plus the current agenda number.\n[cultist]: -X. X is the number of story assets at your location.\n[tablet]: -3. (-5 instead if you are at a [[Private]] location).\n[elder_thing]: -4. If you fail or if The Bloodless Man is at your location, take ? horror.", + "back_text": "Hard / Expert\n[skull]: -X. X is 1 plus the current agenda number.\n[cultist]: -X. X is the number of story assets at your location.\n[tablet]: -3. (-5 instead if you are at a [[Private]] location).\n[elder_thing]: -4. If you fail or if The Bloodless Man is at your location, take 1 horror.", "code": "71001", "double_sided": true, "encounter_code": "the_midwinter_gala", @@ -553,7 +553,7 @@ "skill_intellect": 2, "slot": "Ally", "subname": "Faculty Curator", - "text": "[reaction] After the last clue is discovered at your location, exhaust Lucas Tetlow: Search the top ? cards of your deck for an [[Item]] asset and draw it. ?If it is? a [[Relic]], gain 2 resources. If it is a [[Tome]], you ?may? play it (paying its cost). If it is a [[Tool]], discover ?? at a connecting location. Shuffle your deck.", + "text": "[reaction] After the last clue is discovered at your location, exhaust Lucas Tetlow: Search the top 9 cards of your deck for an [[Item]] asset and draw it. If it is a [[Relic]], gain 2 resources. If it is a [[Tome]], you may play it (paying its cost). If it is a [[Tool]], discover 1 clue at a connecting location. Shuffle your deck.", "traits": "Ally. Guest. Miskatonic.", "type_code": "asset" }, @@ -1161,7 +1161,7 @@ "faction_code": "mythos", "flavor": "\"I wasn't expecting this kind of entertainment!\" - Elizabeth Conrad", "health": 3, - "illustrator": "??", + "illustrator": "Anders Finer", "name": "Enraged Gug", "pack_code": "tmg", "position": 47, @@ -1215,7 +1215,7 @@ "encounter_code": "the_midwinter_gala", "encounter_position": 52, "faction_code": "mythos", - "illustrator": "??", + "illustrator": "Helge C. Balzer", "name": "Vicious Ambush", "pack_code": "tmg", "position": 50, From 477e750cbca1a4bcca346d8e4b41f8c2692c079d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Sun, 25 Aug 2024 15:15:14 +0200 Subject: [PATCH 04/13] Remove unnecessary `a` id postfixes --- pack/side/tmg_encounter.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index 37817e730..87ab5e213 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -279,7 +279,7 @@ }, { "back_link": "71015b", - "code": "71015a", + "code": "71015", "double_sided": true, "encounter_code": "the_midwinter_gala", "encounter_position": 15, @@ -310,7 +310,7 @@ }, { "back_link": "71016b", - "code": "71016a", + "code": "71016", "encounter_code": "the_midwinter_gala", "encounter_position": 16, "faction_code": "guardian", @@ -439,7 +439,7 @@ }, { "back_link": "71021b", - "code": "71021a", + "code": "71021", "double_sided": true, "encounter_code": "the_midwinter_gala", "encounter_position": 21, @@ -470,7 +470,7 @@ }, { "back_link": "71022b", - "code": "71022a", + "code": "71022", "encounter_code": "the_midwinter_gala", "encounter_position": 22, "faction_code": "seeker", @@ -597,7 +597,7 @@ }, { "back_link": "71027b", - "code": "71027a", + "code": "71027", "double_sided": true, "encounter_code": "the_midwinter_gala", "encounter_position": 27, @@ -628,7 +628,7 @@ }, { "back_link": "71028b", - "code": "71028a", + "code": "71028", "encounter_code": "the_midwinter_gala", "encounter_position": 28, "faction_code": "rogue", @@ -756,7 +756,7 @@ }, { "back_link": "71033b", - "code": "71033a", + "code": "71033", "double_sided": true, "encounter_code": "the_midwinter_gala", "encounter_position": 33, @@ -787,7 +787,7 @@ }, { "back_link": "71034b", - "code": "71034a", + "code": "71034", "encounter_code": "the_midwinter_gala", "encounter_position": 34, "faction_code": "mystic", @@ -913,7 +913,7 @@ }, { "back_link": "71039b", - "code": "71039a", + "code": "71039", "encounter_code": "the_midwinter_gala", "encounter_position": 39, "faction_code": "mythos", @@ -943,7 +943,7 @@ }, { "back_link": "71040b", - "code": "71040a", + "code": "71040", "encounter_code": "the_midwinter_gala", "encounter_position": 40, "faction_code": "survivor", @@ -1069,7 +1069,7 @@ }, { "back_link": "71045b", - "code": "71045a", + "code": "71045", "encounter_code": "the_midwinter_gala", "encounter_position": 45, "enemy_damage": 1, @@ -1117,7 +1117,7 @@ }, { "back_link": "71046b", - "code": "71046a", + "code": "71046", "encounter_code": "the_midwinter_gala", "encounter_position": 46, "faction_code": "neutral", From 0c552751085960ef3b8617138ea92070d7f71689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Sat, 31 Aug 2024 19:04:17 +0200 Subject: [PATCH 05/13] fix: some minor issues --- pack/side/tmg_encounter.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index 87ab5e213..4ce17f419 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -1,6 +1,6 @@ [ { - "back_text": "Hard / Expert\n[skull]: -X. X is 1 plus the current agenda number.\n[cultist]: -X. X is the number of story assets at your location.\n[tablet]: -3. (-5 instead if you are at a [[Private]] location).\n[elder_thing]: -4. If you fail or if The Bloodless Man is at your location, take 1 horror.", + "back_text": "Hard / Expert\n[skull]: -X. X is 1 plus the current agenda number.\n[cultist]: -X. X is the number of story assets at your location.\n[tablet]: -3 (-5 instead if you are at a [[Private]] location).\n[elder_thing]: -4. If you fail or if The Bloodless Man is at your location, take 1 horror.", "code": "71001", "double_sided": true, "encounter_code": "the_midwinter_gala", @@ -35,7 +35,7 @@ }, { "back_name": "Mayhem Ensues", - "back_text": "If The Bloodless Man (Silent Lurker) is in play:\n
You turn around to see the Bloodless Man striding toward you with murderous intent. Before you can react, the imposing figure staggers, then falls face first onto the red carpet.
\nMoments later, a sharp sound of ripping cloth breaks the silence. Glistening appendages erupt from the Bloodless Man's torn suit and limbs, blossoming into a grotesque amalgam of flesh and writhing tentacles. Your stomach churns as the creature's bone-white mask stares down at you, set in a maw of nightmarish limbs and gnashing fangs.
\nFlip The Bloodless Man (Silent Lurker) to his (Unleashed) side.\n
\nOtherwise:\n
The clamor around you seems to quiet for a moment.
\nEach investigator may heal 1 horror from an investigator or [[Guest]] asset at their location.", + "back_text": "If The Bloodless Man (Silent Lurker) is in play:\n
You turn around to see the Bloodless Man striding toward you with murderous intent. Before you can react, the imposing figure staggers, then falls face first onto the red carpet.

Moments later, a sharp sound of ripping cloth breaks the silence. Glistening appendages erupt from the Bloodless Man's torn suit and limbs, blossoming into a grotesque amalgam of flesh and writhing tentacles. Your stomach churns as the creature's bone-white mask stares down at you, set in a maw of nightmarish limbs and gnashing fangs.
\nFlip The Bloodless Man (Silent Lurker) to his (Unleashed) side.\n
\nOtherwise:\n
The clamor around you seems to quiet for a moment.
\nEach investigator may heal 1 horror from an investigator or [[Guest]] asset at their location.", "code": "71003", "doom": 6, "double_sided": true, @@ -53,7 +53,7 @@ "type_code": "agenda" }, { - "back_flavor": "", + "back_flavor": "A rank stench pervades the once-stately manor. As more and more nightmarish creatures overtake wounded or dazed guests, you dash out from a hiding place to make a beeline for the exit. A ravenous creature, the stuff of nightmares, catches wind of your scent and pursues you doggedly to the exit. You feel its claws on your throat as you throw yourself through the solid pane of glass, straight onto a gory pile of bodies covered in lightly falling snow.", "back_name": "A Kingsport Goodbye", "back_text": "Each investigator is defeated and suffers 1 mental trauma.", "code": "71004", From d9021f455b3d55c9dc94362e155f357bb6c3c264 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Sun, 1 Sep 2024 08:23:52 +0200 Subject: [PATCH 06/13] fix: remove self back_link --- pack/side/tmg_encounter.json | 1 - 1 file changed, 1 deletion(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index 4ce17f419..9fbe7b00e 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -1091,7 +1091,6 @@ "type_code": "enemy" }, { - "back_link": "71045b", "code": "71045b", "encounter_code": "the_midwinter_gala", "encounter_position": 45, From 3fa759ce17d1a1698cf3b4d8263b66427cc460f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Sun, 1 Sep 2024 08:40:48 +0200 Subject: [PATCH 07/13] fix: remove double_sided for back_link cards --- pack/side/tmg_encounter.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index 9fbe7b00e..f37e06f32 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -280,7 +280,6 @@ { "back_link": "71015b", "code": "71015", - "double_sided": true, "encounter_code": "the_midwinter_gala", "encounter_position": 15, "faction_code": "mythos", @@ -440,7 +439,6 @@ { "back_link": "71021b", "code": "71021", - "double_sided": true, "encounter_code": "the_midwinter_gala", "encounter_position": 21, "faction_code": "mythos", @@ -598,7 +596,6 @@ { "back_link": "71027b", "code": "71027", - "double_sided": true, "encounter_code": "the_midwinter_gala", "encounter_position": 27, "faction_code": "mythos", @@ -757,7 +754,6 @@ { "back_link": "71033b", "code": "71033", - "double_sided": true, "encounter_code": "the_midwinter_gala", "encounter_position": 33, "faction_code": "mythos", From 54839ffabf2fadd5cb85c6363198fa54f7eba1e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Sun, 1 Sep 2024 09:05:26 +0200 Subject: [PATCH 08/13] fix: typos --- pack/side/tmg_encounter.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index f37e06f32..d42691c3b 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -462,7 +462,7 @@ "pack_code": "tmg", "position": 21, "quantity": 1, - "text": "Setup: Shuffle the set-aside Confusion treachery into the encounter deck. Put the set-aside Caldwell Philips card into play at the lead investigator's location, enemy side faceup.\n[action] If Caldwell Philips is at your location: Parley. Test [intellect] (3). If you succeed, place\n1 of your clues on this story card.\nForced - When there are 1 plus 1 [per_investigator] clues on this story card: Add it and Caldwell Philips to the victory display. Search the encounter deck and discard pile for Confusion and remove it from the game. Shuffle the encounter deck.", + "text": "Setup: Shuffle the set-aside Confusion treachery into the encounter deck. Put the set-aside Caldwell Philips card into play at the lead investigator's location, enemy side faceup.\n[action] If Caldwell Philips is at your location: Parley. Test [intellect] (3). If you succeed, place 1 of your clues on this story card.\nForced - When there are 1 plus 1 [per_investigator] clues on this story card: Add it and Caldwell Philips to the victory display. Search the encounter deck and discard pile for Confusion and remove it from the game. Shuffle the encounter deck.", "traits": "Rival.", "type_code": "story" }, @@ -529,7 +529,7 @@ "skill_intellect": 2, "slot": "Ally", "subname": "Medical Examiner", - "text": "Your maximum hand size is increased by 2.\n[action] Exhaust Dr. Mya Badry: Investigate. Your base value for this investigation is equal to the number of cards in your hand.", + "text": "Your maximum hand size is increased by 2.\n[action] Exhaust Dr. Mya Badry: Investigate. Your base [intellect] value for this investigation is equal to the number of cards in your hand.", "traits": "Ally. Guest. Miskatonic.", "type_code": "asset" }, @@ -705,7 +705,7 @@ "pack_code": "tmg", "position": 30, "quantity": 1, - "sanity": null, + "sanity": 3, "skill_agility": 2, "skill_intellect": 2, "slot": "Ally", @@ -873,7 +873,7 @@ }, { "code": "71037", - "cost": 2, + "cost": 4, "encounter_code": "the_midwinter_gala", "encounter_position": 37, "faction_code": "mystic", @@ -1000,7 +1000,7 @@ "skill_combat": 2, "slot": "Ally", "subname": "Lantern Club Infiltrator", - "text": "While investigating and parleying, you get +1 for each [[Humanoid]] enemy at your location.\nYou may ignore each attack of opportunity made by [[Humanoid]], non-[[Elite]] enemies against you.", + "text": "While investigating and parleying, you get +1 [intellect] for each [[Humanoid]] enemy at your location.\nYou may ignore each attack of opportunity made by [[Humanoid]], non-[[Elite]] enemies against you.", "traits": "Ally. Guest. Kingsport.", "type_code": "asset" }, @@ -1152,7 +1152,7 @@ "enemy_damage": 1, "enemy_evade": 2, "enemy_fight": 3, - "enemy_horror": 2, + "enemy_horror": 1, "faction_code": "mythos", "flavor": "\"I wasn't expecting this kind of entertainment!\" - Elizabeth Conrad", "health": 3, From 5c9fc73f6351303b2907fb6baefc7274bd425824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Sun, 1 Sep 2024 14:38:47 +0200 Subject: [PATCH 09/13] fix: add deck_limits --- pack/side/tmg_encounter.json | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index d42691c3b..ebc1a74b2 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -354,6 +354,7 @@ { "code": "71017", "cost": 2, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 17, "faction_code": "guardian", @@ -376,6 +377,7 @@ { "code": "71018", "cost": 2, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 18, "faction_code": "guardian", @@ -399,6 +401,7 @@ { "code": "71019", "cost": 3, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 19, "faction_code": "guardian", @@ -504,7 +507,7 @@ "pack_code": "tmg", "position": 22, "quantity": 1, - "subname": "Compelled by Dreains", + "subname": "Compelled by Dreams", "text": "Aloof. Hunter.\nCaldwell Philips cannot be damaged.\nForced - When you end your turn at this location: Choose and discard a non-weakness card from your hand.", "traits": "Humanoid. Leader. Rival. Elite.", "type_code": "enemy", @@ -513,6 +516,7 @@ { "code": "71023", "cost": 2, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 23, "faction_code": "seeker", @@ -536,6 +540,7 @@ { "code": "71024", "cost": 2, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 24, "faction_code": "seeker", @@ -558,6 +563,7 @@ { "code": "71025", "cost": 3, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 25, "faction_code": "seeker", @@ -672,6 +678,7 @@ { "code": "71029", "cost": 2, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 29, "faction_code": "rogue", @@ -695,6 +702,7 @@ { "code": "71030", "cost": 2, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 30, "faction_code": "rogue", @@ -717,6 +725,7 @@ { "code": "71031", "cost": 3, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 31, "faction_code": "rogue", @@ -829,6 +838,7 @@ { "code": "71035", "cost": 2, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 35, "faction_code": "mystic", @@ -851,6 +861,7 @@ { "code": "71036", "cost": 2, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 36, "faction_code": "mystic", @@ -874,6 +885,7 @@ { "code": "71037", "cost": 4, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 37, "faction_code": "mystic", @@ -984,6 +996,7 @@ { "code": "71041", "cost": 2, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 41, "faction_code": "survivor", @@ -1007,6 +1020,7 @@ { "code": "71042", "cost": 2, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 42, "faction_code": "survivor", @@ -1029,6 +1043,7 @@ { "code": "71043", "cost": 2, + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 43, "faction_code": "survivor", @@ -1242,6 +1257,7 @@ }, { "code": "71052", + "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 55, "faction_code": "neutral", From 8583e5e33dbf7b829bf3120f04204c771032d996 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Sun, 1 Sep 2024 19:33:21 +0200 Subject: [PATCH 10/13] fix: remove deck_limit from jewel --- pack/side/tmg_encounter.json | 1 - 1 file changed, 1 deletion(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index ebc1a74b2..7ff398004 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -1257,7 +1257,6 @@ }, { "code": "71052", - "deck_limit": 1, "encounter_code": "the_midwinter_gala", "encounter_position": 55, "faction_code": "neutral", From 11db8eb24e50a306fed7f29c38c1ae881745dcb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Sat, 16 Nov 2024 21:56:14 +0100 Subject: [PATCH 11/13] Apply suggestions from code review Co-authored-by: drawntotheflame --- pack/side/tmg_encounter.json | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index 7ff398004..a38b11c3f 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -35,7 +35,7 @@ }, { "back_name": "Mayhem Ensues", - "back_text": "If The Bloodless Man (Silent Lurker) is in play:\n
You turn around to see the Bloodless Man striding toward you with murderous intent. Before you can react, the imposing figure staggers, then falls face first onto the red carpet.

Moments later, a sharp sound of ripping cloth breaks the silence. Glistening appendages erupt from the Bloodless Man's torn suit and limbs, blossoming into a grotesque amalgam of flesh and writhing tentacles. Your stomach churns as the creature's bone-white mask stares down at you, set in a maw of nightmarish limbs and gnashing fangs.
\nFlip The Bloodless Man (Silent Lurker) to his (Unleashed) side.\n
\nOtherwise:\n
The clamor around you seems to quiet for a moment.
\nEach investigator may heal 1 horror from an investigator or [[Guest]] asset at their location.", + "back_text": "If The Bloodless Man (Silent Lurker) is in play:\n
You turn around to see the Bloodless Man striding toward you with murderous intent. Before you can react, the imposing figure staggers, then falls face first onto the red carpet.

Moments later, a sharp sound of ripping cloth breaks the silence. Glistening appendages erupt from the Bloodless Man's torn suit and limbs, blossoming into a grotesque amalgam of flesh and writhing tentacles. Your stomach churns as the creature's bone-white mask stares down at you, set in a maw of nightmarish limbs and gnashing fangs.
\nFlip The Bloodless Man (Silent Lurker) to his (Unleashed) side.\n
\nOtherwise:\n
The clamor around you seems to quiet for a moment.
\nEach investigator may heal 1 horror from an investigator or [[Guest]] asset at their location.", "code": "71003", "doom": 6, "double_sided": true, @@ -75,7 +75,7 @@ { "back_flavor": "You and your contact meet with several guests, who each confirm that the Jewel was taken by Declan Pearce from the display case in the Ballroom. Furthermore, strange sounds have begun to emanate from the second floor of the manor...", "back_name": "Contacts Acquired", - "back_text": "Choose one of the set-aside [[Second Floor]] locations at random and put it into play directly above the Lobby. For the rest of the game, that location is connected to the Lobby, and vice versa. Put the other 2 set-aside locations into play in a row to the right of the previously placed [[Second Floor]] location.\nPut the set-aside rival story card into play next to the agenda, [[Rival]] side faceup, and follow its Setup text.\nRead Interlude: The Fabled Jewel (page 13).", + "back_text": "Choose one of the set-aside [[Second Floor]] locations at random and put it into play directly above the Lobby. For the rest of the game, that location is connected to the Lobby, and vice versa. Put the other 2 set-aside locations into play in a row to the right of the previously placed [[Second Floor]] location.\nPut the set-aside rival story card into play next to the agenda, [[Rival]] side faceup, and follow its Setup text.\nRead Interlude: The Fabled Jewel (page 13).", "clues": 3, "code": "71005", "double_sided": true, @@ -203,7 +203,7 @@ "encounter_code": "the_midwinter_gala", "encounter_position": 11, "faction_code": "mythos", - "flavor": "This jag juice has a nice kick!", + "flavor": "\"This jag juice has a nice kick!\"", "illustrator": "Drazenka Kimpel", "name": "Barroom", "pack_code": "tmg", @@ -682,7 +682,7 @@ "encounter_code": "the_midwinter_gala", "encounter_position": 29, "faction_code": "rogue", - "flavor": "You slay me.", + "flavor": "\"You slay me.\"", "health": 2, "illustrator": "Alexandre Dainche", "is_unique": true, @@ -825,7 +825,7 @@ "hidden": true, "illustrator": "Nicholas Elias", "is_unique": true, - "name": "Cari Sanford", + "name": "Carl Sanford", "pack_code": "tmg", "position": 34, "quantity": 1, @@ -926,7 +926,7 @@ "encounter_position": 39, "faction_code": "mythos", "flavor": "Bain has hinted at the dangerous power of the Jewel. Perhaps if you can wrest control of it from Declan Pearce, this nightmare will end.", - "name": "Locals of Kingsport", + "name": "Locals of Kingsport [survivor]", "pack_code": "tmg", "position": 39, "quantity": 1, @@ -979,6 +979,7 @@ "enemy_fight": 4, "enemy_horror": 1, "faction_code": "mythos", + "flavor": "\"Phonus balonus; I know you're with them.\"", "health": null, "hidden": true, "illustrator": "Felicia Cano", @@ -1209,7 +1210,7 @@ "enemy_fight": 1, "enemy_horror": 1, "faction_code": "mythos", - "flavor": "And they whispered also that the rumoured Shantak-birds are no wholesome things... - H.P. Lovecraft, The Dream-Quest of Unknown Kadath", + "flavor": "And they whispered also that the rumoured Shantak-birds are no wholesome things... - H.P. Lovecraft, The Dream-Quest of Unknown Kadath", "health": 4, "illustrator": "Alexander Chelyshev", "name": "Savage Shantak", @@ -1315,7 +1316,7 @@ "pack_code": "tmg", "position": 55, "quantity": 3, - "text": "Revelation - Test [agility] (3). If you fail and...\n- ... The Bloodless Man is at your location, a [[Guest]] asset you control becomes spellbound.\n- ... The Bloodless Man is at another location, he readies, moves (one location at a time) until he reaches your location, and engages you.\n- ... The Bloodless Man is not in play, Entrap gains surge.", + "text": "Revelation - Test [agility] (3). If you fail and...\n- ...The Bloodless Man is at your location, a [[Guest]] asset you control becomes spellbound.\n- ...The Bloodless Man is at another location, he readies, moves (one location at a time) until he reaches your location, and engages you.\n- ...The Bloodless Man is not in play, Entrap gains surge.", "traits": "Hazard.", "type_code": "treachery" }, @@ -1328,7 +1329,7 @@ "name": "Inexplicable Cold", "pack_code": "tmg", "position": 56, - "quantity": 2, + "quantity": 1, "text": "Revelation - Test [agility] (4). For each point you fail by, you must choose one:\n- Choose and discard 1 card from your play area.\n- Choose and discard 1 card from your hand.\n- Take 1 damage.", "traits": "Hazard.", "type_code": "treachery" @@ -1336,13 +1337,13 @@ { "code": "71057", "encounter_code": "the_midwinter_gala", - "encounter_position": 67, + "encounter_position": 66, "faction_code": "mythos", "illustrator": "Lin Hsiang", "name": "Mind Extraction", "pack_code": "tmg", "position": 57, - "quantity": 2, + "quantity": 3, "text": "Revelation - Test [willpower] (X). X is 1 plus the current agenda number. If you fail, take 2 horror. Then, if The Bloodless Man is in play and an investigator controls The Pale Lantern, flip it over and attach it to The Bloodless Man (leaving all tokens on it).", "traits": "Power.", "type_code": "treachery" @@ -1400,7 +1401,7 @@ "pack_code": "tmg", "position": 61, "quantity": 4, - "text": "Revelation - Test [willpower] (2). This test gets +2 difficulty if a [[Rival]] enemy is in play. If you fail and you allied with...\n- ... the [guardian] faction, take 2 damage.\n- ... the [seeker] faction, discard 2 cards from your hand.\n- ... the [rogue] faction, lose 3 resources.\n- ... the [mystic] faction, take 2 horror.\n- ... the [survivor] faction, lose 1 action.", + "text": "Revelation - Test [willpower] (2). This test gets +2 difficulty if a [[Rival]] enemy is in play. If you fail and you allied with...\n- ...the [guardian] faction, take 2 damage.\n- ...the [seeker] faction, discard 2 cards from your hand.\n- ...the [rogue] faction, lose 3 resources.\n- ...the [mystic] faction, take 2 horror.\n- ...the [survivor] faction, lose 1 action.", "traits": "Terror.", "type_code": "treachery" }, From 0dc5fa666d14263dc67949e7b4cd5d837a871cdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Sat, 16 Nov 2024 21:58:16 +0100 Subject: [PATCH 12/13] Fix sort --- pack/side/tmg_encounter.json | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index a38b11c3f..cd14c3c78 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -215,19 +215,19 @@ "type_code": "location" }, { - "encounter_code": "the_midwinter_gala", - "pack_code": "tmg", - "encounter_position": 12, - "code": "71012", - "position": 12, - "back_name": "Second-Floor Room", "back_flavor": "The second floor is eerily silent.", "back_illustrator": "Yoann Boissonnet", + "back_name": "Second-Floor Room", "clues": 2, + "code": "71012", "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 12, "faction_code": "mythos", "illustrator": "Pixoloid Studios", "name": "Bedroom", + "pack_code": "tmg", + "position": 12, "quantity": 1, "shroud": 3, "text": "[action] Choose an enemy at any [[Second Floor]] location: Fight. You may use [agility] instead of [combat] for this attack. If you succeed, you may spend 1 clue for this attack to deal +2 damage. (Limit once per turn.)", @@ -235,19 +235,19 @@ "type_code": "location" }, { - "encounter_code": "the_midwinter_gala", - "pack_code": "tmg", - "encounter_position": 13, - "code": "71013", - "position": 13, - "back_name": "Second-Floor Room", "back_flavor": "The second floor is eerily silent.", "back_illustrator": "Yoann Boissonnet", + "back_name": "Second-Floor Room", "clues": 3, + "code": "71013", "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 13, "faction_code": "mythos", "illustrator": "Pixoloid Studios", "name": "Library", + "pack_code": "tmg", + "position": 13, "quantity": 1, "shroud": 4, "text": "You get +1 skill value while parleying at this location.\n[fast] If the Jewel of Sarnath is at this location: Test [intellect] (3). If you succeed, either place 1 damage on the Jewel of Sarnath or remove 1 token from it. (Group limit once per game.)", @@ -256,20 +256,20 @@ "victory": 1 }, { - "encounter_code": "the_midwinter_gala", - "pack_code": "tmg", - "encounter_position": 14, - "code": "71014", - "position": 14, - "back_name": "Second-Floor Room", "back_flavor": "The second floor is eerily silent.", "back_illustrator": "Yoann Boissonnet", + "back_name": "Second-Floor Room", "clues": 3, + "code": "71014", "double_sided": true, + "encounter_code": "the_midwinter_gala", + "encounter_position": 14, "faction_code": "mythos", "flavor": "A moon-beast in a bottle? How bizarre.", "illustrator": "Pixoloid Studios", "name": "Parlor", + "pack_code": "tmg", + "position": 14, "quantity": 1, "shroud": 6, "text": "This location gets -1 shroud for each [[Guest]] asset at it (to a minimum of 1 shroud).\n[fast] If you control the Jewel of Sarnath: Exhaust an enemy at any location. (Group limit once per game.)", From 8b6c38459dcf22a6f70e1bf332a293368cf80625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sp=C3=B6ttel?= <1682504+fspoettel@users.noreply.github.com> Date: Sat, 16 Nov 2024 22:02:03 +0100 Subject: [PATCH 13/13] tag class names --- pack/side/tmg_encounter.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pack/side/tmg_encounter.json b/pack/side/tmg_encounter.json index cd14c3c78..8f09c2b12 100644 --- a/pack/side/tmg_encounter.json +++ b/pack/side/tmg_encounter.json @@ -284,7 +284,7 @@ "encounter_position": 15, "faction_code": "mythos", "flavor": "The 'authorities' seem to want you to acquire the Jewel by force. Good luck taking it from the Bloodless Man.", - "name": "The Foundation", + "name": "The Foundation [guardian]", "pack_code": "tmg", "position": 15, "quantity": 1, @@ -299,7 +299,7 @@ "faction_code": "mythos", "flavor": "The Foundation doesn't take kindly to your interest in the Jewel. If you make a show of force, you might convince them to back down.", "hidden": true, - "name": "The Foundation", + "name": "The Foundation [guardian]", "pack_code": "tmg", "position": 15, "quantity": 1, @@ -446,7 +446,7 @@ "encounter_position": 21, "faction_code": "mythos", "flavor": "You are assisting Dean Caldwell with \"acquiring\" the Jewel, but first you will have to persuade Declan Pearce to give it up.", - "name": "Miskatonic University", + "name": "Miskatonic University [seeker]", "pack_code": "tmg", "position": 21, "quantity": 1, @@ -461,7 +461,7 @@ "faction_code": "mythos", "flavor": "The eggheads at Miskatonic University seem to think this Jewel belongs in their museum. Perhaps you can help them see reason.", "hidden": true, - "name": "Miskatonic University", + "name": "Miskatonic University [seeker]", "pack_code": "tmg", "position": 21, "quantity": 1, @@ -606,7 +606,7 @@ "encounter_position": 27, "faction_code": "mythos", "flavor": "It's a job, and nothing more. If you can abscond with the Jewel, you know you'll be handsomely rewarded.", - "name": "The Syndicate", + "name": "The Syndicate [rogue]", "pack_code": "tmg", "position": 27, "quantity": 1, @@ -621,7 +621,7 @@ "faction_code": "mythos", "flavor": "The mob are easily angered, but you might be able to convince Johnny Valone that giving up the Jewel is in his best interest...", "hidden": true, - "name": "The Syndicate", + "name": "The Syndicate [rogue]", "pack_code": "tmg", "position": 27, "quantity": 1, @@ -767,7 +767,7 @@ "encounter_position": 33, "faction_code": "mythos", "flavor": "Carl Sanford has promised you a lavish reward for acquiring the Jewel. But can you really trust him?", - "name": "Silver Twilight Lodge", + "name": "Silver Twilight Lodge [mystic]", "pack_code": "tmg", "position": 33, "quantity": 1, @@ -782,7 +782,7 @@ "faction_code": "mythos", "flavor": "Perhaps you can gently convince Sanford and the Lodge to leave well enough alone.", "hidden": true, - "name": "Silver Twilight Lodge", + "name": "Silver Twilight Lodge [mystic]", "pack_code": "tmg", "position": 33, "quantity": 1, @@ -941,7 +941,7 @@ "faction_code": "mythos", "flavor": "The locals don't seem to have taken kindly to your involvement. Perhaps you can show them you don't mean any harm.", "hidden": true, - "name": "Locals of Kingsport", + "name": "Locals of Kingsport [survivor]", "pack_code": "tmg", "position": 39, "quantity": 1,