public HowlingGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(3); // Whenever Howling Golem attacks or blocks, each player draws a card. this.addAbility(new AttacksOrBlocksTriggeredAbility(new DrawCardAllEffect(1), false)); }
public LoafingGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(6); // Whenever Loafing Giant attacks or blocks, put the top card of your library into your graveyard. If that card is a land card, prevent all combat damage Loafing Giant would deal this turn. this.addAbility(new AttacksOrBlocksTriggeredAbility(new LoafingGiantEffect(), false)); }
public HamletCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); // Whenever Hamlet Captain attacks or blocks, other Human creatures you control get +1/+1 until end of turn. this.addAbility(new AttacksOrBlocksTriggeredAbility(new BoostControlledEffect(1, 1, Duration.EndOfTurn, filter, true), false)); }
public GoblinPsychopath(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); this.subtype.add(SubType.GOBLIN); this.subtype.add(SubType.MUTANT); this.power = new MageInt(5); this.toughness = new MageInt(5); // Whenever Goblin Psychopath attacks or blocks, flip a coin. If you lose the flip, the next time it would deal combat damage this turn, it deals that damage to you instead. this.addAbility(new AttacksOrBlocksTriggeredAbility(new GoblinPsychopathEffect(), false)); }
public LesserGargadon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(4); // Whenever Lesser Gargadon attacks or blocks, sacrifice a land. this.addAbility(new AttacksOrBlocksTriggeredAbility(new SacrificeControllerEffect(new FilterLandPermanent(), 1, ""), false)); }
public MorkrutNecropod(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); this.subtype.add(SubType.SLUG); this.subtype.add(SubType.HORROR); this.power = new MageInt(7); this.toughness = new MageInt(7); // Menace this.addAbility(new MenaceAbility()); // Whenever Morkrut Necropod attacks or blocks, sacrifice another creature or land. this.addAbility(new AttacksOrBlocksTriggeredAbility(new SacrificeControllerEffect(filter, 1, ""), false)); }
public BrackwaterElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); // When Brackwater Elemental attacks or blocks, sacrifice it at the beginning of the next end step. this.addAbility(new AttacksOrBlocksTriggeredAbility(new BrackwaterElementalSacrificeEffect(), false)); // Unearth {2}{U} this.addAbility(new UnearthAbility(new ManaCostsImpl("{2}{U}"))); }
public BrunaLightOfAlabaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}{U}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(5); this.addAbility(FlyingAbility.getInstance()); this.addAbility(VigilanceAbility.getInstance()); // Whenever Bruna, Light of Alabaster attacks or blocks, you may attach to it any number of Auras on the battlefield and you may put onto the battlefield attached to it any number of Aura cards that could enchant it from your graveyard and/or hand. this.addAbility(new AttacksOrBlocksTriggeredAbility(new BrunaLightOfAlabasterEffect(), true)); }
public ClockworkBeetle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(0); // Clockwork Beetle enters the battlefield with two +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), "with two +1/+1 counters on it")); // Whenever Clockwork Beetle attacks or blocks, remove a +1/+1 counter from it at end of combat. this.addAbility(new AttacksOrBlocksTriggeredAbility(new ClockworkBeetleEffect(), false)); }
public RottingGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); this.subtype.add(SubType.ZOMBIE); this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(3); // Whenever Rotting Giant attacks or blocks, sacrifice it unless you exile a card from your graveyard. TargetCardInYourGraveyard target = new TargetCardInYourGraveyard(); this.addAbility(new AttacksOrBlocksTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ExileFromGraveCost(target)), false)); }
public EmbalmedBrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); // Amplify 1 this.addAbility(new AmplifyAbility(AmplifyEffect.AmplifyFactor.Amplify1)); // Whenever Embalmed Brawler attacks or blocks, you lose 1 life for each +1/+1 counter on it. this.addAbility(new AttacksOrBlocksTriggeredAbility(new LoseLifeSourceControllerEffect(new CountersSourceCount(CounterType.P1P1)), false)); }
public PhantomWhelp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); this.subtype.add(SubType.ILLUSION); this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); // When Phantom Whelp attacks or blocks, return it to its owner's hand at end of combat. (Return it only if it's on the battlefield.) Effect effect = new CreateDelayedTriggeredAbilityEffect( new AtTheEndOfCombatDelayedTriggeredAbility(new ReturnToHandSourceEffect(true))); effect.setText("return it to its owner's hand at end of combat"); this.addAbility(new AttacksOrBlocksTriggeredAbility(effect, false)); }
public JeditOjanenOfEfrava(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}{G}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.CAT); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); // Forestwalk this.addAbility(new ForestwalkAbility()); // Whenever Jedit Ojanen of Efrava attacks or blocks, create a 2/2 green Cat Warrior creature token with forestwalk. this.addAbility(new AttacksOrBlocksTriggeredAbility(new CreateTokenEffect(new CatWarriorToken()), false)); }
public ClockworkCondor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); this.subtype.add(SubType.BIRD); this.power = new MageInt(0); this.toughness = new MageInt(0); this.addAbility(FlyingAbility.getInstance()); this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), "with three +1/+1 counters on it")); this.addAbility(new AttacksOrBlocksTriggeredAbility(new ClockworkCondorEffect(), false)); }
public FickleEfreet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); this.subtype.add(SubType.EFREET); this.power = new MageInt(5); this.toughness = new MageInt(2); // Whenever Fickle Efreet attacks or blocks, flip a coin at end of combat. If you lose the flip, an opponent gains control of Fickle Efreet. this.addAbility(new AttacksOrBlocksTriggeredAbility(new CreateDelayedTriggeredAbilityEffect( new AtTheEndOfCombatDelayedTriggeredAbility(new FickleEfreetChangeControlEffect()), true), false)); }
public DuskUrchins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); this.subtype.add(SubType.OUPHE); this.power = new MageInt(4); this.toughness = new MageInt(3); // Whenever Dusk Urchins attacks or blocks, put a -1/-1 counter on it. this.addAbility(new AttacksOrBlocksTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance()), false)); // When Dusk Urchins dies, draw a card for each -1/-1 counter on it. this.addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.M1M1)))); }
public CeremonialGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); // When Ceremonial Guard attacks or blocks, destroy it at end of combat. this.addAbility(new AttacksOrBlocksTriggeredAbility( new CreateDelayedTriggeredAbilityEffect( new AtTheEndOfCombatDelayedTriggeredAbility(new DestroySourceEffect())), false)); }
public ClockworkHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); // Clockwork Hydra enters the battlefield with four +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)), "with four +1/+1 counters on it")); // Whenever Clockwork Hydra attacks or blocks, remove a +1/+1 counter from it. If you do, Clockwork Hydra deals 1 damage to any target. this.addAbility(new AttacksOrBlocksTriggeredAbility(new ClockworkHydraEffect(), false)); // {tap}: Put a +1/+1 counter on Clockwork Hydra. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(), true), new TapSourceCost())); }
public ClockworkDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); this.subtype.add(SubType.DRAGON); this.power = new MageInt(0); this.toughness = new MageInt(0); this.addAbility(FlyingAbility.getInstance()); this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(6)), "with six +1/+1 counters on it")); this.addAbility(new AttacksOrBlocksTriggeredAbility(new ClockworkDragonEffect(), false)); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new GenericManaCost(3))); }
public Vebulid(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); this.subtype.add(SubType.HORROR); this.power = new MageInt(0); this.toughness = new MageInt(0); // Vebulid enters the battlefield with a +1/+1 counter on it. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)))); // At the beginning of your upkeep, you may put a +1/+1 counter on Vebulid. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, true)); // When Vebulid attacks or blocks, destroy it at end of combat. this.addAbility(new AttacksOrBlocksTriggeredAbility(new CreateDelayedTriggeredAbilityEffect(new AtTheEndOfCombatDelayedTriggeredAbility(new DestroySourceEffect())), false)); }