diff --git a/res/cardsfolder/h/hysterical_blindness.txt b/res/cardsfolder/h/hysterical_blindness.txt index ce4e2a918b5..412f3f07ad5 100644 --- a/res/cardsfolder/h/hysterical_blindness.txt +++ b/res/cardsfolder/h/hysterical_blindness.txt @@ -1,10 +1,10 @@ -Name:Hysterical Blindness -ManaCost:2 U -Types:Instant -Text:no text -A:SP$ PumpAll | Cost$ 2 U | ValidCards$ Creature.YouDontCtrl | NumAtt$ -4 | NumDef$ 0 | IsCurse$ True |SpellDescription$ Creatures your opponents control get -4/-0 until end of turn. -SVar:Rarity:Common -SVar:Picture:http://www.wizards.com/global/images/magic/general/hysterical_blindness.jpg -SetInfo:ISD|Common|http://magiccards.info/scans/en/isd/59.jpg -Oracle:Creatures your opponents control get -4/-0 until end of turn. +Name:Hysterical Blindness +ManaCost:2 U +Types:Instant +Text:no text +A:SP$ PumpAll | Cost$ 2 U | ValidCards$ Creature.YouDontCtrl | NumAtt$ -4 | NumDef$ 0 | IsCurse$ True | SpellDescription$ Creatures your opponents control get -4/-0 until end of turn. +SVar:Rarity:Common +SVar:Picture:http://www.wizards.com/global/images/magic/general/hysterical_blindness.jpg +SetInfo:ISD|Common|http://magiccards.info/scans/en/isd/59.jpg +Oracle:Creatures your opponents control get -4/-0 until end of turn. End \ No newline at end of file diff --git a/res/cardsfolder/l/lethargy_trap.txt b/res/cardsfolder/l/lethargy_trap.txt index fdda8034737..629f43babb7 100644 --- a/res/cardsfolder/l/lethargy_trap.txt +++ b/res/cardsfolder/l/lethargy_trap.txt @@ -2,8 +2,8 @@ Name:Lethargy Trap ManaCost:3 U Types:Instant Trap Text:no text -A:SP$ PumpAll | Cost$ 3 U | ValidCards$ Creature.attacking | NumAtt$ -3 | IsPresent$ Creature.attacking | PresentCompare$ LE2 | SpellDescription$ If three or more creatures are attacking, you may pay U rather than pay CARDNAME mana cost. -A:SP$ PumpAll | Cost$ U | ValidCards$ Creature.attacking | NumAtt$ -3 | IsPresent$ Creature.attacking | PresentCompare$ GE3 | SpellDescription$ Attacking creatures get -3/-0 until end of turn. +A:SP$ PumpAll | Cost$ 3 U | ValidCards$ Creature.attacking | NumAtt$ -3 | IsCurse$ True | SpellDescription$ Attacking creatures get -3/-0 until end of turn. +A:SP$ PumpAll | Cost$ U | ValidCards$ Creature.attacking | NumAtt$ -3 | IsCurse$ True | IsPresent$ Creature.attacking | PresentCompare$ GE3 | NonBasicSpell$ True | SpellDescription$ If three or more creatures are attacking, you may pay U rather than pay CARDNAME mana cost. SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/lethargy_trap.jpg SetInfo:ZEN|Common|http://magiccards.info/scans/en/zen/51.jpg diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java index 8727c633919..6edf073339a 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java @@ -772,7 +772,6 @@ public class AbilityFactoryPump { list = new ArrayList(); } } - Singletons.getModel().getGameState().getPhaseHandler().getPhase().isBefore(PhaseType.COMBAT_BEGIN); } // -X/0 end else if (!list.isEmpty()) { final ArrayList keywords = this.keywords; @@ -1758,6 +1757,32 @@ public class AbilityFactoryPump { } }); // leaves all creatures that will be destroyed } // -X/-X end + else if (power < 0) { // -X/-0 + if (phase.isAfter(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY) + || phase.isBefore(PhaseType.COMBAT_DECLARE_ATTACKERS_INSTANT_ABILITY) + || Singletons.getModel().getGameState().getPhaseHandler().isPlayerTurn(sa.getActivatingPlayer()) + || Singletons.getModel().getGameState().getPhaseHandler().isPreventCombatDamageThisTurn()) { + return false; + } + int totalPower = 0; + for (Card c : human) { + if (!c.isAttacking()) { + continue; + } + totalPower += Math.min(c.getNetAttack(), power * -1); + if (phase == PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY + && AllZone.getCombat().getUnblockedAttackers().contains(c)) { + if (CombatUtil.lifeInDanger(sa.getActivatingPlayer(), AllZone.getCombat())) { + return true; + } + totalPower += Math.min(c.getNetAttack(), power * -1); + } + if (totalPower >= power * -2) { + return true; + } + } + return false; + } // -X/-0 end // evaluate both lists and pass only if human creatures are more // valuable