refactor MagicChangeStateAction -> ChangeStateAction
parent
47a5011c94
commit
26ae19374c
|
@ -4,7 +4,7 @@ import magic.ai.ArtificialScoringSystem;
|
|||
import magic.model.action.AttachAction;
|
||||
import magic.model.action.ChangeControlAction;
|
||||
import magic.model.action.ChangeCountersAction;
|
||||
import magic.model.action.MagicChangeStateAction;
|
||||
import magic.model.action.ChangeStateAction;
|
||||
import magic.model.action.MagicDestroyAction;
|
||||
import magic.model.action.MagicRemoveFromPlayAction;
|
||||
import magic.model.action.MagicSoulbondAction;
|
||||
|
@ -771,7 +771,7 @@ public class MagicPermanent extends MagicObjectImpl implements MagicSource,Magic
|
|||
game.logAppendMessage(getController(),getName()+" is put into its owner's graveyard.");
|
||||
game.addDelayedAction(new MagicRemoveFromPlayAction(this,MagicLocationType.Graveyard));
|
||||
} else if (hasState(MagicPermanentState.Destroyed)) {
|
||||
game.addDelayedAction(MagicChangeStateAction.Clear(this,MagicPermanentState.Destroyed));
|
||||
game.addDelayedAction(ChangeStateAction.Clear(this,MagicPermanentState.Destroyed));
|
||||
game.addDelayedAction(new MagicDestroyAction(this));
|
||||
} else if (toughness-damage<=0) {
|
||||
game.addDelayedAction(new MagicDestroyAction(this));
|
||||
|
|
|
@ -33,7 +33,7 @@ public class ChangeControlAction extends MagicAction {
|
|||
|
||||
perm.setState(MagicPermanentState.Summoned);
|
||||
game.doAction(new MagicRemoveFromCombatAction(perm));
|
||||
game.doAction(MagicChangeStateAction.Clear(perm,MagicPermanentState.ExcludeFromCombat));
|
||||
game.doAction(ChangeStateAction.Clear(perm,MagicPermanentState.ExcludeFromCombat));
|
||||
|
||||
if (perm.getPairedCreature().isValid()) {;
|
||||
game.doAction(new MagicSoulbondAction(perm,perm.getPairedCreature(),false));
|
||||
|
|
|
@ -5,22 +5,22 @@ import magic.model.MagicPermanent;
|
|||
import magic.model.MagicPermanentState;
|
||||
import magic.model.trigger.MagicTriggerType;
|
||||
|
||||
public class MagicChangeStateAction extends MagicAction {
|
||||
public class ChangeStateAction extends MagicAction {
|
||||
|
||||
public final MagicPermanent permanent;
|
||||
public final MagicPermanentState state;
|
||||
private final boolean set;
|
||||
private boolean changed;
|
||||
|
||||
public static MagicChangeStateAction Set(final MagicPermanent permanent,final MagicPermanentState state) {
|
||||
return new MagicChangeStateAction(permanent, state, true);
|
||||
public static ChangeStateAction Set(final MagicPermanent permanent,final MagicPermanentState state) {
|
||||
return new ChangeStateAction(permanent, state, true);
|
||||
}
|
||||
|
||||
public static MagicChangeStateAction Clear(final MagicPermanent permanent,final MagicPermanentState state) {
|
||||
return new MagicChangeStateAction(permanent, state, false);
|
||||
public static ChangeStateAction Clear(final MagicPermanent permanent,final MagicPermanentState state) {
|
||||
return new ChangeStateAction(permanent, state, false);
|
||||
}
|
||||
|
||||
protected MagicChangeStateAction(final MagicPermanent aPermanent,final MagicPermanentState aState,final boolean aSet) {
|
||||
protected ChangeStateAction(final MagicPermanent aPermanent,final MagicPermanentState aState,final boolean aSet) {
|
||||
permanent = aPermanent;
|
||||
state = aState;
|
||||
set = aSet;
|
|
@ -62,7 +62,7 @@ public class MagicCombatDamageAction extends MagicAction {
|
|||
combatDamage.add(MagicDamage.Combat(blocker,attacker,power));
|
||||
}
|
||||
if (first) {
|
||||
game.doAction(MagicChangeStateAction.Set(blocker, MagicPermanentState.DealtFirstStrike));
|
||||
game.doAction(ChangeStateAction.Set(blocker, MagicPermanentState.DealtFirstStrike));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ public class MagicCombatDamageAction extends MagicAction {
|
|||
}
|
||||
}
|
||||
if (first) {
|
||||
game.doAction(MagicChangeStateAction.Set(attacker, MagicPermanentState.DealtFirstStrike));
|
||||
game.doAction(ChangeStateAction.Set(attacker, MagicPermanentState.DealtFirstStrike));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -116,7 +116,7 @@ public class MagicDealDamageAction extends MagicAction {
|
|||
if (target.isCreature()) {
|
||||
final MagicPermanent targetPermanent=(MagicPermanent)target;
|
||||
if (damage.hasNoRegeneration()) {
|
||||
game.doAction(MagicChangeStateAction.Set(targetPermanent,MagicPermanentState.CannotBeRegenerated));
|
||||
game.doAction(ChangeStateAction.Set(targetPermanent,MagicPermanentState.CannotBeRegenerated));
|
||||
}
|
||||
if (source.hasAbility(MagicAbility.Wither)||source.hasAbility(MagicAbility.Infect)) {
|
||||
game.doAction(new ChangeCountersAction(targetPermanent,MagicCounterType.MinusOne,dealtAmount));
|
||||
|
@ -125,9 +125,9 @@ public class MagicDealDamageAction extends MagicAction {
|
|||
targetPermanent.setDamage(oldDamage+dealtAmount);
|
||||
}
|
||||
if (source.hasAbility(MagicAbility.Deathtouch)) {
|
||||
game.doAction(MagicChangeStateAction.Set(targetPermanent,MagicPermanentState.Destroyed));
|
||||
game.doAction(ChangeStateAction.Set(targetPermanent,MagicPermanentState.Destroyed));
|
||||
}
|
||||
game.doAction(MagicChangeStateAction.Set(targetPermanent,MagicPermanentState.WasDealtDamage));
|
||||
game.doAction(ChangeStateAction.Set(targetPermanent,MagicPermanentState.WasDealtDamage));
|
||||
}
|
||||
|
||||
if (target.isPlayer()) {
|
||||
|
|
|
@ -39,7 +39,7 @@ public class MagicDestroyAction extends MagicAction {
|
|||
game.doAction(new MagicTapAction(permanent));
|
||||
game.doAction(new MagicRemoveAllDamageAction(permanent));
|
||||
game.doAction(new MagicRemoveFromCombatAction(permanent));
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent,MagicPermanentState.Regenerated));
|
||||
game.doAction(ChangeStateAction.Clear(permanent,MagicPermanentState.Regenerated));
|
||||
destroy = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ public class MagicFlipAction extends MagicAction {
|
|||
if (permanent.isFlipCard() && permanent.isFlipped() == false) {
|
||||
oldStatics = permanent.getStatics();
|
||||
|
||||
game.doAction(MagicChangeStateAction.Set(permanent, MagicPermanentState.Flipped));
|
||||
game.doAction(ChangeStateAction.Set(permanent, MagicPermanentState.Flipped));
|
||||
|
||||
newStatics = permanent.getStatics();
|
||||
game.removeStatics(permanent, oldStatics);
|
||||
|
|
|
@ -58,7 +58,7 @@ public class MagicPlayCardFromStackAction extends MagicAction {
|
|||
permanent.getFirstController().addPermanent(permanent);
|
||||
|
||||
if (cardOnStack.isCast() && cardOnStack.getFromLocation() == MagicLocationType.OwnersHand) {
|
||||
game.doAction(MagicChangeStateAction.Set(permanent, MagicPermanentState.CastFromHand));
|
||||
game.doAction(ChangeStateAction.Set(permanent, MagicPermanentState.CastFromHand));
|
||||
}
|
||||
|
||||
//comes into play with/as, such as manifest
|
||||
|
|
|
@ -3,7 +3,7 @@ package magic.model.action;
|
|||
import magic.model.MagicPermanent;
|
||||
import magic.model.MagicPermanentState;
|
||||
|
||||
public class MagicRegenerateAction extends MagicChangeStateAction {
|
||||
public class MagicRegenerateAction extends ChangeStateAction {
|
||||
public MagicRegenerateAction(final MagicPermanent permanent) {
|
||||
super(permanent,MagicPermanentState.Regenerated,true);
|
||||
}
|
||||
|
|
|
@ -22,17 +22,17 @@ public class MagicRemoveFromCombatAction extends MagicAction {
|
|||
attacking=permanent.hasState(MagicPermanentState.Attacking);
|
||||
blocking=permanent.hasState(MagicPermanentState.Blocking);
|
||||
if (attacking) {
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent,MagicPermanentState.Attacking));
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent,MagicPermanentState.Blocked));
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent,MagicPermanentState.DealtFirstStrike));
|
||||
game.doAction(ChangeStateAction.Clear(permanent,MagicPermanentState.Attacking));
|
||||
game.doAction(ChangeStateAction.Clear(permanent,MagicPermanentState.Blocked));
|
||||
game.doAction(ChangeStateAction.Clear(permanent,MagicPermanentState.DealtFirstStrike));
|
||||
blockingCreatures=new MagicPermanentList(permanent.getBlockingCreatures());
|
||||
permanent.removeBlockingCreatures();
|
||||
for (final MagicPermanent blockingCreature : blockingCreatures) {
|
||||
blockingCreature.setBlockedCreature(MagicPermanent.NONE);
|
||||
}
|
||||
} else if (blocking) {
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent,MagicPermanentState.Blocking));
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent,MagicPermanentState.DealtFirstStrike));
|
||||
game.doAction(ChangeStateAction.Clear(permanent,MagicPermanentState.Blocking));
|
||||
game.doAction(ChangeStateAction.Clear(permanent,MagicPermanentState.DealtFirstStrike));
|
||||
blockedCreature=permanent.getBlockedCreature();
|
||||
if (blockedCreature.isValid()) {
|
||||
permanent.setBlockedCreature(MagicPermanent.NONE);
|
||||
|
|
|
@ -24,9 +24,9 @@ public class MagicTransformAction extends MagicAction {
|
|||
oldStatics = permanent.getStatics();
|
||||
|
||||
if (permanent.isTransformed()) {
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent, MagicPermanentState.Transformed));
|
||||
game.doAction(ChangeStateAction.Clear(permanent, MagicPermanentState.Transformed));
|
||||
} else {
|
||||
game.doAction(MagicChangeStateAction.Set(permanent, MagicPermanentState.Transformed));
|
||||
game.doAction(ChangeStateAction.Set(permanent, MagicPermanentState.Transformed));
|
||||
}
|
||||
|
||||
newStatics = permanent.getStatics();
|
||||
|
|
|
@ -23,7 +23,7 @@ public class MagicTurnFaceDownAction extends MagicAction {
|
|||
if (permanent.isFaceDown() == false && permanent.isDoubleFaced() == false) {
|
||||
oldStatics = permanent.getStatics();
|
||||
|
||||
game.doAction(MagicChangeStateAction.Set(permanent, MagicPermanentState.FaceDown));
|
||||
game.doAction(ChangeStateAction.Set(permanent, MagicPermanentState.FaceDown));
|
||||
|
||||
newStatics = permanent.getStatics();
|
||||
game.removeStatics(permanent, oldStatics);
|
||||
|
|
|
@ -24,7 +24,7 @@ public class MagicTurnFaceUpAction extends MagicAction {
|
|||
if (permanent.isFaceDown() && permanent.getRealCardDefinition().isPermanent()) {
|
||||
oldStatics = permanent.getStatics();
|
||||
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent, MagicPermanentState.FaceDown));
|
||||
game.doAction(ChangeStateAction.Clear(permanent, MagicPermanentState.FaceDown));
|
||||
|
||||
newStatics = permanent.getStatics();
|
||||
game.removeStatics(permanent, oldStatics);
|
||||
|
|
|
@ -4,7 +4,7 @@ import magic.model.MagicGame;
|
|||
import magic.model.MagicMappable;
|
||||
import magic.model.MagicPermanent;
|
||||
import magic.model.MagicPermanentState;
|
||||
import magic.model.action.MagicChangeStateAction;
|
||||
import magic.model.action.ChangeStateAction;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
@ -41,11 +41,11 @@ public class MagicExcludeResult implements MagicMappable<MagicExcludeResult> {
|
|||
final MagicPermanent permanent=excludePermanents.get(index);
|
||||
final boolean excludeFromCombat=(excludeFlags&flag)==0;
|
||||
if (excludeFromCombat) {
|
||||
game.doAction(MagicChangeStateAction.Set(permanent,MagicPermanentState.ExcludeFromCombat));
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent,MagicPermanentState.ExcludeManaSource));
|
||||
game.doAction(ChangeStateAction.Set(permanent,MagicPermanentState.ExcludeFromCombat));
|
||||
game.doAction(ChangeStateAction.Clear(permanent,MagicPermanentState.ExcludeManaSource));
|
||||
} else {
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent,MagicPermanentState.ExcludeFromCombat));
|
||||
game.doAction(MagicChangeStateAction.Set(permanent,MagicPermanentState.ExcludeManaSource));
|
||||
game.doAction(ChangeStateAction.Clear(permanent,MagicPermanentState.ExcludeFromCombat));
|
||||
game.doAction(ChangeStateAction.Set(permanent,MagicPermanentState.ExcludeManaSource));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ public enum MagicRuleEventAction {
|
|||
final Collection<MagicPermanent> targets = game.filterPermanents(event.getPlayer(),filter);
|
||||
if (matcher.group("noregen") != null) {
|
||||
for (final MagicPermanent it : targets) {
|
||||
game.doAction(MagicChangeStateAction.Set(it, MagicPermanentState.CannotBeRegenerated));
|
||||
game.doAction(ChangeStateAction.Set(it, MagicPermanentState.CannotBeRegenerated));
|
||||
}
|
||||
}
|
||||
game.doAction(new MagicDestroyAction(targets));
|
||||
|
@ -78,7 +78,7 @@ public enum MagicRuleEventAction {
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPermanent it = ARG.itPermanent(event, matcher);
|
||||
if (matcher.group("noregen") != null) {
|
||||
game.doAction(MagicChangeStateAction.Set(it, MagicPermanentState.CannotBeRegenerated));
|
||||
game.doAction(ChangeStateAction.Set(it, MagicPermanentState.CannotBeRegenerated));
|
||||
}
|
||||
game.doAction(new MagicDestroyAction(it));
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ public enum MagicRuleEventAction {
|
|||
event.processTargetPermanent(game,new MagicPermanentAction() {
|
||||
public void doAction(final MagicPermanent it) {
|
||||
if (matcher.group("noregen") != null) {
|
||||
game.doAction(MagicChangeStateAction.Set(it, MagicPermanentState.CannotBeRegenerated));
|
||||
game.doAction(ChangeStateAction.Set(it, MagicPermanentState.CannotBeRegenerated));
|
||||
}
|
||||
game.doAction(new MagicDestroyAction(it));
|
||||
}
|
||||
|
@ -2006,7 +2006,7 @@ public enum MagicRuleEventAction {
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPermanent it = ARG.itPermanent(event, matcher);
|
||||
game.doAction(new MagicTapAction(it));
|
||||
game.doAction(MagicChangeStateAction.Set(
|
||||
game.doAction(ChangeStateAction.Set(
|
||||
it,
|
||||
MagicPermanentState.DoesNotUntapDuringNext
|
||||
));
|
||||
|
@ -2026,7 +2026,7 @@ public enum MagicRuleEventAction {
|
|||
event.processTargetPermanent(game,new MagicPermanentAction() {
|
||||
public void doAction(final MagicPermanent creature) {
|
||||
game.doAction(new MagicTapAction(creature));
|
||||
game.doAction(MagicChangeStateAction.Set(
|
||||
game.doAction(ChangeStateAction.Set(
|
||||
creature,
|
||||
MagicPermanentState.DoesNotUntapDuringNext
|
||||
));
|
||||
|
@ -2096,7 +2096,7 @@ public enum MagicRuleEventAction {
|
|||
return new MagicEventAction() {
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(MagicChangeStateAction.Set(
|
||||
game.doAction(ChangeStateAction.Set(
|
||||
ARG.itPermanent(event, matcher),
|
||||
MagicPermanentState.DoesNotUntapDuringNext
|
||||
));
|
||||
|
@ -2115,7 +2115,7 @@ public enum MagicRuleEventAction {
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game,new MagicPermanentAction() {
|
||||
public void doAction(final MagicPermanent perm) {
|
||||
game.doAction(MagicChangeStateAction.Set(
|
||||
game.doAction(ChangeStateAction.Set(
|
||||
perm,
|
||||
MagicPermanentState.DoesNotUntapDuringNext
|
||||
));
|
||||
|
@ -2712,7 +2712,7 @@ public enum MagicRuleEventAction {
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne, amount));
|
||||
game.doAction(MagicChangeStateAction.Set(event.getPermanent(),MagicPermanentState.Monstrous));
|
||||
game.doAction(ChangeStateAction.Set(event.getPermanent(),MagicPermanentState.Monstrous));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import magic.model.MagicPermanent;
|
|||
import magic.model.MagicPermanentState;
|
||||
import magic.model.MagicPlayer;
|
||||
import magic.model.MagicPlayerState;
|
||||
import magic.model.action.MagicChangeStateAction;
|
||||
import magic.model.action.ChangeStateAction;
|
||||
import magic.model.action.MagicUntapAction;
|
||||
import magic.model.trigger.MagicTriggerType;
|
||||
|
||||
|
@ -28,11 +28,11 @@ public class MagicUntapPhase extends MagicPhase {
|
|||
|
||||
for (final MagicPermanent permanent : player.getPermanents()) {
|
||||
if (permanent.hasState(MagicPermanentState.Summoned)) {
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent,MagicPermanentState.Summoned));
|
||||
game.doAction(MagicChangeStateAction.Set(permanent,MagicPermanentState.MustPayEchoCost));
|
||||
game.doAction(ChangeStateAction.Clear(permanent,MagicPermanentState.Summoned));
|
||||
game.doAction(ChangeStateAction.Set(permanent,MagicPermanentState.MustPayEchoCost));
|
||||
}
|
||||
if (permanent.hasState(MagicPermanentState.DoesNotUntapDuringNext)) {
|
||||
game.doAction(MagicChangeStateAction.Clear(permanent,MagicPermanentState.DoesNotUntapDuringNext));
|
||||
game.doAction(ChangeStateAction.Clear(permanent,MagicPermanentState.DoesNotUntapDuringNext));
|
||||
} else if (permanent.isTapped() && !permanent.hasAbility(MagicAbility.DoesNotUntap) &&
|
||||
(!exhausted || !(permanent.isLand() || permanent.isCreature()))) {
|
||||
game.doAction(new MagicUntapAction(permanent));
|
||||
|
|
|
@ -5,7 +5,7 @@ import magic.model.MagicManaCost;
|
|||
import magic.model.MagicPermanent;
|
||||
import magic.model.MagicPermanentState;
|
||||
import magic.model.MagicPlayer;
|
||||
import magic.model.action.MagicChangeStateAction;
|
||||
import magic.model.action.ChangeStateAction;
|
||||
import magic.model.action.MagicSacrificeAction;
|
||||
import magic.model.choice.MagicMayChoice;
|
||||
import magic.model.choice.MagicPayManaCostChoice;
|
||||
|
@ -41,7 +41,7 @@ public class MagicEchoTrigger extends MagicAtUpkeepTrigger {
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPermanent permanent = event.getPermanent();
|
||||
if (event.isYes()) {
|
||||
game.doAction(MagicChangeStateAction.Clear(
|
||||
game.doAction(ChangeStateAction.Clear(
|
||||
permanent,
|
||||
MagicPermanentState.MustPayEchoCost
|
||||
));
|
||||
|
|
|
@ -2,7 +2,7 @@ package magic.model.trigger;
|
|||
|
||||
import magic.model.MagicPermanent;
|
||||
import magic.model.MagicPermanentState;
|
||||
import magic.model.action.MagicChangeStateAction;
|
||||
import magic.model.action.ChangeStateAction;
|
||||
|
||||
public abstract class MagicWhenBecomesMonstrousTrigger extends MagicWhenBecomesStateTrigger {
|
||||
public MagicWhenBecomesMonstrousTrigger(final int priority) {
|
||||
|
@ -11,7 +11,7 @@ public abstract class MagicWhenBecomesMonstrousTrigger extends MagicWhenBecomesS
|
|||
|
||||
public MagicWhenBecomesMonstrousTrigger() {}
|
||||
|
||||
public boolean accept(final MagicPermanent permanent, final MagicChangeStateAction data) {
|
||||
public boolean accept(final MagicPermanent permanent, final ChangeStateAction data) {
|
||||
return data.state == MagicPermanentState.Monstrous;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,11 +3,11 @@ package magic.model.trigger;
|
|||
import magic.model.MagicGame;
|
||||
import magic.model.MagicPermanent;
|
||||
import magic.model.MagicPermanentState;
|
||||
import magic.model.action.MagicChangeStateAction;
|
||||
import magic.model.action.ChangeStateAction;
|
||||
import magic.model.event.MagicEvent;
|
||||
import magic.model.event.MagicSourceEvent;
|
||||
|
||||
public abstract class MagicWhenBecomesStateTrigger extends MagicTrigger<MagicChangeStateAction> {
|
||||
public abstract class MagicWhenBecomesStateTrigger extends MagicTrigger<ChangeStateAction> {
|
||||
public MagicWhenBecomesStateTrigger(final int priority) {
|
||||
super(priority);
|
||||
}
|
||||
|
@ -22,11 +22,11 @@ public abstract class MagicWhenBecomesStateTrigger extends MagicTrigger<MagicCha
|
|||
public static MagicWhenBecomesStateTrigger create(final MagicPermanentState state, final MagicSourceEvent sourceEvent) {
|
||||
return new MagicWhenBecomesStateTrigger() {
|
||||
@Override
|
||||
public boolean accept(final MagicPermanent permanent, final MagicChangeStateAction data) {
|
||||
public boolean accept(final MagicPermanent permanent, final ChangeStateAction data) {
|
||||
return data.state == state;
|
||||
}
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicChangeStateAction data) {
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final ChangeStateAction data) {
|
||||
return sourceEvent.getEvent(permanent);
|
||||
}
|
||||
};
|
||||
|
@ -35,11 +35,11 @@ public abstract class MagicWhenBecomesStateTrigger extends MagicTrigger<MagicCha
|
|||
public static MagicWhenBecomesStateTrigger createSelf(final MagicPermanentState state, final MagicSourceEvent sourceEvent) {
|
||||
return new MagicWhenBecomesStateTrigger() {
|
||||
@Override
|
||||
public boolean accept(final MagicPermanent permanent, final MagicChangeStateAction data) {
|
||||
public boolean accept(final MagicPermanent permanent, final ChangeStateAction data) {
|
||||
return data.state == state && data.permanent == permanent;
|
||||
}
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicChangeStateAction data) {
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final ChangeStateAction data) {
|
||||
return sourceEvent.getEvent(permanent);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -6,7 +6,7 @@ import magic.model.MagicPayedCost;
|
|||
import magic.model.MagicPermanent;
|
||||
import magic.model.MagicPermanentState;
|
||||
import magic.model.action.MagicSacrificeAction;
|
||||
import magic.model.action.MagicChangeStateAction;
|
||||
import magic.model.action.ChangeStateAction;
|
||||
import magic.model.action.MagicPermanentAction;
|
||||
import magic.model.event.MagicEventAction;
|
||||
import magic.model.event.MagicEvent;
|
||||
|
@ -87,7 +87,7 @@ public abstract class MagicWhenComesIntoPlayTrigger extends MagicTrigger<MagicPa
|
|||
event.processTargetPermanent(game,new MagicPermanentAction() {
|
||||
public void doAction(final MagicPermanent permanent) {
|
||||
game.doAction(new MagicSacrificeAction(permanent));
|
||||
game.doAction(MagicChangeStateAction.Set(event.getPermanent(), MagicPermanentState.Exploit));
|
||||
game.doAction(ChangeStateAction.Set(event.getPermanent(), MagicPermanentState.Exploit));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue