@Override public AttacksIfAbleSourceEffect copy() { return new AttacksIfAbleSourceEffect(this); }
public AttacksEachCombatStaticAbility() { super(Zone.BATTLEFIELD, new AttacksIfAbleSourceEffect(Duration.WhileOnBattlefield, true)); }
public LegionWarbossAbility() { super(Zone.BATTLEFIELD, new AttacksIfAbleSourceEffect( Duration.WhileOnBattlefield, true ).setText("this creature attacks this combat if able")); }
public MaraudingMaulhorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(3); // Marauding Maulhorn attacks each combat if able unless you control a creature named Advocate of the Beast. Effect effect = new ConditionalRequirementEffect( new AttacksIfAbleSourceEffect(Duration.WhileOnBattlefield, true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.FEWER_THAN, 1)); effect.setText("{this} attacks each combat if able unless you control a creature named Advocate of the Beast"); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); }
public RelentlessRaptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{W}"); this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(3); this.toughness = new MageInt(3); // Vigilance this.addAbility(VigilanceAbility.getInstance()); // Relentless Raptor attacks or blocks each combat if able. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new AttacksIfAbleSourceEffect(Duration.WhileOnBattlefield, true).setText("{this} attacks")); ability.addEffect(new BlocksIfAbleSourceEffect(Duration.WhileOnBattlefield).setText("or blocks each combat if able")); this.addAbility(ability); }
public RecklessCohort(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WARRIOR); this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); // Reckless Cohort attacks each combat if able unless you control another Ally. Effect effect = new ConditionalRequirementEffect( new AttacksIfAbleSourceEffect(Duration.WhileOnBattlefield, true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.FEWER_THAN, 1)); effect.setText("{this} attacks each combat if able unless you control another Ally"); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); }
public TerentatekCub(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); // As long as an opponent controls a Jedi or Sith, {this} gets +1/+1 and attacks each turn if able this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( new BoostSourceEffect(1, 1, Duration.Custom), new OpponentControlsPermanentCondition(filter), "As long as an opponent controls a Jedi or Sith, {this} gets +1/+1 ") )); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( new AttacksIfAbleSourceEffect(Duration.Custom), new OpponentControlsPermanentCondition(filter), "and attacks each turn if able.") )); }
public OtarianJuggernaut(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}"); this.subtype.add(SubType.JUGGERNAUT); this.power = new MageInt(2); this.toughness = new MageInt(3); // Otarian Juggernaut can't be blocked by Walls. this.addAbility(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.WhileOnBattlefield))); // Threshold - As long as seven or more cards are in your graveyard, Otarian Juggernaut gets +3/+0 and attacks each combat if able. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( new BoostSourceEffect(3, 0, Duration.WhileOnBattlefield), new CardsInControllerGraveCondition(7), "As long as seven or more cards are in your graveyard, {this} gets +3/+0")); Effect effect = new ConditionalContinuousEffect( new AttacksIfAbleSourceEffect(Duration.WhileOnBattlefield, true), new CardsInControllerGraveCondition(7), "and attacks each combat if able" ); ability.addEffect(effect); ability.setAbilityWord(AbilityWord.THRESHOLD); this.addAbility(ability); }
public Kookus(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); this.subtype.add(SubType.DJINN); this.power = new MageInt(3); this.toughness = new MageInt(5); // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, if you don't control a creature named Keeper of Kookus, Kookus deals 3 damage to you and attacks this turn if able. TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(3), TargetController.YOU, false); ability.addEffect(new AttacksIfAbleSourceEffect(Duration.EndOfTurn)); this.addAbility(new ConditionalInterveningIfTriggeredAbility( ability, new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter)), "At the beginning of your upkeep, " + "if you don't control a creature named Keeper of Kookus, " + "{this} deals 3 damage to you and attacks this turn if able" )); // {R}: Kookus gets +1/+0 until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.R))); }