mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Make becoming new object more default
This commit is contained in:
@@ -223,20 +223,9 @@ public class GameAction {
|
|||||||
|
|
||||||
// Don't copy Tokens, copy only cards leaving the battlefield
|
// Don't copy Tokens, copy only cards leaving the battlefield
|
||||||
// and returning to hand (to recreate their spell ability information)
|
// and returning to hand (to recreate their spell ability information)
|
||||||
if (suppress || toBattlefield) {
|
if (toBattlefield || (suppress && zoneTo.getZoneType().isHidden())) {
|
||||||
copied = c;
|
copied = c;
|
||||||
|
|
||||||
// 400.8. If an object in the exile zone is exiled, it doesn't change zones,
|
|
||||||
// but it becomes a new object that has just been exiled.
|
|
||||||
if (zoneTo.is(ZoneType.Exile)) {
|
|
||||||
copied = CardFactory.copyCard(c, false);
|
|
||||||
copied.setTimestamp(game.getNextTimestamp());
|
|
||||||
|
|
||||||
if (c.hasKeyword("Counters remain on CARDNAME as it moves to any zone other than a player's hand or library.")) {
|
|
||||||
copied.setCounters(Maps.newHashMap(c.getCounters()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lastKnownInfo == null) {
|
if (lastKnownInfo == null) {
|
||||||
lastKnownInfo = CardUtil.getLKICopy(c);
|
lastKnownInfo = CardUtil.getLKICopy(c);
|
||||||
}
|
}
|
||||||
@@ -396,7 +385,7 @@ public class GameAction {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!zoneTo.is(ZoneType.Stack) && !suppress) {
|
if (!zoneTo.is(ZoneType.Stack)) {
|
||||||
// reset timestamp in changezone effects so they have same timestamp if ETB simultaneously
|
// reset timestamp in changezone effects so they have same timestamp if ETB simultaneously
|
||||||
copied.setTimestamp(game.getNextTimestamp());
|
copied.setTimestamp(game.getNextTimestamp());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -327,7 +327,6 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
|
|
||||||
game.getTriggerHandler().suppressMode(TriggerType.ChangesZone);
|
game.getTriggerHandler().suppressMode(TriggerType.ChangesZone);
|
||||||
activeScheme = getZone(ZoneType.SchemeDeck).get(0);
|
activeScheme = getZone(ZoneType.SchemeDeck).get(0);
|
||||||
// gameAction moveTo ?
|
|
||||||
game.getAction().moveTo(ZoneType.Command, activeScheme, null, moveParams);
|
game.getAction().moveTo(ZoneType.Command, activeScheme, null, moveParams);
|
||||||
game.getTriggerHandler().clearSuppression(TriggerType.ChangesZone);
|
game.getTriggerHandler().clearSuppression(TriggerType.ChangesZone);
|
||||||
|
|
||||||
@@ -3268,9 +3267,7 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final TriggerHandler triggerHandler = game.getTriggerHandler();
|
final TriggerHandler triggerHandler = game.getTriggerHandler();
|
||||||
triggerHandler.suppressMode(TriggerType.ChangesZone);
|
com.add(initiativeEffect);
|
||||||
game.getAction().moveTo(ZoneType.Command, initiativeEffect, null, null);
|
|
||||||
triggerHandler.clearSuppression(TriggerType.ChangesZone);
|
|
||||||
triggerHandler.clearActiveTriggers(initiativeEffect, null);
|
triggerHandler.clearActiveTriggers(initiativeEffect, null);
|
||||||
triggerHandler.registerActiveTrigger(initiativeEffect, false);
|
triggerHandler.registerActiveTrigger(initiativeEffect, false);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user