Sent Back and Underfoot errata; spec tests only
This commit is contained in:
@@ -149,4 +149,85 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
79_27: {
|
||||
cardInfo: {
|
||||
//Either a full URL, or a subpath for the PC image server
|
||||
imagePath: errata/LOTR-EN09E027.1_card.jpg
|
||||
//If this is true, then all gameplay-related info outside this cardInfo definition
|
||||
// will be ignored and the java class loaded instead.
|
||||
javaClass: false
|
||||
//This instructs the blueprint generator to insert this card as an alt of the listed
|
||||
// parent blueprint. Can of course be ommitted if not an errata or promo.
|
||||
parent: 9_27
|
||||
//This is the tree path to use within the alts structure on the parent.
|
||||
// Can of course be ommitted if parent is null.
|
||||
parentPath: errata/pc
|
||||
//Versioning differentiates releases within a particular alt path, such as PC errata
|
||||
// version 1 vs version 2. PC version 2 will not conflict with, say, Decipher version 2.
|
||||
//Top-level cards should always be version 0.
|
||||
version: 1
|
||||
collInfo: 9R27
|
||||
rarity: R
|
||||
setNum: "9"
|
||||
cardNum: 27
|
||||
// Standard, Masterwork, Tengwar, FullArt, etc. Top-level cards are always Standard.
|
||||
style: Standard
|
||||
}
|
||||
title: Sent Back
|
||||
unique: false
|
||||
side: Free Peoples
|
||||
culture: Gandalf
|
||||
twilight: 2
|
||||
type: Condition
|
||||
keyword: support area
|
||||
effects: [
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: chooseActiveCards
|
||||
text: Choose Wizard to put in dead pile
|
||||
filter: choose(wizard,inSkirmish)
|
||||
memorize: chosenWizard
|
||||
}
|
||||
{
|
||||
type: discard
|
||||
filter: all(minion,inSkirmishAgainst(memory(chosenWizard)))
|
||||
}
|
||||
{
|
||||
type: kill
|
||||
filter: memory(chosenWizard)
|
||||
}
|
||||
]
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: [
|
||||
fellowship
|
||||
]
|
||||
effect: {
|
||||
type: play
|
||||
filter: choose(wizard)
|
||||
ignoreInDeadPile: true
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Skirmish:</b> Discard this condition to discard each minion skirmishing your Wizard. Place that Wizard in your dead pile. <br><b>Fellowship</b>: Play a Wizard (even if another copy of that Wizard is in your dead pile).
|
||||
lore: "'The Sun shines through you.'"
|
||||
promotext: ""
|
||||
alts: {
|
||||
//These are just CardInfo objects
|
||||
promos: {
|
||||
}
|
||||
//These are full card definitions, with redundant info that is the same as the original card ommitted
|
||||
errata: {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
|
||||
80_52: {
|
||||
cardInfo: {
|
||||
//Either a full URL, or a subpath for the PC image server
|
||||
imagePath: errata/LOTR-EN10E052.1_card.jpg
|
||||
//If this is true, then all gameplay-related info outside this cardInfo definition
|
||||
// will be ignored and the java class loaded instead.
|
||||
javaClass: false
|
||||
//This instructs the blueprint generator to insert this card as an alt of the listed
|
||||
// parent blueprint. Can of course be ommitted if not an errata or promo.
|
||||
parent: 10_52
|
||||
//This is the tree path to use within the alts structure on the parent.
|
||||
// Can of course be ommitted if parent is null.
|
||||
parentPath: errata/pc
|
||||
//Versioning differentiates releases within a particular alt path, such as PC errata
|
||||
// version 1 vs version 2. PC version 2 will not conflict with, say, Decipher version 2.
|
||||
//Top-level cards should always be version 0.
|
||||
version: 1
|
||||
collInfo: 10C52
|
||||
rarity: C
|
||||
setNum: "10"
|
||||
cardNum: 52
|
||||
// Standard, Masterwork, Tengwar, FullArt, etc. Top-level cards are always Standard.
|
||||
style: Standard
|
||||
}
|
||||
title: Under Foot
|
||||
unique: true
|
||||
side: Shadow
|
||||
culture: Raider
|
||||
twilight: 1
|
||||
type: Condition
|
||||
keyword: support area
|
||||
effects: [
|
||||
{
|
||||
type: activated
|
||||
phase: shadow
|
||||
limitPerPhase: 1
|
||||
requires: [
|
||||
{
|
||||
type: HaveInitiative
|
||||
side: shadow
|
||||
}
|
||||
{
|
||||
type: CanSpot
|
||||
filter: culture(raider),man
|
||||
}
|
||||
]
|
||||
effect: [
|
||||
{
|
||||
type: ReconcileHand
|
||||
player: you
|
||||
}
|
||||
{
|
||||
type: AddTrigger
|
||||
optional: false
|
||||
until: end(Regroup)
|
||||
trigger: {
|
||||
type: StartOfPhase
|
||||
phase: regroup
|
||||
}
|
||||
effect: {
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
effect: {
|
||||
type: modifyStrength
|
||||
filter: choose(culture(raider),man)
|
||||
amount: 2
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Shadow:</b> If you have initiative, spot a [raider] Man to reconcile your hand (limit once per phase). At the start of the regroup phase, discard this condition. <br><b>Skirmish:</b> Discard this condition to make a [raider] Man strength +2.
|
||||
lore: "'I make the earth shake, / As I tramp through the grass; / Trees crack as I pass.'"
|
||||
promotext: ""
|
||||
alts: {
|
||||
//These are just CardInfo objects
|
||||
promos: {
|
||||
}
|
||||
//These are full card definitions, with redundant info that is the same as the original card ommitted
|
||||
errata: {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.gempukku.lotro.cards.unofficial.pc.errata.set09;
|
||||
|
||||
import com.gempukku.lotro.cards.GenericCardTestHelper;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.game.CardNotFoundException;
|
||||
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class Card_09_027_ErrataTests
|
||||
{
|
||||
|
||||
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<>()
|
||||
{{
|
||||
put("sentback", "79_27");
|
||||
// put other cards in here as needed for the test case
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
GenericCardTestHelper.FOTRRing
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void SentBackStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
|
||||
/**
|
||||
* Set: 9
|
||||
* Title: Sent Back
|
||||
* Unique: False
|
||||
* Side: FREE_PEOPLE
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 2
|
||||
* Type: condition
|
||||
* Subtype: Support Area
|
||||
* Game Text: <b>Skirmish:</b> Discard this condition to discard each minion skirmishing your Wizard.
|
||||
* Place that Wizard in your dead pile.
|
||||
* <b>Fellowship</b>: Play a Wizard (even if another copy of that Wizard is in your dead pile).
|
||||
*/
|
||||
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var sentback = scn.GetFreepsCard("sentback");
|
||||
|
||||
assertFalse(sentback.getBlueprint().isUnique());
|
||||
assertEquals(Side.FREE_PEOPLE, sentback.getBlueprint().getSide());
|
||||
assertEquals(Culture.GANDALF, sentback.getBlueprint().getCulture());
|
||||
assertEquals(CardType.CONDITION, sentback.getBlueprint().getCardType());
|
||||
assertTrue(scn.HasKeyword(sentback, Keyword.SUPPORT_AREA));
|
||||
assertEquals(2, sentback.getBlueprint().getTwilightCost());
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void SentBackTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
|
||||
assertEquals(2, scn.GetTwilight());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.gempukku.lotro.cards.unofficial.pc.errata.set10;
|
||||
|
||||
import com.gempukku.lotro.cards.GenericCardTestHelper;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.game.CardNotFoundException;
|
||||
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class Card_10_052_ErrataTests
|
||||
{
|
||||
|
||||
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<>()
|
||||
{{
|
||||
put("underfoot", "80_52");
|
||||
// put other cards in here as needed for the test case
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
GenericCardTestHelper.FOTRRing
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void UnderFootStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
|
||||
/**
|
||||
* Set: 10
|
||||
* Title: Under Foot
|
||||
* Unique: True
|
||||
* Side: SHADOW
|
||||
* Culture: Raider
|
||||
* Twilight Cost: 1
|
||||
* Type: condition
|
||||
* Subtype: Support Area
|
||||
* Game Text: <b>Shadow:</b> If you have initiative, spot a [raider] Man to reconcile your hand (limit once per phase). At the start of the regroup phase, discard this condition.
|
||||
* <b>Skirmish:</b> Discard this condition to make a [raider] Man strength +2.
|
||||
*/
|
||||
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var underfoot = scn.GetFreepsCard("underfoot");
|
||||
|
||||
assertTrue(underfoot.getBlueprint().isUnique());
|
||||
assertEquals(Side.SHADOW, underfoot.getBlueprint().getSide());
|
||||
assertEquals(Culture.RAIDER, underfoot.getBlueprint().getCulture());
|
||||
assertEquals(CardType.CONDITION, underfoot.getBlueprint().getCardType());;
|
||||
assertTrue(scn.HasKeyword(underfoot, Keyword.SUPPORT_AREA));
|
||||
assertEquals(1, underfoot.getBlueprint().getTwilightCost());
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void UnderFootTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
var scn = GetScenario();
|
||||
|
||||
var card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
|
||||
assertEquals(1, scn.GetTwilight());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user