diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index 16ec6662f0d..5d67cdbd938 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -984,7 +984,7 @@ public class GameAction { for (final Card c : game.getCardsIn(ZoneType.Battlefield)) { if (c.isCreature()) { // Rule 704.5f - Put into grave (no regeneration) for toughness <= 0 - if (c.getNetToughness() <= 0) { + if (c.getLethal() <= 0) { if (noRegCreats == null) { noRegCreats = new CardCollection(); } @@ -992,7 +992,7 @@ public class GameAction { checkAgain = true; } else if (c.hasKeyword("CARDNAME can't be destroyed by lethal damage unless lethal damage dealt by a single source is marked on it.")) { for (final Integer dmg : c.getReceivedDamageFromThisTurn().values()) { - if (c.getNetToughness() <= dmg.intValue()) { + if (c.getLethal() <= dmg.intValue()) { if (desCreats == null) { desCreats = new CardCollection(); } @@ -1004,7 +1004,7 @@ public class GameAction { } // Rule 704.5g - Destroy due to lethal damage // Rule 704.5h - Destroy due to deathtouch - else if (c.getNetToughness() <= c.getDamage() || c.hasBeenDealtDeathtouchDamage()) { + else if (c.getLethal() <= c.getDamage() || c.hasBeenDealtDeathtouchDamage()) { if (desCreats == null) { desCreats = new CardCollection(); } diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index f2ab81b38b9..d89ebcdaaf7 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -4731,9 +4731,21 @@ public class Card extends GameEntity implements Comparable { return false; } + // this is the amount of damage a creature needs to receive before it dies + public final int getLethal() { + if (getAmountOfKeyword("Lethal damage dealt to CARDNAME is determined by its power rather than its toughness.") % 2 !=0) { + return getNetPower(); } + else { + return getNetToughness(); } + } + // this is the minimal damage a trampling creature has to assign to a blocker public final int getLethalDamage() { - return getNetToughness() - getDamage() - getTotalAssignedDamage(); + if (getAmountOfKeyword("Lethal damage dealt to CARDNAME is determined by its power rather than its toughness.") % 2 !=0) { + return getNetPower() - getDamage() - getTotalAssignedDamage(); + } + else { + return getNetToughness() - getDamage() - getTotalAssignedDamage();} } public final int getDamage() { diff --git a/forge-gui/res/cardsfolder/upcoming/zilortha_strength_incarnate.txt b/forge-gui/res/cardsfolder/upcoming/zilortha_strength_incarnate.txt new file mode 100644 index 00000000000..37a13f585de --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/zilortha_strength_incarnate.txt @@ -0,0 +1,7 @@ +Name:Zilortha, Strength Incarnate +ManaCost:3 R G +Types:Legendary Creature Dinosaur +K:Trample +PT:7/3 +S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddHiddenKeyword$ Lethal damage dealt to CARDNAME is determined by its power rather than its toughness. | Description$ Lethal damage dealt to creatures you control is determined by their power rather than their toughness. +Oracle:Trample\nLethal damage dealt to creatures you control is determined by their power rather than their toughness.