diff --git a/res/cardsfolder/r/razormane_masticore.txt b/res/cardsfolder/r/razormane_masticore.txt index d0095e4552a..96cb57a1d49 100644 --- a/res/cardsfolder/r/razormane_masticore.txt +++ b/res/cardsfolder/r/razormane_masticore.txt @@ -10,7 +10,7 @@ SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ E SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount T:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | OptionalDecider$ You | Execute$ TrigDealDamage | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your draw step, you may have CARDNAME deal 3 damage to target creature. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtC | NumDmg$ 3 +SVar:TrigDealDamage:AB$ DealDamage | Cost$ 0 | Tgt$ TgtC | NumDmg$ 3 SVar:RemAIDeck:True SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/razormane_masticore.jpg diff --git a/src/main/java/forge/card/spellability/TargetChoices.java b/src/main/java/forge/card/spellability/TargetChoices.java index 4099b8804ba..07432ea837b 100644 --- a/src/main/java/forge/card/spellability/TargetChoices.java +++ b/src/main/java/forge/card/spellability/TargetChoices.java @@ -124,6 +124,17 @@ public class TargetChoices { return false; } + /** + *

+ * clear. + *

+ */ + public final void clear() { + this.targetPlayers.clear(); + this.targetCards.clear(); + this.targetSAs.clear(); + } + /** *

* removeTarget. diff --git a/src/main/java/forge/card/trigger/TriggerHandler.java b/src/main/java/forge/card/trigger/TriggerHandler.java index 0ff99d4b3a9..cff2a1696ec 100644 --- a/src/main/java/forge/card/trigger/TriggerHandler.java +++ b/src/main/java/forge/card/trigger/TriggerHandler.java @@ -978,10 +978,21 @@ public class TriggerHandler { } } } else { + ArrayList tgts = null; + // make sure the targets won't change + if (sa[0].getTarget() != null) { + tgts = new ArrayList(sa[0].getTarget().getTargetChoices().getTargets()); + } // This isn't quite right, but better than canPlayAI if (!sa[0].doTrigger(isMandatory)) { return; } + if (sa[0].getTarget() != null) { + for (Object tgt : tgts) { + sa[0].getTarget().getTargetChoices().clear(); + sa[0].getTarget().getTargetChoices().addTarget(tgt); + } + } } }