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