Migrated Gollum cards in set 12 to hjson

This commit is contained in:
MarcinSc
2024-05-18 18:32:02 +07:00
parent 93daff4db9
commit fe7db00483
6 changed files with 111 additions and 275 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -23,6 +23,41 @@
type: Condition
keywords: Support Area
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.
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: {
type: event
cost: {
type: chooseHowManyToSpot
filter: culture(gollum)
memorize: spotCount
},
effect: [
{
type: revealTopCardsOfDrawDeck
count: memory(spotCount)
memorize: revealedCards
}
{
type: playCardFromDrawDeck
filter: choose(memory(revealedCards),minion)
cost: -2
}
]
}
@@ -101,6 +147,23 @@
type: Condition
keywords: Support Area
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.
lore: Gollum stalked the Ring-bearer over many leagues, awaiting the right opportunity to strike.
@@ -136,6 +199,35 @@
type: Condition
keywords: Support Area
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.
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
twilight: 0
type: Condition
#target: a wounded companion
target: wounded,companion
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.
lore: The Precious will be ours once the Hobbitses are dead!'