changed buyback to put card in the graveyard when there was no legal target. part of issue 118

master
beholder 2011-12-06 09:21:14 +01:00
parent 5830f91610
commit 613269c56c
3 changed files with 37 additions and 20 deletions

View File

@ -39,18 +39,25 @@ public class Brush_with_Death {
final Object[] data,
final Object[] choiceResults) {
final MagicCardOnStack cardOnStack = (MagicCardOnStack)data[0];
event.processTargetPlayer(game,choiceResults,0,new MagicPlayerAction() {
final boolean hasTarget = event.processTargetPlayer(
game,
choiceResults,
0,
new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
game.doAction(new MagicChangeLifeAction(player,-2));
game.doAction(new MagicChangeLifeAction((MagicPlayer)data[1],2));
if (MagicBuybackChoice.isYesChoice(choiceResults[1])) {
game.doAction(new MagicMoveCardAction(
cardOnStack.getCard(),
MagicLocationType.Stack,
MagicLocationType.OwnersHand));
} else {
game.doAction(new MagicMoveCardAction(cardOnStack));
}
}
});
if (MagicBuybackChoice.isYesChoice(choiceResults[1])) {
game.doAction(new MagicMoveCardAction(
cardOnStack.getCard(),
MagicLocationType.Stack,
MagicLocationType.OwnersHand));
} else {
if (!hasTarget) {
game.doAction(new MagicMoveCardAction(cardOnStack));
}
}

View File

@ -52,15 +52,18 @@ public class Corpse_Dance {
(MagicPlayer)data[1],
card,
MagicPlayCardAction.HASTE_REMOVE_AT_END_OF_TURN));
}
if (MagicBuybackChoice.isYesChoice(choiceResults[1])) {
game.doAction(new MagicMoveCardAction(
cardOnStack.getCard(),
MagicLocationType.Stack,
MagicLocationType.OwnersHand));
if (MagicBuybackChoice.isYesChoice(choiceResults[1])) {
game.doAction(new MagicMoveCardAction(
cardOnStack.getCard(),
MagicLocationType.Stack,
MagicLocationType.OwnersHand));
} else {
game.doAction(new MagicMoveCardAction(cardOnStack));
}
} else {
game.doAction(new MagicMoveCardAction(cardOnStack));
}
}
};
}

View File

@ -38,17 +38,24 @@ public class Mind_Peel {
final Object[] data,
final Object[] choiceResults) {
final MagicCardOnStack cardOnStack = (MagicCardOnStack)data[0];
event.processTargetPlayer(game,choiceResults,0,new MagicPlayerAction() {
final boolean hasTarget = event.processTargetPlayer(
game,
choiceResults,
0,
new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
game.addEvent(new MagicDiscardEvent(cardOnStack.getCard(),player,1,false));
if (MagicBuybackChoice.isYesChoice(choiceResults[1])) {
game.doAction(new MagicMoveCardAction(
cardOnStack.getCard(),
MagicLocationType.Stack,
MagicLocationType.OwnersHand));
} else {
game.doAction(new MagicMoveCardAction(cardOnStack));
}
}
});
if (MagicBuybackChoice.isYesChoice(choiceResults[1])) {
game.doAction(new MagicMoveCardAction(
cardOnStack.getCard(),
MagicLocationType.Stack,
MagicLocationType.OwnersHand));
} else {
if (!hasTarget) {
game.doAction(new MagicMoveCardAction(cardOnStack));
}
}