use static to change color of permanent instead of turnColor
parent
84ee759321
commit
391e60ff0a
|
@ -7,7 +7,7 @@ import magic.model.MagicPayedCost;
|
|||
import magic.model.MagicPermanent;
|
||||
import magic.model.MagicSource;
|
||||
import magic.model.action.MagicPlayAbilityAction;
|
||||
import magic.model.action.MagicSetTurnColorAction;
|
||||
import magic.model.action.MagicAddStaticAction;
|
||||
import magic.model.choice.MagicColorChoice;
|
||||
import magic.model.condition.MagicCondition;
|
||||
import magic.model.event.MagicActivationHints;
|
||||
|
@ -16,6 +16,8 @@ import magic.model.event.MagicPayManaCostEvent;
|
|||
import magic.model.event.MagicPermanentActivation;
|
||||
import magic.model.event.MagicPlayAbilityEvent;
|
||||
import magic.model.event.MagicTiming;
|
||||
import magic.model.mstatic.MagicStatic;
|
||||
import magic.model.mstatic.MagicLayer;
|
||||
|
||||
public class Spiritmonger {
|
||||
public static final MagicPermanentActivation A = new MagicPermanentActivation(
|
||||
|
@ -48,7 +50,15 @@ public class Spiritmonger {
|
|||
final Object[] data,
|
||||
final Object[] choiceResults) {
|
||||
final MagicPermanent permanent=(MagicPermanent)data[0];
|
||||
game.doAction(new MagicSetTurnColorAction(permanent,(MagicColor)choiceResults[0]));
|
||||
game.doAction(new MagicAddStaticAction(permanent,
|
||||
new MagicStatic(MagicLayer.SwitchPT,MagicStatic.UntilEOT) {
|
||||
@Override
|
||||
public int getColorFlags(
|
||||
final MagicPermanent permanent,
|
||||
final int flags) {
|
||||
return ((MagicColor)choiceResults[0]).getMask();
|
||||
}
|
||||
}));
|
||||
game.doAction(new MagicPlayAbilityAction(permanent));
|
||||
}
|
||||
};
|
||||
|
|
|
@ -10,7 +10,6 @@ public class MagicCleanupCreatureAction extends MagicAction {
|
|||
private long oldTurnAbilityFlags;
|
||||
private int oldTurnPower;
|
||||
private int oldTurnToughness;
|
||||
private int oldTurnColorFlags;
|
||||
private int oldAbilityPlayedThisTurn;
|
||||
private int oldDamage;
|
||||
private int oldPreventDamage;
|
||||
|
@ -22,15 +21,12 @@ public class MagicCleanupCreatureAction extends MagicAction {
|
|||
|
||||
@Override
|
||||
public void doAction(final MagicGame game) {
|
||||
|
||||
oldTurnAbilityFlags=permanent.getTurnAbilityFlags();
|
||||
permanent.setTurnAbilityFlags(0);
|
||||
oldTurnPower=permanent.getTurnPower();
|
||||
permanent.setTurnPower(0);
|
||||
oldTurnToughness=permanent.getTurnToughness();
|
||||
permanent.setTurnToughness(0);
|
||||
oldTurnColorFlags=permanent.getTurnColorFlags();
|
||||
permanent.setTurnColorFlags(MagicPermanent.NO_COLOR_FLAGS);
|
||||
oldAbilityPlayedThisTurn=permanent.getAbilityPlayedThisTurn();
|
||||
permanent.setAbilityPlayedThisTurn(0);
|
||||
oldDamage=permanent.getDamage();
|
||||
|
@ -43,11 +39,9 @@ public class MagicCleanupCreatureAction extends MagicAction {
|
|||
|
||||
@Override
|
||||
public void undoAction(final MagicGame game) {
|
||||
|
||||
permanent.setTurnAbilityFlags(oldTurnAbilityFlags);
|
||||
permanent.setTurnPower(oldTurnPower);
|
||||
permanent.setTurnToughness(oldTurnToughness);
|
||||
permanent.setTurnColorFlags(oldTurnColorFlags);
|
||||
permanent.setAbilityPlayedThisTurn(oldAbilityPlayedThisTurn);
|
||||
permanent.setDamage(oldDamage);
|
||||
permanent.setPreventDamage(oldPreventDamage);
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
package magic.model.action;
|
||||
|
||||
import magic.model.MagicColor;
|
||||
import magic.model.MagicGame;
|
||||
import magic.model.MagicPermanent;
|
||||
|
||||
public class MagicSetTurnColorAction extends MagicAction {
|
||||
|
||||
private final MagicPermanent permanent;
|
||||
private final MagicColor color;
|
||||
private int oldColorFlags;
|
||||
|
||||
public MagicSetTurnColorAction(final MagicPermanent permanent,final MagicColor color) {
|
||||
|
||||
this.permanent=permanent;
|
||||
this.color=color;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doAction(final MagicGame game) {
|
||||
|
||||
oldColorFlags=permanent.getTurnColorFlags();
|
||||
permanent.setTurnColorFlags(color.getMask());
|
||||
game.setStateCheckRequired();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void undoAction(final MagicGame game) {
|
||||
|
||||
permanent.setTurnColorFlags(oldColorFlags);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue