diff --git a/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java b/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java index a9e73de3ed6..ec6996e2c97 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java +++ b/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java @@ -125,7 +125,7 @@ class ConsumingFerocityEffect extends OneShotEffect { player.damage(creature.getPower().getValue(), creature.getId(), game, false, true); } effect = new DestroyTargetEffect(true); - effect.setTargetPointer(new FixedTarget(creature.getId())); + effect.setTargetPointer(new FixedTarget(creature, game)); effect.apply(game, source); return true; } diff --git a/Mage.Sets/src/mage/cards/c/CrashLanding.java b/Mage.Sets/src/mage/cards/c/CrashLanding.java index 35a7c9a428e..43f0a8c9243 100644 --- a/Mage.Sets/src/mage/cards/c/CrashLanding.java +++ b/Mage.Sets/src/mage/cards/c/CrashLanding.java @@ -50,8 +50,8 @@ import mage.target.common.TargetCreaturePermanent; */ public class CrashLanding extends CardImpl { - private static final FilterControlledPermanent filter = new FilterControlledPermanent(); - private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent(); + private static final FilterControlledPermanent filter = new FilterControlledPermanent("Forests you control"); + private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("creature with flying"); static { filter.add(new SubtypePredicate(SubType.FOREST)); @@ -66,7 +66,7 @@ public class CrashLanding extends CardImpl { this.getSpellAbility().addEffect(new LoseAbilityTargetEffect( FlyingAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addEffect(new DamageTargetEffect(amount)); - this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter2)); } public CrashLanding(final CrashLanding card) { diff --git a/Mage.Sets/src/mage/cards/c/CrookclawElder.java b/Mage.Sets/src/mage/cards/c/CrookclawElder.java index 6abc15fb11e..d0810723e9e 100644 --- a/Mage.Sets/src/mage/cards/c/CrookclawElder.java +++ b/Mage.Sets/src/mage/cards/c/CrookclawElder.java @@ -54,8 +54,8 @@ import mage.target.common.TargetCreaturePermanent; */ public class CrookclawElder extends CardImpl { - private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Merfolk you control"); - private static final FilterControlledCreaturePermanent filter2 = new FilterControlledCreaturePermanent("untapped Merfolk you control"); + private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Bird you control"); + private static final FilterControlledCreaturePermanent filter2 = new FilterControlledCreaturePermanent("untapped Wizards you control"); static { filter.add(new SubtypePredicate(SubType.BIRD)); @@ -78,7 +78,7 @@ public class CrookclawElder extends CardImpl { // Tap two untapped Birds you control: Draw a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapTargetCost(new TargetControlledCreaturePermanent(2, 2, filter, true))); this.addAbility(ability); - + // Tap two untapped Wizards you control: Target creature gains flying until end of turn. ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new TapTargetCost(new TargetControlledCreaturePermanent(2, 2, filter2, true))); ability.addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/c/CrookedScales.java b/Mage.Sets/src/mage/cards/c/CrookedScales.java index 174f498db14..8886e0d2af8 100644 --- a/Mage.Sets/src/mage/cards/c/CrookedScales.java +++ b/Mage.Sets/src/mage/cards/c/CrookedScales.java @@ -91,29 +91,32 @@ class CrookedScalesEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); - Permanent yourGuy = game.getPermanent(getTargetPointer().getFirst(game, source)); - Permanent theirGuy = game.getPermanent(source.getTargets().get(1).getFirstTarget()); - boolean keepGoing; - Cost cost; - String message = "You lost the flip. Pay {3} to prevent your creature from being destroyed?"; - do { - if (controller.flipCoin(game)) { - if (theirGuy != null) { - theirGuy.destroy(controller.getId(), game, false); - } - keepGoing = false; - } else { - cost = new GenericManaCost(3); - if (!(controller.chooseUse(Outcome.Benefit, message, source, game) && cost.pay(source, game, controller.getId(), controller.getId(), false, null))) { - if (yourGuy != null) { - yourGuy.destroy(controller.getId(), game, false); + if (controller != null) { + Permanent yourGuy = game.getPermanent(getTargetPointer().getFirst(game, source)); + Permanent theirGuy = game.getPermanent(source.getTargets().get(1).getFirstTarget()); + boolean keepGoing; + Cost cost; + String message = "You lost the flip. Pay {3} to prevent your creature from being destroyed?"; + do { + if (controller.flipCoin(game)) { + if (theirGuy != null) { + theirGuy.destroy(controller.getId(), game, false); } keepGoing = false; } else { - keepGoing = true; + cost = new GenericManaCost(3); + if (!(controller.chooseUse(Outcome.Benefit, message, source, game) && cost.pay(source, game, controller.getId(), controller.getId(), false, null))) { + if (yourGuy != null) { + yourGuy.destroy(controller.getId(), game, false); + } + keepGoing = false; + } else { + keepGoing = true; + } } - } - } while (keepGoing); - return true; + } while (keepGoing && controller.isInGame()); + return true; + } + return false; } }