public MightOfAlara(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{G}"); // Domain - Target creature gets +1/+1 until end of turn for each basic land type among lands you control. this.getSpellAbility().addEffect(new BoostTargetEffect(new DomainValue(), new DomainValue(), Duration.EndOfTurn, true)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); }
public DragDown(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{B}"); // Domain - Target creature gets -1/-1 until end of turn for each basic land type among lands you control. this.getSpellAbility().addEffect(new BoostTargetEffect(new DomainValue(-1), new DomainValue(-1), Duration.EndOfTurn, true)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); }
public PowerArmor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // Domain - {3}, {tap}: Target creature gets +1/+1 until end of turn for each basic land type among lands you control. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect( new DomainValue(), new DomainValue(), Duration.EndOfTurn), new TapSourceCost()); ability.addCost(new ManaCostsImpl("{3}")); ability.addTarget(new TargetCreaturePermanent()); ability.setAbilityWord(AbilityWord.DOMAIN); this.addAbility(ability); }
public WanderingStream(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{G}"); // Domain - You gain 2 life for each basic land type among lands you control. Effect effect = new GainLifeEffect(new MultipliedValue(new DomainValue(), 2)); effect.setText("Domain - You gain 2 life for each basic land type among lands you control"); this.getSpellAbility().addEffect(effect); }
@Override public boolean apply(Game game, Ability source, Ability abilityToModify) { CardUtil.reduceCost(abilityToModify, new DomainValue().calculate(game, source, this)); return true; }
@Override public void init(Ability source, Game game) { super.init(source, game); amountToPrevent = new DomainValue().calculate(game, source, this); }
@Override public boolean apply(Game game, Ability source, Ability abilityToModify) { CardUtil.reduceCost(abilityToModify, new DomainValue(2).calculate(game, source, this)); return true; }
@Override protected int getInputValue(Game game, Ability source) { return new DomainValue(1, game.getActivePlayerId()).calculate(game, source, null); } }
public SporeBurst(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{G}"); // Domain - Create a 1/1 green Saproling creature token for each basic land type among lands you control. this.getSpellAbility().addEffect(new CreateTokenEffect(new SaprolingToken(), new DomainValue())); }
public PlanarDespair(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{B}{B}"); // Domain - All creatures get -1/-1 until end of turn for each basic land type among lands you control. DynamicValue dv = new SignInversionDynamicValue(new DomainValue()); Effect effect = new BoostAllEffect(dv, dv, Duration.EndOfTurn); effect.setText("Domain - All creatures get -1/-1 until end of turn for each basic land type among lands you control."); this.getSpellAbility().addEffect(effect); }
public TribalFlames(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{R}"); // Domain - Tribal Flames deals X damage to any target, where X is the number of basic land types among lands you control. this.getSpellAbility().addEffect(new DamageTargetEffect(new DomainValue())); this.getSpellAbility().addTarget(new TargetAnyTarget()); }
public CollapsingBorders(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}"); // Domain - At the beginning of each player's upkeep, that player gains 1 life for each basic land type among lands he or she controls. Then Collapsing Borders deals 3 damage to him or her. Effect effect = new GainLifeTargetEffect(new DomainValue(true)); effect.setText("that player gains 1 life for each basic land type among lands he or she controls."); Ability ability = new BeginningOfUpkeepTriggeredAbility(effect, TargetController.ANY, false); effect = new DamageTargetEffect(3); effect.setText("Then {this} deals 3 damage to him or her."); ability.addEffect(effect); ability.setAbilityWord(AbilityWord.DOMAIN); this.addAbility(ability); }
public KavuScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); this.subtype.add(SubType.KAVU); this.subtype.add(SubType.SCOUT); this.power = new MageInt(0); this.toughness = new MageInt(2); // Domain - Kavu Scout gets +1/+0 for each basic land type among lands you control. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new DomainValue(), new StaticValue(0), Duration.WhileOnBattlefield)); ability.setAbilityWord(AbilityWord.DOMAIN); this.addAbility(ability); }
public MatcaRioters(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(0); // Domain - Matca Rioters's power and toughness are each equal to the number of basic land types among lands you control. Effect effect = new SetPowerToughnessSourceEffect(new DomainValue(), Duration.EndOfGame); effect.setText("Domain - {this}'s power and toughness are each equal to the number of basic land types among lands you control."); this.addAbility(new SimpleStaticAbility(Zone.ALL, effect)); }
public EvasiveAction(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}"); // Domain - Counter target spell unless its controller pays {1} for each basic land type among lands you control. this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(new DomainValue())); this.getSpellAbility().addTarget(new TargetSpell()); this.getSpellAbility().setAbilityWord(AbilityWord.DOMAIN); }
public WanderingGoblins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); this.subtype.add(SubType.GOBLIN); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(3); // Domain - {3}: Wandering Goblins gets +1/+0 until end of turn for each basic land type among lands you control. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new DomainValue(), new StaticValue(0), Duration.EndOfTurn), new GenericManaCost(3))); }
public WayfaringGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); this.subtype.add(SubType.GIANT); this.power = new MageInt(1); this.toughness = new MageInt(3); // Domain - Wayfaring Giant gets +1/+1 for each basic land type among lands you control. DomainValue dv = new DomainValue(); Effect effect = new BoostSourceEffect(dv, dv, Duration.WhileOnBattlefield); effect.setText("Domain - {this} gets +1/+1 for each basic land type among lands you control."); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); }
public ManaforceMace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); this.subtype.add(SubType.EQUIPMENT); // Domain - Equipped creature gets +1/+1 for each basic land type among lands you control. DomainValue value = new DomainValue(); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(value, value))); // Equip {3} this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3))); }
public TrompTheDomains(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{G}"); // Domain - Until end of turn, creatures you control gain trample and get +1/+1 for each basic land type among lands you control. Effect effect = new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); effect.setText("<i>Domain</i> — Until end of turn, creatures you control gain Trample"); this.getSpellAbility().addEffect(effect); DynamicValue domain = new DomainValue(); effect = new BoostControlledEffect(domain, domain, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, false); effect.setText("and get +1/+1 for each basic land type among lands you control"); this.getSpellAbility().addEffect(effect); }
public ExoticDisease(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{B}"); // Domain - Target player loses X life and you gain X life, where X is the number of basic land types among lands you control. DomainValue dv = new DomainValue(); Effect effect = new LoseLifeTargetEffect(dv); effect.setText("Domain - Target player loses X life"); this.getSpellAbility().addEffect(effect); effect = new GainLifeEffect(dv); effect.setText("and you gain X life, where X is the number of basic land types among lands you control"); this.getSpellAbility().addEffect(effect); this.getSpellAbility().addTarget(new TargetPlayer()); }