Migrated Raider cards in set 6 to hjson

This commit is contained in:
MarcinSc
2024-04-22 22:41:42 +07:00
parent 20a2c14f7a
commit 1cf74b3f6e
6 changed files with 121 additions and 330 deletions

View File

@@ -1,74 +0,0 @@
package com.gempukku.lotro.cards.set6.raider;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Race;
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.ChooseAndAddUntilEOPStrengthBonusEffect;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.LinkedList;
import java.util.List;
/**
* Set: Ents of Fangorn
* Side: Shadow
* Culture: Raider
* Twilight Cost: 6
* Type: Minion • Man
* Strength: 13
* Vitality: 3
* Site: 4
* Game Text: Easterling. Fierce. Skirmish: Spot 2 burdens and exert this minion to make an Easterling strength +1.
* Skirmish: Spot 4 burdens and exert this minion to make an Easterling strength +2.
* Skirmish: Spot 6 burdens and exert this minion to make an Easterling strength +3.
*/
public class Card6_078 extends AbstractMinion {
public Card6_078() {
super(6, 13, 3, 4, Race.MAN, Culture.RAIDER, "Easterling Army");
addKeyword(Keyword.EASTERLING);
addKeyword(Keyword.FIERCE);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 0)
&& PlayConditions.canSelfExert(self, game)) {
List<ActivateCardAction> actions = new LinkedList<>();
if (game.getGameState().getBurdens() >= 2) {
ActivateCardAction action = new ActivateCardAction(self);
action.setText("Make an Easterling Str +1");
action.appendCost(
new SelfExertEffect(action, self));
action.appendEffect(
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, 1, Keyword.EASTERLING));
actions.add(action);
}
if (game.getGameState().getBurdens() >= 4) {
ActivateCardAction action = new ActivateCardAction(self);
action.setText("Make an Easterling Str +2");
action.appendCost(
new SelfExertEffect(action, self));
action.appendEffect(
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, 2, Keyword.EASTERLING));
actions.add(action);
}
if (game.getGameState().getBurdens() >= 6) {
ActivateCardAction action = new ActivateCardAction(self);
action.setText("Make an Easterling Str +3");
action.appendCost(
new SelfExertEffect(action, self));
action.appendEffect(
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, 3, Keyword.EASTERLING));
actions.add(action);
}
return actions;
}
return null;
}
}

View File

@@ -1,50 +0,0 @@
package com.gempukku.lotro.cards.set6.raider;
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.CantTakeWoundsModifier;
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.SpotBurdensCondition;
import java.util.LinkedList;
import java.util.List;
/**
* Set: Ents of Fangorn
* Side: Shadow
* Culture: Raider
* Twilight Cost: 0
* Type: Possession • Hand Weapon
* Strength: +2
* Game Text: Bearer must be an Easterling. While you can spot 2 burdens, bearer cannot take wounds. While you can spot
* 5 burdens, bearer is damage +1.
*/
public class Card6_079 extends AbstractAttachable {
public Card6_079() {
super(Side.SHADOW, CardType.POSSESSION, 0, Culture.RAIDER, PossessionClass.HAND_WEAPON, "Easterling Polearm");
}
@Override
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
return Keyword.EASTERLING;
}
@Override
public int getStrength() {
return 2;
}
@Override
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
List<Modifier> modifiers = new LinkedList<>();
modifiers.add(
new CantTakeWoundsModifier(self, new SpotBurdensCondition(2), Filters.hasAttached(self)));
modifiers.add(
new KeywordModifier(self, Filters.hasAttached(self), new SpotBurdensCondition(5), Keyword.DAMAGE, 1));
return modifiers;
}
}

View File

@@ -1,51 +0,0 @@
package com.gempukku.lotro.cards.set6.raider;
import com.gempukku.lotro.common.*;
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.AddUntilEndOfPhaseModifierEffect;
import com.gempukku.lotro.logic.effects.RemoveTwilightEffect;
import com.gempukku.lotro.logic.modifiers.ArcheryTotalModifier;
import com.gempukku.lotro.logic.modifiers.evaluator.CardPhaseLimitEvaluator;
import com.gempukku.lotro.logic.modifiers.evaluator.ConstantEvaluator;
import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Ents of Fangorn
* Side: Shadow
* Culture: Raider
* Twilight Cost: 8
* Type: Minion • Man
* Strength: 13
* Vitality: 4
* Site: 4
* Game Text: Southron. Archer. Archery: Remove (3) to add 1 to the minion archery total for each companion over 4
* (limit +4).
*/
public class Card6_080 extends AbstractMinion {
public Card6_080() {
super(8, 13, 4, 4, Race.MAN, Culture.RAIDER, "Southron Archer Legion");
addKeyword(Keyword.SOUTHRON);
addKeyword(Keyword.ARCHER);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.ARCHERY, self, 3)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new RemoveTwilightEffect(3));
action.appendEffect(
new AddUntilEndOfPhaseModifierEffect(
new ArcheryTotalModifier(self, Side.SHADOW, null, new CardPhaseLimitEvaluator(game, self, Phase.ARCHERY, new ConstantEvaluator(4), new CountActiveEvaluator(4, (Integer) null, CardType.COMPANION)))));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,50 +0,0 @@
package com.gempukku.lotro.cards.set6.raider;
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
import com.gempukku.lotro.logic.timing.PlayConditions;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Race;
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: Ents of Fangorn
* Side: Shadow
* Culture: Raider
* Twilight Cost: 5
* Type: Minion • Man
* Strength: 10
* Vitality: 3
* Site: 4
* Game Text: Southron. Ambush (1). When you play this minion, you may spot another Southron to play a minion with
* ambush from your discard pile.
*/
public class Card6_081 extends AbstractMinion {
public Card6_081() {
super(5, 10, 3, 4, Race.MAN, Culture.RAIDER, "Southron Invaders");
addKeyword(Keyword.SOUTHRON);
addKeyword(Keyword.AMBUSH, 1);
}
@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), Keyword.SOUTHRON)
&& PlayConditions.canPlayFromDiscard(playerId, game, Keyword.AMBUSH)) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
action.appendEffect(
new ChooseAndPlayCardFromDiscardEffect(playerId, game, Keyword.AMBUSH));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,56 +0,0 @@
package com.gempukku.lotro.cards.set6.raider;
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.CostToEffectAction;
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.PreventableEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.PlayConditions;
/**
* Set: Ents of Fangorn
* Side: Shadow
* Culture: Raider
* Twilight Cost: 0
* Type: Event
* Game Text: Maneuver: Spot a mounted [RAIDER] Man to discard a companion (except the Ring-bearer). The Free Peoples
* player may add (4) to prevent this.
*/
public class Card6_082 extends AbstractEvent {
public Card6_082() {
super(Side.SHADOW, 0, Culture.RAIDER, "Trample", Phase.MANEUVER);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return PlayConditions.canSpot(game, Culture.RAIDER, Race.MAN, Filters.mounted);
}
@Override
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, final PhysicalCard self) {
PlayEventAction action = new PlayEventAction(self);
action.appendEffect(
new PreventableEffect(action,
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.COMPANION, Filters.not(Filters.ringBearer)) {
@Override
public String getText(LotroGame game) {
return "Discard a companion (except the Ring-bearer)";
}
},
game.getGameState().getCurrentPlayerId(),
new PreventableEffect.PreventionCost() {
@Override
public Effect createPreventionCostForPlayer(CostToEffectAction subAction, String playerId) {
return new AddTwilightEffect(self, 4);
}
}
));
return action;
}
}

View File

@@ -29,17 +29,50 @@
Easterling
Fierce
]
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: activated
phase: skirmish
text: Make Easterling strength +1
requires: {
type: canSpotBurdens
amount: 2
}
effect: {
type: modifyStrength
filter: choose(easterling)
amount: 1
}
}
{
type: activated
phase: skirmish
text: Make Easterling strength +2
requires: {
type: canSpotBurdens
amount: 4
}
effect: {
type: modifyStrength
filter: choose(easterling)
amount: 2
}
}
{
type: activated
phase: skirmish
text: Make Easterling strength +3
requires: {
type: canSpotBurdens
amount: 6
}
effect: {
type: modifyStrength
filter: choose(easterling)
amount: 3
}
}
]
gametext: <b>Easterling</b>. <b>Fierce</b>.<br><b>Skirmish:</b> Spot 2 burdens and exert this minion to make an Easterling strength +1.<br><b>Skirmish:</b> Spot 4 burdens and exert this minion to make an Easterling strength +2.<br><b>Skirmish:</b> Spot 6 burdens and exert this minion to make an Easterling strength +3.
lore: ""
promotext: ""
@@ -74,18 +107,33 @@
type: Possession
strength: 2
itemclass: Hand weapon
#target: title(an Easterling)
/*requires: {
}
target: easterling
effects: [
{
}
{
}
]*/
{
type: modifier
modifier: {
type: cantTakeWounds
requires: {
type: canSpotBurdens
amount: 2
}
filter: bearer
}
}
{
type: modifier
modifier: {
type: addKeyword
requires: {
type: canSpotBurdens
amount: 5
}
filter: bearer
keyword: damage
amount: 1
}
}
]
gametext: Bearer must be an Easterling.<br>While you can spot 2 burdens, bearer cannot take wounds.<br>While you can spot 5 burdens, bearer is <b>damage +1</b>.
lore: ...and the tips of their spears....'
promotext: ""
@@ -126,17 +174,26 @@
Southron
Archer
]
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: activated
phase: archery
cost: {
type: removeTwilight
amount: 3
}
effect: {
type: modifyArcheryTotal
side: shadow
amount: {
type: forEachYouCanSpot
filter: companion
over: 4
limit: 4
}
}
}
]
gametext: <b>Southron</b>. <b>Archer</b>.<br><b>Archery:</b> Remove (3) to add 1 to the minion archery total for each companion over 4 (limit +4).
lore: But I've heard tales of the big folk down away in the Sunlands.'
promotext: ""
@@ -177,17 +234,24 @@
Southron
Ambush 1
]
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: trigger
optional: true
trigger: {
type: played
filter: self
}
requires: {
type: canSpot
filter: another,southron
}
effect:{
type: playCardFromDiscard
filter: choose(minion,ambush)
}
}
]
gametext: <b>Southron</b>. <b>Ambush (1)</b>.<br>When you play this minion, you may spot another Southron to play a minion with ambush from your discard pile.
lore: So when you said Men out of the South, all in red and gold," I said "were there any oliphaunts?" For if there was, I was going to take a look....'"
promotext: ""
@@ -221,20 +285,28 @@
twilight: 0
type: Event
keywords: Maneuver
/*requires: {
}
effects: {
type: event
cost: {
},
requires: {
type: canSpot
filter: mounted,culture(raider),man
}
effect: [
{
type: preventable
player: fp
text: Would you like to add (4) to prevent discarding a companion?
cost: {
type: addTwilight
amount: 4
}
effect: {
type: discard
filter: choose(companion,not(ringBearer))
}
}
]
}*/
}
gametext: <b>Maneuver:</b> Spot a mounted [raider] Man to discard a companion (except the Ring-bearer). The Free Peoples player may add (4) to prevent this.
lore: ...I stomp round and round, / Never lie on the ground, / Not even to die. / Oliphaunt am I....'
promotext: ""