From 10a043f19bb87843da446b04a751602d2521c315 Mon Sep 17 00:00:00 2001 From: Jeff Date: Wed, 19 Apr 2017 11:02:27 -0500 Subject: [PATCH] - Fixed Soul-Scar Mage. Bug #3163 --- Mage.Sets/src/mage/cards/s/SoulScarMage.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/cards/s/SoulScarMage.java b/Mage.Sets/src/mage/cards/s/SoulScarMage.java index 4f12aa3ba96..10001505feb 100644 --- a/Mage.Sets/src/mage/cards/s/SoulScarMage.java +++ b/Mage.Sets/src/mage/cards/s/SoulScarMage.java @@ -56,7 +56,7 @@ public class SoulScarMage extends CardImpl { public SoulScarMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}"); - + this.subtype.add("Human"); this.subtype.add("Wizard"); this.power = new MageInt(1); @@ -114,8 +114,14 @@ class SoulScarMageDamageReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - boolean weControlSource = game.getControllerId(event.getSourceId()).equals(source.getControllerId()); - boolean isNoncombatDamage = !((DamageCreatureEvent)event).isCombatDamage(); - return weControlSource && isNoncombatDamage; + UUID sourceControllerId = game.getControllerId(event.getSourceId()); + UUID targetControllerId = game.getControllerId(event.getTargetId()); + UUID controllerId = source.getControllerId(); + boolean weControlSource = controllerId == sourceControllerId; + boolean opponentControlsTarget = game.getOpponents(sourceControllerId).contains(targetControllerId); + boolean isNoncombatDamage = !((DamageCreatureEvent) event).isCombatDamage(); + return weControlSource + && isNoncombatDamage + && opponentControlsTarget; } }