From 1cc02b58c1bb7a1fc5e39fc7290b7c3fb62c3596 Mon Sep 17 00:00:00 2001 From: swordshine Date: Thu, 15 May 2014 09:01:32 +0000 Subject: [PATCH] - Conspiracy: Added Marchesa, the Black Rose --- .../java/forge/game/card/CardFactoryUtil.java | 15 +++++++++++++++ .../src/main/java/forge/game/player/Player.java | 4 +--- 2 files changed, 16 insertions(+), 3 deletions(-) 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 04456858665..1374d72d960 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -3260,6 +3260,21 @@ public class CardFactoryUtil { ripplePos = hasKeyword(card, "Ripple", n + 1); } // Ripple + + final int dethrone = card.getKeywordAmount("Dethrone"); + for (int i = 0; i < dethrone; i++) { + final StringBuilder trigScript = new StringBuilder( + "Mode$ Attacks | ValidCard$ Card.Self | Attacked$ Player.withMostLife | " + + "TriggerZones$ Battlefield | Execute$ DethroneCounters | TriggerDescription$" + + " Dethrone (Whenever this creature attacks the player with the most life or " + + "tied for the most life, put a +1/+1 counter on it.)"); + + final String abString = "DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | " + + "CounterNum$ 1"; + card.setSVar("DethroneCounters", abString); + final Trigger cascadeTrigger = TriggerHandler.parseTrigger(trigScript.toString(), card, true); + card.addTrigger(cascadeTrigger); + } // Cascade } diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 6b10967c51d..965a056c2d2 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -2445,14 +2445,12 @@ public class Player extends GameEntity implements Comparable { } else if (property.startsWith("withMost")) { if (property.substring(8).equals("Life")) { int highestLife = this.getLife(); // Negative base just in case a few Lich's are running around - Player healthiest = this; for (final Player p : game.getPlayers()) { if (p.getLife() > highestLife) { highestLife = p.getLife(); - healthiest = p; } } - if (!this.equals(healthiest)) { + if (this.getLife() != highestLife) { return false; } }