Exemplo n.º 1
0
  @Override
  public boolean perform(Game game, Event event, Map<Parameter, MagicSet> parameters) {
    GameObject permanent = parameters.get(Parameter.PERMANENT).getOne(GameObject.class);
    Player owner = permanent.getOwner(game.actualState);
    Zone graveyard = owner.getGraveyard(game.actualState);

    Map<Parameter, MagicSet> moveParameters = new HashMap<Parameter, MagicSet>();
    moveParameters.put(Parameter.CAUSE, parameters.get(Parameter.CAUSE));
    moveParameters.put(Parameter.TO, new MagicSet(graveyard));
    moveParameters.put(Parameter.OBJECT, new MagicSet(permanent));

    // move the permanent to the graveyard
    Event move =
        createEvent(
            game,
            "Put " + permanent + " in " + owner + "'s graveyard.",
            MOVE_OBJECTS,
            moveParameters);
    boolean status = move.perform(event, false);

    event.setResult(move.getResultGenerator());
    return status;
  }