diff --git a/src/store/lib/filtering.ts b/src/store/lib/filtering.ts
index 49c2cad3..339762c8 100644
--- a/src/store/lib/filtering.ts
+++ b/src/store/lib/filtering.ts
@@ -579,6 +579,19 @@ export function filterTabooSet(tabooSetId: number, metadata: Metadata) {
return (card: Card) => !!metadata.taboos[`${card.code}-${tabooSetId}`];
}
+/**
+ * Text
+ */
+
+export function filterText(text: string) {
+ return (card: Card) => {
+ return !!(
+ card.real_text?.includes(text) ||
+ card.real_customization_text?.includes(text)
+ );
+ };
+}
+
/**
* Trait
*/
@@ -783,8 +796,8 @@ export function makeOptionFilter(
// TODO: generalize tag based access.
- // special case: allessandra
- if (option.text?.some((s) => s.includes("Parley"))) {
+ // allessandra zorzi
+ if (option.tag?.includes("pa")) {
filterCount += 1;
optionFilter.push(filterTag("pa", true));
}
@@ -814,6 +827,13 @@ export function makeOptionFilter(
);
}
+ // Michael McGlen
+ // FIXME: replace this with tag-based access once implemented.
+ if (option.tag?.includes("fa")) {
+ filterCount += 1;
+ optionFilter.push(filterText("[[Firearm]]"));
+ }
+
// on your own
if (option.slot) {
filterCount += 1;
diff --git a/src/store/services/data/cards.json b/src/store/services/data/cards.json
index 0de83148..851db185 100644
--- a/src/store/services/data/cards.json
+++ b/src/store/services/data/cards.json
@@ -325,6 +325,89 @@
"traits": "Blunder. Insight.",
"type_code": "treachery"
},
+ {
+ "back_flavor": "Michael McGlen was a man of few words. He didn't need to talk much; he had Fast Louis for that. The two of them were O'Bannion's best soldiers, making sure the gang was respected throughout Arkham... until the night the thing in the river dragged Louis off the dock to tear him to pieces beneath the water. Michael thought his bosses would call him crazy when he told them what happened, but the truth was worse: they told him they believed him and to let the matter lie. But Michael can't just let the death of his partner, or the things he saw that night, go unpunished. He's still a man of few words. Now he'll let his gun do the talking.",
+ "back_text": "Deck Size: 30\nDeckbuilding Options: Rogue cards ([rogue]) level 0-3, Neutral cards level 0-5, cards with \"Firearm\" either as their trait or in their text box level 0-5.\nDeckbuilding Requirements (do not count toward deck size): \"Viola\" Case, Confiscation, 1 random basic weakness",
+ "code": "11011",
+ "deck_limit": 1,
+ "deck_requirements": "size:30, card:11012, card:11013, random:subtype:basicweakness",
+ "deck_options": [
+ {
+ "faction": ["rogue"],
+ "level": { "min": 0, "max": 3 }
+ },
+ {
+ "faction": ["neutral"],
+ "level": { "min": 0, "max": 5 }
+ },
+ {
+ "trait": ["firearm"],
+ "level": { "min": 0, "max": 5 }
+ },
+ {
+ "tag": ["fa"],
+ "level": { "min": 0, "max": 5 }
+ }
+ ],
+ "double_sided": true,
+ "faction_code": "rogue",
+ "flavor": "\"Don't care if it's a god. If it crosses me, it's gonna regret it.\"",
+ "health": 9,
+ "illustrator": "Cristi Balanescu",
+ "is_unique": true,
+ "name": "Michael McGlen",
+ "pack_code": "tdcp",
+ "position": 11,
+ "preview": true,
+ "quantity": 1,
+ "sanity": 5,
+ "skill_agility": 3,
+ "skill_combat": 5,
+ "skill_intellect": 1,
+ "skill_willpower": 3,
+ "subname": "The Gangster",
+ "text": "[reaction] After you spend 1 or more ammo from a [[Firearm]] asset: Gain 1 resource. (Limit once per [[Firearm]] asset per round.)\n[elder_sign] effect: +2. You may place 1 ammo on a [[Firearm]] asset you control.",
+ "traits": "Criminal. Hunter.",
+ "type_code": "investigator"
+ },
+ {
+ "code": "11012",
+ "cost": 2,
+ "deck_limit": 1,
+ "faction_code": "neutral",
+ "illustrator": "Rob Laskey",
+ "name": "\"Viola\" Case",
+ "pack_code": "tdcp",
+ "position": 12,
+ "preview": true,
+ "quantity": 1,
+ "restrictions": "investigator:11011",
+ "skill_agility": 1,
+ "skill_combat": 1,
+ "skill_wild": 1,
+ "skill_willpower": 1,
+ "slot": "Accessory",
+ "text": "Michael McGlen deck only.\nYou have 2 additional hand slots, which can only be used to hold [[Firearm]] assets.\n[reaction] After you play \"Viola\" Case: Search the top 9 cards of your deck for a [[Firearm]] asset and add it to your hand. Shuffle your deck.",
+ "traits": "Item. Illicit.",
+ "type_code": "asset"
+ },
+ {
+ "code": "11013",
+ "deck_limit": 1,
+ "faction_code": "neutral",
+ "flavor": "\"You, uh... going hunting, Mr. McGlen?\"",
+ "illustrator": "?",
+ "name": "Confiscation",
+ "pack_code": "tdcp",
+ "position": 13,
+ "preview": true,
+ "quantity": 1,
+ "restrictions": "investigator:11011",
+ "subtype_code": "weakness",
+ "text": "Revelation - Shuffle each [[Firearm]] asset in your play area into your deck. If no asset was shuffled into your deck by this effect, take 1 damage and shuffle Confiscation back into your deck.",
+ "traits": "Blunder.",
+ "type_code": "treachery"
+ },
{
"back_flavor": "As a young girl, Gloria was haunted by terrible visions. After years of visiting doctors, she learned to exorcise these visions by writing stories. Her weird and disturbing fiction somehow spoke to the public and made her a bestselling writer. But while visiting Arkham, she had the most powerful vision she's ever experienced. The sky tore open, a monstrous form pouring out of the very air itself. Gloria knew, somehow, that this vision was real, and that it would come to pass unless she did something about it.",
"back_text": "Deck Size: 30.\nSecondary Class Choice: At deck creation, choose Guardian ([guardian]), Seeker ([seeker]), or Rogue ([rogue]).\nDeckbuilding Options: Mystic cards ([mystic]) level 0-5, Neutral cards level 0-5, up to 10 level 0-1 events and/or skills of your chosen secondary class.\nDeckbuilding Requirements (do not count toward deck size): 3 copies of Psychic Sensitivity, 3 copies of Prophecy of the End (shuffled into the encounter deck), 1 random basic weakness.",
@@ -352,6 +435,7 @@
"name": "Gloria Goldberg",
"pack_code": "tdcp",
"position": 14,
+ "preview": true,
"quantity": 1,
"sanity": 9,
"skill_agility": 1,