added MagicCipherAction, simplified groovy code
parent
f9ddcc3fd5
commit
86ef71385b
|
@ -21,11 +21,10 @@
|
||||||
creature,
|
creature,
|
||||||
MagicPermanentState.DoesNotUntapDuringNext
|
MagicPermanentState.DoesNotUntapDuringNext
|
||||||
));
|
));
|
||||||
if (event.getCardOnStack().getCard().isToken() == false) {
|
game.doAction(new MagicCipherAction(
|
||||||
// prevent auto move to graveyard
|
event.getCardOnStack(),
|
||||||
game.doAction(new MagicChangeCardDestinationAction(event.getCardOnStack(), MagicLocationType.Play));
|
event.getPlayer()
|
||||||
game.addEvent(new MagicCipherEvent(event.getSource(), event.getPlayer()));
|
));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,11 +20,10 @@
|
||||||
MagicCard.createTokenCard(creature.getCardDefinition(), player),
|
MagicCard.createTokenCard(creature.getCardDefinition(), player),
|
||||||
player
|
player
|
||||||
));
|
));
|
||||||
if (event.getCardOnStack().getCard().isToken() == false) {
|
game.doAction(new MagicCipherAction(
|
||||||
// prevent auto move to graveyard
|
event.getCardOnStack(),
|
||||||
game.doAction(new MagicChangeCardDestinationAction(event.getCardOnStack(), MagicLocationType.Play));
|
event.getPlayer()
|
||||||
game.addEvent(new MagicCipherEvent(event.getSource(), 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