mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +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
|
||||
// and returning to hand (to recreate their spell ability information)
|
||||
if (suppress || toBattlefield) {
|
||||
if (toBattlefield || (suppress && zoneTo.getZoneType().isHidden())) {
|
||||
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) {
|
||||
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
|
||||
copied.setTimestamp(game.getNextTimestamp());
|
||||
}
|
||||
|
||||
@@ -327,7 +327,6 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
|
||||
game.getTriggerHandler().suppressMode(TriggerType.ChangesZone);
|
||||
activeScheme = getZone(ZoneType.SchemeDeck).get(0);
|
||||
// gameAction moveTo ?
|
||||
game.getAction().moveTo(ZoneType.Command, activeScheme, null, moveParams);
|
||||
game.getTriggerHandler().clearSuppression(TriggerType.ChangesZone);
|
||||
|
||||
@@ -3268,9 +3267,7 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
}
|
||||
|
||||
final TriggerHandler triggerHandler = game.getTriggerHandler();
|
||||
triggerHandler.suppressMode(TriggerType.ChangesZone);
|
||||
game.getAction().moveTo(ZoneType.Command, initiativeEffect, null, null);
|
||||
triggerHandler.clearSuppression(TriggerType.ChangesZone);
|
||||
com.add(initiativeEffect);
|
||||
triggerHandler.clearActiveTriggers(initiativeEffect, null);
|
||||
triggerHandler.registerActiveTrigger(initiativeEffect, false);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user