mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
Add 2 of the new Fallout SLD cards and reprint info (#14257)
* Add in Fallout SLD reprints * update mtg-cards-data with new Fallout SLD cards * [SLD] Implement Maximus, Knight Apparent, and The Ghoul, Gunslinger * PR comments * Correct SLD art declarations with reprints for Yoshimaru and Mindcrank introduced
This commit is contained in:
parent
ae8b624c4c
commit
cbfe10b4a2
4 changed files with 199 additions and 3 deletions
70
Mage.Sets/src/mage/cards/m/MaximusKnightApparent.java
Normal file
70
Mage.Sets/src/mage/cards/m/MaximusKnightApparent.java
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
package mage.cards.m;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.predicate.mageobject.ManaValuePredicate;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect;
|
||||
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.ComparisonType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author muz
|
||||
*/
|
||||
public final class MaximusKnightApparent extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCard(SubType.EQUIPMENT, "an Equipment card with mana value 2");
|
||||
|
||||
static {
|
||||
filter.add(new ManaValuePredicate(ComparisonType.EQUAL_TO, 2));
|
||||
}
|
||||
|
||||
public MaximusKnightApparent(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.subtype.add(SubType.KNIGHT);
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(4);
|
||||
|
||||
// Trample
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// When Maximus enters, you may search your library for an Equipment card with mana value 2, reveal it, put it into your hand, then shuffle.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true), true
|
||||
));
|
||||
|
||||
// {1}, Sacrifice an artifact: You get {E}{E} (two energy counters).
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new GetEnergyCountersControllerEffect(2),
|
||||
new GenericManaCost(1)
|
||||
);
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT_AN));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private MaximusKnightApparent(final MaximusKnightApparent card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaximusKnightApparent copy() {
|
||||
return new MaximusKnightApparent(this);
|
||||
}
|
||||
}
|
||||
103
Mage.Sets/src/mage/cards/t/TheGhoulGunslinger.java
Normal file
103
Mage.Sets/src/mage/cards/t/TheGhoulGunslinger.java
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
package mage.cards.t;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DiesThisOrAnotherTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.keyword.FirstStrikeAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.permanent.TokenPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.token.Token;
|
||||
import mage.game.permanent.token.TreasureToken;
|
||||
import mage.players.Player;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author muz
|
||||
*/
|
||||
public final class TheGhoulGunslinger extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterControlledPermanent("another nontoken Zombie or Mutant you control");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
SubType.ZOMBIE.getPredicate(),
|
||||
SubType.MUTANT.getPredicate()
|
||||
));
|
||||
filter.add(TokenPredicate.FALSE);
|
||||
}
|
||||
|
||||
public TheGhoulGunslinger(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.ZOMBIE);
|
||||
this.subtype.add(SubType.MUTANT);
|
||||
this.subtype.add(SubType.ROGUE);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// First strike
|
||||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
|
||||
// Whenever The Ghoul or another nontoken Zombie or Mutant you control dies, target player gets two rad counters.
|
||||
// If that player is you, create a Treasure token.
|
||||
Ability ability = new DiesThisOrAnotherTriggeredAbility(
|
||||
new TheGhoulGunslingerEffect(), false, filter
|
||||
);
|
||||
ability.addTarget(new TargetPlayer());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private TheGhoulGunslinger(final TheGhoulGunslinger card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TheGhoulGunslinger copy() {
|
||||
return new TheGhoulGunslinger(this);
|
||||
}
|
||||
}
|
||||
|
||||
class TheGhoulGunslingerEffect extends OneShotEffect {
|
||||
|
||||
TheGhoulGunslingerEffect() {
|
||||
super(Outcome.GainLife);
|
||||
staticText = "target player gets two rad counters. If that player is you, create a Treasure token.";
|
||||
}
|
||||
|
||||
private TheGhoulGunslingerEffect(final TheGhoulGunslingerEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TheGhoulGunslingerEffect copy() {
|
||||
return new TheGhoulGunslingerEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player targetPlayer = game.getPlayer(getTargetPointer().getFirst(game, source));
|
||||
if (targetPlayer == null) {
|
||||
return false;
|
||||
}
|
||||
targetPlayer.addCounters(CounterType.RAD.createInstance(2), source.getControllerId(), source, game);
|
||||
if (source.isControlledBy(targetPlayer.getId())) {
|
||||
Token token = new TreasureToken();
|
||||
token.putOntoBattlefield(1, game, source, source.getControllerId());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -793,7 +793,7 @@ public class SecretLairDrop extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Solemn Simulacrum", "791*", Rarity.RARE, mage.cards.s.SolemnSimulacrum.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Command Tower", 792, Rarity.RARE, mage.cards.c.CommandTower.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Nine Lives", 793, Rarity.RARE, mage.cards.n.NineLives.class));
|
||||
cards.add(new SetCardInfo("Yoshimaru, Ever Faithful", 794, Rarity.MYTHIC, mage.cards.y.YoshimaruEverFaithful.class));
|
||||
cards.add(new SetCardInfo("Yoshimaru, Ever Faithful", 794, Rarity.MYTHIC, mage.cards.y.YoshimaruEverFaithful.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Wastes", "795*", Rarity.RARE, mage.cards.w.Wastes.class, FULL_ART_BFZ_VARIOUS));
|
||||
cards.add(new SetCardInfo("Mana Vault", "796*", Rarity.MYTHIC, mage.cards.m.ManaVault.class));
|
||||
cards.add(new SetCardInfo("Seraph Sanctuary", 797, Rarity.RARE, mage.cards.s.SeraphSanctuary.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
@ -1320,7 +1320,7 @@ public class SecretLairDrop extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Bottomless Pit", 1404, Rarity.RARE, mage.cards.b.BottomlessPit.class));
|
||||
cards.add(new SetCardInfo("Necrogen Mists", 1405, Rarity.RARE, mage.cards.n.NecrogenMists.class));
|
||||
cards.add(new SetCardInfo("Reassembling Skeleton", 1406, Rarity.RARE, mage.cards.r.ReassemblingSkeleton.class));
|
||||
cards.add(new SetCardInfo("Tinybones, Trinket Thief", 1407, Rarity.MYTHIC, mage.cards.t.TinybonesTrinketThief.class));
|
||||
cards.add(new SetCardInfo("Tinybones, Trinket Thief", 1407, Rarity.MYTHIC, mage.cards.t.TinybonesTrinketThief.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Geier Reach Sanitarium", 1408, Rarity.RARE, mage.cards.g.GeierReachSanitarium.class));
|
||||
cards.add(new SetCardInfo("Captain Lannery Storm", 1409, Rarity.RARE, mage.cards.c.CaptainLanneryStorm.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Captain Lannery Storm", "1409*", Rarity.RARE, mage.cards.c.CaptainLanneryStorm.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
@ -2140,7 +2140,7 @@ public class SecretLairDrop extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Captain N'ghathrod", 2183, Rarity.MYTHIC, mage.cards.c.CaptainNghathrod.class));
|
||||
cards.add(new SetCardInfo("Nekusar, the Mindrazer", 2184, Rarity.RARE, mage.cards.n.NekusarTheMindrazer.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Iron Maiden", 2185, Rarity.RARE, mage.cards.i.IronMaiden.class, FULL_ART));
|
||||
cards.add(new SetCardInfo("Mindcrank", 2186, Rarity.RARE, mage.cards.m.Mindcrank.class, FULL_ART));
|
||||
cards.add(new SetCardInfo("Mindcrank", 2186, Rarity.RARE, mage.cards.m.Mindcrank.class, FULL_ART_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Lethal Scheme", 2187, Rarity.RARE, mage.cards.l.LethalScheme.class));
|
||||
cards.add(new SetCardInfo("Grave Titan", 2188, Rarity.MYTHIC, mage.cards.g.GraveTitan.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Animate Dead", 2189, Rarity.RARE, mage.cards.a.AnimateDead.class));
|
||||
|
|
@ -2228,6 +2228,26 @@ public class SecretLairDrop extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Serum Visions", 2323, Rarity.RARE, mage.cards.s.SerumVisions.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Umbris, Fear Manifest", 2324, Rarity.MYTHIC, mage.cards.u.UmbrisFearManifest.class));
|
||||
cards.add(new SetCardInfo("Spellskite", 2325, Rarity.RARE, mage.cards.s.Spellskite.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("The Ghoul, Gunslinger", 2448, Rarity.MYTHIC, mage.cards.t.TheGhoulGunslinger.class));
|
||||
cards.add(new SetCardInfo("Maximus, Knight Apparent", 2449, Rarity.MYTHIC, mage.cards.m.MaximusKnightApparent.class));
|
||||
cards.add(new SetCardInfo("Pre-War Formalwear", 2450, Rarity.RARE, mage.cards.p.PreWarFormalwear.class));
|
||||
cards.add(new SetCardInfo("Spirit Mantle", 2451, Rarity.RARE, mage.cards.s.SpiritMantle.class));
|
||||
cards.add(new SetCardInfo("T-45 Power Armor", 2452, Rarity.RARE, mage.cards.t.T45PowerArmor.class));
|
||||
cards.add(new SetCardInfo("Ripples of Potential", 2453, Rarity.RARE, mage.cards.r.RipplesOfPotential.class));
|
||||
cards.add(new SetCardInfo("Mutational Advantage", 2454, Rarity.RARE, mage.cards.m.MutationalAdvantage.class));
|
||||
cards.add(new SetCardInfo("The Wise Mothman", 2455, Rarity.MYTHIC, mage.cards.t.TheWiseMothman.class));
|
||||
cards.add(new SetCardInfo("Mindcrank", 2456, Rarity.RARE, mage.cards.m.Mindcrank.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Mesmeric Orb", 2457, Rarity.RARE, mage.cards.m.MesmericOrb.class));
|
||||
cards.add(new SetCardInfo("Tinybones, Trinket Thief", 2458, Rarity.MYTHIC, mage.cards.t.TinybonesTrinketThief.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Isshin, Two Heavens as One", 2459, Rarity.RARE, mage.cards.i.IsshinTwoHeavensAsOne.class));
|
||||
cards.add(new SetCardInfo("The Deck of Many Things", 2460, Rarity.MYTHIC, mage.cards.t.TheDeckOfManyThings.class));
|
||||
cards.add(new SetCardInfo("Caged Sun", 2461, Rarity.RARE, mage.cards.c.CagedSun.class));
|
||||
cards.add(new SetCardInfo("Nuka-Cola Vending Machine", 2462, Rarity.RARE, mage.cards.n.NukaColaVendingMachine.class));
|
||||
cards.add(new SetCardInfo("Yoshimaru, Ever Faithful", 2463, Rarity.MYTHIC, mage.cards.y.YoshimaruEverFaithful.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Arcane Signet", 2464, Rarity.RARE, mage.cards.a.ArcaneSignet.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Lightning Greaves", 2465, Rarity.RARE, mage.cards.l.LightningGreaves.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Patchwork Banner", 2466, Rarity.RARE, mage.cards.p.PatchworkBanner.class));
|
||||
cards.add(new SetCardInfo("Sol Ring", 2467, Rarity.RARE, mage.cards.s.SolRing.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Feed the Swarm", 7001, Rarity.RARE, mage.cards.f.FeedTheSwarm.class));
|
||||
cards.add(new SetCardInfo("Forge Anew", 7002, Rarity.RARE, mage.cards.f.ForgeAnew.class));
|
||||
cards.add(new SetCardInfo("Silence", 7003, Rarity.RARE, mage.cards.s.Silence.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
|
|||
|
|
@ -61547,3 +61547,6 @@ Thriving Isle|Lorwyn Eclipsed Commander|173|C||Land|||This land enters tapped. A
|
|||
Thriving Moor|Lorwyn Eclipsed Commander|174|C||Land|||This land enters tapped. As it enters, choose a color other than black.${T}: Add {B} or one mana of the chosen color.|
|
||||
Unclaimed Territory|Lorwyn Eclipsed Commander|175|U||Land|||As this land enters, choose a creature type.${T}: Add {C}.${T}: Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type.|
|
||||
Woodland Cemetery|Lorwyn Eclipsed Commander|176|R||Land|||This land enters tapped unless you control a Swamp or a Forest.${T}: Add {B} or {G}.|
|
||||
Lucy MacLean, Positively Armed|Secret Lair Drop|2447|M|{4}{W}|Legendary Creature - Human Survivor|3|5|Golden Rule -- Whenever a token enters, you may have target player other than its controller create a token that's a copy of it, then you draw a card if an opponent created a token this way. Do this only once each turn.|
|
||||
The Ghoul, Gunslinger|Secret Lair Drop|2448|M|{1}{B}{B}|Legendary Creature - Zombie Mutant Rogue|2|3|First strike$Whenever The Ghoul or another nontoken Zombie or Mutant you control dies, target player gets two rad counters. If that player is you, create a Treasure token.|
|
||||
Maximus, Knight Apparent|Secret Lair Drop|2449|M|{3}{R}|Legendary Creature - Human Knight|4|4|Trample$When Maximus enters, you may search your library for an Equipment card with mana value 2, reveal it, put it into your hand, then shuffle.${1}, Sacrifice an artifact: You get {E}{E} (two energy counters).|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue