public SoulOfNewPhyrexia(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[] {CardType.ARTIFACT, CardType.CREATURE}, "{6}"); this.subtype.add("Avatar"); this.power = new MageInt(6); this.toughness = new MageInt(6); // Trample this.addAbility(TrampleAbility.getInstance()); // {5}: Permanents you control gain indestructible until end of turn. this.addAbility( new SimpleActivatedAbility( Zone.BATTLEFIELD, new GainAbilityControlledEffect( IndestructibleAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(5))); // {5}, Exile Soul of New Phyrexia from your graveyard: Permanents you control gain // indestructible until end of turn. Ability ability = new SimpleActivatedAbility( Zone.GRAVEYARD, new GainAbilityControlledEffect( IndestructibleAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(5)); ability.addCost(new ExileSourceFromGraveCost()); this.addAbility(ability); }
public KarametraGodOfHarvests(UUID ownerId) { super( ownerId, 148, "Karametra, God of Harvests", Rarity.MYTHIC, new CardType[] {CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{G}{W}"); this.expansionSetCode = "BNG"; this.supertype.add("Legendary"); this.subtype.add("God"); this.power = new MageInt(6); this.toughness = new MageInt(7); // Indestructible this.addAbility(IndestructibleAbility.getInstance()); // As long as your devotion to green and white is less than seven, Karametra isn't a creature. Effect effect = new LoseCreatureTypeSourceEffect( new DevotionCount(ColoredManaSymbol.G, ColoredManaSymbol.W), 7); effect.setText( "As long as your devotion to green and white is less than seven, Karametra isn't a creature"); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); // Whenever you cast a creature spell, you may search your library for a Forest or Plains card, // put it onto the battlefield tapped, then shuffle your library. this.addAbility( new SpellCastControllerTriggeredAbility( new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), true), new FilterCreatureSpell("a creature spell"), true)); }
public DauntlessEscort(UUID ownerId) { super( ownerId, 67, "Dauntless Escort", Rarity.RARE, new CardType[] {CardType.CREATURE}, "{1}{G}{W}"); this.expansionSetCode = "ARB"; this.subtype.add("Rhino"); this.subtype.add("Soldier"); this.color.setGreen(true); this.color.setWhite(true); this.power = new MageInt(3); this.toughness = new MageInt(3); // Sacrifice Dauntless Escort: Creatures you control are indestructible this turn. FilterPermanent filter = new FilterControlledCreaturePermanent("Creatures you control"); Effect effect = new GainAbilityAllEffect( IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield, filter, false); effect.setText("Creatures you control are indestructible this turn"); this.addAbility( new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new SacrificeSourceCost())); }
public DarksteelBrute(UUID ownerId) { super( ownerId, 108, "Darksteel Brute", Rarity.UNCOMMON, new CardType[] {CardType.ARTIFACT}, "{2}"); this.expansionSetCode = "DST"; this.addAbility(IndestructibleAbility.getInstance()); this.addAbility( new SimpleActivatedAbility( Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new DarksteelBruteToken(), "", Duration.EndOfTurn), new GenericManaCost(3))); }
public AjanisPresence(UUID ownerId) { super(ownerId, 2, "Ajani's Presence", Rarity.COMMON, new CardType[] {CardType.INSTANT}, "{W}"); this.expansionSetCode = "JOU"; // Strive - Ajani's Presence costs {2}{W} more to cast for each target beyond the first. this.addAbility(new StriveAbility("{2}{W}")); // Any number of target creatures each get +1/+1 and gain indestructible until end of turn. Effect effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn); effect.setText("Any number of target creatures each get +1/+1"); this.getSpellAbility().addEffect(effect); effect = new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn); effect.setText("and gain indestructible until end of turn"); this.getSpellAbility().addEffect(effect); this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, Integer.MAX_VALUE)); }
public MyojinOfLifesWeb(UUID ownerId) { super( ownerId, 229, "Myojin of Life's Web", Rarity.RARE, new CardType[] {CardType.CREATURE}, "{6}{G}{G}{G}"); this.expansionSetCode = "CHK"; this.supertype.add("Legendary"); this.subtype.add("Spirit"); this.color.setGreen(true); this.power = new MageInt(8); this.toughness = new MageInt(8); this.addWatcher(new CastFromHandWatcher()); // Myojin of Life's Web enters the battlefield with a divinity counter on it if you cast it from // your hand. this.addAbility( new EntersBattlefieldAbility( new ConditionalOneShotEffect( new AddCountersSourceEffect(CounterType.DIVINITY.createInstance()), new CastFromHandCondition(), ""), "{this} enters the battlefield with a divinity counter on it if you cast it from your hand")); // Myojin of Life's Web is indestructible as long as it has a divinity counter on it. this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new ConditionalContinousEffect( new GainAbilitySourceEffect( IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield), new HasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); // Remove a divinity counter from Myojin of Life's Web: Put any number of creature cards from // your hand onto the battlefield. Ability ability = new SimpleActivatedAbility( Zone.BATTLEFIELD, new PutOntoBattlefieldTargetEffect(false), new RemoveCountersSourceCost(CounterType.DIVINITY.createInstance())); ability.addTarget(new TargetCardInHand(0, Integer.MAX_VALUE, filter)); this.addAbility(ability); }
public HeliodGodOfTheSun(UUID ownerId) { super( ownerId, 17, "Heliod, God of the Sun", Rarity.MYTHIC, new CardType[] {CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{W}"); this.expansionSetCode = "THS"; this.supertype.add("Legendary"); this.subtype.add("God"); this.power = new MageInt(5); this.toughness = new MageInt(6); // Indestructible this.addAbility(IndestructibleAbility.getInstance()); // As long as your devotion to white is less than five, Heliod isn't a creature.<i>(Each {W} in // the mana costs of permanents you control counts towards your devotion to white.)</i> Effect effect = new LoseCreatureTypeSourceEffect(new DevotionCount(ColoredManaSymbol.W), 5); effect.setText( "As long as your devotion to white is less than five, Heliod isn't a creature.<i>(Each {W} in the mana costs of permanents you control counts towards your devotion to white.)</i>"); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); // Other creatures you control have vigilance. this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new GainAbilityControlledEffect( VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, new FilterCreaturePermanent(), true))); // {2}{W}{W}: Put a 2/1 white Cleric enchantment creature token onto the battlefield. this.addAbility( new SimpleActivatedAbility( Zone.BATTLEFIELD, new CreateTokenEffect(new HeliodGodOfTheSunToken()), new ManaCostsImpl("{2}{W}{W}"))); }
public ErebossTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{1}{B}{B}{B}"); this.subtype.add("Giant"); this.power = new MageInt(5); this.toughness = new MageInt(5); // Erebos's Titan has indestructible as long as no opponent controls a creature. this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new ConditionalContinuousEffect( new GainAbilitySourceEffect( IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield), new PermanentsOnTheBattlefieldCondition( filter, PermanentsOnTheBattlefieldCondition.CountType.EQUAL_TO, 0, false), "As long as your opponents control no creatures, {this} has indestructible"))); // Whenever a creature leaves an opponent's graveyard, you may discard a card. If you do, return // Erebos's Titan from your graveyard to your hand. this.addAbility(new ErebossTitanTriggeredAbility()); }
public MogisGodOfSlaughter(UUID ownerId) { super( ownerId, 151, "Mogis, God of Slaughter", Rarity.MYTHIC, new CardType[] {CardType.ENCHANTMENT, CardType.CREATURE}, "{2}{B}{R}"); this.expansionSetCode = "BNG"; this.supertype.add("Legendary"); this.subtype.add("God"); this.power = new MageInt(7); this.toughness = new MageInt(5); // Indestructible this.addAbility(IndestructibleAbility.getInstance()); // As long as your devotion to black and red is less than seven, Mogis isn't a creature. Effect effect = new LoseCreatureTypeSourceEffect( new DevotionCount(ColoredManaSymbol.B, ColoredManaSymbol.R), 7); effect.setText( "As long as your devotion to black and red is less than seven, Mogis isn't a creature"); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); // At the beginning of each opponent's upkeep, Mogis deals 2 damage to that player unless he or // she sacrifices a creature. effect = new DoUnlessTargetPaysCost( new DamageTargetEffect(2, false, "that player"), new SacrificeTargetCost(new TargetControlledCreaturePermanent()), "Sacrifice a creature? (otherwise you get 2 damage)"); effect.setText("Mogis deals 2 damage to that player unless he or she sacrifices a creature"); Ability ability = new BeginningOfUpkeepTriggeredAbility( Zone.BATTLEFIELD, effect, TargetController.OPPONENT, false, true); this.addAbility(ability); }
public StuffyDoll(UUID ownerId) { super( ownerId, 264, "Stuffy Doll", Rarity.RARE, new CardType[] {CardType.ARTIFACT, CardType.CREATURE}, "{5}"); this.expansionSetCode = "TSP"; this.subtype.add("Construct"); this.power = new MageInt(0); this.toughness = new MageInt(1); // As Stuffy Doll enters the battlefield, choose a player. this.addAbility(new AsEntersBattlefieldAbility(new StuffyDollChoosePlayerEffect())); // Stuffy Doll is indestructible. this.addAbility(IndestructibleAbility.getInstance()); // Whenever Stuffy Doll is dealt damage, it deals that much damage to the chosen player. this.addAbility(new StuffyDollTriggeredAbility()); // {tap}: Stuffy Doll deals 1 damage to itself. this.addAbility( new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageSelfEffect(), new TapSourceCost())); }