[DSK] Implement Aether Syphon

This commit is contained in:
theelk801 2025-01-24 11:16:07 -05:00
parent c3145d373c
commit c30ca003fe
2 changed files with 51 additions and 0 deletions

View file

@ -0,0 +1,50 @@
package mage.cards.a;
import mage.abilities.Ability;
import mage.abilities.common.DrawCardControllerTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.MillCardsEachPlayerEffect;
import mage.abilities.effects.common.continuous.MaxSpeedGainAbilityEffect;
import mage.abilities.keyword.StartYourEnginesAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class AetherSyphon extends CardImpl {
public AetherSyphon(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{U}{U}");
// Start your engines!
this.addAbility(new StartYourEnginesAbility());
// {2}, {T}: Draw a card.
Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new GenericManaCost(2));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
// Max speed -- Whenever you draw a card, each opponent mills two cards.
this.addAbility(new SimpleStaticAbility(new MaxSpeedGainAbilityEffect(new DrawCardControllerTriggeredAbility(
new MillCardsEachPlayerEffect(2, TargetController.OPPONENT), false
))));
}
private AetherSyphon(final AetherSyphon card) {
super(card);
}
@Override
public AetherSyphon copy() {
return new AetherSyphon(this);
}
}

View file

@ -25,6 +25,7 @@ public final class Aetherdrift extends ExpansionSet {
this.hasBasicLands = true;
this.hasBoosters = false; // temporary
cards.add(new SetCardInfo("Aether Syphon", 38, Rarity.UNCOMMON, mage.cards.a.AetherSyphon.class));
cards.add(new SetCardInfo("Air Response Unit", 1, Rarity.UNCOMMON, mage.cards.a.AirResponseUnit.class));
cards.add(new SetCardInfo("Bleachbone Verge", 250, Rarity.RARE, mage.cards.b.BleachboneVerge.class));
cards.add(new SetCardInfo("Bloodfell Caves", 251, Rarity.COMMON, mage.cards.b.BloodfellCaves.class));