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 5a3b708b5..0bb063b6b 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 @@ -213,45 +213,6 @@ } ] }, - "31_7": { - "title": "*The Arkenstone", - "culture": "dwarven", - "cost": 2, - "type": "artifact", - "keyword": "support area", - "effects": [ - { - "type": "modifier", - "modifier": { - "type": "modifyCost", - "filter": "name(Smaug)", - "amount": -4 - } - }, - { - "type": "activated", - "phase": "fellowship", - "cost": { - "type": "addTwilight", - "amount": 1 - }, - "effect": { - "type": "putStackedCardsIntoHand", - "filter": "choose(any)", - "on": "self" - } - }, - { - "type": "activated", - "phase": "maneuver", - "effect": { - "type": "stackCardsFromHand", - "filter": "choose(culture(dwarven))", - "where": "self" - } - } - ] - }, "31_8": { "title": "*Elf Army", "culture": "elven", @@ -402,7 +363,7 @@ "effects": [ { "type": "exert", - "filter": "name(Thorin)", + "filter": "choose(name(Thorin))", "times": 2 }, { @@ -668,35 +629,6 @@ ] } }, - "31_39": { - "title": "An Invisible Ring", - "culture": "shire", - "cost": 1, - "type": "event", - "keyword": "skirmish", - "effects": { - "type": "event", - "effect": [ - { - "type": "modifyStrength", - "filter": "choose(name(Bilbo))", - "memorize": "bilbo", - "amount": 2 - }, - { - "type": "conditional", - "condition": { - "type": "ringIsOn" - }, - "effect": { - "type": "removeText", - "filter": "choose(minion,not(name(Sauron)),inSkirmishAgainst(memory(bilbo)))", - "until": "start(regroup)" - } - } - ] - } - }, "31_40": { "title": "Barrels", "culture": "shire", 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 40d0c3abf..528be6558 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 c5ded0126..d04c16109 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 @@ -63,7 +63,7 @@ var hobbit = { '31_4': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Great_Barricade.png', '31_5': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Mithril_Coat.png', '31_6': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Oakenshield.png', - '31_7': 'http://hobbitdraftgame.free.fr/Cards_Good_def/The_Arkenstone.png', + '31_7': 'http://hobbitdraftgame.free.fr/Cards_Good_def/New_The_Arkenstone.png', '31_8': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Elf_Army.png', '31_9': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Legolas.png', '31_10': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Tauriel.png', @@ -95,7 +95,7 @@ var hobbit = { '31_36': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Goblin_The_Great_Goblin.png', '31_37': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Bolg_Servant.png', '31_38': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Acorn.png', - '31_39': 'http://hobbitdraftgame.free.fr/Cards_Good_def/An_Invisible_Ring.png', + '31_39': 'http://hobbitdraftgame.free.fr/Cards_Good_def/New_Invisible_Ring.png', '31_40': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Barrels.png', '31_41': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Burglar_s_Contract.png', '31_42': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Old_Thrush.png', diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/dwarven/Card31_007.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/dwarven/Card31_007.java new file mode 100644 index 000000000..8f6083d40 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/dwarven/Card31_007.java @@ -0,0 +1,78 @@ +package com.gempukku.lotro.cards.set31.dwarven; + +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.cardtype.AbstractPermanent; +import com.gempukku.lotro.logic.effects.AddTwilightEffect; +import com.gempukku.lotro.logic.effects.ChooseArbitraryCardsEffect; +import com.gempukku.lotro.logic.effects.PutCardFromStackedIntoHandEffect; +import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; +import com.gempukku.lotro.logic.effects.choose.ChooseCardsFromDeckEffect; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.TwilightCostModifier; +import com.gempukku.lotro.logic.timing.Action; +import com.gempukku.lotro.logic.timing.PlayConditions; + +import java.util.Collection; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +/** + * Set: The Short Rest + * Side: Free + * Culture: Dwarven + * Twilight Cost: 2 + * Type: Artifact • Support Area + * Game Text: Fellowship: Add (1) to take a card stacked here into hand. Regroup: Exert a + * [DWARVEN] companion to stack a [DWARVEN] event from your draw deck on The Arkenstone (limit + * once per phase). + */ +public class Card31_007 extends AbstractPermanent { + public Card31_007() { + super(Side.FREE_PEOPLE, 2, CardType.ARTIFACT, Culture.DWARVEN, "The Arkenstone", null, true); + } + + @Override + public List getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) { + if (PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) { + List stackedCards = game.getGameState().getStackedCards(self); + if (stackedCards.size() > 0) { + final ActivateCardAction action = new ActivateCardAction(self); + action.appendCost( + new AddTwilightEffect(self, 1)); + action.appendEffect( + new ChooseArbitraryCardsEffect(playerId, "Choose card", stackedCards, 1, 1) { + @Override + protected void cardsSelected(LotroGame game, Collection selectedCards) { + for (PhysicalCard selectedCard : selectedCards) { + action.appendEffect( + new PutCardFromStackedIntoHandEffect(selectedCard)); + } + } + }); + return Collections.singletonList(action); + } + } + if (PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self)) { + final ActivateCardAction action = new ActivateCardAction(self); + action.appendCost( + new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.DWARF)); + action.appendEffect( + new ChooseCardsFromDeckEffect(playerId, 1, 1, CardType.EVENT, Culture.DWARVEN) { + @Override + protected void cardsSelected(LotroGame game, Collection cards) { + for (PhysicalCard card : cards) { + game.getGameState().removeCardsFromZone(playerId, Collections.singleton(card)); + game.getGameState().stackCard(game, card, self); + } + } + }); + return Collections.singletonList(action); + } + return null; + } +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/shire/Card31_039.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/shire/Card31_039.java new file mode 100644 index 000000000..cbdfa73de --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/shire/Card31_039.java @@ -0,0 +1,43 @@ +package com.gempukku.lotro.cards.set31.shire; + +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Phase; +import com.gempukku.lotro.common.Side; +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.PlayEventAction; +import com.gempukku.lotro.logic.cardtype.AbstractEvent; +import com.gempukku.lotro.logic.effects.RemovePlayedEventFromGameEffect; +import com.gempukku.lotro.logic.effects.WoundCharactersEffect; +import com.gempukku.lotro.logic.timing.PlayConditions; + +/** + * Set: The Short Rest + * Side: Free + * Culture: Shire + * Twilight Cost: 1 + * Type: Event • Skirmish + * Game Text: If Bilbo wears The One Ring, wound each minion he is skirmishing. Then remove this + * event from the game. + */ +public class Card31_039 extends AbstractEvent { + public Card31_039() { + super(Side.FREE_PEOPLE, 1, Culture.SHIRE, "An Invisible Ring", Phase.SKIRMISH); + } + + @Override + public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { + return game.getGameState().isWearingRing(); + } + + @Override + public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { + PlayEventAction action = new PlayEventAction(self); + action.appendEffect( + new WoundCharactersEffect(self, Filters.inSkirmishAgainst(Filters.name("Bilbo")))); + action.appendEffect( + new RemovePlayedEventFromGameEffect(action)); + return action; + } +} 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 6bd3406c0..0dd185c95 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/setConfig.json +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/setConfig.json @@ -118,22 +118,24 @@ "setName": "The Short Rest", "rarityFile": "/set31-rarity.txt", "originalSet": false, - "merchantable": false, - "needsLoading": false + "merchantable": false }, { "setId": "32", "setName": "The Clouds Burst", "rarityFile": "/set32-rarity.txt", "originalSet": false, - "merchantable": false + "merchantable": false, + "needsLoading": false }, { "setId": "33", "setName": "Fire and Water", "rarityFile": "/set33-rarity.txt", "originalSet": false, - "merchantable": false + "merchantable": false, + "needsLoading": false, + "playable": false }, { "setId": "40", diff --git a/gemp-lotr/gemp-lotr-server/src/main/resources/draft/fellowshipDraft.json b/gemp-lotr/gemp-lotr-server/src/main/resources/draft/fellowshipDraft.json index 8df4a5a7e..227626b61 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/resources/draft/fellowshipDraft.json +++ b/gemp-lotr/gemp-lotr-server/src/main/resources/draft/fellowshipDraft.json @@ -10,7 +10,7 @@ ["1_26", "1_7", "1_9", "1_11", "1_5", "2_121", "1_97", "2_37", "1_97", "1_51", "1_37", "1_48", "1_32", "1_51", "1_97", "2_121", "1_5", "2_6", "1_9", "1_7", "1_6", "2_121", "1_97", "3_7", "1_37", "1_48", "2_18", "3_7", "1_97", "2_121"] ], "shadowRuns": [ - ["3_96", "1_270", "2_89", "1_262", "1_262", "2_89", "1_270", "3_96", "1_231", "2_61", "1_179", "2_63", "1_184", "2_62", "2_62", "1_184", "2_63", "1_179", "2_61", "1_234", "1_158", "1_152", "1_154", "1_151", "1_145", "1_151", "1_154", "1_152", "1_158", "1_231", "3_100", "1_267", "1_270", "1_271", "1_271", "1_270", "1_267", "3_100", "1_234", "1_177", "2_67", "1_178", "1_176", "2_60", "2_60", "1_176", "1_178", "2_67", "1_77", "1_231", "3_57", "3_58", "3_59", "3_62", "3_69", "3_62", "3_59", "3_58", "3_57", "1_234"] + ["3_96", "1_270", "2_89", "1_262", "1_262", "2_89", "1_270", "3_96", "1_231", "2_61", "1_179", "2_63", "1_184", "2_62", "2_62", "1_184", "2_63", "1_179", "2_61", "1_234", "1_158", "1_152", "1_154", "1_151", "1_145", "1_151", "1_154", "1_152", "1_158", "1_231", "3_100", "1_267", "1_270", "1_271", "1_271", "1_270", "1_267", "3_100", "1_234", "1_177", "2_67", "1_178", "1_176", "2_60", "2_60", "1_176", "1_178", "2_67", "1_177", "1_231", "3_57", "3_58", "3_59", "3_62", "3_69", "3_62", "3_59", "3_58", "3_57", "1_234"] ] } }, @@ -292,4 +292,4 @@ } } ] -} \ No newline at end of file +}