From 64ae751ca4433c92006c64ba5790b10b2a2c8b8d Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 13 Dec 2014 00:43:42 +0100 Subject: [PATCH] Some minor changes to submitted cards. --- .../mage/sets/fifthedition/JestersCap.java | 14 +++---- Mage.Sets/src/mage/sets/iceage/Icequake.java | 38 ++++++++++--------- .../src/mage/sets/judgment/FlaringPain.java | 15 +++----- .../src/mage/sets/limitedalpha/IceStorm.java | 12 +++--- .../mage/sets/planarchaos/FrozenAEther.java | 9 +++-- .../mage/sets/ravnika/LoxodonGatekeeper.java | 6 ++- 6 files changed, 46 insertions(+), 48 deletions(-) diff --git a/Mage.Sets/src/mage/sets/fifthedition/JestersCap.java b/Mage.Sets/src/mage/sets/fifthedition/JestersCap.java index f5a3659603c..28876e28dc7 100644 --- a/Mage.Sets/src/mage/sets/fifthedition/JestersCap.java +++ b/Mage.Sets/src/mage/sets/fifthedition/JestersCap.java @@ -98,14 +98,14 @@ class JestersCapEffect extends OneShotEffect { if (player != null && targetPlayer != null) { TargetCardInLibrary target = new TargetCardInLibrary(3, 3, new FilterCard()); player.searchLibrary(target, game, targetPlayer.getId()); - for (UUID cardId : target.getTargets()) { - final Card targetCard = game.getCard(cardId); - if (targetCard != null) { - applied |= player.moveCardToExileWithInfo(targetCard, null, null, source.getSourceId(), game, Zone.LIBRARY); - } + for (UUID cardId : target.getTargets()) { + final Card targetCard = game.getCard(cardId); + if (targetCard != null) { + applied |= player.moveCardToExileWithInfo(targetCard, null, null, source.getSourceId(), game, Zone.LIBRARY); } - targetPlayer.shuffleLibrary(game); } - return applied; + targetPlayer.shuffleLibrary(game); + } + return applied; } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/iceage/Icequake.java b/Mage.Sets/src/mage/sets/iceage/Icequake.java index f30ce3c9d4b..d2cfa144f78 100644 --- a/Mage.Sets/src/mage/sets/iceage/Icequake.java +++ b/Mage.Sets/src/mage/sets/iceage/Icequake.java @@ -28,19 +28,18 @@ package mage.sets.iceage; import java.util.UUID; -import mage.cards.CardImpl; -import mage.constants.CardType; -import mage.constants.Rarity; -import mage.constants.Outcome; -import mage.constants.Zone; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetLandPermanent; + /** * * @author fireshoes @@ -51,13 +50,12 @@ public class Icequake extends CardImpl { super(ownerId, 22, "Icequake", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{1}{B}{B}"); this.expansionSetCode = "ICE"; - this.color.setBlack(true); - // Destroy target land. - this.getSpellAbility().addEffect(new DestroyTargetEffect()); - this.getSpellAbility().addTarget(new TargetLandPermanent()); - // If that land was a snow land, Icequake deals 1 damage to that land's controller. + // If that land was a snow land, Icequake deals 1 damage to that land's controller. this.getSpellAbility().addEffect(new IcequakeEffect()); + this.getSpellAbility().addTarget(new TargetLandPermanent()); + + } public Icequake(final Icequake card) { @@ -74,7 +72,7 @@ class IcequakeEffect extends OneShotEffect { public IcequakeEffect() { super(Outcome.Damage); - this.staticText = "If that land was a snow land, Icequake deals 1 damage to that land's controller."; + this.staticText = "Destroy target land.
If that land was a snow land, {this} deals 1 damage to that land's controller."; } public IcequakeEffect(final IcequakeEffect effect) { @@ -88,13 +86,17 @@ class IcequakeEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - Permanent permanent = (Permanent) game.getLastKnownInformation(source.getFirstTarget(), Zone.BATTLEFIELD); - if (permanent != null && !permanent.getSupertype().contains("Snow")) { - Player player = game.getPlayer(permanent.getControllerId()); - if (player != null) { - player.damage(1, source.getSourceId(), game, false, true); - return true; + Player controller = game.getPlayer(source.getControllerId()); + Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source)); + if (permanent != null && controller != null) { + permanent.destroy(source.getSourceId(), game, false); + if (permanent.getSupertype().contains("Snow")) { + Player player = game.getPlayer(permanent.getControllerId()); + if (player != null) { + player.damage(1, source.getSourceId(), game, false, true); + } } + return true; } return false; } diff --git a/Mage.Sets/src/mage/sets/judgment/FlaringPain.java b/Mage.Sets/src/mage/sets/judgment/FlaringPain.java index d5682333b19..fa7b227b4a2 100644 --- a/Mage.Sets/src/mage/sets/judgment/FlaringPain.java +++ b/Mage.Sets/src/mage/sets/judgment/FlaringPain.java @@ -30,16 +30,16 @@ package mage.sets.judgment; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.ReplacementEffectImpl; +import mage.abilities.effects.ContinuousRuleModifiyingEffectImpl; import mage.abilities.keyword.FlashbackAbility; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Rarity; +import mage.constants.TimingRule; import mage.game.Game; import mage.game.events.GameEvent; -import mage.constants.TimingRule; /** * @@ -69,10 +69,10 @@ public class FlaringPain extends CardImpl { } } -class DamageCantBePreventedEffect extends ReplacementEffectImpl { +class DamageCantBePreventedEffect extends ContinuousRuleModifiyingEffectImpl { public DamageCantBePreventedEffect() { - super(Duration.EndOfTurn, Outcome.Benefit); + super(Duration.EndOfTurn, Outcome.Benefit, false, false); staticText = "Damage can't be prevented this turn"; } @@ -90,11 +90,6 @@ class DamageCantBePreventedEffect extends ReplacementEffectImpl { return true; } - @Override - public boolean replaceEvent(GameEvent event, Ability source, Game game) { - return true; - } - @Override public boolean applies(GameEvent event, Ability source, Game game) { if (event.getType().equals(GameEvent.EventType.PREVENT_DAMAGE)) { @@ -102,4 +97,4 @@ class DamageCantBePreventedEffect extends ReplacementEffectImpl { } return false; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/sets/limitedalpha/IceStorm.java b/Mage.Sets/src/mage/sets/limitedalpha/IceStorm.java index 67e1eb6ef02..4feb4117098 100644 --- a/Mage.Sets/src/mage/sets/limitedalpha/IceStorm.java +++ b/Mage.Sets/src/mage/sets/limitedalpha/IceStorm.java @@ -28,12 +28,11 @@ package mage.sets.limitedalpha; import java.util.UUID; +import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.filter.common.FilterLandPermanent; -import mage.target.TargetPermanent; +import mage.target.common.TargetLandPermanent; /** * @@ -45,11 +44,10 @@ public class IceStorm extends CardImpl { super(ownerId, 75, "Ice Storm", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{2}{G}"); this.expansionSetCode = "LEA"; - this.color.setGreen(true); - this.getSpellAbility().addTarget(new TargetPermanent(new FilterLandPermanent())); - this.getSpellAbility().addEffect(new DestroyTargetEffect()); - // Destroy target land. + this.getSpellAbility().addTarget(new TargetLandPermanent()); + this.getSpellAbility().addEffect(new DestroyTargetEffect()); + } public IceStorm(final IceStorm card) { diff --git a/Mage.Sets/src/mage/sets/planarchaos/FrozenAEther.java b/Mage.Sets/src/mage/sets/planarchaos/FrozenAEther.java index 44a32c901f1..38c4e082ead 100644 --- a/Mage.Sets/src/mage/sets/planarchaos/FrozenAEther.java +++ b/Mage.Sets/src/mage/sets/planarchaos/FrozenAEther.java @@ -51,8 +51,6 @@ public class FrozenAEther extends CardImpl { super(ownerId, 54, "Frozen AEther", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}"); this.expansionSetCode = "PLC"; - this.color.setBlue(true); - // Artifacts, creatures, and lands your opponents control enter the battlefield tapped. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new FrozenAEtherTapEffect())); } @@ -90,7 +88,10 @@ class FrozenAEtherTapEffect extends ReplacementEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { if (event.getType() == GameEvent.EventType.ENTERS_THE_BATTLEFIELD && game.getOpponents(source.getControllerId()).contains(event.getPlayerId())) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && (permanent.getCardType().contains(CardType.CREATURE) || permanent.getCardType().contains(CardType.LAND) || permanent.getCardType().contains(CardType.ARTIFACT))) { + if (permanent != null && + (permanent.getCardType().contains(CardType.CREATURE) || + permanent.getCardType().contains(CardType.LAND) || + permanent.getCardType().contains(CardType.ARTIFACT))) { return true; } } @@ -106,4 +107,4 @@ class FrozenAEtherTapEffect extends ReplacementEffectImpl { public FrozenAEtherTapEffect copy() { return new FrozenAEtherTapEffect(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/sets/ravnika/LoxodonGatekeeper.java b/Mage.Sets/src/mage/sets/ravnika/LoxodonGatekeeper.java index c249ea6f43e..06321c041ba 100644 --- a/Mage.Sets/src/mage/sets/ravnika/LoxodonGatekeeper.java +++ b/Mage.Sets/src/mage/sets/ravnika/LoxodonGatekeeper.java @@ -55,7 +55,6 @@ public class LoxodonGatekeeper extends CardImpl { this.subtype.add("Elephant"); this.subtype.add("Soldier"); - this.color.setWhite(true); this.power = new MageInt(2); this.toughness = new MageInt(3); @@ -97,7 +96,10 @@ class LoxodonGatekeeperTapEffect extends ReplacementEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { if (event.getType() == GameEvent.EventType.ENTERS_THE_BATTLEFIELD && game.getOpponents(source.getControllerId()).contains(event.getPlayerId())) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && (permanent.getCardType().contains(CardType.CREATURE) || permanent.getCardType().contains(CardType.LAND) || permanent.getCardType().contains(CardType.ARTIFACT))) { + if (permanent != null && + (permanent.getCardType().contains(CardType.CREATURE) || + permanent.getCardType().contains(CardType.LAND) || + permanent.getCardType().contains(CardType.ARTIFACT))) { return true; } }