diff --git a/res/cardsfolder/d/downhill_charge.txt b/res/cardsfolder/d/downhill_charge.txt index 48ddfb6bf16..c45d452dd27 100644 --- a/res/cardsfolder/d/downhill_charge.txt +++ b/res/cardsfolder/d/downhill_charge.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Instant Text:no text A:SP$ Pump | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn, where X is the number of Mountains you control. -A:SP$ Pump | Cost$ Sac<1/Mountain> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ You may sacrifice a Mountain rather than pay CARDNAME's mana cost. +SVar:AltCost:Cost$ Sac<1/Mountain> | Description$ You may sacrifice a Mountain rather than pay CARDNAME's mana cost. SVar:X:Count$TypeYouCtrl.Mountain SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/downhill_charge.jpg diff --git a/res/cardsfolder/k/keeper_of_the_mind.txt b/res/cardsfolder/k/keeper_of_the_mind.txt index 9975273e200..47269c43f7f 100644 --- a/res/cardsfolder/k/keeper_of_the_mind.txt +++ b/res/cardsfolder/k/keeper_of_the_mind.txt @@ -3,8 +3,7 @@ ManaCost:U U Types:Creature Human Wizard Text:no text PT:1/2 -A:AB$ Pump | Cost$ U T | ValidTgts$ Opponent | TgtPrompt$ Choose target opponent with at least two more cards in hand than you | CheckSVar$ X | SVarCompare$ GEY | SubAbility$ MindKeepersDraw | StackDescription$ None | SpellDescription$ Choose target opponent who had at least two more cards in hand than you did as you activated this ability. Draw a card. -SVar:MindKeepersDraw:DB$ Draw | Defined$ You | NumCards$ 1 +A:AB$ Draw | Cost$ U T | ValidTgts$ Opponent | TgtPrompt$ Choose target opponent with at least two more cards in hand than you | CheckSVar$ X | SVarCompare$ GEY | Defined$ You | NumCards$ 1 | SpellDescription$ Choose target opponent who had at least two more cards in hand than you did as you activated this ability. Draw a card. SVar:X:Count$InOppHandCount SVar:Y:Count$InYourHand/Plus.2 SVar:Rarity:Uncommon diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java index eea461bc3ee..c6108841c42 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java @@ -36,6 +36,7 @@ import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.game.phase.CombatUtil; +import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.player.ComputerUtil; import forge.game.player.Player; @@ -285,22 +286,26 @@ public class AbilityFactoryPreventDamage { } } } else { - if (Singletons.getModel().getGameState().getPhaseHandler().is(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY)) { + PhaseHandler handler = Singletons.getModel().getGameState().getPhaseHandler(); + if (handler.is(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY)) { boolean flag = false; for (final Object o : objects) { if (o instanceof Card) { final Card c = (Card) o; flag |= CombatUtil.combatantWouldBeDestroyed(c); } else if (o instanceof Player) { + // Don't need to worry about Combat Damage during AI's turn final Player p = (Player) o; - flag |= (p.isComputer() && ((CombatUtil.wouldLoseLife(AllZone.getCombat()) && sa - .isAbility()) || CombatUtil.lifeInDanger(AllZone.getCombat()))); + if (!handler.isPlayerTurn(p)) { + flag |= (p.isComputer() && ((CombatUtil.wouldLoseLife(AllZone.getCombat()) && sa + .isAbility()) || CombatUtil.lifeInDanger(AllZone.getCombat()))); + } } } chance = flag; } else { // if nothing on the stack, and it's not declare - // blockers. no need to regen + // blockers. no need to prevent return false; } }