diff --git a/Mage/src/mage/abilities/effects/ContinuousEffects.java b/Mage/src/mage/abilities/effects/ContinuousEffects.java index f5401e227c8..0e75d3a2e95 100644 --- a/Mage/src/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/mage/abilities/effects/ContinuousEffects.java @@ -45,7 +45,6 @@ import mage.Constants.Layer; import mage.Constants.SubLayer; import mage.Constants.Zone; import mage.abilities.Ability; -import mage.abilities.StaticAbility; import mage.cards.Card; import mage.game.Game; import mage.game.events.GameEvent; @@ -422,52 +421,52 @@ public class ContinuousEffects implements Serializable { removeInactiveEffects(game); List layerEffects = getLayeredEffects(game); List layer = filterLayeredEffects(layerEffects, Layer.CopyEffects_1); - for (ContinuousEffect effect: layer) { - effect.apply(Layer.CopyEffects_1, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); - } +// for (ContinuousEffect effect: layer) { +// effect.apply(Layer.CopyEffects_1, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); +// } for (ContinuousEffect effect: layer) { effect.apply(Layer.CopyEffects_1, SubLayer.NA, abilityMap.get(effect.getId()), game); } layer = filterLayeredEffects(layerEffects, Layer.ControlChangingEffects_2); - for (ContinuousEffect effect: layer) { - effect.apply(Layer.ControlChangingEffects_2, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); - } +// for (ContinuousEffect effect: layer) { +// effect.apply(Layer.ControlChangingEffects_2, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); +// } for (ContinuousEffect effect: layer) { effect.apply(Layer.ControlChangingEffects_2, SubLayer.NA, abilityMap.get(effect.getId()), game); } layer = filterLayeredEffects(layerEffects, Layer.TextChangingEffects_3); - for (ContinuousEffect effect: layer) { - effect.apply(Layer.TextChangingEffects_3, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); - } +// for (ContinuousEffect effect: layer) { +// effect.apply(Layer.TextChangingEffects_3, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); +// } for (ContinuousEffect effect: layer) { effect.apply(Layer.TextChangingEffects_3, SubLayer.NA, abilityMap.get(effect.getId()), game); } layer = filterLayeredEffects(layerEffects, Layer.TypeChangingEffects_4); - for (ContinuousEffect effect: layer) { - effect.apply(Layer.TypeChangingEffects_4, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); - } +// for (ContinuousEffect effect: layer) { +// effect.apply(Layer.TypeChangingEffects_4, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); +// } for (ContinuousEffect effect: layer) { effect.apply(Layer.TypeChangingEffects_4, SubLayer.NA, abilityMap.get(effect.getId()), game); } layer = filterLayeredEffects(layerEffects, Layer.ColorChangingEffects_5); - for (ContinuousEffect effect: layer) { - effect.apply(Layer.ColorChangingEffects_5, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); - } +// for (ContinuousEffect effect: layer) { +// effect.apply(Layer.ColorChangingEffects_5, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); +// } for (ContinuousEffect effect: layer) { effect.apply(Layer.ColorChangingEffects_5, SubLayer.NA, abilityMap.get(effect.getId()), game); } layer = filterLayeredEffects(layerEffects, Layer.AbilityAddingRemovingEffects_6); - for (ContinuousEffect effect: layer) { - effect.apply(Layer.AbilityAddingRemovingEffects_6, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); - } +// for (ContinuousEffect effect: layer) { +// effect.apply(Layer.AbilityAddingRemovingEffects_6, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); +// } for (ContinuousEffect effect: layer) { effect.apply(Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, abilityMap.get(effect.getId()), game); } layerEffects = getLayeredEffects(game); layer = filterLayeredEffects(layerEffects, Layer.PTChangingEffects_7); - for (ContinuousEffect effect: layer) { - effect.apply(Layer.PTChangingEffects_7, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); - } +// for (ContinuousEffect effect: layer) { +// effect.apply(Layer.PTChangingEffects_7, SubLayer.CharacteristicDefining_7a, abilityMap.get(effect.getId()), game); +// } for (ContinuousEffect effect: layer) { effect.apply(Layer.PTChangingEffects_7, SubLayer.SetPT_7b, abilityMap.get(effect.getId()), game); } diff --git a/Mage/src/mage/cards/CardImpl.java b/Mage/src/mage/cards/CardImpl.java index be9d3b7cb2a..b8b7caf0c79 100644 --- a/Mage/src/mage/cards/CardImpl.java +++ b/Mage/src/mage/cards/CardImpl.java @@ -246,8 +246,8 @@ public abstract class CardImpl> extends MageObjectImpl game.getExile().removeCard(this, game); break; case STACK: - break; case OUTSIDE: + case PICK: break; default: logger.fatal("invalid zone for card - " + fromZone); @@ -282,6 +282,9 @@ public abstract class CardImpl> extends MageObjectImpl if (flag) permanent.setTapped(true); break; + default: + logger.fatal("invalid zone for card - " + toZone); + return false; } game.setZone(objectId, event.getToZone()); game.fireEvent(event); diff --git a/Mage/src/mage/game/GameState.java b/Mage/src/mage/game/GameState.java index 21ba5e3bcd4..ff5bdda0c56 100644 --- a/Mage/src/mage/game/GameState.java +++ b/Mage/src/mage/game/GameState.java @@ -47,6 +47,7 @@ import mage.abilities.TriggeredAbilities; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffects; import mage.game.combat.Combat; +import mage.game.combat.CombatGroup; import mage.game.command.Command; import mage.game.events.GameEvent.EventType; import mage.game.events.ZoneChangeEvent; @@ -177,6 +178,10 @@ public class GameState implements Serializable, Copyable { for (ExileZone zone: exile.getExileZones()) { sb.append("exile").append(zone.getName()).append(zone); } + + for (CombatGroup group: combat.getGroups()) { + sb.append("combat").append(group.getDefenderId()).append(group.getAttackers()).append(group.getBlockers()); + } return sb.toString(); } diff --git a/Mage/src/mage/target/TargetCard.java b/Mage/src/mage/target/TargetCard.java index 1ea360e5f15..6541b17bbc0 100644 --- a/Mage/src/mage/target/TargetCard.java +++ b/Mage/src/mage/target/TargetCard.java @@ -131,6 +131,14 @@ public class TargetCard> extends TargetObject possibleTargets(UUID sourceControllerId, Cards cards, Game game) { + Set possibleTargets = new HashSet(); + for (Card card: cards.getCards(filter, game)) { + possibleTargets.add(card.getId()); + } + return possibleTargets; + } + @Override public Set possibleTargets(UUID sourceControllerId, Game game) { Set possibleTargets = new HashSet();