diff --git a/Mage.Sets/src/mage/sets/zendikar/BloodSeeker.java b/Mage.Sets/src/mage/sets/zendikar/BloodSeeker.java index 65a09c846ef..628fe3f630e 100644 --- a/Mage.Sets/src/mage/sets/zendikar/BloodSeeker.java +++ b/Mage.Sets/src/mage/sets/zendikar/BloodSeeker.java @@ -34,6 +34,7 @@ import mage.MageInt; import mage.abilities.common.CreatureEntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; +import mage.target.TargetPlayer; /** * @@ -51,7 +52,7 @@ public class BloodSeeker extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - this.addAbility(new CreatureEntersBattlefieldTriggeredAbility(new LoseLifeTargetEffect(1), true, true)); + this.addAbility(new CreatureEntersBattlefieldTriggeredAbility(new LoseLifeTargetEffect(1), true, true, new TargetPlayer())); } public BloodSeeker(final BloodSeeker card) { diff --git a/Mage/src/mage/abilities/common/CreatureEntersBattlefieldTriggeredAbility.java b/Mage/src/mage/abilities/common/CreatureEntersBattlefieldTriggeredAbility.java index b68fb76033d..f6192fe1b99 100644 --- a/Mage/src/mage/abilities/common/CreatureEntersBattlefieldTriggeredAbility.java +++ b/Mage/src/mage/abilities/common/CreatureEntersBattlefieldTriggeredAbility.java @@ -36,7 +36,9 @@ import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; import mage.game.events.ZoneChangeEvent; import mage.game.permanent.Permanent; +import mage.target.Target; import mage.target.TargetPlayer; +import mage.target.common.TargetCreaturePermanent; /** * @@ -76,7 +78,19 @@ public class CreatureEntersBattlefieldTriggeredAbility extends TriggeredAbilityI public CreatureEntersBattlefieldTriggeredAbility(Effect effect, boolean optional, boolean opponentController) { super(Zone.BATTLEFIELD, effect, optional); this.opponentController = opponentController; - this.addTarget(new TargetPlayer()); + } + + /** + * + * @param effect + * @param optional + * @param opponentController + * @param target - needed if the ability targets a player or a creature + */ + public CreatureEntersBattlefieldTriggeredAbility(Effect effect, boolean optional, boolean opponentController, Target target) { + super(Zone.BATTLEFIELD, effect, optional); + this.opponentController = opponentController; + this.addTarget(target); } public CreatureEntersBattlefieldTriggeredAbility(CreatureEntersBattlefieldTriggeredAbility ability) { @@ -90,10 +104,14 @@ public class CreatureEntersBattlefieldTriggeredAbility extends TriggeredAbilityI if (((ZoneChangeEvent) event).getToZone() == Zone.BATTLEFIELD && permanent.getCardType().contains(CardType.CREATURE) && (permanent.getControllerId().equals(this.controllerId) ^ opponentController)) { - if (opponentController) { - this.getTargets().get(0).add(permanent.getControllerId(), game); - } else { - this.getTargets().remove(0); + if (!this.getTargets().isEmpty()) { + Target target = this.getTargets().get(0); + if (target instanceof TargetPlayer) { + target.add(permanent.getControllerId(), game); + } + if (target instanceof TargetCreaturePermanent) { + target.add(event.getTargetId(), game); + } } return true; }