Migrated Wraith cards in set 17 to hjson

This commit is contained in:
MarcinSc
2024-05-26 18:42:45 +07:00
parent 0f055d7a9c
commit c4cc978644
7 changed files with 196 additions and 384 deletions

View File

@@ -1,61 +0,0 @@
package com.gempukku.lotro.cards.set17.wraith;
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.AbstractMinion;
import com.gempukku.lotro.logic.effects.SelfExertEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.ResistanceModifier;
import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Rise of Saruman
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 5
* Type: Minion • Nazgul
* Strength: 10
* Vitality: 3
* Site: 3
* Game Text: Fierce. Each unbound companion is resistance -1 for each card he or she bears.
* Skirmish: Exert Ulaire Cantea to exert a companion with resistance 2 or less.
*/
public class Card17_139 extends AbstractMinion {
public Card17_139() {
super(5, 10, 3, 3, Race.NAZGUL, Culture.WRAITH, Names.cantea, "Duplicitous Assassin", true);
addKeyword(Keyword.FIERCE);
}
@Override
public java.util.List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
return java.util.Collections.singletonList(new ResistanceModifier(self, Filters.unboundCompanion, null,
new Evaluator() {
@Override
public int evaluateExpression(LotroGame game, PhysicalCard cardAffected) {
return -Filters.countActive(game, Filters.attachedTo(cardAffected));
}
}));
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 0)
&& PlayConditions.canSelfExert(self, game)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new SelfExertEffect(action, self));
action.appendEffect(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, CardType.COMPANION, Filters.maxResistance(2)));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,67 +0,0 @@
package com.gempukku.lotro.cards.set17.wraith;
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.actions.OptionalTriggerAction;
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
import com.gempukku.lotro.logic.effects.DrawCardsEffect;
import com.gempukku.lotro.logic.effects.SelfExertEffect;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.PlayConditions;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Rise of Saruman
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 4
* Type: Minion • Nazgul
* Strength: 9
* Vitality: 2
* Site: 3
* Game Text: Fierce. When you play Ulaire Otsea, you may spot another Nazgul to draw a card for each wounded companion
* you can spot. Regroup: Exert Ulaire Otsea and discard a [WRAITH] card from hand to add a burden.
*/
public class Card17_141 extends AbstractMinion {
public Card17_141() {
super(4, 9, 2, 3, Race.NAZGUL, Culture.WRAITH, Names.otsea, "Duplicitous Specter", true);
addKeyword(Keyword.FIERCE);
}
@Override
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.played(game, effectResult, self)
&& PlayConditions.canSpot(game, Filters.not(self), Race.NAZGUL)) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
action.appendEffect(
new DrawCardsEffect(action, playerId, Filters.countActive(game, CardType.COMPANION, Filters.wounded)));
return Collections.singletonList(action);
}
return null;
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.REGROUP, self, 0)
&& PlayConditions.canSelfExert(self, game)
&& PlayConditions.canDiscardFromHand(game, playerId, 1, Culture.WRAITH)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new SelfExertEffect(action, self));
action.appendCost(
new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 1, Culture.WRAITH));
action.appendEffect(
new AddBurdenEffect(self.getOwner(), self, 1));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,78 +0,0 @@
package com.gempukku.lotro.cards.set17.wraith;
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.actions.RequiredTriggerAction;
import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
import com.gempukku.lotro.logic.effects.ChoiceEffect;
import com.gempukku.lotro.logic.effects.ReturnCardsToHandEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
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: Rise of Saruman
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 0
* Type: Artifact • Ring
* Strength: +1
* Game Text: Bearer must be a Nazgul. Each time bearer wins a skirmish, the Free Peoples player must either add
* a burden or exert a companion. Response: If a player reconciles, return bearer to his owner's hand.
*/
public class Card17_142 extends AbstractAttachable {
public Card17_142() {
super(Side.SHADOW, CardType.ARTIFACT, 0, Culture.WRAITH, PossessionClass.RING, "Ring of Savagery", null, true);
}
@Override
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
return Race.NAZGUL;
}
@Override
public int getStrength() {
return 1;
}
@Override
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.winsSkirmish(game, effectResult, Filters.hasAttached(self))) {
RequiredTriggerAction action = new RequiredTriggerAction(self);
List<Effect> possibleEffects = new LinkedList<>();
possibleEffects.add(
new AddBurdenEffect(game.getGameState().getCurrentPlayerId(), self, 1));
possibleEffects.add(
new ChooseAndExertCharactersEffect(action, game.getGameState().getCurrentPlayerId(), 1, 1, CardType.COMPANION) {
@Override
public String getText(LotroGame game) {
return "Exert a companion";
}
});
action.appendEffect(
new ChoiceEffect(action, game.getGameState().getCurrentPlayerId(), possibleEffects));
return Collections.singletonList(action);
}
return null;
}
@Override
public List<? extends ActivateCardAction> getOptionalInPlayAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.reconciles(game, effectResult, null)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendEffect(
new ReturnCardsToHandEffect(self, self.getAttachedTo()));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,71 +0,0 @@
package com.gempukku.lotro.cards.set17.wraith;
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.actions.OptionalTriggerAction;
import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
import com.gempukku.lotro.logic.effects.RemoveThreatsEffect;
import com.gempukku.lotro.logic.effects.ReturnCardsToHandEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndPutCardFromDiscardIntoHandEffect;
import com.gempukku.lotro.logic.modifiers.AddKeywordModifier;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.PlayConditions;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Rise of Saruman
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 0
* Type: Artifact • Ring
* Game Text: Bearer must be a Nazgul. Bearer is damage +1. When you play this artifact, you may remove two threats
* to take a [WRAITH] card into hand from your discard pile. Response: If a player reconciles, return bearer to his
* owner's hand.
*/
public class Card17_143 extends AbstractAttachable {
public Card17_143() {
super(Side.SHADOW, CardType.ARTIFACT, 0, Culture.WRAITH, PossessionClass.RING, "Ring of Terror", null, true);
}
@Override
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
return Race.NAZGUL;
}
@Override
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
return Collections.singletonList(new AddKeywordModifier(self, Filters.hasAttached(self), Keyword.DAMAGE, 1));
}
@Override
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.played(game, effectResult, self)
&& PlayConditions.canRemoveThreat(game, self, 2)) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
action.appendCost(
new RemoveThreatsEffect(self, 2));
action.appendEffect(
new ChooseAndPutCardFromDiscardIntoHandEffect(action, playerId, 1, 1, Culture.WRAITH));
return Collections.singletonList(action);
}
return null;
}
@Override
public List<? extends ActivateCardAction> getOptionalInPlayAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.reconciles(game, effectResult, null)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendEffect(
new ReturnCardsToHandEffect(self, self.getAttachedTo()));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,47 +0,0 @@
package com.gempukku.lotro.cards.set17.wraith;
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
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.timing.EffectResult;
import java.util.Collections;
import java.util.List;
/**
* Set: Rise of Saruman
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 8
* Type: Minion • Nazgul
* Strength: 14
* Vitality: 4
* Site: 3
* Game Text: Fierce. Each time the Witch-king wins a fierce skirmish, you may exert a companion for each companion you
* can spot over 4.
*/
public class Card17_144 extends AbstractMinion {
public Card17_144() {
super(8, 14, 4, 3, Race.NAZGUL, Culture.WRAITH, Names.witchKing, "Conqueror of Arthedain", true);
addKeyword(Keyword.FIERCE);
}
@Override
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.winsSkirmish(game, effectResult, self)
&& game.getGameState().isFierceSkirmishes()) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
int count = Filters.countActive(game, CardType.COMPANION) - 4;
for (int i = 0; i < count; i++)
action.appendEffect(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, CardType.COMPANION));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -22,12 +22,36 @@
culture: Wraith
twilight: 5
type: Minion
race: Nazgûl
race: Nazgul
strength: 10
vitality: 3
site: 3
keywords: Fierce
effects: [
{
type: modifier
modifier: {
type: modifyResistance
filter: unbound,companion
amount: {
type: forEachHasAttached
filter: any
multiplier: -1
}
}
}
{
type: activated
phase: skirmish
cost: {
type: exert
filter: self
}
effect: {
type: exert
filter: choose(companion,maxResistance(2))
}
}
]
gametext: <b>Fierce</b>.<br>Each unbound companion is resistance -1 for each card he or she bears.<br><b>Skirmish:</b> Exert Úlairë Cantëa to exert a companion with resistance 2 or less.
lore: Drawn to the power of the one. They will never stop hunting you.
@@ -62,12 +86,48 @@
culture: Wraith
twilight: 6
type: Minion
race: Nazgûl
race: Nazgul
strength: 11
vitality: 4
site: 3
keywords: Fierce
effects: [
{
type: trigger
optional: true
trigger: {
type: heals
filter: companion
player: free peoples
}
effect: {
type: addBurdens
amount: 1
}
}
{
type: activated
phase: maneuver
cost: {
type: exert
filter: self
times: 2
}
effect: {
type: discard
filter: choose(condition)
count: {
type: condition
condition: {
type: canSpot
filter: condition,side(free people)
count: 5
}
true: 2
false: 1
}
}
}
]
gametext: <b>Fierce</b>.<br>Each time the Free Peoples player heals a companion, you may add a burden.<br><b>Maneuver:</b> Exert Úlairë Enquëa twice to discard a condition (or two conditions if you can spot 5 Free Peoples player's conditions).
lore: At all times they feel the presence of the ring.
@@ -102,12 +162,50 @@
culture: Wraith
twilight: 4
type: Minion
race: Nazgûl
race: Nazgul
strength: 9
vitality: 2
site: 3
keywords: Fierce
effects: [
{
type: trigger
optional: true
trigger: {
type: played
player: you
filter: self
}
requires: {
type: canSpot
filter: another,nazgul
}
effect: {
type: drawCards
count: {
type: forEachYouCanSpot
filter: wounded,companion
}
}
}
{
type: activated
phase: regroup
cost: [
{
type: exert
filter: self
}
{
type: discardFromHand
forced: false
filter: choose(culture(wraith))
}
]
effect: {
type: addBurdens
}
}
]
gametext: <b>Fierce</b>.<br>When you play Úlairë Otsëa, you may spot another Nazgûl to draw a card for each wounded companion you can spot.<br><b>Regroup:</b> Exert Úlairë Otsëa and discard a [wraith] card from hand to add a burden.
lore: Blinded by their greed, they took them without question.
@@ -143,8 +241,44 @@
type: Artifact
strength: 1
itemclass: Ring
#target: a Nazgûl
target: nazgul
effects: [
{
type: trigger
trigger: {
type: winsSkirmish
filter: bearer
}
effect: {
type: choice
player: free people
texts: [
Add a burden
Exert a companion
]
effects: [
{
type: addBurdens
player: free people
}
{
type: exert
player: free people
filter: choose(companion)
}
]
}
}
{
type: activatedTrigger
trigger: {
type: reconciles
}
effect: {
type: returnToHand
filter: bearer
}
}
]
gametext: Bearer must be a Nazgûl.<br>Each time bearer wins a skirmish, the Free Peoples player must either add a burden or exert a companion.<br><b>Response:</b> If a player reconciles, return bearer to his owner's hand.
lore: ""
@@ -179,8 +313,44 @@
twilight: 0
type: Artifact
itemclass: Ring
#target: a Nazgûl
target: nazgul
effects: [
{
type: modifier
modifier: {
type: addKeyword
filter: bearer
keyword: damage
amount: 1
}
}
{
type: trigger
optional: true
trigger: {
type: played
player: you
filter: self
}
cost: {
type: removeThreats
amount: 2
}
effect: {
type: putCardsFromDiscardIntoHand
filter: choose(culture(wraith))
}
}
{
type: activatedTrigger
trigger: {
type: reconciles
}
effect: {
type: returnToHand
filter: bearer
}
}
]
gametext: Bearer must be a Nazgûl. Bearer is <b>damage +1</b>.<br>When you play this artifact, you may remove two threats to take a [wraith] card into hand from your discard pile.<br><b>Response:</b> If a player reconciles, return bearer to his owner's hand.
lore: ""
@@ -215,12 +385,32 @@
culture: Wraith
twilight: 8
type: Minion
race: Nazgûl
race: Nazgul
strength: 14
vitality: 4
site: 3
keywords: Fierce
effects: [
{
type: trigger
optional: true
trigger: {
type: winsSkirmish
filter: self
}
effect: {
type: repeat
times: {
type: forEachYouCanSpot
filter: companion
over: 4
}
effect: {
type: exert
filter: choose(companion)
}
}
}
]
gametext: <b>Fierce</b>.<br>Each time the Witch-king wins a fierce skirmish, you may exert a companion for each companion you can spot over 4.
lore: ""

View File

@@ -1,54 +0,0 @@
{
17_140: {
title: Úlairë Enquëa
subtitle: Duplicitous Lieutenant
unique: true
side: shadow
culture: Wraith
type: minion
race: Nazgul
twilight: 6
strength: 11
vitality: 4
site: 3
keyword: Fierce
effects: [
{
type: trigger
optional: true
trigger: {
type: heals
filter: companion
player: free peoples
}
effect: {
type: addburdens
amount: 1
}
}
{
type: activated
phase: maneuver
cost: {
type: exert
times: 2
filter: self
}
effect: {
type: discard
filter: choose(condition,side(free people))
count: {
type: requires
requires: {
type: canSpot
filter: condition,side(free people)
count: 5
}
true: 2
false: 1
}
}
}
]
}
}