@Override public DealsDamageGainLifeSourceTriggeredAbility copy() { return new DealsDamageGainLifeSourceTriggeredAbility(this); } @Override
public ZebraUnicorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}"); this.subtype.add(SubType.UNICORN); this.power = new MageInt(2); this.toughness = new MageInt(2); // Whenever Zebra Unicorn deals damage, you gain that much life. this.addAbility(new DealsDamageGainLifeSourceTriggeredAbility()); }
public HornedCheetah(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}"); this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); // Whenever Horned Cheetah deals damage, you gain that much life. this.addAbility(new DealsDamageGainLifeSourceTriggeredAbility()); }
public ElHajjaj(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); // Whenever El-Hajjâj deals damage, you gain that much life. this.addAbility(new DealsDamageGainLifeSourceTriggeredAbility()); }
public MourningThrull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W/B}"); this.subtype.add(SubType.THRULL); this.power = new MageInt(1); this.toughness = new MageInt(1); // Flying this.addAbility(FlyingAbility.getInstance()); // Whenever Mourning Thrull deals damage, you gain that much life. this.addAbility(new DealsDamageGainLifeSourceTriggeredAbility()); }
public WarriorAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); this.subtype.add(SubType.ANGEL); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); // Flying this.addAbility(FlyingAbility.getInstance()); // Whenever Warrior Angel deals damage, you gain that much life. this.addAbility(new DealsDamageGainLifeSourceTriggeredAbility()); }
public KjeldoranGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(3); this.toughness = new MageInt(3); // Flying this.addAbility(FlyingAbility.getInstance()); // First strike this.addAbility(FirstStrikeAbility.getInstance()); // Whenever Kjeldoran Gargoyle deals damage, you gain that much life. this.addAbility(new DealsDamageGainLifeSourceTriggeredAbility()); }
public ExaltedAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(5); // Flying this.addAbility(FlyingAbility.getInstance()); // Whenever Exalted Angel deals damage, you gain that much life. this.addAbility(new DealsDamageGainLifeSourceTriggeredAbility()); // Morph {2}{W}{W} this.addAbility(new MorphAbility(this, new ManaCostsImpl("{2}{W}{W}"))); }
public StirThePride(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{W}"); // Choose one - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(1); // Creatures you control get +2/+2 until end of turn; this.getSpellAbility().addEffect(new BoostControlledEffect(2,2, Duration.EndOfTurn)); // or until end of turn, creatures you control gain "Whenever this creature deals damage, you gain that much life." Mode mode = new Mode(); Effect effect = new GainAbilityControlledEffect(new DealsDamageGainLifeSourceTriggeredAbility(), Duration.EndOfTurn); effect.setText("until end of turn, creatures you control gain \"Whenever this creature deals damage, you gain that much life.\""); mode.addEffect(effect); this.getSpellAbility().getModes().addMode(mode); // Entwine {1}{W} this.addAbility(new EntwineAbility("{1}{W}")); }
public DoubtlessOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); this.subtype.add(SubType.CLERIC); this.subtype.add(SubType.AVATAR); this.power = new MageInt(0); this.toughness = new MageInt(0); // Doubtless One's power and toughness are each equal to the number of Clerics on the battlefield. this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetPowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame))); // Whenever Doubtless One deals damage, you gain that much life. this.addAbility(new DealsDamageGainLifeSourceTriggeredAbility()); }
public Rakavolver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); this.subtype.add(SubType.VOLVER); this.power = new MageInt(2); this.toughness = new MageInt(2); // Kicker {1}{W} and/or {U} KickerAbility kickerAbility = new KickerAbility("{1}{W}"); kickerAbility.addKickerCost("{U}"); this.addAbility(kickerAbility); // If Rakavolver was kicked with its {1}{W} kicker, it enters the battlefield with two +1/+1 counters on it and with "Whenever Rakavolver deals damage, you gain that much life." Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), new KickedCostCondition("{1}{W}"), "If {this} was kicked with its {1}{W} kicker, it enters the battlefield with two +1/+1 counters on it and with \"Whenever {this} deals damage, you gain that much life.\"", ""); ability.addEffect(new GainAbilitySourceEffect(new DealsDamageGainLifeSourceTriggeredAbility(), Duration.WhileOnBattlefield)); this.addAbility(ability); // If Rakavolver was kicked with its {U} kicker, it enters the battlefield with a +1/+1 counter on it and with flying. ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new KickedCostCondition("{U}"), "If {this} was kicked with its {U} kicker, it enters the battlefield with a +1/+1 counter on it and with flying.", ""); ability.addEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield)); this.addAbility(ability); }
public GenjuOfTheFields(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); this.subtype.add(SubType.AURA); // Enchant Plains TargetPermanent auraTarget = new TargetLandPermanent(FILTER); this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addEffect(new AttachEffect(Outcome.PutCreatureInPlay)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // {2}: Until end of turn, enchanted Plains becomes a 2/5 white Spirit creature with "Whenever this creature deals damage, its controller gains that much life." It's still a land. Effect effect = new BecomesCreatureAttachedWithActivatedAbilityOrSpellEffect(new SpiritToken(), "Until end of turn, enchanted Plains becomes a 2/5 white Spirit creature", Duration.EndOfTurn); Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new GenericManaCost(2)); effect = new GainAbilityAttachedEffect(new DealsDamageGainLifeSourceTriggeredAbility(), AttachmentType.AURA, Duration.EndOfTurn); effect.setText("with \"Whenever this creature deals damage, its controller gains that much life.\". It's still a land"); ability2.addEffect(effect); this.addAbility(ability2); // When enchanted Plains is put into a graveyard, you may return Genju of the Fields from your graveyard to your hand. Ability ability3 = new DiesAttachedTriggeredAbility(new ReturnToHandSourceEffect(false, true), "enchanted Plains", true, false); this.addAbility(ability3); }
public Necravolver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); this.subtype.add(SubType.VOLVER); this.power = new MageInt(2); this.toughness = new MageInt(2); // Kicker {1}{G} and/or {W} KickerAbility kickerAbility = new KickerAbility("{1}{G}"); kickerAbility.addKickerCost("{W}"); this.addAbility(kickerAbility); // If Necravolver was kicked with its {1}{G} kicker, it enters the battlefield with two +1/+1 counters on it and with trample. Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), new KickedCostCondition("{1}{G}"), "If {this} was kicked with its {1}{G} kicker, it enters the battlefield with two +1/+1 counters on it and with trample.", ""); ability.addEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield)); this.addAbility(ability); // If Necravolver was kicked with its {W} kicker, it enters the battlefield with a +1/+1 counter on it and with "Whenever Necravolver deals damage, you gain that much life." ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new KickedCostCondition("{W}"), "If {this} was kicked with its {W} kicker, it enters the battlefield with a +1/+1 counter on it and with \"Whenever {this} deals damage, you gain that much life.\"", ""); ability.addEffect(new GainAbilitySourceEffect(new DealsDamageGainLifeSourceTriggeredAbility(), Duration.WhileOnBattlefield)); this.addAbility(ability); }
public PaladinOfPrahv(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(4); // Whenever Paladin of Prahv deals damage, you gain that much life. this.addAbility(new DealsDamageGainLifeSourceTriggeredAbility()); // Forecast - {1}{W}, Reveal Paladin of Prahv from your hand: Whenever target creature deals damage this turn, you gain that much life. Ability ability = new ForecastAbility(new CreateDelayedTriggeredAbilityEffect( new PaladinOfPrahvTriggeredAbility()), new ManaCostsImpl("{1}{W}")); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); }
public PhantomNishoba(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{W}"); this.subtype.add(SubType.CAT); this.subtype.add(SubType.BEAST); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); // Trample this.addAbility(TrampleAbility.getInstance()); // Phantom Nishoba enters the battlefield with seven +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(7), true), "with seven +1/+1 counters on it")); // Whenever Phantom Nishoba deals damage, you gain that much life. this.addAbility(new DealsDamageGainLifeSourceTriggeredAbility()); // If damage would be dealt to Phantom Nishoba, prevent that damage. Remove a +1/+1 counter from Phantom Nishoba. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PhantomPreventionEffect())); }