Package mage.cards

Examples of mage.cards.Card


    super(effect);
  }

  @Override
  public boolean apply(Game game, Ability source) {
    Card card = game.getCard(source.getFirstTarget());
    Permanent permanent = game.getPermanent(source.getSourceId());
    permanent.setName(card.getName());
    permanent.getColor().setColor(card.getColor());
    permanent.getManaCost().clear();
    permanent.getManaCost().add(card.getManaCost());
    permanent.getCardType().clear();
    for (CardType type: card.getCardType()) {
      permanent.getCardType().add(type);
    }
    permanent.getSubtype().clear();
    for (String type: card.getSubtype()) {
      permanent.getSubtype().add(type);
    }
    permanent.getSupertype().clear();
    for (String type: card.getSupertype()) {
      permanent.getSupertype().add(type);
    }
    permanent.setExpansionSetCode(card.getExpansionSetCode());
    permanent.getAbilities().clear();
    for (Ability ability: card.getAbilities()) {
      permanent.addAbility(ability);
    }
    permanent.getPower().setValue(card.getPower().getValue());
    permanent.getToughness().setValue(card.getToughness().getValue());
    permanent.getLoyalty().setValue(card.getLoyalty().getValue());
    permanent.setArt(card.getArt());
   
    return true;

  }
View Full Code Here


  @Override
  public boolean pay(Game game, UUID sourceId, UUID controllerId, boolean noMana) {
    if (targets.choose(Outcome.Discard, controllerId, game)) {
      Player player = game.getPlayer(controllerId);
      for (UUID targetId: targets.get(0).getTargets()) {
        Card card = player.getHand().get(targetId, game);
        if (card == null)
          return false;
        paid |= player.discard(card, null, game);
      }
    }
View Full Code Here

    public boolean apply(Game game, Ability source) {
        Player player = game.getPlayer(source.getControllerId());
    player.searchLibrary(target, game);
        if (target.getTargets().size() > 0) {
            for (UUID cardId: (List<UUID>)target.getTargets()) {
                Card card = player.getLibrary().remove(cardId, game);
                if (card != null){
          card.moveToZone(Zone.HAND, source.getId(), game, false);
                }
            }
            player.shuffleLibrary(game);
        }
        return true;
View Full Code Here

    return new ReturnFromGraveyardToBattlefieldTargetEffect(this);
  }

  @Override
  public boolean apply(Game game, Ability source) {
    Card card = game.getCard(source.getFirstTarget());
    if (card != null) {
      Player player = game.getPlayer(card.getOwnerId());
      if (player != null) {
        player.removeFromGraveyard(card, game);
        if (card.putOntoBattlefield(game, Zone.GRAVEYARD, source.getId(), source.getControllerId())) {
          if (tapped) {
            Permanent permanent = game.getPermanent(card.getId());
            if (permanent != null)
              permanent.setTapped(true);
          }
          return true;
        }
View Full Code Here

  }

  @Override
  public boolean pay(Game game, UUID sourceId, UUID controllerId, boolean noMana) {
    Player player = game.getPlayer(controllerId);
    Card card = player.getHand().get(sourceId, game);
    return player.discard(card, null, game);
  }
View Full Code Here

  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getControllerId());
    if (player.searchLibrary(target, game)) {
      if (target.getTargets().size() > 0) {
        for (UUID cardId: (List<UUID>)target.getTargets()) {
          Card card = player.getLibrary().remove(cardId, game);
          if (card != null) {
            if (card.putOntoBattlefield(game, Zone.HAND, source.getId(), source.getControllerId())) {
              if (tapped) {
                Permanent permanent = game.getPermanent(card.getId());
                if (permanent != null)
                  permanent.setTapped(true);
              }
            }
          }
View Full Code Here

  }

  @Override
  public boolean apply(Game game, Ability source) {
    Player controller = game.getPlayer(source.getControllerId());
    Card target = (Card) game.getObject(source.getFirstTarget());
    return controller.cast(target.getSpellAbility(), game, true);
  }
View Full Code Here

   * @param game
   * @return Card
   * @see Card
   */
  public Card removeFromTop(Game game) {
    Card card = game.getCard(library.pollFirst());
    if (card == null) {
      emptyDraw = true;
    }
    return card;
  }
View Full Code Here

  }

  public Collection<Card> getUniqueCards(Game game) {
    Map<String, Card> cards = new HashMap<String, Card>();
    for (UUID cardId: library) {
      Card card = game.getCard(cardId);
      if (!cards.containsKey(card.getName())) {
        cards.put(card.getName(), card);
      }
    }
    return cards.values();
  }
View Full Code Here

  @Override
  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getControllerId());
    Cards cards = new CardsImpl(Zone.PICK);
    for (int i = 0; i < scryNumber; i++) {
      Card card = player.getLibrary().removeFromTop(game);
      cards.add(card);
      game.setZone(card.getId(), Zone.PICK);
    }
    TargetCard target1 = new TargetCard(Zone.PICK, filter1);
    while (cards.size() > 0 && player.choose(cards, target1, game)) {
      Card card = cards.get(target1.getFirstTarget(), game);
      cards.remove(card);
      card.moveToZone(Zone.LIBRARY, source.getId(), game, false);
      target1.clearChosen();
    }
    if (cards.size() > 1) {
      TargetCard target2 = new TargetCard(Zone.PICK, filter2);
      target2.setRequired(true);
      while (cards.size() > 1) {
        player.choose(cards, target2, game);
        Card card = cards.get(target2.getFirstTarget(), game);
        cards.remove(card);
        card.moveToZone(Zone.LIBRARY, source.getId(), game, true);
        target2.clearChosen();
      }
    }
    if (cards.size() == 1) {
      Card card = cards.get(cards.iterator().next(), game);
      card.moveToZone(Zone.LIBRARY, source.getId(), game, true);
    }
    return true;
  }
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.