diff --git a/res/cardsfolder/d/doran_the_siege_tower.txt b/res/cardsfolder/d/doran_the_siege_tower.txt index a382c282017..fbdab8cf94f 100644 --- a/res/cardsfolder/d/doran_the_siege_tower.txt +++ b/res/cardsfolder/d/doran_the_siege_tower.txt @@ -1,8 +1,9 @@ Name:Doran, the Siege Tower ManaCost:B G W Types:Legendary Creature Treefolk Shaman -Text:Each creature assigns combat damage equal to its toughness rather than its power. +Text:no text PT:0/5 +S:Mode$ Continuous | GlobalRule$ Each creature assigns combat damage equal to its toughness rather than its power. | Description$ Each creature assigns combat damage equal to its toughness rather than its power. SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/doran_the_siege_tower.jpg SetInfo:LRW|Rare|http://magiccards.info/scans/en/lw/247.jpg diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 3f1e0b8fcf6..9e56cfca700 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -4613,7 +4613,7 @@ public class Card extends GameEntity implements Comparable { return 0; } - if (Singletons.getModel().getGame().isCardInPlay("Doran, the Siege Tower")) { + if (Singletons.getModel().getGame().getStaticEffects().getGlobalRuleChange(GlobalRuleChange.toughnessAssignsDamage)) { return this.getNetDefense(); } return this.getNetAttack(); diff --git a/src/main/java/forge/game/GlobalRuleChange.java b/src/main/java/forge/game/GlobalRuleChange.java index 7caec5a12df..1720d2330be 100644 --- a/src/main/java/forge/game/GlobalRuleChange.java +++ b/src/main/java/forge/game/GlobalRuleChange.java @@ -30,7 +30,8 @@ public enum GlobalRuleChange { noPrevention ("Damage can't be prevented."), onlyOneAttackerATurn ("No more than one creature can attack each turn."), onlyOneAttackerACombat ("No more than one creature can attack each combat."), - onlyOneBlocker ("No more than one creature can block each combat."); + onlyOneBlocker ("No more than one creature can block each combat."), + toughnessAssignsDamage ("Each creature assigns combat damage equal to its toughness rather than its power."); private final String ruleText; diff --git a/src/main/java/forge/game/phase/CombatUtil.java b/src/main/java/forge/game/phase/CombatUtil.java index ea83f62a28b..45053cf2f09 100644 --- a/src/main/java/forge/game/phase/CombatUtil.java +++ b/src/main/java/forge/game/phase/CombatUtil.java @@ -1347,7 +1347,7 @@ public class CombatUtil { } int defenderDamage = defender.getNetAttack() + CombatUtil.predictPowerBonusOfBlocker(attacker, defender, true); - if (Singletons.getModel().getGame().isCardInPlay("Doran, the Siege Tower")) { + if (Singletons.getModel().getGame().getStaticEffects().getGlobalRuleChange(GlobalRuleChange.toughnessAssignsDamage)) { defenderDamage = defender.getNetDefense() + CombatUtil.predictToughnessBonusOfBlocker(attacker, defender, true); } @@ -2258,7 +2258,7 @@ public class CombatUtil { + CombatUtil.predictPowerBonusOfBlocker(attacker, defender, withoutAbilities); int attackerDamage = attacker.getNetAttack() + CombatUtil.predictPowerBonusOfAttacker(attacker, defender, combat); - if (Singletons.getModel().getGame().isCardInPlay("Doran, the Siege Tower")) { + if (Singletons.getModel().getGame().getStaticEffects().getGlobalRuleChange(GlobalRuleChange.toughnessAssignsDamage)) { defenderDamage = defender.getNetDefense() + CombatUtil.predictToughnessBonusOfBlocker(attacker, defender, withoutAbilities); attackerDamage = attacker.getNetDefense() @@ -2406,7 +2406,7 @@ public class CombatUtil { + CombatUtil.predictPowerBonusOfBlocker(attacker, defender, withoutAbilities); int attackerDamage = attacker.getNetAttack() + CombatUtil.predictPowerBonusOfAttacker(attacker, defender, combat); - if (Singletons.getModel().getGame().isCardInPlay("Doran, the Siege Tower")) { + if (Singletons.getModel().getGame().getStaticEffects().getGlobalRuleChange(GlobalRuleChange.toughnessAssignsDamage)) { defenderDamage = defender.getNetDefense() + CombatUtil.predictToughnessBonusOfBlocker(attacker, defender, withoutAbilities); attackerDamage = attacker.getNetDefense()