[ICE] Implement Arcum's Sleigh (#11830)

This commit is contained in:
Cameron Merkel 2024-02-21 19:57:03 -06:00 committed by GitHub
parent 7c42736745
commit d24ccc9065
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 60 additions and 0 deletions

View file

@ -0,0 +1,59 @@
package mage.cards.a;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.condition.CompoundCondition;
import mage.abilities.condition.common.DefendingPlayerControlsNoSourceCondition;
import mage.abilities.condition.common.IsPhaseCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SuperType;
import mage.constants.TurnPhase;
import mage.filter.common.FilterLandPermanent;
import mage.target.common.TargetCreaturePermanent;
/**
* @author Cguy7777
*/
public final class ArcumsSleigh extends CardImpl {
private static final FilterLandPermanent filter = new FilterLandPermanent();
static {
filter.add(SuperType.SNOW.getPredicate());
}
public ArcumsSleigh(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
// {2}, {tap}: Target creature gains vigilance until end of turn.
// Activate only during combat and only if defending player controls a snow land.
CompoundCondition condition = new CompoundCondition(
"during combat and only if defending player controls a snow land",
new IsPhaseCondition(TurnPhase.COMBAT, false), // Only during combat
new DefendingPlayerControlsNoSourceCondition(filter) // Only if defending player controls a snow land
);
Ability ability = new ConditionalActivatedAbility(
new GainAbilityTargetEffect(VigilanceAbility.getInstance()), new GenericManaCost(2), condition);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
private ArcumsSleigh(final ArcumsSleigh card) {
super(card);
}
@Override
public ArcumsSleigh copy() {
return new ArcumsSleigh(this);
}
}

View file

@ -34,6 +34,7 @@ public final class IceAge extends ExpansionSet {
cards.add(new SetCardInfo("Altar of Bone", 281, Rarity.RARE, mage.cards.a.AltarOfBone.class));
cards.add(new SetCardInfo("Anarchy", 170, Rarity.UNCOMMON, mage.cards.a.Anarchy.class));
cards.add(new SetCardInfo("Arctic Foxes", 2, Rarity.COMMON, mage.cards.a.ArcticFoxes.class));
cards.add(new SetCardInfo("Arcum's Sleigh", 309, Rarity.UNCOMMON, mage.cards.a.ArcumsSleigh.class));
cards.add(new SetCardInfo("Arenson's Aura", 3, Rarity.COMMON, mage.cards.a.ArensonsAura.class));
cards.add(new SetCardInfo("Armor of Faith", 4, Rarity.COMMON, mage.cards.a.ArmorOfFaith.class));
cards.add(new SetCardInfo("Arnjlot's Ascent", 57, Rarity.COMMON, mage.cards.a.ArnjlotsAscent.class));