mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
[OTC] Implement Arcane Heist
This commit is contained in:
parent
a86b629abe
commit
993fa36a9d
2 changed files with 52 additions and 0 deletions
51
Mage.Sets/src/mage/cards/a/ArcaneHeist.java
Normal file
51
Mage.Sets/src/mage/cards/a/ArcaneHeist.java
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
package mage.cards.a;
|
||||
|
||||
import mage.abilities.effects.common.CipherEffect;
|
||||
import mage.abilities.effects.common.MayCastTargetCardEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.CastManaAdjustment;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.target.common.TargetCardInOpponentsGraveyard;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author Susucr
|
||||
*/
|
||||
public final class ArcaneHeist extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("instant or sorcery card from an opponent's graveyard");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
CardType.INSTANT.getPredicate(),
|
||||
CardType.SORCERY.getPredicate()));
|
||||
}
|
||||
|
||||
public ArcaneHeist(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}{U}");
|
||||
|
||||
// You may cast target instant or sorcery card from an opponent's graveyard without paying its mana cost. If that spell would be put into their graveyard, exile it instead.
|
||||
this.getSpellAbility().addEffect(
|
||||
new MayCastTargetCardEffect(CastManaAdjustment.WITHOUT_PAYING_MANA_COST, true)
|
||||
.setText("You may cast target instant or sorcery card from an opponent's graveyard without paying its mana cost. "
|
||||
+ "If that spell would be put into their graveyard, exile it instead.")
|
||||
);
|
||||
this.getSpellAbility().addTarget(new TargetCardInOpponentsGraveyard(filter));
|
||||
|
||||
// Cipher
|
||||
this.getSpellAbility().addEffect(new CipherEffect());
|
||||
}
|
||||
|
||||
private ArcaneHeist(final ArcaneHeist card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArcaneHeist copy() {
|
||||
return new ArcaneHeist(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -29,6 +29,7 @@ public final class OutlawsOfThunderJunctionCommander extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Angrath's Marauders", 153, Rarity.RARE, mage.cards.a.AngrathsMarauders.class));
|
||||
cards.add(new SetCardInfo("Arcane Bombardment", 154, Rarity.MYTHIC, mage.cards.a.ArcaneBombardment.class));
|
||||
cards.add(new SetCardInfo("Arcane Denial", 89, Rarity.COMMON, mage.cards.a.ArcaneDenial.class));
|
||||
cards.add(new SetCardInfo("Arcane Heist", 13, Rarity.RARE, mage.cards.a.ArcaneHeist.class));
|
||||
cards.add(new SetCardInfo("Arcane Signet", 252, Rarity.COMMON, mage.cards.a.ArcaneSignet.class));
|
||||
cards.add(new SetCardInfo("Archmage Emeritus", 90, Rarity.RARE, mage.cards.a.ArchmageEmeritus.class));
|
||||
cards.add(new SetCardInfo("Avenger of Zendikar", 187, Rarity.MYTHIC, mage.cards.a.AvengerOfZendikar.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue