Migrated Gollum cards in set 12 to hjson
This commit is contained in:
@@ -1,69 +0,0 @@
|
|||||||
package com.gempukku.lotro.cards.set12.gollum;
|
|
||||||
|
|
||||||
import com.gempukku.lotro.common.CardType;
|
|
||||||
import com.gempukku.lotro.common.Culture;
|
|
||||||
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.RequiredTriggerAction;
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
|
|
||||||
import com.gempukku.lotro.logic.effects.ChoiceEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.TwilightCostModifier;
|
|
||||||
import com.gempukku.lotro.logic.timing.Effect;
|
|
||||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
|
||||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set: Black Rider
|
|
||||||
* Side: Free
|
|
||||||
* Culture: Gollum
|
|
||||||
* Twilight Cost: 0
|
|
||||||
* Type: Condition • Support Area
|
|
||||||
* Game Text: While you can spot Smeagol, the Shadow number of each site is -1. Each time the fellowship moves, wound
|
|
||||||
* a companion or discard this condition.
|
|
||||||
*/
|
|
||||||
public class Card12_037 extends AbstractPermanent {
|
|
||||||
public Card12_037() {
|
|
||||||
super(Side.FREE_PEOPLE, 0, CardType.CONDITION, Culture.GOLLUM, "Come Away");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
|
||||||
return Collections.singletonList(new TwilightCostModifier(self, CardType.SITE, new SpotCondition(Filters.smeagol), -1));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
|
||||||
if (TriggerConditions.moves(game, effectResult)) {
|
|
||||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
|
||||||
List<Effect> possibleEffects = new LinkedList<>();
|
|
||||||
possibleEffects.add(
|
|
||||||
new ChooseAndWoundCharactersEffect(action, self.getOwner(), 1, 1, CardType.COMPANION) {
|
|
||||||
@Override
|
|
||||||
public String getText(LotroGame game) {
|
|
||||||
return "Wound a companion";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
possibleEffects.add(
|
|
||||||
new SelfDiscardEffect(self) {
|
|
||||||
@Override
|
|
||||||
public String getText(LotroGame game) {
|
|
||||||
return "Discard this condition";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
action.appendEffect(
|
|
||||||
new ChoiceEffect(action, self.getOwner(), possibleEffects));
|
|
||||||
return Collections.singletonList(action);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
package com.gempukku.lotro.cards.set12.gollum;
|
|
||||||
|
|
||||||
import com.gempukku.lotro.common.CardType;
|
|
||||||
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.PlayUtils;
|
|
||||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
|
||||||
import com.gempukku.lotro.logic.actions.PlayPermanentAction;
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
|
||||||
import com.gempukku.lotro.logic.effects.ChooseArbitraryCardsEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.RevealTopCardsOfDrawDeckEffect;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set: Black Rider
|
|
||||||
* Side: Shadow
|
|
||||||
* Culture: Gollum
|
|
||||||
* Twilight Cost: 0
|
|
||||||
* Type: Event • Shadow
|
|
||||||
* Game Text: Spot X [GOLLUM] cards to reveal the top X cards of your draw deck. You may play a revealed minion. Its
|
|
||||||
* twilight cost is -2.
|
|
||||||
*/
|
|
||||||
public class Card12_038 extends AbstractEvent {
|
|
||||||
public Card12_038() {
|
|
||||||
super(Side.SHADOW, 0, Culture.GOLLUM, "From Deep in Shadow", Phase.SHADOW);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PlayEventAction getPlayEventCardAction(final String playerId, final LotroGame game, PhysicalCard self) {
|
|
||||||
final PlayEventAction action = new PlayEventAction(self);
|
|
||||||
int count = Filters.countActive(game, Culture.GOLLUM);
|
|
||||||
action.appendEffect(
|
|
||||||
new RevealTopCardsOfDrawDeckEffect(self, playerId, count) {
|
|
||||||
@Override
|
|
||||||
protected void cardsRevealed(List<PhysicalCard> revealedCards) {
|
|
||||||
action.appendEffect(
|
|
||||||
new ChooseArbitraryCardsEffect(playerId, "Choose minion to play", revealedCards, Filters.and(CardType.MINION, Filters.playable(game, -2)), 0, 1) {
|
|
||||||
@Override
|
|
||||||
protected void cardsSelected(LotroGame game, Collection<PhysicalCard> selectedCards) {
|
|
||||||
if (selectedCards.size() > 0) {
|
|
||||||
final PhysicalCard selectedCard = selectedCards.iterator().next();
|
|
||||||
PlayPermanentAction action = (PlayPermanentAction) PlayUtils.getPlayCardAction(game, selectedCard, -2, Filters.any, false);
|
|
||||||
action.skipShufflingDeck();
|
|
||||||
game.getActionsEnvironment().addActionToStack(action);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return action;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
package com.gempukku.lotro.cards.set12.gollum;
|
|
||||||
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
|
|
||||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
|
||||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
|
||||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPutCardFromDiscardIntoHandEffect;
|
|
||||||
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.OptionalTriggerAction;
|
|
||||||
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
|
||||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set: Black Rider
|
|
||||||
* Side: Shadow
|
|
||||||
* Culture: Gollum
|
|
||||||
* Twilight Cost: 3
|
|
||||||
* Type: Condition • Support Area
|
|
||||||
* Game Text: Each time the fellowship moves to a mountain or underground site, you may discard a [GOLLUM] event from
|
|
||||||
* hand to take a minion from your discard pile into hand.
|
|
||||||
*/
|
|
||||||
public class Card12_039 extends AbstractPermanent {
|
|
||||||
public Card12_039() {
|
|
||||||
super(Side.SHADOW, 3, CardType.CONDITION, Culture.GOLLUM, "Not Alone");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
|
||||||
if (TriggerConditions.movesTo(game, effectResult, Filters.or(Keyword.MOUNTAIN, Keyword.UNDERGROUND))
|
|
||||||
&& PlayConditions.canDiscardFromHand(game, playerId, 1, Culture.GOLLUM, CardType.EVENT)) {
|
|
||||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
|
||||||
action.appendCost(
|
|
||||||
new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 1, Culture.GOLLUM, CardType.EVENT));
|
|
||||||
action.appendEffect(
|
|
||||||
new ChooseAndPutCardFromDiscardIntoHandEffect(action, playerId, 1, 1, CardType.MINION));
|
|
||||||
return Collections.singletonList(action);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
package com.gempukku.lotro.cards.set12.gollum;
|
|
||||||
|
|
||||||
import com.gempukku.lotro.common.CardType;
|
|
||||||
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.ActivateCardAction;
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
|
|
||||||
import com.gempukku.lotro.logic.effects.PlaySiteEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
|
||||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set: Black Rider
|
|
||||||
* Side: Free
|
|
||||||
* Culture: Gollum
|
|
||||||
* Twilight Cost: 0
|
|
||||||
* Type: Condition • Support Area
|
|
||||||
* Game Text: To play, spot Smeagol. Smeagol is strength +1. Regroup: Discard this condition to replace the fellowship's
|
|
||||||
* current site with a site from your adventure deck.
|
|
||||||
*/
|
|
||||||
public class Card12_040 extends AbstractPermanent {
|
|
||||||
public Card12_040() {
|
|
||||||
super(Side.FREE_PEOPLE, 0, CardType.CONDITION, Culture.GOLLUM, "There's Another Way");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
|
||||||
return PlayConditions.canSpot(game, Filters.smeagol);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
|
||||||
return Collections.singletonList(new StrengthModifier(self, Filters.smeagol, 1));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
|
||||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self)
|
|
||||||
&& PlayConditions.canSelfDiscard(self, game)) {
|
|
||||||
ActivateCardAction action = new ActivateCardAction(self);
|
|
||||||
action.appendCost(
|
|
||||||
new SelfDiscardEffect(self));
|
|
||||||
action.appendEffect(
|
|
||||||
new PlaySiteEffect(action, playerId, null, game.getGameState().getCurrentSiteNumber()));
|
|
||||||
return Collections.singletonList(action);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
package com.gempukku.lotro.cards.set12.gollum;
|
|
||||||
|
|
||||||
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.cardtype.AbstractAttachable;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.CantHealModifier;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
|
||||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set: Black Rider
|
|
||||||
* Side: Shadow
|
|
||||||
* Culture: Gollum
|
|
||||||
* Twilight Cost: 0
|
|
||||||
* Type: Condition
|
|
||||||
* Game Text: To play, spot a [GOLLUM] card. Bearer must be a wounded companion. While you can spot a [GOLLUM] character
|
|
||||||
* or a [GOLLUM] card in your support area, bearer cannot heal.
|
|
||||||
*/
|
|
||||||
public class Card12_041 extends AbstractAttachable {
|
|
||||||
public Card12_041() {
|
|
||||||
super(Side.SHADOW, CardType.CONDITION, 0, Culture.GOLLUM, null, "Treacherous Little Toad");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
|
||||||
return PlayConditions.canSpot(game, Culture.GOLLUM);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
|
||||||
return Filters.and(CardType.COMPANION, Filters.wounded);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
|
||||||
return Collections.singletonList(new CantHealModifier(self, new SpotCondition(Culture.GOLLUM, Filters.or(Filters.character, Filters.and(Zone.SUPPORT, Filters.owner(self.getOwner())))), Filters.hasAttached(self)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -23,6 +23,41 @@
|
|||||||
type: Condition
|
type: Condition
|
||||||
keywords: Support Area
|
keywords: Support Area
|
||||||
effects: [
|
effects: [
|
||||||
|
{
|
||||||
|
type: modifier
|
||||||
|
modifier: {
|
||||||
|
type: modifyCost
|
||||||
|
requires: {
|
||||||
|
type: canSpot
|
||||||
|
filter: name(Sméagol)
|
||||||
|
}
|
||||||
|
filter: site
|
||||||
|
amount: -1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type: trigger
|
||||||
|
trigger: {
|
||||||
|
type: moves
|
||||||
|
}
|
||||||
|
effect: {
|
||||||
|
type: choice
|
||||||
|
texts: [
|
||||||
|
Wound a companion
|
||||||
|
Discard this condition
|
||||||
|
]
|
||||||
|
effects: [
|
||||||
|
{
|
||||||
|
type: wound
|
||||||
|
filter: choose(companion)
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type: discard
|
||||||
|
filter: self
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
]
|
]
|
||||||
gametext: While you can spot Sméagol, the Shadow number of each site is -1.<br>Each time the fellowship moves, wound a companion or discard this condition.
|
gametext: While you can spot Sméagol, the Shadow number of each site is -1.<br>Each time the fellowship moves, wound a companion or discard this condition.
|
||||||
lore: All ways are watched, yes,' said Gollum. 'Of course they are. But hobbits must try some way. This may be least watched.'
|
lore: All ways are watched, yes,' said Gollum. 'Of course they are. But hobbits must try some way. This may be least watched.'
|
||||||
@@ -61,9 +96,20 @@
|
|||||||
effects: {
|
effects: {
|
||||||
type: event
|
type: event
|
||||||
cost: {
|
cost: {
|
||||||
|
type: chooseHowManyToSpot
|
||||||
|
filter: culture(gollum)
|
||||||
|
memorize: spotCount
|
||||||
},
|
},
|
||||||
effect: [
|
effect: [
|
||||||
{
|
{
|
||||||
|
type: revealTopCardsOfDrawDeck
|
||||||
|
count: memory(spotCount)
|
||||||
|
memorize: revealedCards
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type: playCardFromDrawDeck
|
||||||
|
filter: choose(memory(revealedCards),minion)
|
||||||
|
cost: -2
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -101,6 +147,23 @@
|
|||||||
type: Condition
|
type: Condition
|
||||||
keywords: Support Area
|
keywords: Support Area
|
||||||
effects: [
|
effects: [
|
||||||
|
{
|
||||||
|
type: trigger
|
||||||
|
optional: true
|
||||||
|
trigger: {
|
||||||
|
type: movesTo
|
||||||
|
filter: or(mountain,underground)
|
||||||
|
}
|
||||||
|
cost: {
|
||||||
|
type: discardFromHand
|
||||||
|
forced: false
|
||||||
|
filter: choose(culture(gollum),event)
|
||||||
|
}
|
||||||
|
effect: {
|
||||||
|
type: putCardsFromDiscardIntoHand
|
||||||
|
filter: choose(minion)
|
||||||
|
}
|
||||||
|
}
|
||||||
]
|
]
|
||||||
gametext: Each time the fellowship moves to a mountain or underground site, you may discard a [gollum] event from hand to take a minion from your discard pile into hand.
|
gametext: Each time the fellowship moves to a mountain or underground site, you may discard a [gollum] event from hand to take a minion from your discard pile into hand.
|
||||||
lore: Gollum stalked the Ring-bearer over many leagues, awaiting the right opportunity to strike.
|
lore: Gollum stalked the Ring-bearer over many leagues, awaiting the right opportunity to strike.
|
||||||
@@ -136,6 +199,35 @@
|
|||||||
type: Condition
|
type: Condition
|
||||||
keywords: Support Area
|
keywords: Support Area
|
||||||
effects: [
|
effects: [
|
||||||
|
{
|
||||||
|
type: toPlay
|
||||||
|
requires: {
|
||||||
|
type: canSpot
|
||||||
|
filter: name(Sméagol)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type: modifier
|
||||||
|
modifier: {
|
||||||
|
type: modifyStrength
|
||||||
|
filter: name(Sméagol)
|
||||||
|
amount: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type: activated
|
||||||
|
phase: regroup
|
||||||
|
cost: {
|
||||||
|
type: discard
|
||||||
|
filter: self
|
||||||
|
}
|
||||||
|
effect: {
|
||||||
|
type: playSite
|
||||||
|
number: {
|
||||||
|
type: currentSiteNumber
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
]
|
]
|
||||||
gametext: To play, spot Sméagol.<br>Sméagol is strength +1.<br><b>Regroup:</b> Discard this condition to replace the fellowship's current site with a site from your adventure deck.
|
gametext: To play, spot Sméagol.<br>Sméagol is strength +1.<br><b>Regroup:</b> Discard this condition to replace the fellowship's current site with a site from your adventure deck.
|
||||||
lore: Frodo felt a strange certainty that in this matter Gollum was for once not so far from the truth....
|
lore: Frodo felt a strange certainty that in this matter Gollum was for once not so far from the truth....
|
||||||
@@ -169,8 +261,26 @@
|
|||||||
culture: Gollum
|
culture: Gollum
|
||||||
twilight: 0
|
twilight: 0
|
||||||
type: Condition
|
type: Condition
|
||||||
#target: a wounded companion
|
target: wounded,companion
|
||||||
effects: [
|
effects: [
|
||||||
|
{
|
||||||
|
type: toPlay
|
||||||
|
requires: {
|
||||||
|
type: canSpot
|
||||||
|
filter: culture(gollum)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type: modifier
|
||||||
|
modifier: {
|
||||||
|
type: cantHeal
|
||||||
|
requires: {
|
||||||
|
type: canSpot
|
||||||
|
filter: culture(gollum),or(character,and(your,zone(support)))
|
||||||
|
}
|
||||||
|
filter: bearer
|
||||||
|
}
|
||||||
|
}
|
||||||
]
|
]
|
||||||
gametext: To play, spot a [gollum] card.<br>Bearer must be a wounded companion.<br>While you can spot a [gollum] character or a [gollum] card in your support area, bearer cannot heal.
|
gametext: To play, spot a [gollum] card.<br>Bearer must be a wounded companion.<br>While you can spot a [gollum] character or a [gollum] card in your support area, bearer cannot heal.
|
||||||
lore: The Precious will be ours once the Hobbitses are dead!'
|
lore: The Precious will be ours once the Hobbitses are dead!'
|
||||||
Reference in New Issue
Block a user