Migrated Moria cards in set 3 to hjson
This commit is contained in:
@@ -1,53 +0,0 @@
|
|||||||
package com.gempukku.lotro.cards.set3.moria;
|
|
||||||
|
|
||||||
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.PlayEventAction;
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
|
||||||
import com.gempukku.lotro.logic.effects.AddTwilightEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.RevealRandomCardsFromHandEffect;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set: Realms of Elf-lords
|
|
||||||
* Side: Shadow
|
|
||||||
* Culture: Moria
|
|
||||||
* Twilight Cost: 2
|
|
||||||
* Type: Event
|
|
||||||
* Game Text: Shadow: Spot a [MORIA] minion to reveal a card at random from the Free Peoples player's hand. Add (X),
|
|
||||||
* where X is the twilight cost of the card revealed.
|
|
||||||
*/
|
|
||||||
public class Card3_076 extends AbstractEvent {
|
|
||||||
public Card3_076() {
|
|
||||||
super(Side.SHADOW, 2, Culture.MORIA, "Dangerous Gamble", Phase.SHADOW);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
|
||||||
return Filters.canSpot(game, Culture.MORIA, CardType.MINION);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, final PhysicalCard self) {
|
|
||||||
final PlayEventAction action = new PlayEventAction(self);
|
|
||||||
action.appendEffect(
|
|
||||||
new RevealRandomCardsFromHandEffect(playerId, game.getGameState().getCurrentPlayerId(), self, 1) {
|
|
||||||
@Override
|
|
||||||
protected void cardsRevealed(List<PhysicalCard> revealedCards) {
|
|
||||||
if (revealedCards.size() > 0) {
|
|
||||||
PhysicalCard revealedCard = revealedCards.get(0);
|
|
||||||
int twilightCost = revealedCard.getBlueprint().getTwilightCost();
|
|
||||||
action.appendEffect(
|
|
||||||
new AddTwilightEffect(self, twilightCost));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return action;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
package com.gempukku.lotro.cards.set3.moria;
|
|
||||||
|
|
||||||
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.RequiredTriggerAction;
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
|
|
||||||
import com.gempukku.lotro.logic.effects.AddTwilightEffect;
|
|
||||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
|
||||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set: Realms of Elf-lords
|
|
||||||
* Side: Shadow
|
|
||||||
* Culture: Moria
|
|
||||||
* Twilight Cost: 1
|
|
||||||
* Type: Condition
|
|
||||||
* Game Text: To play, spot a [MORIA] Orc. Plays to your support area. Each time the fellowship moves during
|
|
||||||
* the regroup phase, add (2).
|
|
||||||
*/
|
|
||||||
public class Card3_077 extends AbstractPermanent {
|
|
||||||
public Card3_077() {
|
|
||||||
super(Side.SHADOW, 1, CardType.CONDITION, Culture.MORIA, "Depths of Moria");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
|
||||||
return Filters.canSpot(game, Culture.MORIA, Race.ORC);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
|
||||||
if (TriggerConditions.moves(game, effectResult)
|
|
||||||
&& game.getGameState().getCurrentPhase() == Phase.REGROUP) {
|
|
||||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
|
||||||
action.appendEffect(
|
|
||||||
new AddTwilightEffect(self, 2));
|
|
||||||
return Collections.singletonList(action);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
package com.gempukku.lotro.cards.set3.moria;
|
|
||||||
|
|
||||||
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.PlayEventAction;
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
|
||||||
import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
|
||||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set: Realms of Elf-lords
|
|
||||||
* Side: Shadow
|
|
||||||
* Culture: Moria
|
|
||||||
* Twilight Cost: 1
|
|
||||||
* Type: Event
|
|
||||||
* Game Text: Search. Skirmish: Spot 2 [SHIRE] companions to make a [MORIA] minion damage +1.
|
|
||||||
*/
|
|
||||||
public class Card3_078 extends AbstractEvent {
|
|
||||||
public Card3_078() {
|
|
||||||
super(Side.SHADOW, 1, Culture.MORIA, "Hide and Seek", Phase.SKIRMISH);
|
|
||||||
addKeyword(Keyword.SEARCH);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
|
||||||
return PlayConditions.canSpot(game, 2, Culture.SHIRE, CardType.COMPANION);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, final PhysicalCard self) {
|
|
||||||
final PlayEventAction action = new PlayEventAction(self);
|
|
||||||
action.appendEffect(
|
|
||||||
new ChooseActiveCardEffect(self, playerId, "Choose MORIA minion", Culture.MORIA, CardType.MINION) {
|
|
||||||
@Override
|
|
||||||
protected void cardSelected(LotroGame game, PhysicalCard card) {
|
|
||||||
action.appendEffect(
|
|
||||||
new AddUntilEndOfPhaseModifierEffect(
|
|
||||||
new KeywordModifier(self, Filters.sameCard(card), Keyword.DAMAGE)));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return action;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
package com.gempukku.lotro.cards.set3.moria;
|
|
||||||
|
|
||||||
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.PlayEventAction;
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
|
||||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set: Realms of Elf-lords
|
|
||||||
* Side: Shadow
|
|
||||||
* Culture: Moria
|
|
||||||
* Twilight Cost: 0
|
|
||||||
* Type: Event
|
|
||||||
* Game Text: Archery: Spot a [MORIA] Orc and a [SAURON] Orc to wound an archer.
|
|
||||||
*/
|
|
||||||
public class Card3_079 extends AbstractEvent {
|
|
||||||
public Card3_079() {
|
|
||||||
super(Side.SHADOW, 0, Culture.MORIA, "Malice", Phase.ARCHERY);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
|
||||||
return Filters.canSpot(game, Culture.MORIA, Race.ORC)
|
|
||||||
&& Filters.canSpot(game, Culture.SAURON, Race.ORC);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
|
||||||
PlayEventAction action = new PlayEventAction(self);
|
|
||||||
action.appendEffect(
|
|
||||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Keyword.ARCHER));
|
|
||||||
return action;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
package com.gempukku.lotro.cards.set3.moria;
|
|
||||||
|
|
||||||
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.CostToEffectAction;
|
|
||||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
|
||||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.PreventableEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
|
|
||||||
import com.gempukku.lotro.logic.timing.Effect;
|
|
||||||
import com.gempukku.lotro.logic.timing.UnrespondableEffect;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set: Realms of Elf-lords
|
|
||||||
* Side: Shadow
|
|
||||||
* Culture: Moria
|
|
||||||
* Twilight Cost: 0
|
|
||||||
* Type: Event
|
|
||||||
* Game Text: Maneuver: Spot a [MORIA] minion to wound Boromir 3 times. The Free Peoples player may discard 2 Free
|
|
||||||
* Peoples possessions to prevent this.
|
|
||||||
*/
|
|
||||||
public class Card3_080 extends AbstractEvent {
|
|
||||||
public Card3_080() {
|
|
||||||
super(Side.SHADOW, 0, Culture.MORIA, "Such a Little Thing", Phase.MANEUVER);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
|
||||||
return Filters.canSpot(game, Culture.MORIA, CardType.MINION);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PlayEventAction getPlayEventCardAction(final String playerId, LotroGame game, PhysicalCard self) {
|
|
||||||
final PlayEventAction action = new PlayEventAction(self);
|
|
||||||
action.appendEffect(
|
|
||||||
new PreventableEffect(action,
|
|
||||||
new UnrespondableEffect() {
|
|
||||||
@Override
|
|
||||||
public String getText(LotroGame game) {
|
|
||||||
return "Wound Boromir 3 times";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void doPlayEffect(LotroGame game) {
|
|
||||||
action.appendEffect(
|
|
||||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.boromir));
|
|
||||||
action.appendEffect(
|
|
||||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.boromir));
|
|
||||||
action.appendEffect(
|
|
||||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.boromir));
|
|
||||||
}
|
|
||||||
}, Collections.singletonList(game.getGameState().getCurrentPlayerId()),
|
|
||||||
new PreventableEffect.PreventionCost() {
|
|
||||||
@Override
|
|
||||||
public Effect createPreventionCostForPlayer(CostToEffectAction subAction, String playerId) {
|
|
||||||
return new ChooseAndDiscardCardsFromPlayEffect(subAction, playerId, 2, 2, Side.FREE_PEOPLE, CardType.POSSESSION) {
|
|
||||||
@Override
|
|
||||||
public String getText(LotroGame game) {
|
|
||||||
return "Discard 2 Free People possessions";
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
));
|
|
||||||
return action;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,145 @@
|
|||||||
|
{
|
||||||
|
3_76: {
|
||||||
|
title: Dangerous Gamble
|
||||||
|
side: shadow
|
||||||
|
culture: Moria
|
||||||
|
twilight: 2
|
||||||
|
type: event
|
||||||
|
keyword: Shadow
|
||||||
|
effects: {
|
||||||
|
type: event
|
||||||
|
requires: {
|
||||||
|
type: canSpot
|
||||||
|
filter: culture(moria),minion
|
||||||
|
}
|
||||||
|
effect: [
|
||||||
|
{
|
||||||
|
type: revealRandomCardsFromHand
|
||||||
|
forced: true
|
||||||
|
hand: fp
|
||||||
|
memorize: revealedCard
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type: addTwilight
|
||||||
|
amount: {
|
||||||
|
type: twilightCostInMemory
|
||||||
|
memory: revealedCard
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
3_77: {
|
||||||
|
title: Depths of Moria
|
||||||
|
side: shadow
|
||||||
|
culture: Moria
|
||||||
|
twilight: 1
|
||||||
|
type: condition
|
||||||
|
keyword: Support Area
|
||||||
|
effects: [
|
||||||
|
{
|
||||||
|
type: toPlay
|
||||||
|
requires: {
|
||||||
|
type: canSpot
|
||||||
|
filter: culture(moria),orc
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type: trigger
|
||||||
|
trigger: {
|
||||||
|
type: moves
|
||||||
|
}
|
||||||
|
requires: {
|
||||||
|
type: phase
|
||||||
|
phase: regroup
|
||||||
|
}
|
||||||
|
effect: {
|
||||||
|
type: addTwilight
|
||||||
|
amount: 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
3_78: {
|
||||||
|
title: Hide and Seek
|
||||||
|
side: shadow
|
||||||
|
culture: Moria
|
||||||
|
twilight: 1
|
||||||
|
type: event
|
||||||
|
keyword:
|
||||||
|
[
|
||||||
|
Skirmish
|
||||||
|
Search
|
||||||
|
]
|
||||||
|
effects: {
|
||||||
|
type: event
|
||||||
|
requires: {
|
||||||
|
type: canSpot
|
||||||
|
count: 2
|
||||||
|
filter: culture(shire),companion
|
||||||
|
}
|
||||||
|
effect: {
|
||||||
|
type: addKeyword
|
||||||
|
filter: choose(culture(moria),minion)
|
||||||
|
keyword: damage
|
||||||
|
amount: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
3_79: {
|
||||||
|
title: Malice
|
||||||
|
side: shadow
|
||||||
|
culture: Moria
|
||||||
|
twilight: 0
|
||||||
|
type: event
|
||||||
|
keyword: Archery
|
||||||
|
effects: {
|
||||||
|
type: event
|
||||||
|
requires: [
|
||||||
|
{
|
||||||
|
type: canSpot
|
||||||
|
filter: culture(moria),orc
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type: canSpot
|
||||||
|
filter: culture(sauron),orc
|
||||||
|
}
|
||||||
|
]
|
||||||
|
effect: {
|
||||||
|
type: wound
|
||||||
|
filter: choose(archer)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
3_80: {
|
||||||
|
title: Such a Little Thing
|
||||||
|
side: shadow
|
||||||
|
culture: Moria
|
||||||
|
twilight: 0
|
||||||
|
type: event
|
||||||
|
keyword: Maneuver
|
||||||
|
effects: {
|
||||||
|
type: event
|
||||||
|
requires: {
|
||||||
|
type: canSpot
|
||||||
|
filter: culture(moria),minion
|
||||||
|
}
|
||||||
|
effect: {
|
||||||
|
type: preventable
|
||||||
|
text: Would you like to discard 2 FP possession to prevent wounding Boromir 3 times?
|
||||||
|
player: fp
|
||||||
|
cost: {
|
||||||
|
type: discard
|
||||||
|
filter: choose(side(free),possession)
|
||||||
|
count: 2
|
||||||
|
}
|
||||||
|
effect: {
|
||||||
|
type: wound
|
||||||
|
filter: choose(name(Boromir))
|
||||||
|
times: 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user