From bfdadc09c14bf95fd82c6806011a3435f404494c Mon Sep 17 00:00:00 2001 From: Jeff Wadsworth Date: Thu, 21 Oct 2021 15:32:31 -0500 Subject: [PATCH] - refactoring related to #8375 "G and H" cards --- Mage.Sets/src/mage/cards/g/GahijiHonoredOne.java | 10 ++++------ Mage.Sets/src/mage/cards/g/GlyphOfDelusion.java | 4 ++-- Mage.Sets/src/mage/cards/g/GoblinFestival.java | 2 +- Mage.Sets/src/mage/cards/g/GoblinGuide.java | 2 +- Mage.Sets/src/mage/cards/g/Godsend.java | 4 +--- Mage.Sets/src/mage/cards/g/GravityWell.java | 2 +- Mage.Sets/src/mage/cards/g/GruulRagebeast.java | 2 +- Mage.Sets/src/mage/cards/h/HallOfTheBanditLord.java | 5 ++--- Mage.Sets/src/mage/cards/h/HammerHelper.java | 3 +-- Mage.Sets/src/mage/cards/h/HeraldOfLeshrac.java | 2 +- Mage.Sets/src/mage/cards/h/HixusPrisonWarden.java | 2 +- Mage.Sets/src/mage/cards/h/HolisticWisdom.java | 2 +- Mage.Sets/src/mage/cards/h/HorobiDeathsWail.java | 9 ++++----- 13 files changed, 21 insertions(+), 28 deletions(-) diff --git a/Mage.Sets/src/mage/cards/g/GahijiHonoredOne.java b/Mage.Sets/src/mage/cards/g/GahijiHonoredOne.java index 7679206a28d..169ef57066c 100644 --- a/Mage.Sets/src/mage/cards/g/GahijiHonoredOne.java +++ b/Mage.Sets/src/mage/cards/g/GahijiHonoredOne.java @@ -1,4 +1,3 @@ - package mage.cards.g; import java.util.Set; @@ -16,7 +15,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.targetpointer.FixedTarget; @@ -28,7 +26,7 @@ import mage.target.targetpointer.FixedTarget; public final class GahijiHonoredOne extends CardImpl { public GahijiHonoredOne(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}{W}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{G}{W}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.BEAST); @@ -53,7 +51,7 @@ public final class GahijiHonoredOne extends CardImpl { class GahijiHonoredOneTriggeredAbility extends TriggeredAbilityImpl { public GahijiHonoredOneTriggeredAbility() { - super(Zone.BATTLEFIELD, new BoostTargetEffect(2,0, Duration.EndOfTurn), false); + super(Zone.BATTLEFIELD, new BoostTargetEffect(2, 0, Duration.EndOfTurn), false); } public GahijiHonoredOneTriggeredAbility(Effect effect, boolean optional, String text) { @@ -81,8 +79,8 @@ class GahijiHonoredOneTriggeredAbility extends TriggeredAbilityImpl { if (defender != null) { Set opponents = game.getOpponents(this.getControllerId()); if (opponents != null && opponents.contains(defender.getId())) { - for (Effect effect: this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getSourceId())); + for (Effect effect : this.getEffects()) { + effect.setTargetPointer(new FixedTarget(event.getSourceId(), game)); } return true; } diff --git a/Mage.Sets/src/mage/cards/g/GlyphOfDelusion.java b/Mage.Sets/src/mage/cards/g/GlyphOfDelusion.java index 5310dd43110..13e76804812 100644 --- a/Mage.Sets/src/mage/cards/g/GlyphOfDelusion.java +++ b/Mage.Sets/src/mage/cards/g/GlyphOfDelusion.java @@ -132,13 +132,13 @@ class GlyphOfDelusionEffect extends OneShotEffect { SimpleStaticAbility ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousRuleModifyingEffect(new DontUntapInControllersUntapStepSourceEffect(), new SourceHasCounterCondition(CounterType.GLYPH)).setText("This creature doesn't untap during your untap step if it has a glyph counter on it")); GainAbilityTargetEffect effect = new GainAbilityTargetEffect(ability, Duration.Custom); - effect.setTargetPointer(new FixedTarget(targetPermanent.getId())); + effect.setTargetPointer(new FixedTarget(targetPermanent.getId(), game)); game.addEffect(effect, source); BeginningOfUpkeepTriggeredAbility ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.GLYPH.createInstance()), TargetController.YOU, false); GainAbilityTargetEffect effect2 = new GainAbilityTargetEffect(ability2, Duration.Custom); - effect2.setTargetPointer(new FixedTarget(targetPermanent.getId())); + effect2.setTargetPointer(new FixedTarget(targetPermanent.getId(), game)); game.addEffect(effect2, source); } } diff --git a/Mage.Sets/src/mage/cards/g/GoblinFestival.java b/Mage.Sets/src/mage/cards/g/GoblinFestival.java index 66edf00deca..66510d6bec5 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinFestival.java +++ b/Mage.Sets/src/mage/cards/g/GoblinFestival.java @@ -79,7 +79,7 @@ class GoblinFestivalChangeControlEffect extends OneShotEffect { Player chosenOpponent = game.getPlayer(target.getFirstTarget()); if (chosenOpponent != null) { ContinuousEffect effect = new GoblinFestivalGainControlEffect(Duration.Custom, chosenOpponent.getId()); - effect.setTargetPointer(new FixedTarget(sourcePermanent.getId())); + effect.setTargetPointer(new FixedTarget(sourcePermanent.getId(), game)); game.addEffect(effect, source); game.informPlayers(chosenOpponent.getLogName() + " has gained control of " + sourcePermanent.getLogName()); return true; diff --git a/Mage.Sets/src/mage/cards/g/GoblinGuide.java b/Mage.Sets/src/mage/cards/g/GoblinGuide.java index 015e02d271f..d70184c2b71 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinGuide.java +++ b/Mage.Sets/src/mage/cards/g/GoblinGuide.java @@ -81,7 +81,7 @@ class GoblinGuideTriggeredAbility extends TriggeredAbilityImpl { if (defenderId != null) { for (Effect effect : this.getEffects()) { // set here because attacking creature can be removed until effect resolves - effect.setTargetPointer(new FixedTarget(defenderId)); + effect.setTargetPointer(new FixedTarget(defenderId, game)); } return true; } diff --git a/Mage.Sets/src/mage/cards/g/Godsend.java b/Mage.Sets/src/mage/cards/g/Godsend.java index d16f76fdea5..46ea22c8031 100644 --- a/Mage.Sets/src/mage/cards/g/Godsend.java +++ b/Mage.Sets/src/mage/cards/g/Godsend.java @@ -1,4 +1,3 @@ - package mage.cards.g; import java.util.*; @@ -22,7 +21,6 @@ import mage.game.ExileZone; import mage.game.Game; import mage.game.combat.CombatGroup; import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCreaturePermanent; @@ -109,7 +107,7 @@ class GodsendTriggeredAbility extends TriggeredAbilityImpl { if (!possibleTargets.isEmpty()) { this.getTargets().clear(); if (possibleTargets.size() == 1) { - this.getEffects().get(0).setTargetPointer(new FixedTarget(possibleTargets.iterator().next())); + this.getEffects().get(0).setTargetPointer(new FixedTarget(possibleTargets.iterator().next(), game)); } else { this.getEffects().get(0).setTargetPointer(new FirstTargetPointer()); targetName = targetName + " equipped by " + equipment.getName(); diff --git a/Mage.Sets/src/mage/cards/g/GravityWell.java b/Mage.Sets/src/mage/cards/g/GravityWell.java index ab210b70161..8cede16b162 100644 --- a/Mage.Sets/src/mage/cards/g/GravityWell.java +++ b/Mage.Sets/src/mage/cards/g/GravityWell.java @@ -59,7 +59,7 @@ class GravityWellTriggeredAbility extends TriggeredAbilityImpl { Permanent attacker = game.getPermanent(event.getSourceId()); if (attacker != null && attacker.getAbilities().contains(FlyingAbility.getInstance())) { for (Effect effect : getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getSourceId())); + effect.setTargetPointer(new FixedTarget(event.getSourceId(), game)); } return true; } diff --git a/Mage.Sets/src/mage/cards/g/GruulRagebeast.java b/Mage.Sets/src/mage/cards/g/GruulRagebeast.java index 0429477a369..801776fe013 100644 --- a/Mage.Sets/src/mage/cards/g/GruulRagebeast.java +++ b/Mage.Sets/src/mage/cards/g/GruulRagebeast.java @@ -79,7 +79,7 @@ class GruulRagebeastTriggeredAbility extends TriggeredAbilityImpl { for (Effect effect : this.getEffects()) { if (effect instanceof GruulRagebeastEffect) { effect.setTargetPointer( - new FixedTarget(event.getTargetId()) + new FixedTarget(event.getTargetId(), game) .withData("triggeredName", GameLog.getColoredObjectIdNameForTooltip(sourceObject)) ); } diff --git a/Mage.Sets/src/mage/cards/h/HallOfTheBanditLord.java b/Mage.Sets/src/mage/cards/h/HallOfTheBanditLord.java index 377f17144e3..2f0eef210b8 100644 --- a/Mage.Sets/src/mage/cards/h/HallOfTheBanditLord.java +++ b/Mage.Sets/src/mage/cards/h/HallOfTheBanditLord.java @@ -1,4 +1,3 @@ - package mage.cards.h; import java.util.ArrayList; @@ -33,7 +32,7 @@ import mage.watchers.Watcher; public final class HallOfTheBanditLord extends CardImpl { public HallOfTheBanditLord(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.LAND},""); + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); addSuperType(SuperType.LEGENDARY); // Hall of the Bandit Lord enters the battlefield tapped. @@ -99,7 +98,7 @@ class HallOfTheBanditLordWatcher extends Watcher { if (event.getType() == GameEvent.EventType.ENTERS_THE_BATTLEFIELD) { if (creatures.contains(event.getSourceId())) { ContinuousEffect effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.Custom); - effect.setTargetPointer(new FixedTarget(event.getSourceId())); + effect.setTargetPointer(new FixedTarget(event.getSourceId(), game)); game.addEffect(effect, source); creatures.remove(event.getSourceId()); } diff --git a/Mage.Sets/src/mage/cards/h/HammerHelper.java b/Mage.Sets/src/mage/cards/h/HammerHelper.java index aed505c95c7..01e47dad6d1 100644 --- a/Mage.Sets/src/mage/cards/h/HammerHelper.java +++ b/Mage.Sets/src/mage/cards/h/HammerHelper.java @@ -1,4 +1,3 @@ - package mage.cards.h; import java.util.UUID; @@ -64,7 +63,7 @@ class HammerHelperEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); Permanent targetCreature = game.getPermanent(source.getFirstTarget()); if (controller != null && targetCreature != null) { - source.getEffects().get(0).setTargetPointer(new FixedTarget(targetCreature.getId())); + source.getEffects().get(0).setTargetPointer(new FixedTarget(targetCreature.getId(), game)); game.addEffect(new GainControlTargetEffect(Duration.EndOfTurn), source); targetCreature.untap(game); int amount = controller.rollDice(outcome, source, game, 6); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfLeshrac.java b/Mage.Sets/src/mage/cards/h/HeraldOfLeshrac.java index 3e22e1bc98d..703f309f677 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfLeshrac.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfLeshrac.java @@ -91,7 +91,7 @@ class HeraldOfLeshracCumulativeCost extends CostImpl { Target target = new TargetPermanent(filter); if (target.choose(Outcome.GainControl, controllerId, source.getSourceId(), game)) { ContinuousEffect effect = new GainControlTargetEffect(Duration.EndOfGame); - effect.setTargetPointer(new FixedTarget(target.getFirstTarget())); + effect.setTargetPointer(new FixedTarget(target.getFirstTarget(), game)); game.addEffect(effect, ability); game.getState().processAction(game); paid = true; diff --git a/Mage.Sets/src/mage/cards/h/HixusPrisonWarden.java b/Mage.Sets/src/mage/cards/h/HixusPrisonWarden.java index d6d498a2d03..a100d064ff6 100644 --- a/Mage.Sets/src/mage/cards/h/HixusPrisonWarden.java +++ b/Mage.Sets/src/mage/cards/h/HixusPrisonWarden.java @@ -92,7 +92,7 @@ class HixusPrisonWardenTriggeredAbility extends TriggeredAbilityImpl { && damageEvent.isCombatDamage() && sourcePermanent != null && sourcePermanent.isCreature(game)) { - getEffects().get(0).setTargetPointer(new FixedTarget(event.getSourceId())); + getEffects().get(0).setTargetPointer(new FixedTarget(event.getSourceId(), game)); return true; } return false; diff --git a/Mage.Sets/src/mage/cards/h/HolisticWisdom.java b/Mage.Sets/src/mage/cards/h/HolisticWisdom.java index 4e4dd5a4034..b1731349722 100644 --- a/Mage.Sets/src/mage/cards/h/HolisticWisdom.java +++ b/Mage.Sets/src/mage/cards/h/HolisticWisdom.java @@ -80,7 +80,7 @@ class HolisticWisdomEffect extends OneShotEffect { for (CardType cardtype : card.getCardType(game)) { if (cardtypes.contains(cardtype)) { Effect effect = new ReturnToHandTargetEffect(); - effect.setTargetPointer(new FixedTarget(card.getId())); + effect.setTargetPointer(new FixedTarget(card.getId(), game)); return effect.apply(game, source); } } diff --git a/Mage.Sets/src/mage/cards/h/HorobiDeathsWail.java b/Mage.Sets/src/mage/cards/h/HorobiDeathsWail.java index 6b235433914..b0221f4a075 100644 --- a/Mage.Sets/src/mage/cards/h/HorobiDeathsWail.java +++ b/Mage.Sets/src/mage/cards/h/HorobiDeathsWail.java @@ -1,4 +1,3 @@ - package mage.cards.h; import java.util.UUID; @@ -25,7 +24,7 @@ import mage.target.targetpointer.FixedTarget; public final class HorobiDeathsWail extends CardImpl { public HorobiDeathsWail(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.SPIRIT); @@ -34,7 +33,7 @@ public final class HorobiDeathsWail extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); - + // Whenever a creature becomes the target of a spell or ability, destroy that creature. this.addAbility(new HorobiDeathsWailAbility(new DestroyTargetEffect())); } @@ -46,7 +45,7 @@ public final class HorobiDeathsWail extends CardImpl { @Override public HorobiDeathsWail copy() { return new HorobiDeathsWail(this); - } + } } @@ -74,7 +73,7 @@ class HorobiDeathsWailAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent creature = game.getPermanent(event.getTargetId()); if (creature != null && creature.isCreature(game)) { - getEffects().get(0).setTargetPointer(new FixedTarget(event.getTargetId())); + getEffects().get(0).setTargetPointer(new FixedTarget(event.getTargetId(), game)); return true; } return false;