Two observations, playing the quest mode in the latest SVN checkout...
1) It seems that if you are auto-skipping phases (for example, I have set all combat phases except DA and DB to 'red', i.e., autoskip in normal circumstances), the game will continue autoskipping them even when the game is over (perhaps because the defending player just died!). Without auto-skipping, I have also sometimes achieved this with the spacebar (which remains active and skips phases even when the win/lose view is visible).
Advancing phases when the game is over has several bad consequences. One of them is that the QuestWinLose::populateCustomPanel() method is invoked several times (once per each phase), and you get the Boooster selection menu several times, possibly with different options. Only your last choice remains in effect...
The best solution would IMO be if the game no longer advanced to the next phase, at all, when the game is over.
2) Got this crash when I tried to start a challenge that had predefined cards in play:
- | Open
- java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
at forge.view.arcane.PlayArea.positionAllCards(PlayArea.java:257)
at forge.view.arcane.PlayArea.doLayout(PlayArea.java:248)
at forge.view.arcane.CardPanelContainer.addCard(CardPanelContainer.java:264)
at forge.gui.GuiDisplayUtil.setupPlayZone(GuiDisplayUtil.java:274)
at forge.gui.match.nonsingleton.CField$17.update(CField.java:148)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.util.MyObservable.updateObservers(MyObservable.java:38)
at forge.game.GameNew.newGame(GameNew.java:130)
at forge.game.MatchController.startRound(MatchController.java:127)
at forge.gui.home.quest.SSubmenuQuestUtil$2.doInBackground(SSubmenuQuestUtil.java:304)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
(The cards didn't show up.)