Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions Mage.Sets/src/mage/cards/a/AsgardianInspiration.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package mage.cards.a;

import java.util.UUID;

import mage.abilities.Ability;
import mage.abilities.common.SourceDealsNoncombatDamageToOpponentTriggeredAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.ExileTopXMayPlayUntilEffect;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SetTargetPointer;
import mage.constants.Zone;
import mage.watchers.common.DamagedPlayerThisCombatWatcher;

/**
*
* @author muz
*/
public final class AsgardianInspiration extends CardImpl {

public AsgardianInspiration(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}");

// Exile the top card of your library. You may play it this turn.
this.getSpellAbility().addEffect(
new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn).withTextOptions("it", true)
);

// Whenever a source you control deals noncombat damage to an opponent, you may pay {2}. If you do, return this card from your graveyard to your hand.
Ability ability = new SourceDealsNoncombatDamageToOpponentTriggeredAbility(
Zone.GRAVEYARD,
new DoIfCostPaid(
new ReturnSourceFromGraveyardToHandEffect(),
new ManaCostsImpl<>("{2}")
),
false, SetTargetPointer.NONE
);
ability.addWatcher(new DamagedPlayerThisCombatWatcher());
this.addAbility(ability);
}

private AsgardianInspiration(final AsgardianInspiration card) {
super(card);
}

@Override
public AsgardianInspiration copy() {
return new AsgardianInspiration(this);
}
}
1 change: 1 addition & 0 deletions Mage.Sets/src/mage/sets/MarvelSuperHeroesCommander.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ private MarvelSuperHeroesCommander() {
cards.add(new SetCardInfo("Arcane Signet", 193, Rarity.UNCOMMON, mage.cards.a.ArcaneSignet.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Arcane Signet", 194, Rarity.UNCOMMON, mage.cards.a.ArcaneSignet.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Armed Assailant", 647, Rarity.COMMON, mage.cards.a.ArmedAssailant.class));
cards.add(new SetCardInfo("Asgardian Inspiration", 678, Rarity.UNCOMMON, mage.cards.a.AsgardianInspiration.class));
cards.add(new SetCardInfo("Astonishing Spider-Man", 740, Rarity.RARE, mage.cards.a.AstonishingSpiderMan.class));
cards.add(new SetCardInfo("Atlantean Skirmisher", 616, Rarity.UNCOMMON, mage.cards.a.AtlanteanSkirmisher.class));
cards.add(new SetCardInfo("Aunt May", 768, Rarity.UNCOMMON, mage.cards.a.AuntMay.class));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,11 @@ public SourceDealsNoncombatDamageToOpponentTriggeredAbility(Effect effect, SetTa
}

public SourceDealsNoncombatDamageToOpponentTriggeredAbility(Effect effect, boolean optional, SetTargetPointer setTargetPointer) {
super(Zone.BATTLEFIELD, effect, optional);
this(Zone.BATTLEFIELD, effect, optional, setTargetPointer);
}

public SourceDealsNoncombatDamageToOpponentTriggeredAbility(Zone zone, Effect effect, boolean optional, SetTargetPointer setTargetPointer) {
super(zone, effect, optional);
this.setTargetPointer = setTargetPointer;
setTriggerPhrase("Whenever a source you control deals noncombat damage to an opponent, ");
}
Expand Down
Loading