}
@Override
public boolean apply(Game game, Ability source) {
Player you = game.getPlayer(source.getControllerId());
TargetCardInYourGraveyard target1 = new TargetCardInYourGraveyard(new FilterCreatureCard("creature card in your graveyard"));
TargetCreaturePermanent target2 = new TargetCreaturePermanent();
if (you != null) {
if (target1.canChoose(source.getControllerId(), game)
&& you.choose(Outcome.Benefit, target1, source.getSourceId(), game)
&& target2.canChoose(source.getControllerId(), game)
&& you.choose(Outcome.Damage, target2, source.getSourceId(), game)) {
Card creatureInGraveyard = game.getCard(target1.getFirstTarget());
if (creatureInGraveyard != null) {
if (creatureInGraveyard.moveToZone(Zone.LIBRARY, id, game, true)) {
int power = creatureInGraveyard.getPower().getValue();
Permanent creature = game.getPermanent(target2.getFirstTarget());
if (creature != null) {