added MagicCipherAction, simplified groovy code

master
melvin 2013-08-11 20:09:04 +08:00
parent f9ddcc3fd5
commit 86ef71385b
3 changed files with 39 additions and 10 deletions

View File

@ -21,11 +21,10 @@
creature,
MagicPermanentState.DoesNotUntapDuringNext
));
if (event.getCardOnStack().getCard().isToken() == false) {
// prevent auto move to graveyard
game.doAction(new MagicChangeCardDestinationAction(event.getCardOnStack(), MagicLocationType.Play));
game.addEvent(new MagicCipherEvent(event.getSource(), event.getPlayer()));
}
game.doAction(new MagicCipherAction(
event.getCardOnStack(),
event.getPlayer()
));
}
});
}

View File

@ -20,11 +20,10 @@
MagicCard.createTokenCard(creature.getCardDefinition(), player),
player
));
if (event.getCardOnStack().getCard().isToken() == false) {
// prevent auto move to graveyard
game.doAction(new MagicChangeCardDestinationAction(event.getCardOnStack(), MagicLocationType.Play));
game.addEvent(new MagicCipherEvent(event.getSource(), event.getPlayer()));
}
game.doAction(new MagicCipherAction(
event.getCardOnStack(),
event.getPlayer()
));
}
});
}

View File

@ -0,0 +1,31 @@
package magic.model.action;
import magic.model.MagicGame;
import magic.model.MagicPlayer;
import magic.model.MagicLocationType;
import magic.model.stack.MagicCardOnStack;
import magic.model.event.MagicCipherEvent;
public class MagicCipherAction extends MagicAction {
private final MagicCardOnStack cardOnStack;
private final MagicPlayer controller;
public MagicCipherAction(final MagicCardOnStack aCardOnStack, final MagicPlayer aController) {
cardOnStack = aCardOnStack;
controller = aController;
}
@Override
public void doAction(final MagicGame game) {
if (cardOnStack.getCard().isToken() == false) {
// prevent auto move to graveyard
game.doAction(new MagicChangeCardDestinationAction(cardOnStack, MagicLocationType.Play));
game.addEvent(new MagicCipherEvent(cardOnStack, controller));
}
}
@Override
public void undoAction(final MagicGame game) {
}
}