diff --git a/res/cardsfolder/b/briar_patch.txt b/res/cardsfolder/b/briar_patch.txt index ce9d0de3198..2fa5e3a2347 100644 --- a/res/cardsfolder/b/briar_patch.txt +++ b/res/cardsfolder/b/briar_patch.txt @@ -2,7 +2,7 @@ Name:Briar Patch ManaCost:1 G G Types:Enchantment Text:no text -T:Mode$ Attacks | ValidCard$ Creature.YouDontCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature attacks you, it gets -1/-0 until end of turn. +T:Mode$ Attacks | ValidCard$ Creature.YouDontCtrl | Attacked$ Player | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature attacks you, it gets -1/-0 until end of turn. SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ TriggeredAttacker | NumAtt$ -1 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/briar_patch.jpg diff --git a/res/cardsfolder/h/hissing_miasma.txt b/res/cardsfolder/h/hissing_miasma.txt index ff6ffca5bbe..ef69ac442ec 100644 --- a/res/cardsfolder/h/hissing_miasma.txt +++ b/res/cardsfolder/h/hissing_miasma.txt @@ -2,7 +2,7 @@ Name:Hissing Miasma ManaCost:1 B B Types:Enchantment Text:no text -T:Mode$ Attacks | ValidCard$ Creature.YouDontCtrl | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever a creature attacks you, its controller loses 1 life. +T:Mode$ Attacks | ValidCard$ Creature.YouDontCtrl | Attacked$ Player | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever a creature attacks you, its controller loses 1 life. SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ 1 | SpellDescription$ Whenever a creature attacks you, its controller loses 1 life. SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/hissing_miasma.jpg diff --git a/res/cardsfolder/r/raking_canopy.txt b/res/cardsfolder/r/raking_canopy.txt index c3c8ba55d97..2a0a34f074e 100644 --- a/res/cardsfolder/r/raking_canopy.txt +++ b/res/cardsfolder/r/raking_canopy.txt @@ -2,7 +2,7 @@ Name:Raking Canopy ManaCost:1 G G Types:Enchantment Text:no text -T:Mode$ Attacks | ValidCard$ Creature.YouDontCtrl+withFlying | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever a creature with flying attacks you, CARDNAME deals 4 damage to it. +T:Mode$ Attacks | ValidCard$ Creature.YouDontCtrl+withFlying | Attacked$ Player | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever a creature with flying attacks you, CARDNAME deals 4 damage to it. SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredAttacker | NumDmg$ 4 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/raking_canopy.jpg diff --git a/src/main/java/forge/CombatUtil.java b/src/main/java/forge/CombatUtil.java index e3ca9a1bada..4e1ca346fdf 100644 --- a/src/main/java/forge/CombatUtil.java +++ b/src/main/java/forge/CombatUtil.java @@ -2096,6 +2096,7 @@ public class CombatUtil { CardList otherAttackers = new CardList(AllZone.getCombat().getAttackers()); otherAttackers.remove(c); runParams.put("OtherAttackers", otherAttackers); + runParams.put("Attacked", AllZone.getCombat().getDefenderByAttacker(c)); AllZone.getTriggerHandler().runTrigger("Attacks", runParams); // Annihilator: diff --git a/src/main/java/forge/card/trigger/Trigger_Attacks.java b/src/main/java/forge/card/trigger/Trigger_Attacks.java index 2f4964b79b1..c9943e457c6 100644 --- a/src/main/java/forge/card/trigger/Trigger_Attacks.java +++ b/src/main/java/forge/card/trigger/Trigger_Attacks.java @@ -3,8 +3,11 @@ package forge.card.trigger; import java.util.HashMap; import java.util.Map; +import org.apache.commons.lang3.StringUtils; + import forge.Card; import forge.CardList; +import forge.Player; import forge.card.spellability.SpellAbility; /** @@ -41,6 +44,12 @@ public class Trigger_Attacks extends Trigger { return false; } } + + if (mapParams.containsKey("Attacked")) { + if (mapParams.get("Attacked").equals("Player") && StringUtils.isNumeric(runParams2.get("Attacked").toString()) + && Integer.parseInt(runParams2.get("Attacked").toString()) > 0) + return false; + } if (mapParams.containsKey("Alone")) { CardList otherAttackers = (CardList) runParams2.get("OtherAttackers");