public AkiriLineSlinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{R}{W}"); this.supertype.add("Legendary"); this.subtype.add("Kor"); this.subtype.add("Soldier"); this.subtype.add("Ally"); this.power = new MageInt(0); this.toughness = new MageInt(3); // First strike this.addAbility(FirstStrikeAbility.getInstance()); // Vigilance this.addAbility(VigilanceAbility.getInstance()); // Akiri, Line-Slinger gets +1/+0 for each artifact you control. Effect effect = new BoostSourceEffect( new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.WhileOnBattlefield); effect.setText("{this} gets +1/+0 for each artifact you control"); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); // Partner this.addAbility(PartnerAbility.getInstance()); }
public ShieldOfTheRighteous(UUID ownerId) { super( ownerId, 11, "Shield of the Righteous", Rarity.UNCOMMON, new CardType[] {CardType.ARTIFACT}, "{W}{U}"); this.expansionSetCode = "ARB"; this.subtype.add("Equipment"); this.color.setBlue(true); this.color.setWhite(true); // Equipped creature gets +0/+2 and has vigilance. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(0, 2))); this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new GainAbilityAttachedEffect( VigilanceAbility.getInstance(), AttachmentType.EQUIPMENT))); // Whenever equipped creature blocks a creature, that creature doesn't untap during its // controller's next untap step. this.addAbility( new BlocksCreatureAttachedTriggeredAbility( new SkipNextUntapTargetEffect("that creature"), "equipped", false, false, true)); // Equip {2} this.addAbility( new EquipAbility( Outcome.AddAbility, new GenericManaCost(2), new TargetControlledCreaturePermanent())); }
public AjaniGoldmane(UUID ownerId) { super( ownerId, 1, "Ajani Goldmane", Rarity.MYTHIC, new CardType[] {CardType.PLANESWALKER}, "{2}{W}{W}"); this.expansionSetCode = "M10"; this.subtype.add("Ajani"); this.color.setWhite(true); this.addAbility( new EntersBattlefieldAbility( new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false)); this.addAbility(new LoyaltyAbility(new GainLifeEffect(2), 1)); Effects effects1 = new Effects(); effects1.add( new AddCountersAllEffect( CounterType.P1P1.createInstance(), new FilterControlledCreaturePermanent())); effects1.add( new GainAbilityControlledEffect( VigilanceAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent())); this.addAbility(new LoyaltyAbility(effects1, -1)); this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new AvatarToken()), -6)); }
public WoodlandWanderer(UUID ownerId) { super( ownerId, 198, "Woodland Wanderer", Rarity.RARE, new CardType[] {CardType.CREATURE}, "{3}{G}"); this.expansionSetCode = "BFZ"; this.subtype.add("Elemental"); this.power = new MageInt(2); this.toughness = new MageInt(2); // Vigilance this.addAbility(VigilanceAbility.getInstance()); // Trample this.addAbility(TrampleAbility.getInstance()); // <i>Converge</i> - Woodland Wanderer enters the battlefield with a +1/+1 counter on it for // each color of mana spent to cast it. this.addAbility( new EntersBattlefieldAbility( new AddCountersSourceEffect( CounterType.P1P1.createInstance(), ColorsOfManaSpentToCastCount.getInstance(), true), null, true, "<i>Converge</i> — {this} enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it.", null)); }
public SwordOfVengeance(UUID ownerId) { super( ownerId, 216, "Sword of Vengeance", Rarity.RARE, new CardType[] {CardType.ARTIFACT}, "{3}"); this.expansionSetCode = "M11"; this.subtype.add("Equipment"); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3))); this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new GainAbilityAttachedEffect( FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT))); this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.EQUIPMENT))); this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new GainAbilityAttachedEffect( VigilanceAbility.getInstance(), AttachmentType.EQUIPMENT))); this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0))); }
public SentinelOfTheEternalWatch(UUID ownerId) { super( ownerId, 30, "Sentinel of the Eternal Watch", Rarity.UNCOMMON, new CardType[] {CardType.CREATURE}, "{5}{W}"); this.expansionSetCode = "ORI"; this.subtype.add("Giant"); this.subtype.add("Soldier"); this.power = new MageInt(4); this.toughness = new MageInt(6); // Vigilance this.addAbility(VigilanceAbility.getInstance()); // At the beginning of combat on each opponent's turn, tap target creature that player controls. Ability ability = new BeginningOfCombatTriggeredAbility( Zone.BATTLEFIELD, new TapTargetEffect("target creature that player controls"), TargetController.OPPONENT, false, true); originalId = ability.getOriginalId(); this.addAbility(ability); }
public KalemneDiscipleOfIroas(UUID ownerId) { super( ownerId, 999, "Kalemne, Disciple of Iroas", Rarity.MYTHIC, new CardType[] {CardType.CREATURE}, "{2}{R}{W}"); this.expansionSetCode = "C15"; this.supertype.add("Legendary"); this.subtype.add("Giant"); this.subtype.add("Soldier"); this.power = new MageInt(3); this.toughness = new MageInt(3); // Double strike this.addAbility(DoubleStrikeAbility.getInstance()); // Vigilance this.addAbility(VigilanceAbility.getInstance()); // Whenever you cast a creature spell with converted mana cost 5 or greater, you get an // experience counter. Effect effect = new AddCountersControllerEffect(CounterType.EXPERIENCE.createInstance(1), false); effect.setText("you get an experience counter"); Ability ability = new SpellCastControllerTriggeredAbility(effect, filterSpell, false); this.addAbility(ability); // Kalemne, Disciple of Iroas gets +1/+1 for each experience counter you have. DynamicValue value = new SourceControllerExperienceCountersCount(); this.addAbility( new SimpleStaticAbility( Zone.BATTLEFIELD, new BoostSourceEffect(value, value, Duration.WhileOnBattlefield))); }
public Brushstrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{1}{G}"); this.subtype.add("Beast"); this.power = new MageInt(3); this.toughness = new MageInt(1); // Vigilance this.addAbility(VigilanceAbility.getInstance()); }
public CelestialColonnadeToken() { super("", "4/4 white and blue Elemental creature with flying and vigilance"); cardType.add(CardType.CREATURE); subtype.add("Elemental"); color.setBlue(true); color.setWhite(true); power = new MageInt(4); toughness = new MageInt(4); addAbility(FlyingAbility.getInstance()); addAbility(VigilanceAbility.getInstance()); }
public AbbeyGriffin(UUID ownerId) { super(ownerId, 1, "Abbey Griffin", Rarity.COMMON, new CardType[] {CardType.CREATURE}, "{3}{W}"); this.expansionSetCode = "ISD"; this.subtype.add("Griffin"); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); this.addAbility(VigilanceAbility.getInstance()); }
public AkromaAngelOfWrath(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{5}{W}{W}{W}"); this.supertype.add("Legendary"); this.subtype.add("Angel"); this.power = new MageInt(6); this.toughness = new MageInt(6); this.addAbility(FlyingAbility.getInstance()); this.addAbility(FirstStrikeAbility.getInstance()); this.addAbility(VigilanceAbility.getInstance()); this.addAbility(TrampleAbility.getInstance()); this.addAbility(HasteAbility.getInstance()); // protection from black and from red this.addAbility(ProtectionAbility.from(ObjectColor.BLACK, ObjectColor.RED)); }
public VeteranCavalier(UUID ownerId) { super( ownerId, 52, "Veteran Cavalier", Rarity.COMMON, new CardType[] {CardType.CREATURE}, "{W}{W}"); this.expansionSetCode = "9ED"; this.subtype.add("Human"); this.subtype.add("Knight"); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(VigilanceAbility.getInstance()); }
public ShepherdOfTheLost(UUID ownerId) { super( ownerId, 34, "Shepherd of the Lost", Rarity.UNCOMMON, new CardType[] {CardType.CREATURE}, "{4}{W}"); this.expansionSetCode = "ZEN"; this.subtype.add("Angel"); this.color.setWhite(true); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); this.addAbility(FirstStrikeAbility.getInstance()); this.addAbility(VigilanceAbility.getInstance()); }
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}"))); }
@Override public void build() { // Creatures you control have flying, first strike, vigilance, trample, haste, and protection // from black and from red. CompoundAbility abilities = new CompoundAbility( FlyingAbility.getInstance(), FirstStrikeAbility.getInstance(), VigilanceAbility.getInstance(), TrampleAbility.getInstance(), HasteAbility.getInstance(), new ProtectionAbility(filterBlack), new ProtectionAbility(filterRed)); this.addAbility( new SimpleStaticAbility( Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect( abilities, Constants.Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("Creatures you control")))); }
public ToweringThunderfist(UUID ownerId) { super( ownerId, 109, "Towering Thunderfist", Rarity.COMMON, new CardType[] {CardType.CREATURE}, "{4}{R}"); this.expansionSetCode = "GTC"; this.subtype.add("Giant"); this.subtype.add("Soldier"); this.color.setRed(true); this.power = new MageInt(4); this.toughness = new MageInt(4); // {W}: Towering Thunderfist gains vigilance until end of turn. this.addAbility( new SimpleActivatedAbility( Zone.BATTLEFIELD, new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W}"))); }
public ChargingTroll(UUID ownerId) { super( ownerId, 239, "Charging Troll", Rarity.UNCOMMON, new CardType[] {CardType.CREATURE}, "{2}{G}{W}"); this.expansionSetCode = "INV"; this.subtype.add("Troll"); this.color.setGreen(true); this.color.setWhite(true); this.power = new MageInt(3); this.toughness = new MageInt(3); // Vigilance this.addAbility(VigilanceAbility.getInstance()); // {G}: Regenerate Charging Troll. Ability ability = new SimpleActivatedAbility( Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{G}")); this.addAbility(ability); }