@Override public CantGainLifeAllEffect copy() { return new CantGainLifeAllEffect(this); }
public CantGainLifeAllEffect(Duration duration, TargetController targetController) { super(duration, Layer.PlayerEffects, SubLayer.NA, Outcome.Benefit); this.targetController = targetController; staticText = setText(); }
public HavocFestival(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{B}{R}"); // Players can't gain life. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantGainLifeAllEffect())); // At the beginning of each player's upkeep, that player loses half their life, rounded up. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new LoseHalfLifeTargetEffect(), TargetController.ANY, false)); }
public LeylineOfPunishment(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}{R}"); // If Leyline of Punishment is in your opening hand, you may begin the game with it on the battlefield. this.addAbility(LeylineAbility.getInstance()); // Players can't gain life. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantGainLifeAllEffect())); // Damage can't be prevented. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LeylineOfPunishmentEffect2())); }
public ForsakenWastes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); addSuperType(SuperType.WORLD); // Players can't gain life. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantGainLifeAllEffect())); // At the beginning of each player's upkeep, that player loses 1 life. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), TargetController.ANY, false, true)); // Whenever Forsaken Wastes becomes the target of a spell, that spell's controller loses 5 life. this.addAbility(new ForsakenWastesTriggeredAbility()); }
public EverlastingTorment(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B/R}"); // Players can't gain life. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantGainLifeAllEffect())); // Damage can't be prevented. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DamageCantBePreventedEffect(Duration.WhileOnBattlefield, "Damage can't be prevented", true, false))); // All damage is dealt as though its source had wither. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DamageDealtAsIfSourceHadWitherEffect())); }
public WitchHunt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{R}"); // Players can't gain life. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantGainLifeAllEffect())); // At the beginning of your upkeep, Witch Hunt deals 4 damage to you. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageControllerEffect(4), TargetController.YOU, false)); // At the beginning of your end step, target opponent chosen at random gains control of Witch Hunt. Ability ability = new BeginningOfEndStepTriggeredAbility(Zone.BATTLEFIELD, new WitchHuntEffect(), TargetController.YOU, null, false); Target target = new TargetOpponent(); target.setRandom(true); ability.addTarget(target); this.addAbility(ability); }
public ArchfiendOfDespair(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{B}{B}"); this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(6); // Flying this.addAbility(FlyingAbility.getInstance()); // Your opponents can't gain life. this.addAbility(new SimpleStaticAbility( Zone.BATTLEFIELD, new CantGainLifeAllEffect( Duration.WhileOnBattlefield, TargetController.OPPONENT ) )); // At the beginning of each end step, each opponent loses life equal to the life that player lost this turn. (Damage causes loss of life.) this.addAbility(new BeginningOfEndStepTriggeredAbility(new ArchfiendOfDespairEffect(), TargetController.ANY, false)); }
public Skullcrack(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); // Players can't gain life this turn. Damage can't be prevented this turn. Skullcrack deals 3 damage to target player. this.getSpellAbility().addEffect(new CantGainLifeAllEffect(Duration.EndOfTurn)); this.getSpellAbility().addEffect(new DamageCantBePreventedEffect(Duration.EndOfTurn, "Damage can't be prevented this turn", true, false)); this.getSpellAbility().addEffect(new DamageTargetEffect(3)); this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker()); }
public ErebosGodOfTheDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{B}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.GOD); this.power = new MageInt(5); this.toughness = new MageInt(7); // Indestructible this.addAbility(IndestructibleAbility.getInstance()); // As long as your devotion to black is less than five, Erebos isn't a creature. Effect effect = new LoseCreatureTypeSourceEffect(new DevotionCount(ColoredManaSymbol.B), 5); effect.setText("As long as your devotion to black is less than five, Erebos isn't a creature.<i>(Each {B} in the mana costs of permanents you control counts towards your devotion to black.)</i>"); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); // Your opponents can't gain life. this.addAbility(new SimpleStaticAbility( Zone.BATTLEFIELD, new CantGainLifeAllEffect( Duration.WhileOnBattlefield, TargetController.OPPONENT ) )); // {1}{B}, Pay 2 life: Draw a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}{B}")); ability.addCost(new PayLifeCost(2)); this.addAbility(ability); }
public AtarkasCommand(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}{G}"); // Choose two - this.getSpellAbility().getModes().setMinModes(2); this.getSpellAbility().getModes().setMaxModes(2); // Your opponents can't gain life this turn; this.getSpellAbility().addEffect(new CantGainLifeAllEffect(Duration.EndOfTurn, TargetController.OPPONENT)); // or Atarka's Command deals 3 damage to each opponent; Mode mode = new Mode(); mode.addEffect(new DamagePlayersEffect(3, TargetController.OPPONENT)); this.getSpellAbility().addMode(mode); // or You may put a land card from your hand onto the battlefield; mode = new Mode(); mode.addEffect(new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_LAND_A)); this.getSpellAbility().addMode(mode); // or Creatures you control get +1/+1 and gain reach until the end of turn. mode = new Mode(); Effect effect = new BoostControlledEffect(1, 1, Duration.EndOfTurn); effect.setText("Creatures you control get +1/+1"); mode.addEffect(effect); effect = new GainAbilityControlledEffect(ReachAbility.getInstance(), Duration.EndOfTurn); effect.setText("and gain reach until the end of turn"); mode.addEffect(effect); this.getSpellAbility().addMode(mode); }