From c9a1a5249a980a641e4121771fa4dcc98c0b7c4f Mon Sep 17 00:00:00 2001 From: Phallen Cassidy Date: Wed, 4 Dec 2019 09:32:36 -0500 Subject: [PATCH] Additional bug fixes, Hobbit set preview --- .../src/main/web/cards/set1/set1-sauron.json | 4 +- .../src/main/web/cards/set30/set30-fp.json | 32 +- .../main/web/cards/set30/set30-shadow.json | 69 +-- .../src/main/web/cards/set31/set31-fp.json | 42 +- .../main/web/cards/set31/set31-shadow.json | 2 +- .../main/web/cards/set32/set32-shadow.json | 2 +- .../src/main/web/cards/set33/set33-fp.json | 242 +++++++++++ .../main/web/cards/set33/set33-shadow.json | 402 ++++++++++++++++++ .../src/main/web/cards/set33/set33-sites.json | 35 ++ .../src/main/web/js/gemp-022/cardFilter.js | 8 +- .../src/main/web/js/gemp-022/hobbit.js | 63 ++- .../src/main/web/js/gemp-022/jCards.js | 2 + .../lotro/cards/set17/dwarven/Card17_002.java | 21 + .../src/main/resources/set31-rarity.txt | 56 +-- .../src/main/resources/set33-rarity.txt | 61 +++ .../src/main/resources/setConfig.json | 7 + .../src/main/resources/draft/hobbitDraft.json | 154 +++++-- .../src/main/resources/lotrFormats.json | 15 +- 18 files changed, 1057 insertions(+), 160 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-fp.json create mode 100644 gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-shadow.json create mode 100644 gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-sites.json create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/resources/set33-rarity.txt diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set1/set1-sauron.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set1/set1-sauron.json index f995a6d47..63f159e5f 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set1/set1-sauron.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set1/set1-sauron.json @@ -541,7 +541,7 @@ } }, "1_259": { - "title": "Morgul Warden", + "title": "*Morgul Warden", "culture": "sauron", "cost": 3, "type": "minion", @@ -1219,4 +1219,4 @@ } } } -} \ No newline at end of file +} diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set30/set30-fp.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set30/set30-fp.json index b87c5d082..6bd22ee72 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set30/set30-fp.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set30/set30-fp.json @@ -352,17 +352,29 @@ "effects": { "type": "event", "effect": { - "type": "heal", - "filter": "choose(companion)", - "count": { - "type": "condition", - "condition": { - "type": "canSpot", - "filter": "name(Elrond)" + "type": "choice", + "texts": [ + "Heal a companion", + "Heal 2 Dwarf companions" + ], + "effects": [ + { + "type": "heal", + "filter": "choose(companion)" }, - "true": 2, - "false": 1 - } + { + "type": "conditional", + "condition": { + "type": "canSpot", + "filter": "name(Elrond)" + }, + "effect": { + "type": "heal", + "filter": "choose(companion, race(dwarf))", + "count": 2 + } + } + ] } } }, diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set30/set30-shadow.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set30/set30-shadow.json index 2eb8039e8..94b90fc9d 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set30/set30-shadow.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set30/set30-shadow.json @@ -103,58 +103,31 @@ "vitality": 2, "site": 3, "keyword": "archer", - "effects": [ - { - "type": "killedTrigger", - "optional": true, - "condition": [ - { - "type": "isOwner" - }, - { - "type": "not", - "condition": { - "type": "phase", - "phase": "regroup" - } - } - ], - "cost": { - "type": "removeTwilight", - "amount": 3 + "effects": { + "type": "discardedFromPlayTrigger", + "optional": true, + "condition": [ + { + "type": "isOwner" }, - "effect": { - "type": "wound", - "filter": "choose(ally)", - "times": 2 + { + "type": "not", + "condition": { + "type": "phase", + "phase": "regroup" + } } + ], + "cost": { + "type": "removeTwilight", + "amount": 3 }, - { - "type": "discardedFromPlayTrigger", - "optional": true, - "condition": [ - { - "type": "isOwner" - }, - { - "type": "not", - "condition": { - "type": "phase", - "phase": "regroup" - } - } - ], - "cost": { - "type": "removeTwilight", - "amount": 3 - }, - "effect": { - "type": "wound", - "filter": "choose(ally)", - "times": 2 - } + "effect": { + "type": "wound", + "filter": "choose(ally)", + "times": 2 } - ] + } }, "30_37": { "title": "*Not at Home", diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set31/set31-fp.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set31/set31-fp.json index 21db154c9..a358bddd0 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set31/set31-fp.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set31/set31-fp.json @@ -28,20 +28,6 @@ "keyword": "fellowship", "effects": { "type": "event", - "cost": [ - { - "type": "conditional", - "condition": { - "type": "location", - "filter": "siteNumber(1-5),siteBlock(hobbit)" - }, - "cost": { - "type": "discard", - "filter": "choose(culture(dwarven),follower,attachedTo(any))", - "memorize": "discardedFollower" - } - } - ], "effect": [ { "type": "conditional", @@ -65,18 +51,13 @@ "type": "conditional", "condition": { "type": "location", - "filter": "not(siteNumber(1-5)),siteBlock(hobbit)" + "filter": "siteNumber(6-9),siteBlock(hobbit)" }, - "effect": [ - { - "type": "heal", - "choose": "name(Thorin)" - }, - { - "type": "heal", - "choose": "name(Thorin)" - } - ] + "effect": { + "type": "heal", + "filter": "choose(name(Thorin))", + "times": 2 + } } ] } @@ -585,18 +566,15 @@ "type": "event", "effect": [ { - "type": "addModifier", - "modifier": { - "type": "modifyStrength", - "amount": 2, - "filter": "culture(dwarven),companion,hasStacked(follower)" - }, + "type": "modifyStrength", + "filter": "all(culture(dwarven),companion,hasStacked(follower))", + "amount": 2, "until": "start(regroup)" }, { "type": "addKeyword", + "filter": "all(culture(dwarven),companion,hasStacked(and(follower,culture(gandalf))))", "keyword": "defender+1", - "filter": "culture(dwarven),companion,hasStacked(follower)", "until": "start(regroup)" } ] diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set31/set31-shadow.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set31/set31-shadow.json index b52644325..000540e31 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set31/set31-shadow.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set31/set31-shadow.json @@ -214,7 +214,7 @@ "title": "*Azog", "subtitle": "The Defiler", "culture": "gundabad", - "cost": 3, + "cost": 4, "type": "minion", "race": "orc", "strength": 9, diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set32/set32-shadow.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set32/set32-shadow.json index 820389de9..a5f114e03 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set32/set32-shadow.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set32/set32-shadow.json @@ -1582,7 +1582,7 @@ }, "effect": { "type": "modifyStrength", - "filter": "choose(another,culture(wraith),minion)", + "filter": "choose(culture(wraith),minion)", "amount": { "type": "cardAffectedLimitPerPhase", "limit": 4, diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-fp.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-fp.json new file mode 100644 index 000000000..d66c61ab8 --- /dev/null +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-fp.json @@ -0,0 +1,242 @@ +{ + "33_1": { + "title": "*Ancient Forges", + "culture": "dwarven", + "cost": 2, + "type": "possession", + "keyword": [ + "support area", + "fortification" + ] + }, + "33_2": { + "title": "At Your Service!", + "culture": "dwarven", + "cost": 2, + "type": "event", + "keyword": "fellowship", + "effects": { + "type": "event", + "effect": { + "type": "removeBurdens" + } + } + }, + "33_3": { + "title": "*Balin's Armor", + "culture": "dwarven", + "cost": 1, + "type": "possession", + "possession": "armor", + "vitality": 1, + "target": "name(Balin)" + }, + "33_4": { + "title": "Blunt the Knives!", + "culture": "dwarven", + "cost": 0, + "type": "event", + "keyword": "fellowship", + "effects": { + "type": "event", + "effect": { + "type": "removeBurdens" + } + } + }, + "33_5": { + "title": "*Dwarven Cooking Pot", + "culture": "dwarven", + "cost": 1, + "type": "possession", + "keyword": "support area" + }, + "33_6": { + "title": "*Dwarven Ponies", + "culture": "dwarven", + "cost": 1, + "type": "possession", + "keyword": "support area" + }, + "33_7": { + "title": "Dwarven Warhammer", + "culture": "dwarven", + "cost": 2, + "type": "possession", + "possession": "hand weapon", + "strength": 2, + "target": "culture(dwarven),companion" + }, + "33_8": { + "title": "Eager to Brawl", + "culture": "dwarven", + "cost": 1, + "type": "event", + "keyword": "fellowship", + "effects": { + "type": "event", + "effect": { + "type": "removeBurdens" + } + } + }, + "33_9": { + "title": "*Horn of Erebor", + "culture": "dwarven", + "cost": 2, + "type": "possession", + "keyword": [ + "support area", + "fortification" + ] + }, + "33_10": { + "title": "*Iron Hills Chariot", + "culture": "dwarven", + "cost": 1, + "type": "possession", + "keyword": "support area" + }, + "33_11": { + "title": "*Ori's Slingshot", + "culture": "dwarven", + "cost": 0, + "type": "possession", + "keyword": "support area" + }, + "33_12": { + "title": "*Thror", + "subtitle": "Overthrown King", + "culture": "dwarven", + "cost": 0, + "type": "companion", + "race": "dwarf", + "strength": 7, + "vitality": 5 + }, + "33_13": { + "title": "*Hadafang", + "culture": "elven", + "cost": 1, + "type": "artifact", + "possession": "hand weapon", + "strength": 2, + "target": "name(elrond)" + }, + "33_14": { + "title": "*Lindir", + "subtitle": "Elven Minstrel", + "culture": "elven", + "cost": 2, + "type": "ally", + "allyHome": "hobbit,3", + "race": "elf", + "strength": 5, + "vitality": 4 + }, + "33_15": { + "title": "Moon-letters", + "culture": "elven", + "cost": 1, + "type": "event", + "keyword": "fellowship", + "effects": { + "type": "event", + "effect": { + "type": "removeBurdens" + } + } + }, + "33_16": { + "title": "*Rivendell Scout", + "culture": "elven", + "cost": 2, + "type": "ally", + "allyHome": "hobbit,3", + "race": "elf", + "strength": 6, + "vitality": 3, + "keyword": "archer" + }, + "33_17": { + "title": "*Vilya", + "culture": "elven", + "cost": 0, + "type": "artifact", + "possession": "ring", + "vitality": 0, + "target": "name(elrond)" + }, + "33_18": { + "title": "Wise Advice", + "culture": "elven", + "cost": 2, + "type": "event", + "keyword": "fellowship", + "effects": { + "type": "event", + "effect": { + "type": "removeBurdens" + } + } + }, + "33_19": { + "title": "*Betsy Butterbur", + "subtitle": "Prancing Pony Proprietor", + "culture": "gandalf", + "cost": 0, + "type": "ally", + "allyHome": "hobbit,1", + "race": "man", + "strength": 1, + "vitality": 2 + }, + "33_20": { + "title": "Burning Fir Cones", + "culture": "gandalf", + "cost": 1, + "type": "possession", + "keyword": "support area" + }, + "33_21": { + "title": "No Finer Blade", + "culture": "gandalf", + "cost": 1, + "type": "event", + "keyword": "skirmish", + "effects": { + "type": "event", + "effect": { + "type": "removeBurdens" + } + } + }, + "33_52": { + "title": "*Bilbo's Pony", + "culture": "shire", + "cost": 1, + "type": "possession", + "possession": "mount", + "strength": 1, + "target": "name(bilbo)" + }, + "33_53": { + "title": "*Master Worryword", + "subtitle": "Hobbit Farmer", + "culture": "shire", + "cost": 1, + "type": "ally", + "allyHome": "hobbit,1", + "race": "hobbit", + "strength": 2, + "vitality": 3 + }, + "33_54": { + "title": "*There and Back Again", + "culture": "shire", + "cost": 1, + "type": "possession", + "resistance": 1, + "target": "name(bilbo)" + } +} diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-shadow.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-shadow.json new file mode 100644 index 000000000..c121fa66e --- /dev/null +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-shadow.json @@ -0,0 +1,402 @@ +{ + "33_22": { + "title": "*Bill Ferny Sr.", + "subtitle": "Servant of Azog", + "culture": "gundabad", + "cost": 2, + "type": "minion", + "race": "man", + "strength": 4, + "vitality": 2, + "site": 2 + }, + "33_23": { + "title": "Scouting Warg", + "culture": "gundabad", + "cost": 4, + "type": "possession", + "possession": "mount", + "strength": 3, + "vitality": 2, + "target": "orc" + }, + "33_24": { + "title": "Alfrid's Influence", + "culture": "men", + "cost": 1, + "type": "condition", + "keyword": "support area", + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyStrength", + "filter": "archer,or(companion,ally)", + "amount": -1 + } + } + }, + "33_25": { + "title": "*Braga", + "subtitle": "Captain of the Guard", + "culture": "men", + "cost": 3, + "type": "minion", + "race": "man", + "strength": 9, + "vitality": 3, + "site": 6, + "keyword": "fierce" + }, + "33_26": { + "title": "Gangsquad Spies", + "culture": "men", + "cost": 3, + "type": "minion", + "race": "man", + "strength": 9, + "vitality": 3, + "site": 6, + "keyword": "fierce" + }, + "33_27": { + "title": "Laketown Patrol", + "culture": "men", + "cost": 4, + "type": "minion", + "race": "man", + "strength": 10, + "vitality": 3, + "site": 6, + "keyword": "fierce" + }, + "33_28": { + "title": "Spear of the Guard", + "culture": "men", + "cost": 0, + "type": "possession", + "possession": "hand weapon", + "strength": 2, + "target": "culture(men),man" + }, + "33_29": { + "title": "Ancient Grudge", + "culture": "gundabad", + "cost": 2, + "type": "condition", + "keyword": "support area", + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyStrength", + "filter": "archer,or(companion,ally)", + "amount": -1 + } + } + }, + "33_30": { + "title": "*Borders of the Forest", + "culture": "gundabad", + "cost": 1, + "type": "condition", + "keyword": "support area", + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyStrength", + "filter": "archer,or(companion,ally)", + "amount": -1 + } + } + }, + "33_31": { + "title": "*Elf-guards", + "culture": "gundabad", + "cost": 1, + "type": "condition", + "keyword": "support area", + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyStrength", + "filter": "archer,or(companion,ally)", + "amount": -1 + } + } + }, + "33_32": { + "title": "Elven Jails", + "culture": "gundabad", + "cost": 2, + "type": "condition", + "keyword": "support area", + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyStrength", + "filter": "archer,or(companion,ally)", + "amount": -1 + } + } + }, + "33_33": { + "title": "Secretive People", + "culture": "gundabad", + "cost": 1, + "type": "condition", + "keyword": "support area", + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyStrength", + "filter": "archer,or(companion,ally)", + "amount": -1 + } + } + }, + "33_34": { + "title": "*The Elvenking", + "culture": "gundabad", + "cost": 3, + "type": "condition", + "keyword": "support area", + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyStrength", + "filter": "archer,or(companion,ally)", + "amount": -1 + } + } + }, + "33_35": { + "title": "Boulder Rock", + "culture": "moria", + "cost": 1, + "type": "possession", + "vitality": 1, + "target": "troll" + }, + "33_36": { + "title": "Bridging Troll", + "culture": "moria", + "cost": 5, + "type": "minion", + "race": "troll", + "strength": 10, + "vitality": 3, + "site": 4 + }, + "33_37": { + "title": "Catapult Troll", + "culture": "moria", + "cost": 5, + "type": "minion", + "race": "troll", + "strength": 10, + "vitality": 3, + "site": 4 + }, + "33_38": { + "title": "Goblin Archer", + "culture": "moria", + "cost": 2, + "type": "minion", + "race": "orc", + "strength": 4, + "vitality": 1, + "site": 4, + "keyword": "archer" + }, + "33_39": { + "title": "Goblin Band", + "culture": "moria", + "cost": 3, + "type": "minion", + "race": "orc", + "strength": 7, + "vitality": 2, + "site": 4, + "keyword": "archer" + }, + "33_40": { + "title": "Goblin Bow", + "culture": "moria", + "cost": 1, + "type": "possession", + "possession": "ranged weapon", + "vitality": 1, + "target": "orc", + "effects": { + "type": "modifier", + "modifier": { + "type": "addKeyword", + "filter": "bearer", + "keyword": "archer" + } + } + }, + "33_41": { + "title": "Goblin Troop", + "culture": "moria", + "cost": 4, + "type": "minion", + "race": "orc", + "strength": 8, + "vitality": 3, + "site": 4, + "keyword": "archer" + }, + "33_42": { + "title": "Granite Giant", + "culture": "moria", + "cost": 5, + "type": "minion", + "race": "dragon", + "strength": 11, + "vitality": 3, + "site": 4 + }, + "33_43": { + "title": "*Great Goblin's Sceptre", + "culture": "moria", + "cost": 1, + "type": "possession", + "possession": "hand weapon", + "strength": 2, + "vitality": 1, + "target": "orc" + }, + "33_44": { + "title": "Lavastone Giant", + "culture": "moria", + "cost": 7, + "type": "minion", + "race": "dragon", + "strength": 14, + "vitality": 4, + "site": 4 + }, + "33_45": { + "title": "*The Great Goblin", + "subtitle": "Goblin King", + "culture": "moria", + "cost": 4, + "type": "minion", + "race": "orc", + "strength": 10, + "vitality": 3, + "site": 4, + "keyword": "fierce" + }, + "33_46": { + "title": "Hidden", + "culture": "sauron", + "cost": 0, + "type": "event", + "keyword": "assignment", + "effects": { + "type": "event", + "effect": { + "type": "removeBurdens" + } + } + }, + "33_47": { + "title": "Malevolent Orc", + "culture": "sauron", + "cost": 2, + "type": "minion", + "race": "orc", + "strength": 7, + "vitality": 2, + "site": 5 + }, + "33_48": { + "title": "Orc Ambusher", + "culture": "sauron", + "cost": 1, + "type": "minion", + "race": "orc", + "strength": 5, + "vitality": 2, + "site": 5 + }, + "33_49": { + "title": "Orc Sentinel", + "culture": "sauron", + "cost": 1, + "type": "minion", + "race": "orc", + "strength": 5, + "vitality": 2, + "site": 5 + }, + "33_50": { + "title": "Orc Underling", + "culture": "sauron", + "cost": 1, + "type": "minion", + "race": "orc", + "strength": 5, + "vitality": 2, + "site": 5 + }, + "33_51": { + "title": "Rise of the Necromancer", + "culture": "sauron", + "cost": 2, + "type": "event", + "keyword": "skirmish", + "effects": { + "type": "event", + "effect": { + "type": "removeBurdens" + } + } + }, + "33_59": { + "title": "*Dragon-sickness", + "culture": "gundabad", + "cost": 2, + "type": "condition", + "keyword": "support area", + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyStrength", + "filter": "archer,or(companion,ally)", + "amount": -1 + } + } + }, + "33_60": { + "title": "*The Last Lights of Durin's Day", + "culture": "gundabad", + "cost": 0, + "type": "condition", + "keyword": "support area", + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyStrength", + "filter": "archer,or(companion,ally)", + "amount": -1 + } + } + }, + "33_61": { + "title": "*Dark Sorcery", + "culture": "wraith", + "cost": 2, + "type": "condition", + "keyword": "support area", + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyStrength", + "filter": "archer,or(companion,ally)", + "amount": -1 + } + } + } +} diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-sites.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-sites.json new file mode 100644 index 000000000..b394d42d0 --- /dev/null +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set33/set33-sites.json @@ -0,0 +1,35 @@ +{ + "33_55": { + "title": "Prancing Pony", + "cost": 0, + "type": "site", + "block": "hobbit", + "site": 1 + }, + "33_56": { + "title": "Great East Road", + "cost": 4, + "type": "site", + "block": "hobbit", + "site": 2, + "keyword": "forest" + }, + "33_57": { + "title": "The Last Homely House", + "cost": 1, + "type": "site", + "block": "hobbit", + "site": 3 + }, + "33_58": { + "title": "Front Gate of Erebor", + "cost": 8, + "type": "site", + "block": "hobbit", + "site": 7, + "keyword": [ + "mountain", + "river" + ] + } +} diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/cardFilter.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/cardFilter.js index 2295cda7c..40d0c3abf 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/cardFilter.js +++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/cardFilter.js @@ -109,7 +109,7 @@ var CardFilter = Class.extend({ this.setSelect = $(""); this.nameInput = $(""); diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hobbit.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hobbit.js index 9d557f997..c5ded0126 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hobbit.js +++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hobbit.js @@ -200,5 +200,66 @@ var hobbit = { '32_72': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Nertea.png', '32_73': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Otsea.png', '32_74': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Toldea.png', - '32_75': 'http://hobbitdraftgame.free.fr/Cards_Good_def/The_Witch_King.png' + '32_75': 'http://hobbitdraftgame.free.fr/Cards_Good_def/The_Witch_King.png', + '33_1': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Ancient_Forges.png', + '33_2': 'http://hobbitdraftgame.free.fr/Cards_Good_def/At_your_Service.png', + '33_3': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Balin_s_armor.png', + '33_4': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Blunt_the_Knives.png', + '33_5': 'http://hobbitdraftgame.free.fr/Cards_Good_def/New_Dwarven_Cooking_Pot.png', + '33_6': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Dwarven_Ponies.png', + '33_7': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Dwarven_Warhammer.png', + '33_8': 'http://hobbitdraftgame.free.fr/Cards_Good_def/New_Eager_To_Brawl.png', + '33_9': 'http://hobbitdraftgame.free.fr/Cards_Good_def/New_Horn_of_Erebor.png', + '33_10': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Iron_Hills_Chariot.png', + '33_11': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Ori_s_Slingshot.png', + '33_12': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Thror.png', + '33_13': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Hadafang.png', + '33_14': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Lindir.png', + '33_15': 'http://hobbitdraftgame.free.fr/Cards_Good_def/New_Moon_Letters.png', + '33_16': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Rivendell_Scout.png', + '33_17': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Vilya.png', + '33_18': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Wise_Advice.png', + '33_19': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Betsy.png', + '33_20': 'http://hobbitdraftgame.free.fr/Cards_Good_def/New_Burning_Fir_Cones.png', + '33_21': 'http://hobbitdraftgame.free.fr/Cards_Good_def/No_Finer_Blade.png', + '33_22': 'http://hobbitdraftgame.free.fr/Cards_Good_def/New_Bill_Ferny_Sr.png', + '33_23': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Scouting_Warg.png', + '33_24': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Men_Alfrid_s_Influence.png', + '33_25': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Men_Braga.png', + '33_26': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Men_Gangsquad_Spies.png', + '33_27': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Men_Laketown_Patrol.png', + '33_28': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Men_Spear_of_the_Guard.png', + '33_29': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Mirkwood_Ancient_Grudge.png', + '33_30': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Mirkwood_Borders_of_the_Forest.png', + '33_31': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Mirkwood_Elf-Guards.png', + '33_32': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Mirkwood_Elven_Jails.png', + '33_33': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Secretive_People.png', + '33_34': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Mirkwood_The_Elvenking.png', + '33_35': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Giants_Boulder_Rock.png', + '33_36': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Bridging_Troll.png', + '33_37': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Catapult_Troll.png', + '33_38': 'http://hobbitdraftgame.free.fr/Cards_Good_def/GobArchery_Goblin_Town_Archer.png', + '33_39': 'http://hobbitdraftgame.free.fr/Cards_Good_def/GobArchery_Goblin_Town_Band.png', + '33_40': 'http://hobbitdraftgame.free.fr/Cards_Good_def/New_GobArchery_Goblin_Bow.png', + '33_41': 'http://hobbitdraftgame.free.fr/Cards_Good_def/GobArchery_Goblin_Archer_Troop.png', + '33_42': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Giants_Granite_Giant.png', + '33_43': 'http://hobbitdraftgame.free.fr/Cards_Good_def/GobArchery_Great_Goblin_Sceptre.png', + '33_44': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Giants_Lavastone_Giant.png', + '33_45': 'http://hobbitdraftgame.free.fr/Cards_Good_def/GobArchery_The_Great_Goblin.png', + '33_46': 'http://hobbitdraftgame.free.fr/Cards_Good_def/SauronSwarm_Hidden.png', + '33_47': 'http://hobbitdraftgame.free.fr/Cards_Good_def/SauronSwarm_Malevolent_Orc.png', + '33_48': 'http://hobbitdraftgame.free.fr/Cards_Good_def/SauronSwarm_Orc_Ambusher.png', + '33_49': 'http://hobbitdraftgame.free.fr/Cards_Good_def/SauronSwarm_Orc_Sentinel.png', + '33_50': 'http://hobbitdraftgame.free.fr/Cards_Good_def/SauronSwarm_Orc_Underling.png', + '33_51': 'http://hobbitdraftgame.free.fr/Cards_Good_def/SauronSwarm_Rise_of_the_Necromancer.png', + '33_52': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Bilbo_s_Pony.png', + '33_53': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Master_Worrywort.png', + '33_54': 'http://hobbitdraftgame.free.fr/Cards_Good_def/There_and_Back_Again.png', + '33_55': 'http://hobbitdraftgame.free.fr/Cards_Good_def/1_Prancing_Pony.png', + '33_56': 'http://hobbitdraftgame.free.fr/Cards_Good_def/2_Great_East_Road.png', + '33_57': 'http://hobbitdraftgame.free.fr/Cards_Good_def/3_Last_Homely_House.png', + '33_58': 'http://hobbitdraftgame.free.fr/Cards_Good_def/New_7_Front_Gate_of_Erebor.png', + '33_59': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Dragon_Sickness.png', + '33_60': 'http://hobbitdraftgame.free.fr/Cards_Good_def/The_Last_Lights.png', + '33_61': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Dark_Sorcery.png' } diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/jCards.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/jCards.js index bccabf253..ca9629ade 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/jCards.js +++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/jCards.js @@ -279,6 +279,8 @@ var Card = Class.extend({ return (cardNo >= 44 && cardNo <= 55); if (setNo == 32) return (cardNo >= 46 && cardNo <= 57); + if (setNo == 33) + return (cardNo >= 55 && cardNo <= 58); if (setNo == 40) return (cardNo >= 273 && cardNo <= 309); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/dwarven/Card17_002.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/dwarven/Card17_002.java index da5c62651..40e7fdbbe 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/dwarven/Card17_002.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/dwarven/Card17_002.java @@ -4,10 +4,13 @@ import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.actions.ActivateCardAction; import com.gempukku.lotro.logic.actions.CostToEffectAction; import com.gempukku.lotro.logic.actions.OptionalTriggerAction; import com.gempukku.lotro.logic.cardtype.AbstractPermanent; import com.gempukku.lotro.logic.effects.AddTokenEffect; +import com.gempukku.lotro.logic.effects.SelfDiscardEffect; +import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; import com.gempukku.lotro.logic.effects.choose.ChooseAndRemoveFromTheGameCardsInDiscardEffect; import com.gempukku.lotro.logic.modifiers.AbstractExtraPlayCostModifier; import com.gempukku.lotro.logic.modifiers.Modifier; @@ -15,6 +18,7 @@ import com.gempukku.lotro.logic.modifiers.SpotCondition; import com.gempukku.lotro.logic.modifiers.condition.AndCondition; import com.gempukku.lotro.logic.modifiers.condition.CanSpotCultureTokensCondition; import com.gempukku.lotro.logic.timing.EffectResult; +import com.gempukku.lotro.logic.timing.PlayConditions; import com.gempukku.lotro.logic.timing.TriggerConditions; import java.util.Collections; @@ -65,4 +69,21 @@ public class Card17_002 extends AbstractPermanent { } }); } + + @Override + public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { + if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self) + && PlayConditions.canSelfDiscard(self, game)) { + ActivateCardAction action = new ActivateCardAction(self); + action.appendCost( + new SelfDiscardEffect(self)); + int countActive = Filters.countActive(game, Race.DWARF); + for (int i = 0; i < countActive; i++) { + action.appendEffect( + new ChooseAndExertCharactersEffect(action, playerId, 1, 1, CardType.MINION)); + } + return Collections.singletonList(action); + } + return null; + } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/set31-rarity.txt b/gemp-lotr/gemp-lotr-cards/src/main/resources/set31-rarity.txt index d5d1b2668..bc45f4a17 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/set31-rarity.txt +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/set31-rarity.txt @@ -10,48 +10,48 @@ 31X10 31R11 31R12 -31R13 +31X13 31X14 -31X15 +31R15 31X16 31R17 31R18 31C19 31U20 -31U21 -31R22 +31R21 +31X22 31U23 -31P24 -31R25 +31R24 +31X25 31U26 31C27 -31U28 +31C28 31X29 31C30 -31C31 +31U31 31C32 -31R33 -31P34 +31X33 +31R34 31C35 -31P36 -31R37 -31R38 -31X39 -31X40 -31R41 +31U36 +31X37 +31X38 +31R39 +31R40 +31X41 31R42 31X43 -31P44 -31P45 -31P46 +31R44 +31R45 +31R46 31X47 31X48 -31P49 +31R49 31X50 -31P51 -31P52 -31P53 -31P54 +31R51 +31R52 +31R53 +31R54 31X55 31X56 31U57 @@ -59,11 +59,11 @@ 31C59 31U60 31C61 -31P62 +31R62 31C63 31U64 31X65 -31U66 -31U67 -31U68 +31C66 +31R67 +31C68 31U69 diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/set33-rarity.txt b/gemp-lotr/gemp-lotr-cards/src/main/resources/set33-rarity.txt new file mode 100644 index 000000000..0af05b5d0 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/set33-rarity.txt @@ -0,0 +1,61 @@ +33S1 +33S2 +33S3 +33S4 +33S5 +33S6 +33S7 +33S8 +33S9 +33S10 +33S11 +33S12 +33S13 +33S14 +33S15 +33S16 +33S17 +33S18 +33S19 +33S20 +33S21 +33S22 +33S23 +33S24 +33S25 +33S26 +33S27 +33S28 +33S29 +33S30 +33S31 +33S32 +33S33 +33S34 +33S35 +33S36 +33S37 +33S38 +33S39 +33S40 +33S41 +33S42 +33S43 +33S44 +33S45 +33S46 +33S47 +33S48 +33S49 +33S50 +33S51 +33S52 +33S53 +33S54 +33S55 +33S56 +33S57 +33S58 +33S59 +33S60 +33S61 diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/setConfig.json b/gemp-lotr/gemp-lotr-cards/src/main/resources/setConfig.json index 51ccf140d..6734ba8e9 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/setConfig.json +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/setConfig.json @@ -127,6 +127,13 @@ "originalSet": false, "merchantable": false }, + { + "setId": "33", + "setName": "Fire and Water", + "rarityFile": "/set33-rarity.txt", + "originalSet": false, + "merchantable": false + }, { "setId": "40", "setName": "Second Edition", diff --git a/gemp-lotr/gemp-lotr-server/src/main/resources/draft/hobbitDraft.json b/gemp-lotr/gemp-lotr-server/src/main/resources/draft/hobbitDraft.json index d87429c4e..5d5965962 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/resources/draft/hobbitDraft.json +++ b/gemp-lotr/gemp-lotr-server/src/main/resources/draft/hobbitDraft.json @@ -25,49 +25,41 @@ "filter": "side:FREE_PEOPLE name:Gandalf set:30" } }, + { + "type": "filterPick", + "repeat": 1, + "data": { + "optionCount": 2, + "filter": "side:SHADOW set:31 rarity:R" + } + }, { "type": "weightedSwitch", - "repeat": 22, + "repeat": 5, "data": { "switchResult": [ { - "weight": 0.05, - "type": "filterPick", - "data": { - "optionCount": 2, - "filter": "side:SHADOW set:30,31 rarity:X" - } - }, - { - "weight": 0.1, - "type": "filterPick", - "data": { - "optionCount": 2, - "filter": "side:SHADOW set:30,31 rarity:R" - } - }, - { - "weight": 0.13, + "weight": 0.4, "type": "filterPick", "data": { "optionCount": 3, - "filter": "side:SHADOW set:30,31 rarity:P" + "filter": "side:SHADOW set:31 rarity:X" } }, { - "weight": 0.36, + "weight": 0.4, "type": "filterPick", "data": { "optionCount": 4, - "filter": "side:SHADOW set:30,31 rarity:U" + "filter": "side:SHADOW set:31 rarity:U,R" } }, { - "weight": 0.36, + "weight": 0.2, "type": "filterPick", "data": { - "optionCount": 5, - "filter": "side:SHADOW set:30,31 rarity:C" + "optionCount": 6, + "filter": "side:SHADOW set:31 rarity:U" } } ] @@ -75,30 +67,126 @@ }, { "type": "weightedSwitch", - "repeat": 18, + "repeat": 5, "data": { "switchResult": [ { - "weight": 0.15, + "weight": 0.2, "type": "filterPick", "data": { - "optionCount": 4, - "filter": "side:FREE_PEOPLE set:30,31 rarity:X" + "optionCount": 2, + "filter": "side:SHADOW set:31 rarity:X" } }, { "weight": 0.25, "type": "filterPick", "data": { - "optionCount": 6, + "optionCount": 3, + "filter": "side:SHADOW set:31 rarity:U,R" + } + }, + { + "weight": 0.35, + "type": "filterPick", + "data": { + "optionCount": 5, + "filter": "side:SHADOW set:31 rarity:U" + } + }, + { + "weight": 0.2, + "type": "filterPick", + "data": { + "optionCount": 8, + "filter": "side:SHADOW set:31 rarity:C" + } + } + ] + } + }, + { + "type": "weightedSwitch", + "repeat": 5, + "data": { + "switchResult": [ + { + "weight": 0.45, + "type": "filterPick", + "data": { + "optionCount": 3, + "filter": "side:SHADOW set:31 rarity:U" + } + }, + { + "weight": 0.55, + "type": "filterPick", + "data": { + "optionCount": 5, + "filter": "side:SHADOW set:31 rarity:C" + } + } + ] + } + }, + { + "type": "weightedSwitch", + "repeat": 5, + "data": { + "switchResult": [ + { + "weight": 0.2, + "type": "filterPick", + "data": { + "optionCount": 3, + "filter": "side:SHADOW set:31 rarity:U" + } + }, + { + "weight": 0.8, + "type": "filterPick", + "data": { + "optionCount": 4, + "filter": "side:SHADOW set:31 rarity:C" + } + } + ] + } + }, + { + "type": "filterPick", + "repeat": 3, + "data": { + "optionCount": 5, + "filter": "set:30,31 rarity:C" + } + }, + { + "type": "weightedSwitch", + "repeat": 16, + "data": { + "switchResult": [ + { + "weight": 0.2, + "type": "filterPick", + "data": { + "optionCount": 3, + "filter": "side:FREE_PEOPLE set:30,31 rarity:X" + } + }, + { + "weight": 0.3, + "type": "filterPick", + "data": { + "optionCount": 4, "filter": "side:FREE_PEOPLE set:30,31 rarity:R" } }, { - "weight": 0.6, + "weight": 0.5, "type": "filterPick", "data": { - "optionCount": 5, + "optionCount": 3, "filter": "side:FREE_PEOPLE set:30,31 rarity:C" } } @@ -123,11 +211,11 @@ "type": "filterPick", "data": { "optionCount": 4, - "filter": "cardType:SITE set:30,31 rarity:P" + "filter": "cardType:SITE set:30,31 rarity:R" } } ] } } ] -} \ No newline at end of file +} diff --git a/gemp-lotr/gemp-lotr-server/src/main/resources/lotrFormats.json b/gemp-lotr/gemp-lotr-server/src/main/resources/lotrFormats.json index 6be805e51..f9a9902a3 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/resources/lotrFormats.json +++ b/gemp-lotr/gemp-lotr-server/src/main/resources/lotrFormats.json @@ -386,13 +386,26 @@ ], "hall": true }, + { + "name": "Hobbit: Fire and Water", + "code": "hobbit_faw", + "sites": "HOBBIT", + "cancelRingBearerSkirmish": true, + "restricted": ["30_2", "30_5", "30_6", "30_7", "30_8", "30_9", "30_10", "30_11", "30_12", "30_15", "30_19", + "30_25", "30_26", "30_27", "30_28", "30_29", "30_43", "30_44", "30_45", "30_46", "30_48", "30_58"], + "limit2": ["30_1"], + "limit3": [], + "set": [30, 33], + "restrictedName": ["Gandalf","Bilbo"], + "hall": false + }, { "name":"Limited", "code":"limited_hobbit", "sites":"HOBBIT", "cancelRingBearerSkirmish":true, "limited":true, - "set":[30, 31], + "set":[30, 31, 32, 33], "hall":false } ]