Merge pull request #62 from PhallenCassidy/master

Removed Hobbit's expansion 3, fixes
This commit is contained in:
Marcin Sciesinski
2020-03-02 00:09:14 -08:00
committed by GitHub
10 changed files with 142 additions and 84 deletions

View File

@@ -756,7 +756,7 @@
"type": "event",
"cost": {
"type": "exert",
"filter": "choose(hobbit)"
"filter": "choose(hobbit,companion)"
},
"effect": {
"type": "removeBurdens",

View File

@@ -970,7 +970,7 @@
},
"1_353": {
"title": "Anduin Confluence",
"cost": 5,
"cost": 6,
"type": "site",
"site": 7,
"block": "fellowship",

View File

@@ -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",

View File

@@ -109,7 +109,7 @@ var CardFilter = Class.extend({
this.setSelect = $("<select style='width: 130px; font-size: 80%;'>"
+ "<option value=''>All Sets</option>"
+ "<option value='0-19'>Official Sets</option>"
+ "<option value='30-33'>The Hobbit Sets</option>"
+ "<option value='30-32'>The Hobbit Sets</option>"
+ "<option value='40'>Second Edition Sets</option>"
+ "<option disabled>----------</option>"
+ "<option value='fotr_block'>Fellowship Block</option>"
@@ -124,7 +124,6 @@ var CardFilter = Class.extend({
+ "<option value='standard'>Standard</option>"
+ "<option value='hobbit_tsr'> The Hobbit: The Short Rest</option>"
+ "<option value='hobbit_tcb'> The Hobbit: The Clouds Burst</option>"
+ "<option value='hobbit_faw'> The Hobbit: Fire and Water</option>"
+ "<option value='2nd_ed'>Second Edition</option>"
+ "<option disabled>----------</option>"
+ "<option value='0'>00 - Promo</option>"
@@ -150,7 +149,6 @@ var CardFilter = Class.extend({
+ "<option value='30'>30 - The Hobbit: Main Deck</option>"
+ "<option value='31'>31 - The Hobbit: Expansion 1</option>"
+ "<option value='32'>32 - The Hobbit: Expansion 2</option>"
+ "<option value='33'>33 - The Hobbit: Expansion 3</option>"
+ "<option value='40'>40 - Second Edition</option>"
+ "</select>");
this.nameInput = $("<input type='text' placeholder='Card name' value='' style='width: 110px; font-size: 70%;'>");

View File

@@ -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',

View File

@@ -0,0 +1,83 @@
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.IncrementPhaseLimitEffect;
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<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) {
List<PhysicalCard> 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<PhysicalCard> 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);
if (PlayConditions.checkPhaseLimit(game, self, 1)) {
action.appendCost(
new IncrementPhaseLimitEffect(self, 1));
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<PhysicalCard> cards) {
for (PhysicalCard card : cards) {
game.getGameState().removeCardsFromZone(playerId, Collections.singleton(card));
game.getGameState().stackCard(game, card, self);
}
}
});
}
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -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;
}
}

View File

@@ -190,7 +190,7 @@
15U191
15U192
15R193
15U194
15S194
15A195
15A196
15A197
@@ -203,4 +203,4 @@
15C204
15C205
15C206
15A207
15A207

View File

@@ -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",

View File

@@ -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 @@
}
}
]
}
}