From 288595f96ee0efa2de78c138516b152da234e5c3 Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Sun, 4 Jun 2023 23:26:38 -0500 Subject: [PATCH] Enquea TOTO errata + bare tests --- .../set10/set10-Ringwraith-errata.hjson | 91 +++++++++++++++++++ .../errata/set10/Card_10_068_ErrataTests.java | 78 ++++++++++++++++ 2 files changed, 169 insertions(+) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set10/set10-Ringwraith-errata.hjson create mode 100644 gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set10/Card_10_068_ErrataTests.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set10/set10-Ringwraith-errata.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set10/set10-Ringwraith-errata.hjson new file mode 100644 index 000000000..3c5dccc42 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set10/set10-Ringwraith-errata.hjson @@ -0,0 +1,91 @@ +{ + + 80_68: { + cardInfo: { + //Either a full URL, or a subpath for the PC image server + imagePath: errata/LOTR-EN10S068.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_68 + //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: 10R68 + rarity: R + setNum: "10" + cardNum: 68 + // Standard, Masterwork, Tengwar, FullArt, etc. Top-level cards are always Standard. + style: Standard + } + title: Ulaire Enquea + subtitle: Thrall of The One + unique: true + side: Shadow + culture: Wraith + twilight: 6 + type: Minion + race: Nazgul + keyword: enduring + strength: 11 + vitality: 4 + site: 3 + requires: { + type: canSpot + filter: orc + } + effects: [ + { + type: modifier + modifier: { + type: CantBeExerted + filter: self + requires: { + type: phase + phase: skirmish + } + by: shadow + } + }, + { + type: activated + phase: skirmish + requires: { + type: CanSpot + filter: self,InSkirmish + } + cost: [ + { + type: RemoveTwilight + amount: 1 + } + { + type: exert + filter: self + } + ] + effect: { + type: AddBurdens + + } + } + ] + gametext: Enduring.
Shadow cards cannot exert Ulaire Enquea during a skirmish phase.
Skirmish: If Ulaire Enquea is skirmishing, remove (1) and heal him to add a burden. + lore: “Ever they circled above the City, like vultures that expect their fill of doomed men's flesh.” + 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: { + } + } + } +} diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set10/Card_10_068_ErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set10/Card_10_068_ErrataTests.java new file mode 100644 index 000000000..6ff10487a --- /dev/null +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set10/Card_10_068_ErrataTests.java @@ -0,0 +1,78 @@ +package com.gempukku.lotro.cards.unofficial.pc.errata.set10; + +import com.gempukku.lotro.cards.GenericCardTestHelper; +import com.gempukku.lotro.common.*; +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_068_ErrataTests +{ + + protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException { + return new GenericCardTestHelper( + new HashMap<>() + {{ + put("enquea", "80_68"); + // put other cards in here as needed for the test case + }}, + GenericCardTestHelper.FellowshipSites, + GenericCardTestHelper.FOTRFrodo, + GenericCardTestHelper.FOTRRing + ); + } + + @Test + public void UlaireEnqueaStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException { + + /** + * Set: 10 + * Title: Ulaire Enquea, Thrall of The One + * Unique: True + * Side: SHADOW + * Culture: Wraith + * Twilight Cost: 6 + * Type: minion + * Subtype: Nazgul + * Strength: 11 + * Vitality: 4 + * Site Number: 3 + * Game Text: Enduring.
Shadow cards cannot exert Ulaire Enquea during a skirmish phase.
Skirmish: If Ulaire Enquea is skirmishing, remove (1) and heal him to add a burden. + */ + + //Pre-game setup + var scn = GetScenario(); + + var enquea = scn.GetFreepsCard("enquea"); + + assertTrue(enquea.getBlueprint().isUnique()); + assertEquals(Side.SHADOW, enquea.getBlueprint().getSide()); + assertEquals(Culture.WRAITH, enquea.getBlueprint().getCulture()); + assertEquals(CardType.MINION, enquea.getBlueprint().getCardType()); + assertEquals(Race.NAZGUL, enquea.getBlueprint().getRace()); + assertTrue(scn.HasKeyword(enquea, Keyword.ENDURING)); + assertEquals(6, enquea.getBlueprint().getTwilightCost()); + assertEquals(11, enquea.getBlueprint().getStrength()); + assertEquals(4, enquea.getBlueprint().getVitality()); + assertEquals(3, enquea.getBlueprint().getSiteNumber()); + } + + //@Test + public void UlaireEnqueaTest1() throws DecisionResultInvalidException, CardNotFoundException { + //Pre-game setup + var scn = GetScenario(); + + var card = scn.GetFreepsCard("card"); + scn.FreepsMoveCardToHand(card); + + scn.StartGame(); + scn.FreepsPlayCard(card); + + assertEquals(6, scn.GetTwilight()); + } +}