Package mage.players

Examples of mage.players.Player


  }

  @Override
  public boolean apply(Game game, Ability source) {

    Player sourcePlayer = game.getPlayer(source.getControllerId());
    for (UUID playerId: sourcePlayer.getInRange()) {
      Player player = game.getPlayer(playerId);
      if (player != null)
        player.drawCards(amount, game);
    }
    return true;
  }
View Full Code Here


    return new DrawCardTargetEffect(this);
  }

  @Override
  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getFirstTarget());
    if (player != null) {
      player.drawCards(amount, game);
      return true;
    }
    return false;
  }
View Full Code Here

  public boolean pay(Game game, UUID sourceId, UUID controllerId, boolean noMana) {
    if (noMana) {
      setPaid();
      return true;
    }
    Player player = game.getPlayer(controllerId);
    assignPayment(player.getManaPool());
    while (!isPaid()) {
      if (player.playMana(this, game))
        assignPayment(player.getManaPool());
      else
        return false;
    }
    return true;
  }
View Full Code Here

    return new PutLibraryIntoGraveTargetEffect(this);
  }

  @Override
  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getFirstTarget());
    Card card;
    for (int i = 0; i < amount; i++) {
      card = player.getLibrary().removeFromTop(game);
      if (card != null)
        player.getGraveyard().add(card);
      else
        break;
    }
    return true;
  }
View Full Code Here

    return new CycleEffect(this);
  }

  @Override
  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getControllerId());
    player.drawCards(1, game);
    return true;
  }
View Full Code Here

    return new KickerAbility(this);
  }

  @Override
  public boolean activate(Game game, boolean noMana) {
    Player player = game.getPlayer(this.getControllerId());
    if (player.chooseUse(this.effects.get(0).getOutcome(), "Use kicker " + this.effects.get(0).getText(this) + "?", game)) {
      game.bookmarkState();
      if (super.activate(game, noMana)) {
        game.removeLastBookmark();
        kicked = true;
      }
View Full Code Here

  }

  @Override
  public boolean apply(Game game, Ability source) {
    Card card;
    Player player = game.getPlayer(source.getControllerId());
    ExileZone exile = game.getExile().createZone(source.getSourceId(), player.getName() + " Cascade");
    int sourceCost = game.getObject(source.getSourceId()).getManaCost().convertedManaCost();
    do {
      card = player.getLibrary().removeFromTop(game);
      if (card == null)
        break;
      card.moveToExile(exile.getId(), exile.getName(), source.getId(), game);
    } while (card.getCardType().contains(CardType.LAND) || card.getManaCost().convertedManaCost() >= sourceCost);

    if (card != null) {
      if (player.chooseUse(outcome, "Use cascade effect on " + card.getName() + "?", game)) {
        player.cast(card.getSpellAbility(), game, true);
        exile.remove(card.getId());
      }
    }

    while (exile.size() > 0) {
View Full Code Here

    super(effect);
  }

  @Override
  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getControllerId());
    if (player != null) {
      TargetControlledPermanent target = new TargetControlledPermanent(filter);
      if (target.canChoose(null, source.getControllerId(), game)) {
        target.setRequired(true);
        if (player.choose(Outcome.Neutral, target, game)) {
          Permanent permanent = game.getPermanent(target.getFirstTarget());
          if (permanent != null) {
            permanent.addCounters("phylactery", 1);
          }
        }
View Full Code Here

  @Override
  public boolean replaceEvent(GameEvent event, Ability source, Game game) {
    GameEvent preventEvent = new GameEvent(GameEvent.EventType.PREVENT_DAMAGE, source.getControllerId(), source.getId(), source.getControllerId(), event.getAmount(), false);
    if (!game.replaceEvent(preventEvent)) {
      Player player = game.getPlayer(source.getFirstTarget());
      if (player != null) {
        if (event.getAmount() >= this.amount) {
          int damage = event.getAmount();
          event.setAmount(event.getAmount() - amount);
          player.damage(amount, source.getSourceId(), game, false, true);
          this.used = true;
          game.fireEvent(GameEvent.getEvent(GameEvent.EventType.PREVENTED_DAMAGE, source.getControllerId(), source.getId(), source.getControllerId(), damage));
        } else {
          int damage = event.getAmount();
          event.setAmount(0);
          amount -= damage;
          player.damage(damage, source.getSourceId(), game, false, true);
          game.fireEvent(GameEvent.getEvent(GameEvent.EventType.PREVENTED_DAMAGE, source.getControllerId(), source.getId(), source.getControllerId(), damage));
        }
      }
    }
    return false;
View Full Code Here

      creature.moveToExile(null, null, source.getId(), game);
    }
    Cards revealed = new CardsImpl();
    Cards creatureCards = new CardsImpl();
    Cards nonCreatureCards = new CardsImpl();
    Player player = game.getPlayer(source.getControllerId());
    while (creatureCards.size() < count && player.getLibrary().size() > 0) {
      Card card = player.getLibrary().removeFromTop(game);
      revealed.add(card);
      if (card.getCardType().contains(CardType.CREATURE))
        creatureCards.add(card);
      else
        nonCreatureCards.add(card);
    }
    player.revealCards(revealed, game);
    for (Card creatureCard: creatureCards.getCards(game)) {
      creatureCard.putOntoBattlefield(game, Zone.LIBRARY, source.getId(), source.getControllerId());
    }
    player.getLibrary().addAll(nonCreatureCards.getCards(game), game);
    player.getLibrary().shuffle();
    return true;
  }
View Full Code Here

TOP

Related Classes of mage.players.Player

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.