public SpitefulMotives(UUID ownerId) { super( ownerId, 183, "Spiteful Motives", Rarity.UNCOMMON, new CardType[] {CardType.ENCHANTMENT}, "{3}{R}"); this.expansionSetCode = "SOI"; this.subtype.add("Aura"); // Flash this.addAbility(FlashAbility.getInstance()); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // Enchanted creature gets +3/+0 and has first strike. Effect effect = new BoostEnchantedEffect(3, 0, Duration.WhileOnBattlefield); effect.setText("Enchanted creature gets +3/+0"); ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); effect = new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA); effect.setText("and has first strike"); ability.addEffect(effect); this.addAbility(ability); }
public AlexisCloak(UUID ownerId) { super( ownerId, 29, "Alexi's Cloak", Rarity.COMMON, new CardType[] {CardType.ENCHANTMENT}, "{1}{U}"); this.expansionSetCode = "PCY"; this.subtype.add("Aura"); // Flash this.addAbility(FlashAbility.getInstance()); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // Enchanted creature has shroud. this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA))); }
public MasakoTheHumorless(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{2}{W}"); this.supertype.add("Legendary"); this.subtype.add("Human"); this.subtype.add("Advisor"); this.power = new MageInt(2); this.toughness = new MageInt(1); // Flash this.addAbility(FlashAbility.getInstance()); // Tapped creatures you control can block as though they were untapped. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BlockTappedEffect())); }
public Skylasher(UUID ownerId) { super(ownerId, 49, "Skylasher", Rarity.RARE, new CardType[] {CardType.CREATURE}, "{1}{G}"); this.expansionSetCode = "DGM"; this.subtype.add("Insect"); this.color.setGreen(true); this.power = new MageInt(2); this.toughness = new MageInt(2); // Flash this.addAbility(FlashAbility.getInstance()); // Skylasher can't be countered. this.addAbility(new CantCounterAbility()); // Reach, protection from blue this.addAbility(ReachAbility.getInstance()); this.addAbility(new ProtectionAbility(filter)); }
public TorrentialGearhulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[] {CardType.ARTIFACT, CardType.CREATURE}, "{4}{U}{U}"); this.subtype.add("Construct"); this.power = new MageInt(5); this.toughness = new MageInt(6); // Flash this.addAbility(FlashAbility.getInstance()); // When Torrential Gearhulk enters the battlefield, you may cast target instant card from your // graveyard without paying its mana cost. // If that card would be put into your graveyard this turn, exile it instead. Ability ability = new EntersBattlefieldTriggeredAbility(new TorrentialGearhulkEffect()); ability.addTarget(new TargetCardInYourGraveyard(filter)); this.addAbility(ability); }
public SulfurElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{2}{R}"); this.subtype.add("Elemental"); this.power = new MageInt(3); this.toughness = new MageInt(2); // Flash this.addAbility(FlashAbility.getInstance()); // Split second this.addAbility(new SplitSecondAbility()); // White creatures get +1/-1. this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new BoostAllEffect(1, -1, Duration.WhileOnBattlefield, filter, false))); }
public Quickling(UUID ownerId) { super(ownerId, 76, "Quickling", Rarity.UNCOMMON, new CardType[] {CardType.CREATURE}, "{1}{U}"); this.expansionSetCode = "M15"; this.subtype.add("Faerie"); this.subtype.add("Rogue"); this.power = new MageInt(2); this.toughness = new MageInt(2); // Flying this.addAbility(FlyingAbility.getInstance()); // Flash this.addAbility(FlashAbility.getInstance()); // When Quickling enters the battlefield, sacrifice it unless you return another creature you // control to its owner's hand. this.addAbility(new EntersBattlefieldTriggeredAbility(new QuicklingEffect())); }
public Pestermite(UUID ownerId) { super(ownerId, 78, "Pestermite", Rarity.COMMON, new CardType[] {CardType.CREATURE}, "{2}{U}"); this.expansionSetCode = "LRW"; this.subtype.add("Faerie"); this.subtype.add("Rogue"); this.power = new MageInt(2); this.toughness = new MageInt(1); // Flash this.addAbility(FlashAbility.getInstance()); // Flying this.addAbility(FlyingAbility.getInstance()); // When Pestermite enters the battlefield, you may tap or untap target permanent. Ability ability = new EntersBattlefieldTriggeredAbility(new MayTapOrUntapTargetEffect()); ability.addTarget(new TargetPermanent()); this.addAbility(ability); }
public Dawnfluke(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{3}{W}"); this.subtype.add("Elemental"); this.power = new MageInt(0); this.toughness = new MageInt(3); // Flash this.addAbility(FlashAbility.getInstance()); // When Dawnfluke enters the battlefield, prevent the next 3 damage that would be dealt to // target creature or player this turn. Ability ability = new EntersBattlefieldTriggeredAbility( new PreventDamageToTargetEffect(Duration.EndOfTurn, 3)); Target target = new TargetCreatureOrPlayer(); ability.addTarget(target); this.addAbility(ability); // Evoke {W} this.addAbility(new EvokeAbility(this, "{W}")); }
public MistbindClique(UUID ownerId) { super( ownerId, 75, "Mistbind Clique", Rarity.RARE, new CardType[] {CardType.CREATURE}, "{3}{U}"); this.expansionSetCode = "LRW"; this.subtype.add("Faerie"); this.subtype.add("Wizard"); this.color.setBlue(true); this.power = new MageInt(4); this.toughness = new MageInt(4); // Flash this.addAbility(FlashAbility.getInstance()); // Flying this.addAbility(FlyingAbility.getInstance()); // Champion a Faerie this.addAbility(new ChampionAbility(this, "Faerie")); // When a Faerie is championed with Mistbind Clique, tap all lands target player controls. this.addAbility(new MistbindCliqueAbility()); }
public ScionOfOona(UUID ownerId) { super(ownerId, 83, "Scion of Oona", Rarity.RARE, new CardType[] {CardType.CREATURE}, "{2}{U}"); this.expansionSetCode = "LRW"; this.subtype.add("Faerie"); this.subtype.add("Soldier"); this.color.setBlue(true); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(FlashAbility.getInstance()); this.addAbility(FlyingAbility.getInstance()); // Other Faerie creatures you control get +1/+1. this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true))); // Other Faeries you control have shroud. this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new GainAbilityControlledEffect( ShroudAbility.getInstance(), Duration.EndOfTurn, filter, true))); }
public ThunderclapWyvern(UUID ownerId) { super( ownerId, 218, "Thunderclap Wyvern", Rarity.UNCOMMON, new CardType[] {CardType.CREATURE}, "{2}{W}{U}"); this.expansionSetCode = "ORI"; this.subtype.add("Drake"); this.power = new MageInt(2); this.toughness = new MageInt(3); // Flash this.addAbility(FlashAbility.getInstance()); // Flying this.addAbility(FlyingAbility.getInstance()); // Other creatures you control with flying get +1/+1. Effect effect = new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true); effect.setText("Other creatures you control with flying get +1/+1"); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); }
public DrownyardBehemoth(UUID ownerId) { super( ownerId, 4, "Drownyard Behemoth", Rarity.UNCOMMON, new CardType[] {CardType.CREATURE}, "{9}"); this.expansionSetCode = "EMN"; this.subtype.add("Eldrazi"); this.subtype.add("Crab"); this.power = new MageInt(5); this.toughness = new MageInt(7); // Flash this.addAbility(FlashAbility.getInstance()); // Emerge {7}{U} this.addAbility(new EmergeAbility(this, new ManaCostsImpl<>("{7}{U}"))); // Drownyard Behemoth has hexproof as long as it entered the battlefield this turn. this.addAbility( new AsEntersBattlefieldAbility( new GainAbilitySourceEffect(HexproofAbility.getInstance(), Duration.EndOfTurn))); }
public AvenMindcensor(UUID ownerId) { super( ownerId, 18, "Aven Mindcensor", Rarity.UNCOMMON, new CardType[] {CardType.CREATURE}, "{2}{W}"); this.expansionSetCode = "FUT"; this.subtype.add("Bird"); this.subtype.add("Wizard"); this.color.setWhite(true); this.power = new MageInt(2); this.toughness = new MageInt(1); // Flash this.addAbility(FlashAbility.getInstance()); // Flying this.addAbility(FlyingAbility.getInstance()); // If an opponent would search a library, that player searches the top four cards of that // library instead. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AvenMindcensorEffect())); }
public CallerOfTheClaw(UUID ownerId) { super( ownerId, 121, "Caller of the Claw", Rarity.RARE, new CardType[] {CardType.CREATURE}, "{2}{G}"); this.expansionSetCode = "LGN"; this.subtype.add("Elf"); this.color.setGreen(true); this.power = new MageInt(2); this.toughness = new MageInt(2); // Flash this.addAbility(FlashAbility.getInstance()); // When Caller of the Claw enters the battlefield, put a 2/2 green Bear creature token onto the // battlefield for each nontoken creature put into your graveyard from the battlefield this // turn. this.getSpellAbility().addWatcher(new CallerOfTheClawWatcher()); Effect effect = new CreateTokenEffect(new BearToken(), new CallerOfTheClawDynamicValue()); this.addAbility(new EntersBattlefieldTriggeredAbility(effect)); }