implement [MH3] Archway of Innovation

This commit is contained in:
Susucre 2024-06-06 12:23:42 +02:00
parent a63d0d079e
commit 1aa0113258
2 changed files with 63 additions and 0 deletions

View file

@ -0,0 +1,62 @@
package mage.cards.a;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.Condition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.TapSourceEffect;
import mage.abilities.effects.common.continuous.NextSpellCastHasAbilityEffect;
import mage.abilities.keyword.ImproviseAbility;
import mage.abilities.mana.BlueManaAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import java.util.UUID;
/**
* @author Susucr
*/
public final class ArchwayOfInnovation extends CardImpl {
private static final FilterPermanent filter = new FilterControlledPermanent(SubType.ISLAND);
private static final Condition condition
= new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.EQUAL_TO, 0);
public ArchwayOfInnovation(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
// Archway of Innovation enters the battlefield tapped unless you control an Island.
this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(
new TapSourceEffect(), condition
), "tapped unless you control an Island"));
// {T}: Add {U}.
this.addAbility(new BlueManaAbility());
// {U}, {T}: The next spell you cast this turn has improvise.
Ability ability = new SimpleActivatedAbility(
new NextSpellCastHasAbilityEffect(new ImproviseAbility()),
new ManaCostsImpl<>("{U}")
);
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
private ArchwayOfInnovation(final ArchwayOfInnovation card) {
super(card);
}
@Override
public ArchwayOfInnovation copy() {
return new ArchwayOfInnovation(this);
}
}

View file

@ -33,6 +33,7 @@ public final class ModernHorizons3 extends ExpansionSet {
cards.add(new SetCardInfo("Angel of the Ruins", 262, Rarity.UNCOMMON, mage.cards.a.AngelOfTheRuins.class));
cards.add(new SetCardInfo("Annoyed Altisaur", 284, Rarity.UNCOMMON, mage.cards.a.AnnoyedAltisaur.class));
cards.add(new SetCardInfo("Arcbound Condor", 81, Rarity.UNCOMMON, mage.cards.a.ArcboundCondor.class));
cards.add(new SetCardInfo("Archway of Innovation", 214, Rarity.RARE, mage.cards.a.ArchwayOfInnovation.class));
cards.add(new SetCardInfo("Argent Dais", 20, Rarity.RARE, mage.cards.a.ArgentDais.class));
cards.add(new SetCardInfo("Arna Kennerud, Skycaptain", 178, Rarity.MYTHIC, mage.cards.a.ArnaKennerudSkycaptain.class));
cards.add(new SetCardInfo("Ashling, Flame Dancer", 115, Rarity.MYTHIC, mage.cards.a.AshlingFlameDancer.class));