Fixed Crooked Scales, Consuming Ferocity, Crash Landing and Crookclaw Elder

This commit is contained in:
Evan Kranzler 2017-08-14 13:12:32 -04:00
parent 83dbc70ff0
commit cb34678c70
4 changed files with 30 additions and 27 deletions

View file

@ -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;
}

View file

@ -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) {

View file

@ -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());

View file

@ -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;
}
}