Rename DamagedPlayerControlsTargetAdjuster to ThatPlayerControlsTargetAdjuster

This commit is contained in:
Steven Knipe 2025-06-03 20:09:21 -07:00
parent d4f1d42c3e
commit bccbb2ee8e
40 changed files with 84 additions and 87 deletions

View file

@ -12,7 +12,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterArtifactOrEnchantmentPermanent; import mage.filter.common.FilterArtifactOrEnchantmentPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -42,7 +42,7 @@ public final class Aberrant extends CardImpl {
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true);
ability.withFlavorWord("Heavy Power Hammer"); ability.withFlavorWord("Heavy Power Hammer");
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -14,7 +14,7 @@ import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.game.permanent.token.FaerieRogueToken; import mage.game.permanent.token.FaerieRogueToken;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -48,7 +48,7 @@ public final class AlelaCunningConqueror extends CardImpl {
Effect effect = new GoadTargetEffect().setText("goad target creature that player controls"); Effect effect = new GoadTargetEffect().setText("goad target creature that player controls");
Ability ability = new OneOrMoreCombatDamagePlayerTriggeredAbility(Zone.BATTLEFIELD, effect, faerieFilter, SetTargetPointer.PLAYER, false); Ability ability = new OneOrMoreCombatDamagePlayerTriggeredAbility(Zone.BATTLEFIELD, effect, faerieFilter, SetTargetPointer.PLAYER, false);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -12,7 +12,7 @@ import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -30,7 +30,7 @@ public final class ArmWithAether extends CardImpl {
// Until end of turn, creatures you control gain "Whenever this creature deals damage to an opponent, you may return target creature that player controls to its owner's hand." // Until end of turn, creatures you control gain "Whenever this creature deals damage to an opponent, you may return target creature that player controls to its owner's hand."
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnToHandTargetEffect(), false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnToHandTargetEffect(), false, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
Effect effect = new GainAbilityControlledEffect(ability, Duration.EndOfTurn, new FilterCreaturePermanent()); Effect effect = new GainAbilityControlledEffect(ability, Duration.EndOfTurn, new FilterCreaturePermanent());
effect.setText("Until end of turn, creatures you control gain \"Whenever this creature deals damage to an opponent, you may return target creature that player controls to its owner's hand.\""); effect.setText("Until end of turn, creatures you control gain \"Whenever this creature deals damage to an opponent, you may return target creature that player controls to its owner's hand.\"");

View file

@ -11,7 +11,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.constants.SuperType; import mage.constants.SuperType;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -32,7 +32,7 @@ public final class AshlingTheExtinguisher extends CardImpl {
Effect effect = new SacrificeTargetEffect().setText("choose target creature that player controls. The player sacrifices that creature"); Effect effect = new SacrificeTargetEffect().setText("choose target creature that player controls. The player sacrifices that creature");
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true);
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -14,7 +14,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -39,7 +39,7 @@ public final class BlindZealot extends CardImpl {
OneShotEffect effect = new DoIfCostPaid(new DestroyTargetEffect(), new SacrificeSourceCost()); OneShotEffect effect = new DoIfCostPaid(new DestroyTargetEffect(), new SacrificeSourceCost());
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -12,7 +12,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterArtifactPermanent; import mage.filter.common.FilterArtifactPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -37,7 +37,7 @@ public final class CausticWasps extends CardImpl {
// Whenever Caustic Wasps deals combat damage to a player, you may destroy target artifact that player controls. // Whenever Caustic Wasps deals combat damage to a player, you may destroy target artifact that player controls.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), true, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -12,7 +12,7 @@ import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -29,7 +29,7 @@ public final class CommandoRaid extends CardImpl {
effect.setText("have it deal damage equal to its power to target creature that player controls."); effect.setText("have it deal damage equal to its power to target creature that player controls.");
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, true, true);
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.getSpellAbility().addEffect(new GainAbilityTargetEffect( this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
ability, Duration.EndOfTurn, ability, Duration.EndOfTurn,

View file

@ -13,7 +13,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterEnchantmentPermanent; import mage.filter.common.FilterEnchantmentPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -36,7 +36,7 @@ public final class DawningPurist extends CardImpl {
// Whenever Dawning Purist deals combat damage to a player, you may destroy target enchantment that player controls. // Whenever Dawning Purist deals combat damage to a player, you may destroy target enchantment that player controls.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), true, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
// Morph {1}{W} // Morph {1}{W}

View file

@ -20,7 +20,7 @@ import mage.filter.common.FilterCreaturePermanent;
import mage.filter.common.FilterInstantOrSorceryCard; import mage.filter.common.FilterInstantOrSorceryCard;
import mage.filter.predicate.Predicates; import mage.filter.predicate.Predicates;
import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCardInGraveyard;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -54,7 +54,7 @@ public final class DeluxeDragster extends CardImpl {
+ ThatSpellGraveyardExileReplacementEffect.RULE_A); + ThatSpellGraveyardExileReplacementEffect.RULE_A);
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true);
ability.addTarget(new TargetCardInGraveyard(filterCard)); ability.addTarget(new TargetCardInGraveyard(filterCard));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster(true)); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster(true));
this.addAbility(ability); this.addAbility(ability);
// Crew 2 // Crew 2

View file

@ -15,7 +15,7 @@ import mage.constants.CardType;
import mage.filter.common.FilterArtifactPermanent; import mage.filter.common.FilterArtifactPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetAttackingCreature; import mage.target.common.TargetAttackingCreature;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -41,7 +41,7 @@ public final class DreadmawsIre extends CardImpl {
effect.setText("have it deal damage equal to its power to target creature that player controls."); effect.setText("have it deal damage equal to its power to target creature that player controls.");
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(ability) this.getSpellAbility().addEffect(new GainAbilityTargetEffect(ability)
.setText("and \"Whenever this creature deals combat damage to a player, destroy target artifact that player controls.\"")); .setText("and \"Whenever this creature deals combat damage to a player, destroy target artifact that player controls.\""));

View file

@ -18,7 +18,7 @@ import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -44,7 +44,7 @@ public final class EtrataTheSilencer extends CardImpl {
// Whenever Etrata deals combat damage to a player, exile target creature that player controls and put a hit counter on that card. That player loses the game if they own three or more exiled card with hit counters on them. Etrata's owner shuffles Etrata into their library. // Whenever Etrata deals combat damage to a player, exile target creature that player controls and put a hit counter on that card. That player loses the game if they own three or more exiled card with hit counters on them. Etrata's owner shuffles Etrata into their library.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new EtrataTheSilencerEffect(), false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new EtrataTheSilencerEffect(), false, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -16,7 +16,7 @@ import mage.constants.Outcome;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.FilterPermanent; import mage.filter.FilterPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -38,7 +38,7 @@ public final class HammerOfRuin extends CardImpl {
// Whenever equipped creature deals combat damage to a player, you may destroy target Equipment that player controls. // Whenever equipped creature deals combat damage to a player, you may destroy target Equipment that player controls.
Ability ability = new DealsDamageToAPlayerAttachedTriggeredAbility(new DestroyTargetEffect(), "equipped creature", true, true); Ability ability = new DealsDamageToAPlayerAttachedTriggeredAbility(new DestroyTargetEffect(), "equipped creature", true, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
// Equip {2} // Equip {2}

View file

@ -13,10 +13,9 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.constants.SuperType; import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterCreatureCard; import mage.filter.common.FilterCreatureCard;
import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCardInGraveyard;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -43,7 +42,7 @@ public final class InkEyesServantOfOni extends CardImpl {
// Whenever Ink-Eyes, Servant of Oni deals combat damage to a player, you may put target creature card from that player's graveyard onto the battlefield under your control. // Whenever Ink-Eyes, Servant of Oni deals combat damage to a player, you may put target creature card from that player's graveyard onto the battlefield under your control.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true, true);
ability.addTarget(new TargetCardInGraveyard(filter)); ability.addTarget(new TargetCardInGraveyard(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster(true)); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster(true));
this.addAbility(ability); this.addAbility(ability);
// {1}{B}: Regenerate Ink-Eyes. // {1}{B}: Regenerate Ink-Eyes.

View file

@ -15,7 +15,7 @@ import mage.constants.SubType;
import mage.filter.common.FilterArtifactPermanent; import mage.filter.common.FilterArtifactPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -45,7 +45,7 @@ public final class LatullasOrders extends CardImpl {
new DestroyTargetEffect(), "enchanted creature", true, true new DestroyTargetEffect(), "enchanted creature", true, true
).setTriggerPhrase("Whenever enchanted creature deals combat damage to defending player, "); ).setTriggerPhrase("Whenever enchanted creature deals combat damage to defending player, ");
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -15,7 +15,7 @@ import mage.filter.FilterPermanent;
import mage.filter.predicate.Predicates; import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.ColorPredicate; import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -46,7 +46,7 @@ public final class LightwielderPaladin extends CardImpl {
// Whenever Lightwielder Paladin deals combat damage to a player, you may exile target black or red permanent that player controls. // Whenever Lightwielder Paladin deals combat damage to a player, you may exile target black or red permanent that player controls.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ExileTargetEffect(), true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ExileTargetEffect(), true, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -12,7 +12,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -38,7 +38,7 @@ public final class MistbladeShinobi extends CardImpl {
// Whenever Mistblade Shinobi deals combat damage to a player, you may return target creature that player controls to its owner's hand. // Whenever Mistblade Shinobi deals combat damage to a player, you may return target creature that player controls to its owner's hand.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnToHandTargetEffect(), true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnToHandTargetEffect(), true, true);
ability.addTarget(new TargetCreaturePermanent(filter)); ability.addTarget(new TargetCreaturePermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -15,9 +15,8 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.SubType; import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -45,7 +44,7 @@ public final class MordantDragon extends CardImpl {
effect.setText("have it deal that much damage to target creature that player controls."); effect.setText("have it deal that much damage to target creature that player controls.");
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, true, true);
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -22,7 +22,7 @@ import mage.filter.common.FilterControlledPermanent;
import mage.game.Game; import mage.game.Game;
import mage.players.Player; import mage.players.Player;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
/** /**
* *
@ -49,7 +49,7 @@ public final class ParapetThrasher extends CardImpl {
filter, true, true, SetTargetPointer.PLAYER, false) filter, true, true, SetTargetPointer.PLAYER, false)
.setTriggerPhrase("Whenever one or more Dragons you control deal combat damage to an opponent, "); .setTriggerPhrase("Whenever one or more Dragons you control deal combat damage to an opponent, ");
ability.addTarget(new TargetPermanent(artifactFilter)); ability.addTarget(new TargetPermanent(artifactFilter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
ability.setModeTag("destroy artifact"); ability.setModeTag("destroy artifact");
ability.getModes().setLimitUsageByOnce(true); ability.getModes().setLimitUsageByOnce(true);

View file

@ -17,7 +17,7 @@ import mage.filter.FilterCard;
import mage.filter.common.FilterEnchantmentCard; import mage.filter.common.FilterEnchantmentCard;
import mage.filter.common.FilterEnchantmentPermanent; import mage.filter.common.FilterEnchantmentPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -52,7 +52,7 @@ public final class PolisCrusher extends CardImpl {
// Whenever Polis Crusher deals combat damage to a player, if Polis Crusher is monstrous, destroy target enchantment that player controls. // Whenever Polis Crusher deals combat damage to a player, if Polis Crusher is monstrous, destroy target enchantment that player controls.
TriggeredAbility ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true); TriggeredAbility ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true);
ability.addTarget(new TargetPermanent(filterPermanent)); ability.addTarget(new TargetPermanent(filterPermanent));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, MonstrousCondition.instance, this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, MonstrousCondition.instance,
"Whenever {this} deals combat damage to a player, if {this} is monstrous, destroy target enchantment that player controls.")); "Whenever {this} deals combat damage to a player, if {this} is monstrous, destroy target enchantment that player controls."));

View file

@ -21,7 +21,7 @@ import mage.game.events.GameEvent;
import mage.game.events.PreventDamageEvent; import mage.game.events.PreventDamageEvent;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -57,7 +57,7 @@ public final class QuestingBeast extends CardImpl {
// Whenever Questing Beast deals combat damage to an opponent, it deals that much damage to target planeswalker that player controls. // Whenever Questing Beast deals combat damage to an opponent, it deals that much damage to target planeswalker that player controls.
Ability ability = new DealsDamageToOpponentTriggeredAbility(new DamageTargetEffect(SavedDamageValue.MUCH), false, true, true); Ability ability = new DealsDamageToOpponentTriggeredAbility(new DamageTargetEffect(SavedDamageValue.MUCH), false, true, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -16,7 +16,7 @@ import mage.constants.Duration;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -39,7 +39,7 @@ public final class RiptideEntrancer extends CardImpl {
Effect effect = new DoIfCostPaid(new GainControlTargetEffect(Duration.WhileOnBattlefield), new SacrificeSourceCost()); Effect effect = new DoIfCostPaid(new GainControlTargetEffect(Duration.WhileOnBattlefield), new SacrificeSourceCost());
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
// Morph {U}{U} // Morph {U}{U}

View file

@ -11,7 +11,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterArtifactPermanent; import mage.filter.common.FilterArtifactPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -33,7 +33,7 @@ public final class RustmouthOgre extends CardImpl {
// Whenever Rustmouth Ogre deals combat damage to a player, you may destroy target artifact that player controls. // Whenever Rustmouth Ogre deals combat damage to a player, you may destroy target artifact that player controls.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), true, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -11,7 +11,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterArtifactPermanent; import mage.filter.common.FilterArtifactPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -38,7 +38,7 @@ public final class SchemaThief extends CardImpl {
// Whenever Schema Thief deals combat damage to a player, create a token that's a copy of target artifact that player controls. // Whenever Schema Thief deals combat damage to a player, create a token that's a copy of target artifact that player controls.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new CreateTokenCopyTargetEffect(), false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new CreateTokenCopyTargetEffect(), false, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -11,7 +11,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterArtifactOrEnchantmentPermanent; import mage.filter.common.FilterArtifactOrEnchantmentPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -36,7 +36,7 @@ public final class ScionOfCalamity extends CardImpl {
// Whenever Scion of Calamity deals combat damage to a player, destroy target artifact or enchantment that player controls. // Whenever Scion of Calamity deals combat damage to a player, destroy target artifact or enchantment that player controls.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -14,7 +14,7 @@ import mage.constants.SubType;
import mage.filter.FilterCard; import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard; import mage.filter.common.FilterCreatureCard;
import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCardInGraveyard;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -39,7 +39,7 @@ public final class ScionOfDarkness extends CardImpl {
// Whenever Scion of Darkness deals combat damage to a player, you may put target creature card from that player's graveyard onto the battlefield under your control. // Whenever Scion of Darkness deals combat damage to a player, you may put target creature card from that player's graveyard onto the battlefield under your control.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true, true);
ability.addTarget(new TargetCardInGraveyard(filter)); ability.addTarget(new TargetCardInGraveyard(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster(true)); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster(true));
this.addAbility(ability); this.addAbility(ability);
// Cycling {3} // Cycling {3}

View file

@ -14,7 +14,7 @@ import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -40,7 +40,7 @@ public final class SigilOfSleep extends CardImpl {
Effect effect = new ReturnToHandTargetEffect(); Effect effect = new ReturnToHandTargetEffect();
ability = new DealsDamageToAPlayerAttachedTriggeredAbility(effect, "enchanted", false, true, false); ability = new DealsDamageToAPlayerAttachedTriggeredAbility(effect, "enchanted", false, true, false);
ability.addTarget(new TargetCreaturePermanent(filter)); ability.addTarget(new TargetCreaturePermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -13,7 +13,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -35,7 +35,7 @@ public final class SkirkCommando extends CardImpl {
//Whenever Skirk Commando deals combat damage to a player, you may have it deal 2 damage to target creature that player controls. //Whenever Skirk Commando deals combat damage to a player, you may have it deal 2 damage to target creature that player controls.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DamageTargetEffect(2), true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DamageTargetEffect(2), true, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
//Morph {2}{R} (You may cast this card face down as a 2/2 creature for 3. Turn it face up any time for its morph cost.) //Morph {2}{R} (You may cast this card face down as a 2/2 creature for 3. Turn it face up any time for its morph cost.)

View file

@ -16,7 +16,7 @@ import mage.filter.FilterCard;
import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.permanent.UnblockedPredicate; import mage.filter.predicate.permanent.UnblockedPredicate;
import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCardInGraveyard;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -47,7 +47,7 @@ public final class Skullsnatcher extends CardImpl {
Effect effect = new ExileTargetEffect(null, "", Zone.GRAVEYARD); Effect effect = new ExileTargetEffect(null, "", Zone.GRAVEYARD);
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true);
ability.addTarget(new TargetCardInGraveyard(0, 2, filterGraveyardCard)); ability.addTarget(new TargetCardInGraveyard(0, 2, filterGraveyardCard));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster(true)); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster(true));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -13,7 +13,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -35,7 +35,7 @@ public final class SnappingThragg extends CardImpl {
// Whenever Snapping Thragg deals combat damage to a player, you may have it deal 3 damage to target creature that player controls. // Whenever Snapping Thragg deals combat damage to a player, you may have it deal 3 damage to target creature that player controls.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DamageTargetEffect(3), true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DamageTargetEffect(3), true, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
// Morph {4}{R}{R} // Morph {4}{R}{R}

View file

@ -11,7 +11,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -36,7 +36,7 @@ public final class SparkMage extends CardImpl {
new DamageTargetEffect(1), true, true new DamageTargetEffect(1), true, true
).withRuleTextReplacement(false); ).withRuleTextReplacement(false);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -12,7 +12,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterArtifactOrEnchantmentPermanent; import mage.filter.common.FilterArtifactOrEnchantmentPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -38,7 +38,7 @@ public final class SunderShaman extends CardImpl {
// Whenever Sunder Shaman deals combat damage to a player, destroy target artifact or enchantment that player controls. // Whenever Sunder Shaman deals combat damage to a player, destroy target artifact or enchantment that player controls.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -15,7 +15,7 @@ import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates; import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.ColorPredicate; import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -45,7 +45,7 @@ public final class ThroatSlitter extends CardImpl {
// Whenever Throat Slitter deals combat damage to a player, destroy target nonblack creature that player controls. // Whenever Throat Slitter deals combat damage to a player, destroy target nonblack creature that player controls.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), false, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -15,7 +15,7 @@ import mage.filter.FilterCard;
import mage.filter.predicate.Predicates; import mage.filter.predicate.Predicates;
import mage.filter.predicate.card.FaceDownPredicate; import mage.filter.predicate.card.FaceDownPredicate;
import mage.target.common.TargetCardInExile; import mage.target.common.TargetCardInExile;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -49,7 +49,7 @@ public final class TimeReaper extends CardImpl {
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new PutOnLibraryTargetEffect(false), false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new PutOnLibraryTargetEffect(false), false, true);
ability.addEffect(new GainLifeEffect(3).concatBy("If you do,")); //I don't think the move can fail? If there's no target then the trigger won't happen ability.addEffect(new GainLifeEffect(3).concatBy("If you do,")); //I don't think the move can fail? If there's no target then the trigger won't happen
ability.addTarget(new TargetCardInExile(filter)); ability.addTarget(new TargetCardInExile(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster(true)); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster(true));
ability.withFlavorWord("Consume Anomaly"); ability.withFlavorWord("Consume Anomaly");
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -16,7 +16,7 @@ import mage.filter.FilterCard;
import mage.filter.common.FilterPermanentCard; import mage.filter.common.FilterPermanentCard;
import mage.filter.predicate.Predicates; import mage.filter.predicate.Predicates;
import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCardInGraveyard;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -48,7 +48,7 @@ public final class TinybonesThePickpocket extends CardImpl {
OneShotEffect effect = new MayCastTargetCardEffect(CastManaAdjustment.AS_THOUGH_ANY_MANA_TYPE, false); OneShotEffect effect = new MayCastTargetCardEffect(CastManaAdjustment.AS_THOUGH_ANY_MANA_TYPE, false);
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true);
ability.addTarget(new TargetCardInGraveyard(filter)); ability.addTarget(new TargetCardInGraveyard(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster(true)); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster(true));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -12,7 +12,7 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterArtifactOrEnchantmentPermanent; import mage.filter.common.FilterArtifactOrEnchantmentPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -36,7 +36,7 @@ public final class TrygonPredator extends CardImpl {
// Whenever Trygon Predator deals combat damage to a player, you may destroy target artifact or enchantment that player controls. // Whenever Trygon Predator deals combat damage to a player, you may destroy target artifact or enchantment that player controls.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DestroyTargetEffect(), true, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -17,7 +17,7 @@ import mage.constants.SuperType;
import mage.filter.FilterCard; import mage.filter.FilterCard;
import mage.filter.common.FilterInstantOrSorceryCard; import mage.filter.common.FilterInstantOrSorceryCard;
import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCardInGraveyard;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -50,7 +50,7 @@ public final class WrexialTheRisenDeep extends CardImpl {
+ ThatSpellGraveyardExileReplacementEffect.RULE_A); + ThatSpellGraveyardExileReplacementEffect.RULE_A);
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, false, true);
ability.addTarget(new TargetCardInGraveyard(filter)); ability.addTarget(new TargetCardInGraveyard(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster(true)); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster(true));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -22,7 +22,7 @@ import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCardInGraveyard;
import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetControlledPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -61,7 +61,7 @@ public final class ZarethSanTheTrickster extends CardImpl {
// Whenever Zareth San deals combat damage to a player, you may put target permanent card from that player's graveyard onto the battlefield under your control. // Whenever Zareth San deals combat damage to a player, you may put target permanent card from that player's graveyard onto the battlefield under your control.
Ability ability2 = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true, true); Ability ability2 = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true, true);
ability2.addTarget(new TargetCardInGraveyard(filterCardGraveyard)); ability2.addTarget(new TargetCardInGraveyard(filterCardGraveyard));
ability2.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster(true)); ability2.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster(true));
this.addAbility(ability2); this.addAbility(ability2);
} }

View file

@ -12,7 +12,7 @@ import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.filter.FilterCard; import mage.filter.FilterCard;
import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCardInGraveyard;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
import java.util.UUID; import java.util.UUID;
@ -34,7 +34,7 @@ public final class ZombieCannibal extends CardImpl {
Effect effect = new ExileTargetEffect(null, "", Zone.GRAVEYARD); Effect effect = new ExileTargetEffect(null, "", Zone.GRAVEYARD);
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, true, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(effect, true, true);
ability.addTarget(new TargetCardInGraveyard(filterGraveyardCard)); ability.addTarget(new TargetCardInGraveyard(filterGraveyardCard));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster(true)); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster(true));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -11,7 +11,7 @@ import mage.constants.Duration;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.common.FilterArtifactPermanent; import mage.filter.common.FilterArtifactPermanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.targetadjustment.DamagedPlayerControlsTargetAdjuster; import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster;
public class DragonMenaceAndStealArtifactToken extends TokenImpl { public class DragonMenaceAndStealArtifactToken extends TokenImpl {
@ -31,7 +31,7 @@ public class DragonMenaceAndStealArtifactToken extends TokenImpl {
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new GainControlTargetEffect(Duration.EndOfGame), false, true); Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new GainControlTargetEffect(Duration.EndOfGame), false, true);
ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetPermanent(filter));
ability.setTargetAdjuster(new DamagedPlayerControlsTargetAdjuster()); ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster());
addAbility(ability); addAbility(ability);
} }

View file

@ -1,7 +1,6 @@
package mage.target.targetadjustment; package mage.target.targetadjustment;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.OneOrMoreDamagePlayerTriggeredAbility;
import mage.filter.Filter; import mage.filter.Filter;
import mage.filter.predicate.card.OwnerIdPredicate; import mage.filter.predicate.card.OwnerIdPredicate;
import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.filter.predicate.permanent.ControllerIdPredicate;
@ -17,20 +16,20 @@ import java.util.UUID;
/** /**
* @author notgreat * @author notgreat
*/ */
public class DamagedPlayerControlsTargetAdjuster extends GenericTargetAdjuster { public class ThatPlayerControlsTargetAdjuster extends GenericTargetAdjuster {
private final boolean owner; private final boolean owner;
/** /**
* Use with {@link mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility} with setTargetPointer enabled, * Use with {@link mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility} with setTargetPointer enabled,
* or {@link OneOrMoreDamagePlayerTriggeredAbility} with "SetTargetPointer.PLAYER" or similar. * or {@link mage.abilities.common.OneOrMoreDamagePlayerTriggeredAbility} with "SetTargetPointer.PLAYER" or similar.
* Adjusts the target to only target something the damaged player controls (or owns with alternative constructor) * Adjusts the target to only target something the damaged/attacked/etc. player controls (or owns with alternative constructor)
* And then removes the effects' target pointer that the triggered ability set * And then removes the effects' target pointer that the triggered ability set, replacing it with the standard {@link FirstTargetPointer}
*/ */
public DamagedPlayerControlsTargetAdjuster() { public ThatPlayerControlsTargetAdjuster() {
this(false); this(false);
} }
public DamagedPlayerControlsTargetAdjuster(boolean owner) { public ThatPlayerControlsTargetAdjuster(boolean owner) {
this.owner = owner; this.owner = owner;
} }