mirror of
https://github.com/correl/mage.git
synced 2024-11-15 03:00:16 +00:00
Fixed Crooked Scales, Consuming Ferocity, Crash Landing and Crookclaw Elder
This commit is contained in:
parent
83dbc70ff0
commit
cb34678c70
4 changed files with 30 additions and 27 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue