From 4f7023f3c7103aa4e096648b31c23319d14fee2a Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Sun, 4 May 2025 10:22:27 -0500 Subject: [PATCH 01/10] Applied Legacy Ruling #4 --- .../cards/official/set11/set11-Sites.hjson | 41 +++--------- .../official/set11/Card_11_243_Tests.java | 67 +++---------------- 2 files changed, 22 insertions(+), 86 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set11/set11-Sites.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set11/set11-Sites.hjson index 6811abf6e..8343c676e 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set11/set11-Sites.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set11/set11-Sites.hjson @@ -645,43 +645,24 @@ { type: Trigger optional: false - trigger: [ - { - type: MovesTo - filter: self - } - { - type: StartOfPhase - phase: Fellowship - } - ] + trigger: { + type: StartOfSkirmishInvolving + filter: culture(rohan),companion + } requires: { - type: Location - filter: self + type: canSpot + filter: minion,inSkirmishAgainst(culture(rohan),companion) } effect: { - type: addTrigger - trigger: { - type: StartOfSkirmishInvolving - filter: culture(rohan),companion - } - requires: { - type: canSpot + type: RemoveKeyword + count: { + type: ForEachYouCanSpot filter: minion,inSkirmishAgainst(culture(rohan),companion) } - effect: { - type: RemoveKeyword - count: { - type: ForEachYouCanSpot - filter: minion,inSkirmishAgainst(culture(rohan),companion) - } - select: all(minion,inSkirmishAgainst(culture(rohan),companion)) - keyword: fierce - until: regroup - } + select: all(minion,inSkirmishAgainst(culture(rohan),companion)) + keyword: fierce until: regroup } - limitPerTurn: 1 } ] gametext: Plains. Until the regroup phase, each minion skirmishing a [rohan] companion loses fierce and cannot gain fierce. diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set11/Card_11_243_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set11/Card_11_243_Tests.java index 21592c99f..cc11e7ffa 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set11/Card_11_243_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set11/Card_11_243_Tests.java @@ -6,7 +6,6 @@ import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.game.CardNotFoundException; import com.gempukku.lotro.game.PhysicalCardImpl; -import com.gempukku.lotro.game.state.actions.DefaultActionsEnvironment; import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; import org.junit.Test; @@ -57,7 +56,8 @@ public class Card_11_243_Tests * Type: Site * Subtype: * Site Number: * - * Game Text: Plains. Until the regroup phase, each minion skirmishing a [rohan] companion loses fierce and cannot gain fierce. + * Game Text: Plains. Until the regroup phase, each minion skirmishing a [rohan] companion loses + * fierce and cannot gain fierce. */ var scn = GetScenario(); @@ -73,23 +73,14 @@ public class Card_11_243_Tests assertEquals(3, card.getBlueprint().getTwilightCost()); } - // Uncomment any @Test markers below once this is ready to be used - //@Test - public void HarrowdaleTest1() throws DecisionResultInvalidException, CardNotFoundException { - //Pre-game setup - var scn = GetScenario(); - - var card = scn.GetFreepsCard("card"); - scn.FreepsMoveCardToHand(card); - - scn.StartGame(); - scn.FreepsPlayCard(card); - - assertEquals(3, scn.GetTwilight()); - } + /** + * As per Legacy Ruling #4, Harrowdale's text is to be interpreted as only working while the fellowship is at that site. + * Thus, if you start at Harrowdale and move away from it, the text does not "follow" the fellowship. + * Wiki LR#4 + */ @Test - public void MovingFromHarrowdaleRemovesFierceAgainstSkirmishingRohirrim() throws DecisionResultInvalidException, CardNotFoundException { + public void MovingFromHarrowdale_DOESNOT_RemoveFierceAgainstSkirmishingRohirrim() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup var scn = GetScenario(); var harrowdale = scn.GetFreepsSite("Harrowdale"); @@ -110,7 +101,6 @@ public class Card_11_243_Tests scn.FreepsPassCurrentPhaseAction(); scn.ShadowChooseCardBPFromSelection(shadowSite2); - assertEquals(1, ((DefaultActionsEnvironment) scn._game.getActionsEnvironment()).getUntilStartOfPhaseActionProxies(Phase.REGROUP).size()); assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); @@ -124,7 +114,8 @@ public class Card_11_243_Tests assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); scn.FreepsResolveSkirmish(eomer); - assertFalse(scn.hasKeyword(seeker, Keyword.FIERCE)); + //Fierce was not removed because Harrowdale only works while on it + assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); scn.PassCurrentPhaseActions(); scn.FreepsResolveSkirmish(aragorn); @@ -134,42 +125,9 @@ public class Card_11_243_Tests assertEquals(Phase.ASSIGNMENT, scn.GetCurrentPhase()); scn.PassCurrentPhaseActions(); - assertFalse(scn.hasKeyword(seeker, Keyword.FIERCE)); + assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); scn.FreepsAssignToMinions(aragorn, pursuer); - - scn.FreepsResolveSkirmish(aragorn); - assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); - scn.PassCurrentPhaseActions(); - - //Fierce suppression should have worn off - assertEquals(Phase.REGROUP, scn.GetCurrentPhase()); - assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); - assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); - - scn.PassCurrentPhaseActions(); - scn.ShadowDeclineReconciliation(); - scn.FreepsChooseToMove(); - scn.ShadowChooseCardBPFromSelection(shadowSite3); - - assertEquals(0, ((DefaultActionsEnvironment) scn._game.getActionsEnvironment()).getUntilStartOfPhaseActionProxies(Phase.REGROUP).size()); - - scn.SkipToAssignments(); - scn.FreepsAssignToMinions( - new PhysicalCardImpl[] { eomer, pursuer}, - new PhysicalCardImpl[] { aragorn, seeker} - ); - - assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); - assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); - - scn.FreepsResolveSkirmish(eomer); - assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); - scn.PassCurrentPhaseActions(); - - scn.FreepsResolveSkirmish(aragorn); - assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); - scn.PassCurrentPhaseActions(); } @Test @@ -194,7 +152,6 @@ public class Card_11_243_Tests scn.FreepsPassCurrentPhaseAction(); scn.ShadowChooseCardBPFromSelection(harrowdale); - assertEquals(1, ((DefaultActionsEnvironment) scn._game.getActionsEnvironment()).getUntilStartOfPhaseActionProxies(Phase.REGROUP).size()); assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); @@ -236,8 +193,6 @@ public class Card_11_243_Tests scn.FreepsChooseToMove(); scn.ShadowChooseCardBPFromSelection(shadowSite3); - assertEquals(0, ((DefaultActionsEnvironment) scn._game.getActionsEnvironment()).getUntilStartOfPhaseActionProxies(Phase.REGROUP).size()); - scn.SkipToAssignments(); scn.FreepsAssignToMinions( new PhysicalCardImpl[] { eomer, pursuer}, From 9bd005556301ddb862db1a7ac39af7f761cdfc9c Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Sun, 4 May 2025 10:33:49 -0500 Subject: [PATCH 02/10] Implementing Legacy Ruling #6, which specifies that Saruman's Staff does not affect Agent of the Dark Lord nor Of Many Colours. --- .../cards/official/set12/set12-Uruk-hai.hjson | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Uruk-hai.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Uruk-hai.hjson index 19b528dc8..5e546628f 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Uruk-hai.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Uruk-hai.hjson @@ -458,17 +458,6 @@ site: 4 keywords: Lurker effects: [ - { - type: modifier - modifier: { - type: addKeyword - requires: { - type: sarumanFirstSentenceActive - } - filter: self - keyword: lurker - } - } { type: activated phase: skirmish From 4c2c21b87afbf64a7ea930ea3afad0487b632432 Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Thu, 8 May 2025 20:06:45 -0500 Subject: [PATCH 03/10] Implementing Modern Ruling #1; sanctuary is no longer considered a terrain keyword. --- .../resources/cards/official/set17/set17-Uruk-hai.hjson | 1 + .../resources/cards/unofficial/pc/setV01/V1_moria.hjson | 2 +- .../src/main/java/com/gempukku/lotro/common/Keyword.java | 6 +++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set17/set17-Uruk-hai.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set17/set17-Uruk-hai.hjson index b4bcc8c6d..400320ec2 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set17/set17-Uruk-hai.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set17/set17-Uruk-hai.hjson @@ -455,6 +455,7 @@ } filter: site,zone(adventure path) from: siteYouControl + terrain: true } } ] diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_moria.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_moria.hjson index 93c4e3130..f520a6f6f 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_moria.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_moria.hjson @@ -616,7 +616,7 @@ modifier: { type: AddKeyword keyword: marsh - filter: or(river,and(site,not(or(Battleground,Dwelling,Forest,Mountain,Plains,Sanctuary,River,Underground)))) + filter: or(river,and(site,not(or(Battleground,Dwelling,Forest,Mountain,Plains,River,Underground)))) } } { diff --git a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Keyword.java b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Keyword.java index 82bb81f24..5cb8d196c 100644 --- a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Keyword.java +++ b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Keyword.java @@ -20,7 +20,11 @@ public enum Keyword implements Filterable { FIERCE("Fierce", true, false, false, true), LURKER("Lurker", true, false, false, true), MUSTER("Muster", true, false, false, true), - SANCTUARY("Sanctuary", true, false, true, true), + /** + * As per Modern Ruling #1, Sanctuary is not considered a terrain keyword. + * https://wiki.lotrtcgpc.net/wiki/Modern_Ruling_1 + */ + SANCTUARY("Sanctuary", true, false, false, true), RING_BEARER("Ring-Bearer", true, false, true, true), UNHASTY("Unhasty", true, false, false, true), From 092d95b51cce98d5825af7aec52e606dcce99637 Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Thu, 8 May 2025 20:20:06 -0500 Subject: [PATCH 04/10] Modern Ruling #2: Exhaust as a cost can only be paid if any exertions are placed --- .../main/resources/cards/unofficial/pc/setV01/V1_shire.hjson | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_shire.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_shire.hjson index 44005a4ac..15fb4b60c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_shire.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_shire.hjson @@ -197,7 +197,7 @@ text: Would you like to exhaust {chosenMinion} to permit it to skirmish? cost: { type: exhaust - select: memory(chosenMinion) + select: choose(CanExert,memory(chosenMinion)) } effect: { type: disableSkirmishAssignment From 75e6d5d17c969af21b23d9ee1b142c84960a2846 Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Thu, 8 May 2025 20:21:04 -0500 Subject: [PATCH 05/10] Fixed Berserker Torch only granting +1 strength per wound instead of +2. --- .../src/main/resources/cards/official/set12/set12-Uruk-hai.hjson | 1 + 1 file changed, 1 insertion(+) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Uruk-hai.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Uruk-hai.hjson index 5e546628f..bf185b4d4 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Uruk-hai.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Uruk-hai.hjson @@ -112,6 +112,7 @@ amount: { type: forEachWound filter: character,inSkirmish + multiplier: 2 } } } From d87f23d6d366d81b1080059ca7aa82df94d5bc0f Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Thu, 8 May 2025 20:43:37 -0500 Subject: [PATCH 06/10] Expanded the replay speed range from 0.2-2 to 0.0625-16 --- gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameUi.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameUi.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameUi.js index 5593d3993..3018c2739 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameUi.js +++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameUi.js @@ -145,11 +145,11 @@ var GempLotrGameUI = Class.extend({ }); slowerBut.click( function () { - that.animations.replaySpeed = Math.min(2, that.animations.replaySpeed + 0.2); + that.animations.replaySpeed = Math.min(16, that.animations.replaySpeed * 2); }); fasterBut.click( function () { - that.animations.replaySpeed = Math.max(0.2, that.animations.replaySpeed - 0.2); + that.animations.replaySpeed = Math.max(0.0625, that.animations.replaySpeed / 2); }); replayDiv.append(slowerBut); replayDiv.append(fasterBut); From df4d4243a140fffa56a75ec882d9d3f514a727ad Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Thu, 8 May 2025 21:08:05 -0500 Subject: [PATCH 07/10] Updating PC blurb to include V2 --- .../src/main/java/com/gempukku/lotro/game/LotroFormat.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroFormat.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroFormat.java index a9675a762..3677895f1 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroFormat.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroFormat.java @@ -12,7 +12,7 @@ public interface LotroFormat { String PCSummary = """ As a reminder, PC formats incorporate the following changes:
- PC Errata are in effect -
- Set V1 is legal +
- Sets V1 and V2 are legal (where applicable)
- Discard piles are public information for both sides
- The game ends after Regroup actions are made (instead of at the start of Regroup) """; From 3ec219ebade6239d51719f60a34fc61306e3e436 Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Thu, 8 May 2025 21:36:55 -0500 Subject: [PATCH 08/10] Altered various attachable Gondor fortifications to no longer be highlighted at all while attached to minions (except Fifth Level) --- .../cards/official/set05/set05-Gondor.hjson | 12 ++++++++++++ .../cards/official/set07/set07-Gondor.hjson | 16 ++++++++++++++++ .../cards/official/set08/set08-Gondor.hjson | 4 ++++ .../cards/official/set15/set15-Gondor.hjson | 12 ++++++++++++ 4 files changed, 44 insertions(+) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Gondor.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Gondor.hjson index 254b32b87..d0ed245c8 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Gondor.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Gondor.hjson @@ -85,6 +85,10 @@ { type: activated phase: skirmish + requires: { + type: CanSpot + filter: self,Zone(SUPPORT) + } cost: { type: choice texts: [ @@ -143,6 +147,10 @@ { type: activated phase: skirmish + requires: { + type: CanSpot + filter: self,Zone(SUPPORT) + } cost: { type: choice texts: [ @@ -382,6 +390,10 @@ { type: activated phase: skirmish + requires: { + type: CanSpot + filter: self,Zone(SUPPORT) + } cost: { type: exert select: choose(culture(gondor),man) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set07/set07-Gondor.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set07/set07-Gondor.hjson index d4127ef63..ac701cdc2 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set07/set07-Gondor.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set07/set07-Gondor.hjson @@ -709,6 +709,10 @@ { type: activated phase: maneuver + requires: { + type: CanSpot + filter: self,Zone(SUPPORT) + } cost: { type: choice texts: [ @@ -2055,6 +2059,10 @@ { type: activated phase: maneuver + requires: { + type: CanSpot + filter: self,Zone(SUPPORT) + } cost: { type: choice texts: [ @@ -2113,6 +2121,10 @@ { type: activated phase: skirmish + requires: { + type: CanSpot + filter: self,Zone(SUPPORT) + } cost: { type: exert select: choose(culture(gondor),man) @@ -2402,6 +2414,10 @@ { type: activated phase: skirmish + requires: { + type: CanSpot + filter: self,Zone(SUPPORT) + } cost: { type: choice texts: [ diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set08/set08-Gondor.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set08/set08-Gondor.hjson index 4b1cd5b98..84fec1b93 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set08/set08-Gondor.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set08/set08-Gondor.hjson @@ -241,6 +241,10 @@ { type: activated phase: skirmish + requires: { + type: CanSpot + filter: self,Zone(SUPPORT) + } cost: { type: choice texts: [ diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set15/set15-Gondor.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set15/set15-Gondor.hjson index 55b8df479..eaccd2350 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set15/set15-Gondor.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set15/set15-Gondor.hjson @@ -232,6 +232,10 @@ { type: activated phase: skirmish + requires: { + type: CanSpot + filter: self,Zone(SUPPORT) + } cost: { type: exert select: choose(culture(gondor),man) @@ -664,6 +668,10 @@ { type: activated phase: skirmish + requires: { + type: CanSpot + filter: self,Zone(SUPPORT) + } cost: { type: choice texts: [ @@ -849,6 +857,10 @@ { type: activated phase: skirmish + requires: { + type: CanSpot + filter: self,Zone(SUPPORT) + } cost: { type: choice texts: [ From 38b361fb7298f9295c369c076896b0d8aa9ac65b Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Thu, 8 May 2025 21:44:44 -0500 Subject: [PATCH 09/10] Implementing preliminary LR#8 for Sting, Bane of the Eight Legs --- .../lotro/logic/actions/SkirmishPhaseAction.java | 5 ++--- .../lotro/cards/official/set08/Card_08_113_Tests.java | 11 +++++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/actions/SkirmishPhaseAction.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/actions/SkirmishPhaseAction.java index 47ce5f158..0224218aa 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/actions/SkirmishPhaseAction.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/actions/SkirmishPhaseAction.java @@ -41,8 +41,6 @@ public class SkirmishPhaseAction extends SystemQueueAction { game.getActionsEnvironment().addActionToStack(new SkirmishActionProcedureAction()); } }); - appendEffect( - new TriggeringResultEffect(null, new SkirmishAboutToEndResult(fellowshipCharacter, shadowCharacters), "Skirmish about to end")); appendEffect( new UnrespondableEffect() { @Override @@ -53,7 +51,8 @@ public class SkirmishPhaseAction extends SystemQueueAction { } } }); - + appendEffect( + new TriggeringResultEffect(null, new SkirmishAboutToEndResult(fellowshipCharacter, shadowCharacters), "Skirmish about to end")); appendEffect( new TriggeringResultEffect(null, new EndOfPhaseResult(Phase.SKIRMISH), "End of skirmish phase")); appendEffect( diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set08/Card_08_113_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set08/Card_08_113_Tests.java index 9c940cf97..dae5541d4 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set08/Card_08_113_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set08/Card_08_113_Tests.java @@ -89,13 +89,14 @@ public class Card_08_113_Tests assertTrue(scn.FreepsHasOptionalTriggerAvailable()); assertEquals(0, scn.GetThreats()); assertEquals(Zone.SHADOW_CHARACTERS, shelob.getZone()); - scn.FreepsAcceptOptionalTrigger(); + scn.FreepsDeclineOptionalTrigger(); //Ring converting burdens + scn.FreepsAcceptOptionalTrigger(); //Sting assertEquals(1, scn.GetThreats()); assertEquals(Zone.DISCARD, shelob.getZone()); } @Test - public void StingTriggersOnOverwhelm() throws DecisionResultInvalidException, CardNotFoundException { + public void Sting_DOESNOT_TriggerOnOverwhelm() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup var scn = GetScenario(); @@ -117,12 +118,10 @@ public class Card_08_113_Tests scn.FreepsResolveSkirmish(frodo); scn.PassCurrentPhaseActions(); - assertTrue(scn.FreepsHasOptionalTriggerAvailable()); + assertFalse(scn.FreepsHasOptionalTriggerAvailable()); assertEquals(0, scn.GetThreats()); assertEquals(Zone.SHADOW_CHARACTERS, sauron.getZone()); - scn.FreepsAcceptOptionalTrigger(); - assertEquals(1, scn.GetThreats()); - assertEquals(Zone.DISCARD, sauron.getZone()); + } } From 06c6a0efac687456089b81f3ea454fcf5af2ea01 Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Thu, 8 May 2025 21:45:05 -0500 Subject: [PATCH 10/10] Removing "Gondor" and "Rohan" from daily tournament queue names --- .../com/gempukku/lotro/tournament/TournamentService.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java index 6583e1ed0..7f67e87e1 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java @@ -199,10 +199,10 @@ public class TournamentService { sdf.setTimeZone(TimeZone.getTimeZone("GMT")); try { - addRecurringScheduledQueue("fotr_daily_eu", "Daily Gondor Fellowship Block", "2013-01-15 19:30:00", "fotrDailyEu-", "fotr_block"); - addRecurringScheduledQueue("fotr_daily_us", "Daily Rohan Fellowship Block", "2013-01-16 00:30:00", "fotrDailyUS-", "fotr_block"); - addRecurringScheduledQueue("movie_daily_eu", "Daily Gondor Movie Block", "2013-01-16 19:30:00", "movieDailyEu-", "movie"); - addRecurringScheduledQueue("movie_daily_us", "Daily Rohan Movie Block", "2013-01-17 00:30:00", "movieDailyUs-", "movie"); + addRecurringScheduledQueue("fotr_daily_eu", "Daily Fellowship Block", "2013-01-15 19:30:00", "fotrDailyEu-", "fotr_block"); + addRecurringScheduledQueue("fotr_daily_us", "Daily Fellowship Block", "2013-01-16 00:30:00", "fotrDailyUS-", "fotr_block"); + addRecurringScheduledQueue("movie_daily_eu", "Daily Movie Block", "2013-01-16 19:30:00", "movieDailyEu-", "movie"); + addRecurringScheduledQueue("movie_daily_us", "Daily Movie Block", "2013-01-17 00:30:00", "movieDailyUs-", "movie"); } catch (DateTimeParseException exp) { // Ignore, can't happen