@Override public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana, Cost costToPay) { Player controller = game.getPlayer(controllerId); if (controller != null) { controller.flipCoin(ability, game, true); this.paid = true; return true; } return false; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player == null) { return false; } while (true) { if (!player.flipCoin(source, game, true)) { return true; } } } }
@Override public void init(Ability source, Game game) { this.wonFlip = game.getPlayer(source.getControllerId()).flipCoin(source, game, true); super.init(source, game); }
@Override public void init(Ability source, Game game) { this.wonFlip = game.getPlayer(source.getControllerId()).flipCoin(source, game, true); super.init(source, game); }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { if (!player.flipCoin(source, game, true)) { player.damage(3, source.getSourceId(), game, false, true); } return true; } return false; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null && player.flipCoin(source, game, true)) { player.getManaPool().addMana(getMana(game, source), game, source); } return true; } }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { if (controller.flipCoin(source, game, true)) { game.informPlayers(controller.getLogName() + " got " + controller.gainLife(6, game, source)+ " live"); } } return false; }
@Override public void init(Ability source, Game game) { this.target.choose(Outcome.Benefit, source.getControllerId(), source.getSourceId(), game); Player you = game.getPlayer(source.getControllerId()); if(you != null) { wonFlip = you.flipCoin(source, game, true); super.init(source, game); } }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { if (!player.flipCoin(source, game, true)) { Permanent permanent = game.getPermanent(source.getSourceId()); if (permanent != null) { return permanent.sacrifice(source.getSourceId(), game); } } } return false; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); Permanent permanent = game.getPermanent(source.getSourceId()); if (controller != null && permanent != null && !controller.flipCoin(source, game, true)) { return permanent.turnFaceDown(game, source.getControllerId()); } return false; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { if (controller.flipCoin(source, game, true)) { new DamageEverythingEffect(1).apply(game, source); return true; } else { new DrawCardAllEffect(1).apply(game, source); return true; } } return false; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); Permanent permanent = game.getPermanent(source.getSourceId()); if (controller != null && permanent != null) { if (controller.flipCoin(source, game, true)) { return true; } else { new ReturnToHandSourceEffect().apply(game, source); return true; } } return false; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source)); if (controller != null && permanent != null) { if (controller.flipCoin(source, game, true)) { game.addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn), source); return true; } } return false; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source)); if (controller != null && permanent != null) { if (controller.flipCoin(source, game, true)) { game.addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn), source); return true; } } return false; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { if (player.flipCoin(source, game, true)) { UUID targetId = getTargetPointer().getFirst(game, source); Permanent permanent = game.getPermanent(targetId); if (permanent != null) { permanent.destroy(source.getSourceId(), game, false); } } } return false; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { if (player.flipCoin(source, game, true)) { game.getState().getTurnMods().add(new TurnMod(player.getId(), false)); return true; } } return false; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); Permanent perm = game.getPermanent(source.getSourceId()); if (player == null || perm == null) { return false; } if (player.flipCoin(source, game, true)) { return new ExileReturnBattlefieldOwnerNextEndStepSourceEffect(true).apply(game, source); } else { return perm.sacrifice(source.getSourceId(), game); } }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); Permanent permanent = game.getPermanent(source.getSourceId()); if (controller != null && permanent != null) { if (controller.flipCoin(source, game, true)) { new ReturnToHandSourceEffect().apply(game, source); return true; } else { new SacrificeSourceEffect().apply(game, source); return true; } } return false; }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); Permanent permanent = game.getPermanent(source.getSourceId()); if (player != null && permanent != null) { if (!player.flipCoin(source, game, true)) { String message = permanent.getLogName() + " deals 2 damage to itself"; game.informPlayers(message); permanent.damage(2, source.getSourceId(), game, false, true); } return true; } return false; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { if (controller.flipCoin(source, game, false)) { game.informPlayers("Odds: Spell countered"); return game.getStack().counter(getTargetPointer().getFirst(game, source), source.getSourceId(), game); } else { game.informPlayers("Odds: Spell will be copied"); return new CopyTargetSpellEffect().apply(game, source); } } return false; } }