Adding V2 Fortress of My Fathers. Fixing Royal Guard requiring both theoden and 3 rohan companions, instead of "or"

This commit is contained in:
Christian 'ketura' McCarty
2024-11-02 10:44:31 -05:00
parent 6341d27670
commit 0eecea7abb
3 changed files with 177 additions and 15 deletions

View File

@@ -794,6 +794,8 @@ var PCCards = {
'102_71' : 'https://i.lotrtcgpc.net/sets/v02/LOTR-ENV2S071.0_card.jpg',
// Palantir of Orthanc, Corrupted Relic (V2R72) [Playtest]
'102_72' : 'https://i.lotrtcgpc.net/sets/v02/LOTR-ENV2S072.0_card.jpg',
// Fortress of My Fathers (V249)
'102_73' : 'https://i.lotrtcgpc.net/sets/V2/LOTR-ENV2S073.0_card.jpg',
//V2-associated Errata
// Erethon, Naith Lieutenant (4R65) [Errata]

View File

@@ -140,17 +140,20 @@
effects: [
{
type: ToPlay
requires: [
{
type: CanSpot
filter: name(Theoden)
}
{
type: CanSpot
filter: culture(Rohan), Man
count: 3
}
]
requires: {
type: Or
requires: [
{
type: CanSpot
filter: name(Theoden)
}
{
type: CanSpot
filter: culture(Rohan), Man
count: 3
}
]
}
}
{
type: Activated
@@ -749,10 +752,6 @@
twilight: 2
type: Event
timewords: Skirmish
/*requires: {
}
*/
effects: {
type: event
requires: {
@@ -808,4 +807,92 @@
}
}
}
102_73: {
cardInfo: {
imagePath: sets/V2/LOTR-ENV2S049.0_card.jpg
//parentId: 102_49
//One of: Variant, Errata, Reprint
//parentType: Variant
//parentPath: alts/promo
version: 0
collInfo: V249
rarity:
setNum: "V2"
cardNum: 49
style: Standard
}
title: Fortress of My Fathers
unique: false
side: Free Peoples
culture: Rohan
twilight: 1
type: Possession
keywords: [
Support Area
Fortification
]
effects: [
{
type: ToPlay
requires: {
type: Or
requires: [
{
type: CanSpot
filter: valiant,companion
count: 2
}
{
type: CanSpot
filter: culture(Rohan), Companion
count: 3
}
]
}
}
{
type: Response
trigger: {
type: aboutToTakeWound
filter: culture(rohan),companion
}
cost: {
type: Choice
texts: [
Discard Fortress of My Fathers
Discard 2 other {rohan} possessions
]
effects: [
{
type: discard
select: self
}
{
type: discard
select: other,culture(rohan),possession
count: 2
}
]
}
effect: [
{
type: preventWound
select: choose(culture(rohan),companion)
}
]
}
]
gametext: Fortification. To play, spot 3 [rohan] companions (or 2 valiant companions).<br>Response: If a [rohan] companion is about to take a wound, discard this or 2 other [rohan] possessions to prevent that wound.
lore: "'Is it not said that no foe has ever taken the Hornburg, if men defended it?'"
promotext: ""
alts: {
promos: {
}
errata: {
}
}
}
}

View File

@@ -0,0 +1,73 @@
package com.gempukku.lotro.cards.unofficial.pc.vsets.set_v02;
import com.gempukku.lotro.cards.GenericCardTestHelper;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.game.PhysicalCardImpl;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import org.junit.Test;
import java.util.HashMap;
import static org.junit.Assert.*;
public class Card_V2_073_Tests
{
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
return new GenericCardTestHelper(
new HashMap<>()
{{
put("card", "102_73");
// put other cards in here as needed for the test case
}},
GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo,
GenericCardTestHelper.RulingRing
);
}
@Test
public void FortressofMyFathersStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
/**
* Set: V2
* Name: Fortress of My Fathers
* Unique: False
* Side: Free Peoples
* Culture: Rohan
* Twilight Cost: 1
* Type: Possession
* Subtype: Support area
* Game Text: 73
*/
var scn = GetScenario();
var card = scn.GetFreepsCard("card");
assertEquals("Fortress of My Fathers", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle());
assertFalse(card.getBlueprint().isUnique());
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
assertEquals(Culture.ROHAN, card.getBlueprint().getCulture());
assertEquals(CardType.POSSESSION, card.getBlueprint().getCardType());
assertTrue(scn.hasKeyword(card, Keyword.SUPPORT_AREA));
assertEquals(1, card.getBlueprint().getTwilightCost());
}
// Uncomment any @Test markers below once this is ready to be used
//@Test
public void FortressofMyFathersTest1() 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());
}
}