@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);