[M3C] Implement Horizon of Progress

This commit is contained in:
theelk801 2024-05-31 09:03:28 -04:00
parent 46adbe1980
commit 256077e980
2 changed files with 56 additions and 0 deletions

View file

@ -0,0 +1,55 @@
package mage.cards.h;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.PayLifeCost;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.PutCardFromHandOntoBattlefieldEffect;
import mage.abilities.mana.AnyColorLandsProduceManaAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.StaticFilters;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class HorizonOfProgress extends CardImpl {
public HorizonOfProgress(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
// {T}, Pay 1 life: Add one mana of any type that a land you control could produce.
Ability ability = new AnyColorLandsProduceManaAbility(TargetController.YOU, false);
ability.addCost(new PayLifeCost(1));
this.addAbility(ability);
// {3}, {T}: You may put a land card from your hand onto the battlefield tapped.
ability = new SimpleActivatedAbility(
new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_LAND_A), new GenericManaCost(3)
);
ability.addCost(new TapSourceCost());
this.addAbility(ability);
// {1}, {T}, Sacrifice Horizon of Progress: Draw a card.
ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new GenericManaCost(1));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
private HorizonOfProgress(final HorizonOfProgress card) {
super(card);
}
@Override
public HorizonOfProgress copy() {
return new HorizonOfProgress(this);
}
}

View file

@ -116,6 +116,7 @@ public final class ModernHorizons3Commander extends ExpansionSet {
cards.add(new SetCardInfo("Hidden Cataract", 348, Rarity.COMMON, mage.cards.h.HiddenCataract.class));
cards.add(new SetCardInfo("Hidden Nursery", 349, Rarity.COMMON, mage.cards.h.HiddenNursery.class));
cards.add(new SetCardInfo("Hideous Taskmaster", 57, Rarity.RARE, mage.cards.h.HideousTaskmaster.class));
cards.add(new SetCardInfo("Horizon of Progress", 78, Rarity.RARE, mage.cards.h.HorizonOfProgress.class));
cards.add(new SetCardInfo("Hour of Promise", 232, Rarity.RARE, mage.cards.h.HourOfPromise.class));
cards.add(new SetCardInfo("Hydra Broodmaster", 233, Rarity.RARE, mage.cards.h.HydraBroodmaster.class));
cards.add(new SetCardInfo("Hydroid Krasis", 266, Rarity.MYTHIC, mage.cards.h.HydroidKrasis.class));