@Override public AnnihilatorAbility copy() { return new AnnihilatorAbility(this); }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (event.getSourceId().equals(this.getSourceId())) { UUID defendingPlayerId = game.getCombat().getDefendingPlayerId(sourceId, game); if (defendingPlayerId != null) { // the id has to be set here because the source can be leave battlefield getEffects().forEach((effect) -> { effect.setValue("defendingPlayerId", defendingPlayerId); }); return true; } } return false; }
public EldraziAnnihilatorToken() { super("Eldrazi", "7/7 colorless Eldrazi creature token"); cardType.add(CardType.CREATURE); subtype.add(SubType.ELDRAZI); setExpansionSetCodeForImage("PCA"); power = new MageInt(7); toughness = new MageInt(7); addAbility(new AnnihilatorAbility(1)); }
public UlamogsCrusher (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}"); this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(8); this.toughness = new MageInt(8); this.addAbility(new AnnihilatorAbility(2)); this.addAbility(new AttacksEachCombatStaticAbility()); }
public PathrazerOfUlamog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{11}"); this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(9); this.toughness = new MageInt(9); this.addAbility(new AnnihilatorAbility(3)); // Pathrazer of Ulamog can't be blocked except by three or more creatures. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedByOneEffect(3))); }
public ItThatBetrays(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{12}"); this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(11); this.toughness = new MageInt(11); // Annihilator 2 (Whenever this creature attacks, defending player sacrifices two permanents.) this.addAbility(new AnnihilatorAbility(2)); // Whenever an opponent sacrifices a nontoken permanent, put that card onto the battlefield under your control. this.addAbility(new OpponentSacrificesNonTokenPermanentTriggeredAbility(new ReturnToBattlefieldUnderYourControlTargetEffect())); }
public ArtisanOfKozilek(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{9}"); this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(10); this.toughness = new MageInt(9); // When you cast Artisan of Kozilek, you may return target creature card from your graveyard to the battlefield. Ability ability = new CastSourceTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.addAbility(ability); // Annihilator 2 this.addAbility(new AnnihilatorAbility(2)); }
public HandOfEmrakul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{9}"); this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(7); this.toughness = new MageInt(7); // You may sacrifice four Eldrazi Spawn rather than pay Hand of Emrakul's mana cost. this.addAbility(new AlternativeCostSourceAbility(new SacrificeTargetCost(new TargetControlledPermanent(4, 4, filter, true)))); // Annihilator 1 this.addAbility(new AnnihilatorAbility(1)); }
public KozilekButcherOfTruth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{10}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(12); this.toughness = new MageInt(12); // When you cast Kozilek, Butcher of Truth, draw four cards. this.addAbility(new CastSourceTriggeredAbility(new DrawCardSourceControllerEffect(4))); // Annihilator 4 (Whenever this creature attacks, defending player sacrifices four permanents.) this.addAbility(new AnnihilatorAbility(4)); // When Kozilek is put into a graveyard from anywhere, its owner shuffles their graveyard into their library. this.addAbility(new PutIntoGraveFromAnywhereSourceTriggeredAbility(new ShuffleIntoLibraryGraveOfSourceOwnerEffect(), false)); }
public EldraziConscription (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{8}"); this.subtype.add(SubType.ELDRAZI); this.subtype.add(SubType.AURA); // 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 +10/+10 and has trample and annihilator 2 ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(10, 10, Duration.WhileOnBattlefield)); Effect effect = new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA); effect.setText("and has trample"); ability.addEffect(effect); effect = new GainAbilityAttachedEffect(new AnnihilatorAbility(2), AttachmentType.AURA); effect.setText("and annihilator 2. <i>(Whenever it attacks, defending player sacrifices two permanents.)</i>"); ability.addEffect(effect); this.addAbility(ability); }
public SpawnsireOfUlamog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{10}"); this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(7); this.toughness = new MageInt(11); // Annihilator 1 this.addAbility(new AnnihilatorAbility(1)); // {4}: Create two 0/1 colorless Eldrazi Spawn creature tokens. They have "Sacrifice this creature: Add {C}." this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new EldraziSpawnToken(), 2), new GenericManaCost(4))); // {20}: Cast any number of Eldrazi cards you own from outside the game without paying their mana costs. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CastCardFromOutsideTheGameEffect(filter, ruleText), new GenericManaCost(20))); }
public UlamogTheInfiniteGyre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{11}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(10); this.toughness = new MageInt(10); // When you cast Ulamog, the Infinite Gyre, destroy target permanent. Ability ability = new CastSourceTriggeredAbility(new DestroyTargetEffect()); ability.addTarget(new TargetPermanent()); this.addAbility(ability); // Annihilator 4 (Whenever this creature attacks, defending player sacrifices four permanents.) this.addAbility(new AnnihilatorAbility(4)); // Indestructible this.addAbility(IndestructibleAbility.getInstance()); // When Ulamog is put into a graveyard from anywhere, its owner shuffles their graveyard into their library. this.addAbility(new PutIntoGraveFromAnywhereSourceTriggeredAbility(new ShuffleIntoLibraryGraveOfSourceOwnerEffect(), false)); }
public EmrakulTheAeonsTorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{15}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(15); this.toughness = new MageInt(15); // Emrakul, the Aeons Torn can't be countered. this.addAbility(new CantBeCounteredAbility()); // When you cast Emrakul, take an extra turn after this one. this.addAbility(new CastSourceTriggeredAbility(new AddExtraTurnControllerEffect())); // Flying, protection from colored spells, annihilator 6 this.addAbility(FlyingAbility.getInstance()); this.addAbility(new ProtectionAbility(filter)); this.addAbility(new AnnihilatorAbility(6)); // When Emrakul is put into a graveyard from anywhere, its owner shuffles their graveyard into their library. this.addAbility(new PutIntoGraveFromAnywhereSourceTriggeredAbility(new ShuffleIntoLibraryGraveOfSourceOwnerEffect(), false)); }