diff --git a/Mage.Sets/src/mage/sets/magic2010/Fireball.java b/Mage.Sets/src/mage/sets/magic2010/Fireball.java index 463031b058a..a4f2d5afdd6 100644 --- a/Mage.Sets/src/mage/sets/magic2010/Fireball.java +++ b/Mage.Sets/src/mage/sets/magic2010/Fireball.java @@ -86,12 +86,12 @@ class FireballEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - int numTargets = source.getTargets().get(0).getTargets().size(); + int numTargets = targetPointer.getTargets(source).size(); int damage = source.getManaCostsToPay().getX(); if (numTargets > 0) { int damagePer = damage/numTargets; if (damagePer > 0) { - for (UUID targetId: source.getTargets().get(0).getTargets()) { + for (UUID targetId: targetPointer.getTargets(source)) { Permanent permanent = game.getPermanent(targetId); if (permanent != null) { permanent.damage(damagePer, source.getSourceId(), game, true, false); diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/MorbidPlunder.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/MorbidPlunder.java index c2b0bb9aa21..62bd4bb74d1 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/MorbidPlunder.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/MorbidPlunder.java @@ -88,13 +88,10 @@ class MorbidPlunderEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { boolean result = false; - List targets = source.getTargets().get(0).getTargets(); - if (targets.size() > 0) { - for (UUID target : targets) { - Card card = game.getCard(target); - if (card != null) { - result |= card.moveToZone(Zone.HAND, source.getId(), game, true); - } + for (UUID target : targetPointer.getTargets(source)) { + Card card = game.getCard(target); + if (card != null) { + result |= card.moveToZone(Zone.HAND, source.getId(), game, true); } } return result; diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/ArcTrail.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/ArcTrail.java index 5235e7d32b4..f73208cddb5 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/ArcTrail.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/ArcTrail.java @@ -95,7 +95,7 @@ class ArcTrailEffect extends OneShotEffect { boolean twoDamageDone = false; int damage = 2; - for ( UUID target : source.getTargets().get(0).getTargets() ) { + for ( UUID target : targetPointer.getTargets(source) ) { Permanent permanent = game.getPermanent(target); if ( twoDamageDone ) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/FulgentDistraction.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/FulgentDistraction.java index 5e1e69d465a..d686dfe87c1 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/FulgentDistraction.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/FulgentDistraction.java @@ -83,7 +83,7 @@ class FulgentDistractionEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - for ( UUID target : source.getTargets().get(0).getTargets() ) { + for ( UUID target : targetPointer.getTargets(source) ) { Permanent creature = game.getPermanent(target); List copiedAttachments = new ArrayList(creature.getAttachments()); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/LiegeOfTheTangle.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/LiegeOfTheTangle.java index 6d249537301..26c17ac9249 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/LiegeOfTheTangle.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/LiegeOfTheTangle.java @@ -174,7 +174,7 @@ class LiegeOfTheTangleEffect extends ContinuousEffectImpl { @Override public boolean apply(Game game, Ability source) { - Target multiTarget = source.getTargets().get(0); - for (UUID target: multiTarget.getTargets()) { - Permanent permanent = game.getPermanent(target); - if (permanent != null) { - permanent.damage(multiTarget.getTargetAmount(target), source.getId(), game, true, false); - } - else { - Player player = game.getPlayer(target); - if (player != null) { - player.damage(multiTarget.getTargetAmount(target), source.getId(), game, false, true); - } - } - } + if (source.getTargets().size() > 0) { + Target multiTarget = source.getTargets().get(0); + for (UUID target: multiTarget.getTargets()) { + Permanent permanent = game.getPermanent(target); + if (permanent != null) { + permanent.damage(multiTarget.getTargetAmount(target), source.getId(), game, true, false); + } + else { + Player player = game.getPlayer(target); + if (player != null) { + player.damage(multiTarget.getTargetAmount(target), source.getId(), game, false, true); + } + } + } + } return true; } diff --git a/Mage/src/mage/abilities/effects/common/GainLifeTargetEffect.java b/Mage/src/mage/abilities/effects/common/GainLifeTargetEffect.java index 1198b224e6e..9fd754b13af 100644 --- a/Mage/src/mage/abilities/effects/common/GainLifeTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/GainLifeTargetEffect.java @@ -61,7 +61,7 @@ public class GainLifeTargetEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - for (UUID playerId: source.getTargets().get(0).getTargets()) { + for (UUID playerId: targetPointer.getTargets(source)) { Player player = game.getPlayer(playerId); if (player != null) { player.gainLife(life, game); diff --git a/Mage/src/mage/abilities/effects/common/SacrificeTargetEffect.java b/Mage/src/mage/abilities/effects/common/SacrificeTargetEffect.java index 7f38e862e2c..c2562546cfc 100644 --- a/Mage/src/mage/abilities/effects/common/SacrificeTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/SacrificeTargetEffect.java @@ -59,7 +59,7 @@ public class SacrificeTargetEffect extends OneShotEffect @Override public boolean apply(Game game, Ability source) { int affectedTargets = 0; - for (UUID permanentId : source.getTargets().get(0).getTargets()) { + for (UUID permanentId : targetPointer.getTargets(source)) { Permanent permanent = game.getPermanent(permanentId); if (permanent != null) { permanent.sacrifice(source.getSourceId(), game); diff --git a/Mage/src/mage/abilities/effects/common/SkipNextUntapTargetEffect.java b/Mage/src/mage/abilities/effects/common/SkipNextUntapTargetEffect.java index b915122ce13..ce9b4b953f9 100644 --- a/Mage/src/mage/abilities/effects/common/SkipNextUntapTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/SkipNextUntapTargetEffect.java @@ -74,7 +74,7 @@ public class SkipNextUntapTargetEffect extends ReplacementEffectImpl { @Override public boolean apply(Game game, Ability source) { - for (UUID target: source.getTargets().get(0).getTargets()) { + for (UUID target: targetPointer.getTargets(source)) { Permanent permanent = game.getPermanent(target); if (permanent != null) { permanent.tap(game); diff --git a/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java b/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java index 79bfcac543c..8f4d0354dd2 100644 --- a/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java @@ -74,7 +74,7 @@ public class BoostTargetEffect extends ContinuousEffectImpl { @Override public boolean apply(Game game, Ability source) { int affectedTargets = 0; - for (UUID permanentId : source.getTargets().get(0).getTargets()) { + for (UUID permanentId : targetPointer.getTargets(source)) { Permanent target = (Permanent) game.getPermanent(permanentId); if (target != null) { target.addPower(power.calculate(game, source)); diff --git a/Mage/src/mage/abilities/effects/common/continious/GainAbilityTargetEffect.java b/Mage/src/mage/abilities/effects/common/continious/GainAbilityTargetEffect.java index cf949da2a9a..9ab1f65ad7d 100644 --- a/Mage/src/mage/abilities/effects/common/continious/GainAbilityTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/GainAbilityTargetEffect.java @@ -67,7 +67,7 @@ public class GainAbilityTargetEffect extends ContinuousEffectImpl { @Override public boolean apply(Game game, Ability source) { int affectedTargets = 0; - for (UUID permanentId : source.getTargets().get(0).getTargets()) { + for (UUID permanentId : targetPointer.getTargets(source)) { Permanent permanent = game.getPermanent(permanentId); if (permanent != null) { permanent.addAbility(ability); diff --git a/Mage/src/mage/abilities/effects/common/continious/LoseAllAbilitiesTargetEffect.java b/Mage/src/mage/abilities/effects/common/continious/LoseAllAbilitiesTargetEffect.java index 78860298cc0..e496e5fdcbc 100644 --- a/Mage/src/mage/abilities/effects/common/continious/LoseAllAbilitiesTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/LoseAllAbilitiesTargetEffect.java @@ -62,7 +62,7 @@ public class LoseAllAbilitiesTargetEffect extends ContinuousEffectImpl { @Override public boolean apply(Game game, Ability source) { int affectedTargets = 0; - for (UUID permanentId : source.getTargets().get(0).getTargets()) { + for (UUID permanentId : targetPointer.getTargets(source)) { Permanent permanent = game.getPermanent(permanentId); if (permanent != null) { permanent.getAbilities().clear(); diff --git a/Mage/src/mage/target/targetpointer/FirstTargetPointer.java b/Mage/src/mage/target/targetpointer/FirstTargetPointer.java index 4a3879bad69..cfdd902088f 100644 --- a/Mage/src/mage/target/targetpointer/FirstTargetPointer.java +++ b/Mage/src/mage/target/targetpointer/FirstTargetPointer.java @@ -16,7 +16,8 @@ public class FirstTargetPointer implements TargetPointer { @Override public List getTargets(Ability source) { ArrayList target = new ArrayList(); - target.addAll(source.getTargets().get(0).getTargets()); + if (source.getTargets().size() > 0) + target.addAll(source.getTargets().get(0).getTargets()); return target; }