mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
[TMT] Implement Does Machines (#14264)
This commit is contained in:
parent
58abc99d68
commit
502f9150a2
3 changed files with 113 additions and 0 deletions
111
Mage.Sets/src/mage/cards/d/DoesMachines.java
Normal file
111
Mage.Sets/src/mage/cards/d/DoesMachines.java
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.constants.SubType;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.game.permanent.token.custom.CreatureToken;
|
||||
import mage.target.common.TargetCardInYourGraveyard;
|
||||
import mage.target.common.TargetControlledPermanent;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BecomesClassLevelTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.dynamicvalue.common.StaticValue;
|
||||
import mage.abilities.effects.ContinuousEffect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.DrawDiscardControllerEffect;
|
||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.GainClassAbilitySourceEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
|
||||
import mage.abilities.keyword.ClassLevelAbility;
|
||||
import mage.abilities.keyword.ClassReminderAbility;
|
||||
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author muz
|
||||
*/
|
||||
public final class DoesMachines extends CardImpl {
|
||||
|
||||
public DoesMachines(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}");
|
||||
|
||||
this.subtype.add(SubType.CLASS);
|
||||
|
||||
// (Gain the next level as a sorcery to add its ability.)
|
||||
this.addAbility(new ClassReminderAbility());
|
||||
|
||||
// When this Class enters, mill two cards, draw two cards, then discard two cards.
|
||||
Ability enterAbility = new EntersBattlefieldAbility(new MillCardsControllerEffect(2));
|
||||
enterAbility.addEffect(new DrawDiscardControllerEffect(2, 2));
|
||||
this.addAbility(enterAbility);
|
||||
|
||||
// {1}{U}: Level 2
|
||||
this.addAbility(new ClassLevelAbility(2, "{1}{U}"));
|
||||
|
||||
// When this Class becomes level 2, return up to two target artifact cards from your graveyard to your hand.
|
||||
Ability level2Ability = new BecomesClassLevelTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), 2);
|
||||
level2Ability.addTarget(new TargetCardInYourGraveyard(0, 2, StaticFilters.FILTER_CARD_ARTIFACTS));
|
||||
this.addAbility(level2Ability);
|
||||
|
||||
// {4}{U}: Level 3
|
||||
this.addAbility(new ClassLevelAbility(2, "{4}{U}"));
|
||||
|
||||
// At the beginning of combat on your turn, put three +1/+1 counters on target artifact you control. If it isn't a creature, it becomes a 0/0 Robot creature in addition to its other types.
|
||||
Ability level3ability = new BeginningOfCombatTriggeredAbility(
|
||||
new AddCountersTargetEffect(CounterType.P1P1.createInstance(), StaticValue.get(3))
|
||||
);
|
||||
level3ability.addTarget(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT));
|
||||
level3ability.addEffect(new DoesMachinesEffect());
|
||||
this.addAbility(new SimpleStaticAbility(new GainClassAbilitySourceEffect(level3ability, 3)));
|
||||
}
|
||||
|
||||
private DoesMachines(final DoesMachines card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoesMachines copy() {
|
||||
return new DoesMachines(this);
|
||||
}
|
||||
}
|
||||
class DoesMachinesEffect extends OneShotEffect {
|
||||
|
||||
DoesMachinesEffect() {
|
||||
super(Outcome.BecomeCreature);
|
||||
this.staticText = "If it isn't a creature, it becomes a 0/0 Robot creature in addition to its other types";
|
||||
}
|
||||
|
||||
private DoesMachinesEffect(final DoesMachinesEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DoesMachinesEffect copy() {
|
||||
return new DoesMachinesEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
|
||||
if (!permanent.isCreature(game)) {
|
||||
ContinuousEffect continuousEffect = new BecomesCreatureTargetEffect(
|
||||
new CreatureToken(0, 0, "0/0 Robot creature").withSubType(SubType.ROBOT), false, true, Duration.Custom);
|
||||
continuousEffect.setTargetPointer(new FixedTarget(permanent, game));
|
||||
game.addEffect(continuousEffect, source);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -24,6 +24,7 @@ public final class TeenageMutantNinjaTurtles extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Bebop & Rocksteady", 140, Rarity.RARE, mage.cards.b.BebopAndRocksteady.class));
|
||||
cards.add(new SetCardInfo("Broadcast Takeover", 86, Rarity.MYTHIC, mage.cards.b.BroadcastTakeover.class));
|
||||
cards.add(new SetCardInfo("Casey Jones, Jury-Rig Justiciar", 87, Rarity.UNCOMMON, mage.cards.c.CaseyJonesJuryRigJusticiar.class));
|
||||
cards.add(new SetCardInfo("Does Machines", 34, Rarity.RARE, mage.cards.d.DoesMachines.class));
|
||||
cards.add(new SetCardInfo("Forest", 257, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS));
|
||||
cards.add(new SetCardInfo("Forest", 314, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS));
|
||||
cards.add(new SetCardInfo("Groundchuck & Dirtbag", 115, Rarity.RARE, mage.cards.g.GroundchuckAndDirtbag.class));
|
||||
|
|
|
|||
|
|
@ -61316,6 +61316,7 @@ Jin Sakai, Ghost of Tsushima|Secret Lair Drop|2226|M|{1}{W}{U}{B}|Legendary Crea
|
|||
Leonardo, Sewer Samurai|Teenage Mutant Ninja Turtles|17|M|{3}{W}|Legendary Creature - Mutant Ninja Turtle Samurai|3|3|Sneak {2}{W}{W}$Double strike$During your turn, you may cast creature spells with power or toughness 1 or less from your graveyard. If you cast a spell this way, that creature enters with a finality counter on it.|
|
||||
Turtles Forever|Teenage Mutant Ninja Turtles|27|R|{3}{W}|Instant|||Search your library and/or outside the game for exactly four legendary creature cards you own with different names, then reveal those cards. An opponent chooses two of them. Put the chosen cards into your hand and shuffle the rest into your library.|
|
||||
April O'Neil, Hacktivist|Teenage Mutant Ninja Turtles|29|R|{3}{U}|Legendary Creature - Human Scientist|1|5|At the beginning of your end step, draw a card for each card type among spells you've cast this turn.|
|
||||
Does Machines|Teenage Mutant Ninja Turtles|34|R|{1}{U}|Enchantment - Class|||(Gain the next level as a sorcery to add its ability.)$When this Class enters, mill two cards, draw two cards, then discard two cards.${1}{U}: Level 2$When this Class becomes level 2, return up to two target artifact cards from your graveyard to your hand.${4}{U}: Level 3$At the beginning of combat on your turn, put three +1/+1 counters on target artifact you control. If it isn't a creature, it becomes a 0/0 Robot creature in addition to its other types.|
|
||||
Krang, Master Mind|Teenage Mutant Ninja Turtles|43|R|{6}{U}{U}|Legendary Artifact Creature - Utrom Warrior|1|4|Affinity for artifacts$When Krang enters, if you have fewer than four cards in hand, draw cards equal to the difference.$Krang gets +1/+0 for each other artifact you control.|
|
||||
Shark Shredder, Killer Clone|Teenage Mutant Ninja Turtles|73|R|{2}{B}{B}|Legendary Creature - Shark Octopus Ninja|4|4|Sneak {3}{B}{B}$First strike$Whenever Shark Shredder deals combat damage to a player, put up to one target creature card from that player's graveyard onto the battlefield under your control. It enters tapped and attacking that player.|
|
||||
Splinter's Technique|Teenage Mutant Ninja Turtles|80|R|{3}{B}|Sorcery|||Sneak {1}{B}$Search your library for a card, put that card into your hand, then shuffle.|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue