added MagicCipherAction, simplified groovy code
parent
f9ddcc3fd5
commit
86ef71385b
|
@ -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()
|
||||
));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue