implement [MH3] Glasswing Grace // Age-Graced Chapel

This commit is contained in:
Susucre 2024-05-23 15:34:05 +02:00
parent 9f6762068e
commit aaebb4ac10
2 changed files with 76 additions and 0 deletions

View file

@ -0,0 +1,75 @@
package mage.cards.g;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.continuous.BoostEnchantedEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EnchantAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.LifelinkAbility;
import mage.abilities.mana.BlackManaAbility;
import mage.abilities.mana.WhiteManaAbility;
import mage.cards.CardSetInfo;
import mage.cards.ModalDoubleFacedCard;
import mage.constants.*;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author Susucr
*/
public final class GlasswingGrace extends ModalDoubleFacedCard {
public GlasswingGrace(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo,
new CardType[]{CardType.ENCHANTMENT}, new SubType[]{SubType.AURA}, "{3}{W/B}{W/B}",
"Age-Graced Chapel", new CardType[]{CardType.LAND}, new SubType[]{}, ""
);
// 1.
// Glasswing Grace
// Enchantment - Aura
// Enchant creature
TargetPermanent auraTarget = new TargetCreaturePermanent();
this.getLeftHalfCard().getSpellAbility().addTarget(auraTarget);
this.getLeftHalfCard().getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
this.getLeftHalfCard().addAbility(new EnchantAbility(auraTarget));
// Enchanted creature gets +2/+2 and has flying and lifelink.
Ability ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 2));
ability.addEffect(
new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)
.setText("and has flying")
);
ability.addEffect(
new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.AURA)
.setText("and lifelink")
);
this.getLeftHalfCard().addAbility(ability);
// 2.
// Ace-Graced Chapel
// Land
// Ace-Graced Chapel enters the battlefield tapped.
this.getRightHalfCard().addAbility(new EntersBattlefieldTappedAbility());
// {T}: Add {W} or {B}.
this.getRightHalfCard().addAbility(new WhiteManaAbility());
this.getRightHalfCard().addAbility(new BlackManaAbility());
}
private GlasswingGrace(final GlasswingGrace card) {
super(card);
}
@Override
public GlasswingGrace copy() {
return new GlasswingGrace(this);
}
}

View file

@ -52,6 +52,7 @@ public final class ModernHorizons3 extends ExpansionSet {
cards.add(new SetCardInfo("Flusterstorm", 496, Rarity.RARE, mage.cards.f.Flusterstorm.class));
cards.add(new SetCardInfo("Forest", 308, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Frogmyr Enforcer", 120, Rarity.UNCOMMON, mage.cards.f.FrogmyrEnforcer.class));
cards.add(new SetCardInfo("Glasswing Grace", 254, Rarity.UNCOMMON, mage.cards.g.GlasswingGrace.class));
cards.add(new SetCardInfo("Grim Servant", 97, Rarity.UNCOMMON, mage.cards.g.GrimServant.class));
cards.add(new SetCardInfo("Grist, Voracious Larva", 251, Rarity.MYTHIC, mage.cards.g.GristVoraciousLarva.class));
cards.add(new SetCardInfo("Grist, the Plague Swarm", 251, Rarity.MYTHIC, mage.cards.g.GristThePlagueSwarm.class));