Package mage.cards

Examples of mage.cards.Card


    ExileZone exile = game.getExile().getPermanentExile();
    if (player != null) {
      while (true) {
        if (player.getLibrary().getFromTop(game) == null)
          break;
        Card card = player.getLibrary().removeFromTop(game);
        exile.add(card);
      }
      player.getLibrary().addAll(player.getHand().getCards(game), game);
      player.getLibrary().shuffle();
      player.getHand().clear();
View Full Code Here


    return false;
  }

  @Override
  public boolean apply(Game game, Ability source) {
    Card card = game.getCard(source.getSourceId());
    if (card != null) {
      Player player = game.getPlayer(card.getOwnerId());
      if (player != null) {
        if (card.putOntoBattlefield(game, Zone.HAND, source.getId(), player.getId())) {
          game.fireEvent(GameEvent.getEvent(GameEvent.EventType.DISCARDED_CARD, card.getId(), source.getId(), player.getId()));
          return true;
        }
      }
    }
    return false;
View Full Code Here

      Player player = game.getPlayer(permanent.getControllerId());
      if (permanent.moveToZone(Zone.EXILED, source.getId(), game, false)) {
        if (player.chooseUse(Outcome.PutCardInPlay, "Use Path to Exile effect?", game)) {
          TargetCardInLibrary target = new TargetCardInLibrary(new FilterBasicLandCard());
          player.searchLibrary(target, game);
          Card card = player.getLibrary().remove(target.getFirstTarget(), game);
          if (card != null) {
            if (card.putOntoBattlefield(game, Zone.LIBRARY, source.getId(), permanent.getControllerId())) {
              Permanent land = game.getPermanent(card.getId());
              if (land != null)
                land.setTapped(true);
            }
          }
          player.shuffleLibrary(game);
View Full Code Here

  }

  @Override
  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getControllerId());
    Card card = (Card)game.getObject(source.getFirstTarget());
    if (player.removeFromGraveyard(card, game)) {
      card.moveToZone(Zone.HAND, source.getId(), game, false);
      int damage = card.getManaCost().convertedManaCost();
      if (!card.getCardType().contains(CardType.LAND)) {
        Permanent permanent = game.getPermanent(source.getTargets().get(1).getTargets().get(0));
        if (permanent != null) {
          permanent.damage(damage, source.getSourceId(), game, true, false);
          return true;
        }
View Full Code Here

  @Override
  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getControllerId());
    if (player.getLibrary().size() > 0) {
      if (player.getLibrary().size() == 1) {
        Card card = player.getLibrary().removeFromTop(game);
        card.moveToZone(Zone.HAND, source.getId(), game, false);
      }
      else {
        Cards cards = new CardsImpl(Zone.PICK);
        Card card = player.getLibrary().removeFromTop(game);
        cards.add(card);
        game.setZone(card.getId(), Zone.PICK);
        card = player.getLibrary().removeFromTop(game);
        cards.add(card);
        game.setZone(card.getId(), Zone.PICK);
        TargetCard target = new TargetCard(Zone.PICK, filter);
        target.setRequired(true);
        player.lookAtCards(cards, game);
        player.choose(cards, target, game);
        card = cards.get(target.getFirstTarget(), game);
        if (card != null) {
          card.moveToZone(Zone.HAND, source.getId(), game, false);
          cards.remove(card);
        }
        for (Card card1: cards.getCards(game)) {
          card1.moveToZone(Zone.LIBRARY, source.getId(), game, false);
        }
View Full Code Here

      players.add(new PlayerView(player, game));
    }
    for (StackObject stackObject: state.getStack()) {
      if (stackObject instanceof StackAbility) {
        MageObject object = game.getObject(stackObject.getSourceId());
        Card card = game.getCard(stackObject.getSourceId());
        if (object != null)
          stack.put(stackObject.getId(), new StackAbilityView((StackAbility)stackObject, object.getName(), new CardView(card)));
        else
          stack.put(stackObject.getId(), new StackAbilityView((StackAbility)stackObject, "", new CardView(card)));
      }
View Full Code Here

        break;
      }
    }
    if (defender != null) {
      Cards cards = new CardsImpl();
      Card card = defender.getLibrary().getFromTop(game);
      if (card != null) {
        cards.add(card);
        defender.revealCards(cards, game);
        if (card.getCardType().contains(CardType.LAND)) {
          defender.getLibrary().removeFromTop(game);
          card.moveToZone(Zone.HAND, source.getId(), game, true);
        }
      }
    }
    return false;
  }
View Full Code Here

//      }
//  }

  public CardsView(Collection<? extends Ability> abilities, GameState state) {
    for (Ability ability: abilities) {
      Card sourceCard = state.getPermanent(ability.getSourceId());
      String sourceName = sourceCard.getName();
      this.put(ability.getId(), new AbilityView(ability, sourceName, new CardView(sourceCard)));
    }
  }
View Full Code Here

  }

  @Override
  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getControllerId());
    Card card = player.getLibrary().removeFromTop(game);
    if (card != null) {
      card.moveToZone(Zone.HAND, source.getId(), game, false);
      player.loseLife(card.getManaCost().convertedManaCost(), game);
      Cards cards = new CardsImpl();
      cards.add(card);
      player.revealCards(cards, game);
      return true;
    }
View Full Code Here

  }

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

TOP

Related Classes of mage.cards.Card

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.