forked from External/mage
[LCI] Implement Quintorius Kand
This commit is contained in:
parent
83d877a9d0
commit
0f7db0c69d
3 changed files with 99 additions and 0 deletions
97
Mage.Sets/src/mage/cards/q/QuintoriusKand.java
Normal file
97
Mage.Sets/src/mage/cards/q/QuintoriusKand.java
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
package mage.cards.q;
|
||||
|
||||
import mage.Mana;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.DamagePlayersEffect;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.effects.keyword.DiscoverEffect;
|
||||
import mage.cards.*;
|
||||
import mage.constants.*;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.token.Spirit32Token;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetCardInYourGraveyard;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class QuintoriusKand extends CardImpl {
|
||||
|
||||
public QuintoriusKand(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{R}{W}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.QUINTORIUS);
|
||||
this.setStartingLoyalty(4);
|
||||
|
||||
// Whenever you cast a spell from exile, Quintorius Kand deals 2 damage to each opponent and you gain 2 life.
|
||||
Ability ability = new SpellCastControllerTriggeredAbility(
|
||||
Zone.BATTLEFIELD, new DamagePlayersEffect(2, TargetController.OPPONENT),
|
||||
StaticFilters.FILTER_SPELL_A, false, SetTargetPointer.NONE, Zone.EXILED
|
||||
);
|
||||
ability.addEffect(new GainLifeEffect(2).concatBy("and"));
|
||||
this.addAbility(ability);
|
||||
|
||||
// +1: Create a 3/2 red and white Spirit creature token.
|
||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new Spirit32Token()), 1));
|
||||
|
||||
// -3: Discover 4.
|
||||
this.addAbility(new LoyaltyAbility(new DiscoverEffect(4), -3));
|
||||
|
||||
// -6: Exile any number of target cards from your graveyard. Add {R} for each card exiled this way. You may play those cards this turn.
|
||||
ability = new LoyaltyAbility(new QuintoriusKandEffect(), -6);
|
||||
ability.addTarget(new TargetCardInYourGraveyard(0, Integer.MAX_VALUE));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private QuintoriusKand(final QuintoriusKand card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public QuintoriusKand copy() {
|
||||
return new QuintoriusKand(this);
|
||||
}
|
||||
}
|
||||
|
||||
class QuintoriusKandEffect extends OneShotEffect {
|
||||
|
||||
QuintoriusKandEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "exile any number of target cards from your graveyard. " +
|
||||
"Add {R} for each card exiled this way. You may play those cards this turn";
|
||||
}
|
||||
|
||||
private QuintoriusKandEffect(final QuintoriusKandEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public QuintoriusKandEffect copy() {
|
||||
return new QuintoriusKandEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player player = game.getPlayer(source.getControllerId());
|
||||
Cards cards = new CardsImpl(getTargetPointer().getTargets(game, source));
|
||||
if (player == null || cards.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
player.moveCards(cards, Zone.EXILED, source, game);
|
||||
player.getManaPool().addMana(Mana.RedMana(cards.size()), game, source);
|
||||
for (Card card : cards.getCards(game)) {
|
||||
CardUtil.makeCardPlayable(game, source, card, Duration.EndOfTurn, false);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -65,6 +65,7 @@ public final class TheLostCavernsOfIxalan extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Plains", 393, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Poison Dart Frog", 207, Rarity.COMMON, mage.cards.p.PoisonDartFrog.class));
|
||||
cards.add(new SetCardInfo("Pugnacious Hammerskull", 208, Rarity.RARE, mage.cards.p.PugnaciousHammerskull.class));
|
||||
cards.add(new SetCardInfo("Quintorius Kand", 238, Rarity.MYTHIC, mage.cards.q.QuintoriusKand.class));
|
||||
cards.add(new SetCardInfo("Rampaging Spiketail", 116, Rarity.COMMON, mage.cards.r.RampagingSpiketail.class));
|
||||
cards.add(new SetCardInfo("Restless Prairie", 281, Rarity.RARE, mage.cards.r.RestlessPrairie.class));
|
||||
cards.add(new SetCardInfo("Roar of the Fifth People", 189, Rarity.MYTHIC, mage.cards.r.RoarOfTheFifthPeople.class));
|
||||
|
|
|
|||
|
|
@ -483,6 +483,7 @@ public enum SubType {
|
|||
NIXILIS("Nixilis", SubTypeSet.PlaneswalkerType),
|
||||
OBI_WAN("Obi-Wan", SubTypeSet.PlaneswalkerType, true), // Star Wars
|
||||
OKO("Oko", SubTypeSet.PlaneswalkerType),
|
||||
QUINTORIUS("Quintorius", SubTypeSet.PlaneswalkerType),
|
||||
RAL("Ral", SubTypeSet.PlaneswalkerType),
|
||||
REY("Rey", SubTypeSet.PlaneswalkerType, true), // Star Wars,
|
||||
ROWAN("Rowan", SubTypeSet.PlaneswalkerType),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue