@Override public BoostOpponentsEffect copy() { return new BoostOpponentsEffect(this); }
public CumberStone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}{U}"); // Creatures your opponents control get -1/-0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostOpponentsEffect(-1, 0, Duration.WhileOnBattlefield))); }
public MakeObsolete(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{B}"); // Creatures your opponents control get -1/-1 until end of turn this.getSpellAbility().addEffect(new BoostOpponentsEffect(-1, -1, Duration.EndOfTurn)); }
public TurnTheTide (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}"); this.getSpellAbility().addEffect(new BoostOpponentsEffect(-2, 0, Duration.EndOfTurn)); }
public HaunterOfNightveil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(4); // Creatures your opponents control get -1/-0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostOpponentsEffect(-1,0, Duration.WhileOnBattlefield))); }
public SuicidalCharge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}{R}"); // Sacrifice Suicidal Charge: Creatures your opponents control get -1/-1 until end of turn. Those creatures attack this turn if able. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostOpponentsEffect(-1, -1, Duration.EndOfTurn), new SacrificeSourceCost()); ability.addEffect(new SuicidalChargeEffect()); this.addAbility(ability); }
public MassacreWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}{B}"); this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(5); this.addAbility(new EntersBattlefieldTriggeredAbility(new BoostOpponentsEffect(-2, -2, Duration.EndOfTurn))); this.addAbility(new MassacreWurmTriggeredAbility()); }
public HotPursuit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{R}{G}"); // Each creature your opponent's control with a bounty counter on it gets -1/-1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostOpponentsEffect(-1, -1, Duration.WhileOnBattlefield, filter))); // <i>Bounty</i> — Whenever a creature an opponent controls with a bounty counter on it dies, you may put a bounty counter on target creature an opponent controls. Ability ability = new BountyAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()), true); ability.addTarget(new TargetOpponentsCreaturePermanent()); this.addAbility(ability); }
public UncomfortableChill(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}"); // Creatures your opponents control get -2/-0 until end of turn. this.getSpellAbility().addEffect(new BoostOpponentsEffect(-2, 0, Duration.EndOfTurn)); // Draw a card. this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); }
public ZealousPersecution(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{W}{B}"); this.getSpellAbility().addEffect(new BoostControlledEffect(1, 1, Duration.EndOfTurn)); this.getSpellAbility().addEffect(new BoostOpponentsEffect(-1, -1, Duration.EndOfTurn)); }
public AzoriusSkyguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{U}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); // Flying this.addAbility(FlyingAbility.getInstance()); // First strike this.addAbility(FirstStrikeAbility.getInstance()); // Creatures your opponents control get -1/-0. this.addAbility(new SimpleStaticAbility(new BoostOpponentsEffect(-1, 0, Duration.WhileOnBattlefield))); }
public PlagueMare(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); this.subtype.add(SubType.NIGHTMARE); this.subtype.add(SubType.HORSE); this.power = new MageInt(2); this.toughness = new MageInt(2); // Plague Mare can't be blocked by white creatures. this.addAbility(new SimpleStaticAbility( Zone.BATTLEFIELD, new CantBeBlockedByCreaturesSourceEffect( filter, Duration.WhileOnBattlefield ) )); // When Plague Mare enters the battlefield, creatures your opponents control get -1/-1 until end of turn. this.addAbility(new EntersBattlefieldTriggeredAbility( new BoostOpponentsEffect(-1, -1, Duration.EndOfTurn) )); }
public EleshNornGrandCenobite (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.PRAETOR); this.power = new MageInt(4); this.toughness = new MageInt(7); // Vigilance this.addAbility(VigilanceAbility.getInstance()); // Other creatures you control get +2/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, true))); // Creatures your opponents control get -2/-2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostOpponentsEffect(-2, -2, Duration.WhileOnBattlefield))); }
public SurpriseManeuver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}"); // Untap up to two target creatures you control. this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent(0, 2)); this.getSpellAbility().addEffect(new UntapTargetEffect()); // Creatures your opponents control get -1/-0 until end of turn. this.getSpellAbility().addEffect(new BoostOpponentsEffect(-1, 0, Duration.EndOfTurn)); }
public EtherealAbsolution(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{W}{B}"); // Creatures you control get +1/+1. this.addAbility(new SimpleStaticAbility( new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield) )); // Creatures your opponents control get -1/-1. this.addAbility(new SimpleStaticAbility( new BoostOpponentsEffect(-1, -1, Duration.WhileOnBattlefield) )); // {2}{W}{B}: Exile target card from an opponent's graveyard. If it was a creature card, you create a 1/1 white and black Spirit creature token with flying. Ability ability = new SimpleActivatedAbility( new EtherealAbsolutionEffect(), new ManaCostsImpl("{2}{W}{B}") ); ability.addTarget(new TargetCardInOpponentsGraveyard(StaticFilters.FILTER_CARD)); this.addAbility(ability); }
public FesteringMarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}{B}"); // Creatures your opponents control get -1/-1 until end of turn. this.getSpellAbility().addEffect(new BoostOpponentsEffect(-1, -1, Duration.EndOfTurn)); // Exile Festering March this.getSpellAbility().addEffect(ExileSpellEffect.getInstance()); // with three time counters on it. Effect effect = new AddCountersSourceEffect(CounterType.TIME.createInstance(), new StaticValue(3), false, true); effect.setText("with 3 time counters on it"); this.getSpellAbility().addEffect(effect); // Suspend 3-{2}{B} this.addAbility(new SuspendAbility(3, new ManaCostsImpl<>("{2}{B}"), this)); }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { int sicknessCount = 0; int psychosisCount = 0; for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { Player player = game.getPlayer(playerId); if (player != null) { if (player.chooseUse(Outcome.ExtraTurn, "Choose sickness?", source, game)) { sicknessCount++; game.informPlayers(player.getLogName() + " has voted for sickness"); } else { psychosisCount++; game.informPlayers(player.getLogName() + " has voted for psychosis"); } } } if (sicknessCount > psychosisCount) { ContinuousEffect effect = new BoostOpponentsEffect(-2, -2, Duration.EndOfTurn); game.addEffect(effect, source); } else { new DiscardEachPlayerEffect(new StaticValue(2), false, TargetController.OPPONENT).apply(game, source); } return true; } return false; } }