From ec0c826bf25d30ff40df275af0ce7e2c1096ee12 Mon Sep 17 00:00:00 2001 From: Hythonia Date: Thu, 29 Oct 2020 08:48:27 +0000 Subject: [PATCH 1/6] Add "isNotMonarch" property --- .../src/main/java/forge/game/player/PlayerProperty.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/forge-game/src/main/java/forge/game/player/PlayerProperty.java b/forge-game/src/main/java/forge/game/player/PlayerProperty.java index 7509becc161..bb5852a575a 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerProperty.java +++ b/forge-game/src/main/java/forge/game/player/PlayerProperty.java @@ -73,6 +73,10 @@ public class PlayerProperty { if (!player.equals(game.getMonarch())) { return false; } + } else if (property.equals("isNotMonarch")) { + if (player.equals(game.getMonarch())) { + return false; + } } else if (property.equals("hasBlessing")) { if (!player.hasBlessing()) { return false; From 89186afff58de09a2ec63f31ecece490d152de76 Mon Sep 17 00:00:00 2001 From: Hythonia Date: Thu, 29 Oct 2020 09:02:07 +0000 Subject: [PATCH 2/6] Enable "Count$Monarch.X.Y" --- forge-game/src/main/java/forge/game/card/CardFactoryUtil.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 28d55534e43..eef10410726 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -1156,6 +1156,9 @@ public class CardFactoryUtil { if (sq[0].contains("Landfall")) { return doXMath(Integer.parseInt(sq[cc.hasLandfall() ? 1 : 2]), m, c); } + if (sq[0].contains("Monarch")) { + return doXMath(Integer.parseInt(sq[cc.equals(game.getMonarch() ? 1 : 2]), m, c); + } if (sq[0].contains("Blessing")) { return doXMath(Integer.parseInt(sq[cc.hasBlessing() ? 1 : 2]), m, c); } From fef9ca7690043027083b9d24a1498f7daa436b93 Mon Sep 17 00:00:00 2001 From: Hythonia Date: Thu, 29 Oct 2020 09:08:20 +0000 Subject: [PATCH 3/6] Add court_of_cunning.txt --- .../res/cardsfolder/upcoming/CMR/court_of_cunning.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/CMR/court_of_cunning.txt diff --git a/forge-gui/res/cardsfolder/upcoming/CMR/court_of_cunning.txt b/forge-gui/res/cardsfolder/upcoming/CMR/court_of_cunning.txt new file mode 100644 index 00000000000..6a99e89d7ab --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/CMR/court_of_cunning.txt @@ -0,0 +1,10 @@ +Name:Court of Cunning +ManaCost:1 U U +Types:Enchantment +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMonarch | TriggerDescription$ When CARDNAME enters the battlefield, you become the monarch. +SVar:TrigMonarch:DB$ BecomeMonarch | Defined$ You +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ At the beginning of your upkeep, any number of target players each mill two cards. If you're the monarch, each of those players mills ten cards instead. (To mill a card, a player puts the top card of their library into their graveyard.) +SVar:TrigMill:DB$ Mill | ValidTgts$ Player | TgtPrompt$ Select target player | TargetMin$ 0 | TargetMax$ MaxTgt | NumCards$ X | References$ X,MaxTgt +SVar:X:Count$Monarch.2.10 +SVar:MaxTgt:PlayerCountPlayers$Amount +Oracle:When Court of Cunning enters the battlefield, you become the monarch.\nAt the beginning of your upkeep, any number of target players each mill two cards. If you're the monarch, each of those players mills ten cards instead. (To mill a card, a player puts the top card of their library into their graveyard.) \ No newline at end of file From e01fae1dafe2bffe5089da6310ecfc6ecdb674d3 Mon Sep 17 00:00:00 2001 From: Hythonia Date: Thu, 29 Oct 2020 10:42:36 +0000 Subject: [PATCH 4/6] Fix Court of Cunning --- forge-gui/res/cardsfolder/upcoming/CMR/court_of_cunning.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/upcoming/CMR/court_of_cunning.txt b/forge-gui/res/cardsfolder/upcoming/CMR/court_of_cunning.txt index 6a99e89d7ab..0538da519c0 100644 --- a/forge-gui/res/cardsfolder/upcoming/CMR/court_of_cunning.txt +++ b/forge-gui/res/cardsfolder/upcoming/CMR/court_of_cunning.txt @@ -5,6 +5,6 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S SVar:TrigMonarch:DB$ BecomeMonarch | Defined$ You T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ At the beginning of your upkeep, any number of target players each mill two cards. If you're the monarch, each of those players mills ten cards instead. (To mill a card, a player puts the top card of their library into their graveyard.) SVar:TrigMill:DB$ Mill | ValidTgts$ Player | TgtPrompt$ Select target player | TargetMin$ 0 | TargetMax$ MaxTgt | NumCards$ X | References$ X,MaxTgt -SVar:X:Count$Monarch.2.10 +SVar:X:Count$Monarch.10.2 SVar:MaxTgt:PlayerCountPlayers$Amount Oracle:When Court of Cunning enters the battlefield, you become the monarch.\nAt the beginning of your upkeep, any number of target players each mill two cards. If you're the monarch, each of those players mills ten cards instead. (To mill a card, a player puts the top card of their library into their graveyard.) \ No newline at end of file From 79daf02db61b5fa7711ae4c02b8b2ad0e1f37d3f Mon Sep 17 00:00:00 2001 From: Hythonia Date: Thu, 29 Oct 2020 10:50:38 +0000 Subject: [PATCH 5/6] Fix "Count$Monarch" --- forge-game/src/main/java/forge/game/card/CardFactoryUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index eef10410726..44fbf4c2899 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -1157,7 +1157,7 @@ public class CardFactoryUtil { return doXMath(Integer.parseInt(sq[cc.hasLandfall() ? 1 : 2]), m, c); } if (sq[0].contains("Monarch")) { - return doXMath(Integer.parseInt(sq[cc.equals(game.getMonarch() ? 1 : 2]), m, c); + return doXMath(Integer.parseInt(sq[cc.equals(game.getMonarch()) ? 1 : 2]), m, c); } if (sq[0].contains("Blessing")) { return doXMath(Integer.parseInt(sq[cc.hasBlessing() ? 1 : 2]), m, c); From 322e26c7bfce7f7ef177672ecf87ad8fea7a7075 Mon Sep 17 00:00:00 2001 From: Hythonia Date: Thu, 29 Oct 2020 10:51:19 +0000 Subject: [PATCH 6/6] Revert "Add "isNotMonarch" property" This reverts commit ec0c826bf25d30ff40df275af0ce7e2c1096ee12 --- .../src/main/java/forge/game/player/PlayerProperty.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/forge-game/src/main/java/forge/game/player/PlayerProperty.java b/forge-game/src/main/java/forge/game/player/PlayerProperty.java index bb5852a575a..7509becc161 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerProperty.java +++ b/forge-game/src/main/java/forge/game/player/PlayerProperty.java @@ -73,10 +73,6 @@ public class PlayerProperty { if (!player.equals(game.getMonarch())) { return false; } - } else if (property.equals("isNotMonarch")) { - if (player.equals(game.getMonarch())) { - return false; - } } else if (property.equals("hasBlessing")) { if (!player.hasBlessing()) { return false;