Remove SpellAbilityType.FACE_DOWN_CREATURE, fix cast ability displayed on battlefield

This commit is contained in:
Steven Knipe 2023-10-01 16:47:42 -07:00
parent 967b4a7fb3
commit 76150b2793
4 changed files with 4 additions and 13 deletions

View file

@ -281,11 +281,8 @@ public abstract class AbilityImpl implements Ability {
// as buyback, kicker, or convoke costs (see rules 117.8 and 117.9), the player announces his
// or her intentions to pay any or all of those costs (see rule 601.2e).
// A player can't apply two alternative methods of casting or two alternative costs to a single spell.
if (isMainPartAbility && !activateAlternateOrAdditionalCosts(sourceObject, noMana, controller, game)) {
if (getAbilityType() == AbilityType.SPELL
&& ((SpellAbility) this).getSpellAbilityType() == SpellAbilityType.FACE_DOWN_CREATURE) {
return false;
}
if (isMainPartAbility) {
activateAlternateOrAdditionalCosts(sourceObject, noMana, controller, game);
}
// 117.6. Some mana costs contain no mana symbols. This represents an unpayable cost. An ability can

View file

@ -13,10 +13,7 @@ import mage.abilities.costs.mana.ManaCost;
import mage.abilities.effects.common.continuous.BecomesFaceDownCreatureEffect;
import mage.abilities.effects.common.continuous.BecomesFaceDownCreatureEffect.FaceDownType;
import mage.cards.Card;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.SpellAbilityCastMode;
import mage.constants.TimingRule;
import mage.constants.*;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.EmptyToken;
@ -86,8 +83,7 @@ public class MorphAbility extends SpellAbility {
this.morphCosts.add(morphCost);
this.megamorph = megamorph;
this.setSpellAbilityCastMode(SpellAbilityCastMode.MORPH);
//this.setSpellAbilityType(SpellAbilityType.FACE_DOWN_CREATURE);
this.setWorksFaceDown(true);
this.setSpellAbilityType(SpellAbilityType.BASE_ALTERNATE);
Ability ability = new SimpleStaticAbility(new BecomesFaceDownCreatureEffect(
morphCosts, (megamorph ? FaceDownType.MEGAMORPHED : FaceDownType.MORPHED)));
ability.setWorksFaceDown(true);

View file

@ -6,7 +6,6 @@ package mage.constants;
public enum SpellAbilityType {
BASE("Basic SpellAbility"),
BASE_ALTERNATE("Basic SpellAbility Alternate"), // used for Overload, Flashback to know they must be handled as Alternate casting costs
FACE_DOWN_CREATURE("Face down creature"), // used for Lands with Morph to cast as Face Down creature
SPLIT("Split SpellAbility"),
SPLIT_AFTERMATH("AftermathSplit SpellAbility"),
SPLIT_FUSED("Split SpellAbility"),

View file

@ -58,7 +58,6 @@ public class Commander extends CommandObjectImpl {
abilities.add(spellAbility.copyWithZone(Zone.COMMAND));
}
break;
case FACE_DOWN_CREATURE: // dynamic added spell for alternative cost like cast as face down
case SPLICE: // only from hand
case SPLIT_AFTERMATH: // only from graveyard
// can't use from command zone