Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by Agetian » 18 Sep 2014, 07:14
One more (minor) issue to report: the Scry ability always shows (0) as the card ID next to its name, even though the real ID of the card in question is not zero (e.g. Would you like to place Plains (0) on top of the library or on the bottom?). Not sure if this is intended, and actually not sure if Scry needs to indicate the card ID next to the name at all.
- Agetian
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by elcnesh » 18 Sep 2014, 08:28
Oh dear, I don't check the forums for a day and 500 issues pop up!
If I understand it correctly, a lot has been fixed already, but the thing that worries me most is Fizanko's report of cards disappearing – is there a reliable way to reproduce it?
Also, I just committed something that might reduce the P/T flickering (by sending far fewer updates to the GUI), although I don't see the flickering at all, so I also can't see whether it got fixed
Can someone check that?
If I understand it correctly, a lot has been fixed already, but the thing that worries me most is Fizanko's report of cards disappearing – is there a reliable way to reproduce it?
Also, I just committed something that might reduce the P/T flickering (by sending far fewer updates to the GUI), although I don't see the flickering at all, so I also can't see whether it got fixed

- elcnesh
- Posts: 290
- Joined: 16 May 2014, 15:11
- Location: Netherlands
- Has thanked: 34 times
- Been thanked: 92 times
Re: Bug Reports (snapshot builds)
by Agetian » 18 Sep 2014, 08:54
I can confirm that P/T flickering appears to be gone. 
I haven't tested Mindslaver again, should it be fixed and should I test it too? (no time at the moment but I can do that later)
- Agetian

I haven't tested Mindslaver again, should it be fixed and should I test it too? (no time at the moment but I can do that later)
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by elcnesh » 18 Sep 2014, 09:01
Great!
Yeah, it should. You also shouldn't see the opponent's hand anymore after the turn ends (and even if you do it shouldn't be causing errors anymore).
Yeah, it should. You also shouldn't see the opponent's hand anymore after the turn ends (and even if you do it shouldn't be causing errors anymore).
- elcnesh
- Posts: 290
- Joined: 16 May 2014, 15:11
- Location: Netherlands
- Has thanked: 34 times
- Been thanked: 92 times
Re: Bug Reports (snapshot builds)
by Sloth » 18 Sep 2014, 10:09
When i was in Dev mode i could look at the cards in my opponents hand and library. This doesn't work any more, it only shows (unknown card).
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Bug Reports (snapshot builds)
by elcnesh » 18 Sep 2014, 11:38
I left that out on purpose. A lot of functionality now depends on being able to see certain cards, and if we start testing everything while being able to see everything, we'll get flooded with bug reports from users who aren't running dev mode when the next beta is released.
If you wish, you can turn it on by prepending ` ForgePreferences.DEV_MODE || ` to the if-statement at FControl:466.
If you wish, you can turn it on by prepending ` ForgePreferences.DEV_MODE || ` to the if-statement at FControl:466.
- elcnesh
- Posts: 290
- Joined: 16 May 2014, 15:11
- Location: Netherlands
- Has thanked: 34 times
- Been thanked: 92 times
Re: Bug Reports (snapshot builds)
by Fizanko » 18 Sep 2014, 13:39
r27518 , i was targetting an AI already tapped (due to it attacking on his turn) Glistener Elf with my Lightning Strike and as soon as i clicked on the Glistener Elf this happens before i could confirm :


- NumberFormatException | Open
- Code: Select all
Forge Version: 1.5.28-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version: 1.7.0_10 Oracle Corporation
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at forge.ai.AiController.getIntProperty(AiController.java:1031)
at forge.ai.ComputerUtilMana.isManaSourceReserved(ComputerUtilMana.java:666)
at forge.ai.ComputerUtilMana.canPayShardWithSpellAbility(ComputerUtilMana.java:605)
at forge.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:385)
at forge.ai.ComputerUtilMana.canPayManaCost(ComputerUtilMana.java:47)
at forge.match.input.InputPayMana$4.evaluate(InputPayMana.java:389)
at forge.match.input.InputPayMana$4.evaluate(InputPayMana.java:386)
at forge.util.Evaluator.run(Evaluator.java:8)
at forge.game.player.Player.runWithController(Player.java:3098)
at forge.match.input.InputPayMana.runAsAi(InputPayMana.java:347)
at forge.match.input.InputPayMana.updateMessage(InputPayMana.java:392)
at forge.match.input.InputPayMana$5.run(InputPayMana.java:419)
at forge.FThreads.invokeInEdtNowOrLater(FThreads.java:33)
at forge.match.input.InputPayMana.onStateChanged(InputPayMana.java:416)
at forge.match.input.InputPayMana.showMessage(InputPayMana.java:407)
at forge.match.input.InputBase.showMessageInitial(InputBase.java:112)
at forge.match.input.InputProxy$2.run(InputProxy.java:99)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Re: Bug Reports (snapshot builds)
by ZappaZ » 18 Sep 2014, 14:36
I have been trying out some decks in EDH with the latest release I could find from here: krazyweb net/forge/
(forge-gui-desktop-1.5.28-SNAPSHOT-r27503.tar.bz2)
Originally posted this in the 1.5.26 release thread, got directed here.
Playing with 1 AI with a random deck and myself using this deck:
tappedout net/mtg-decks/hear-me-roar-brimaz-commanderedh/
Description: I played Blind Obedience in my main phase and pressed ok.
ADDITION: I seem to be able to get this exact error again with 2 other decks involved.
I was pressing OK going from M1 to M2 and all that was on the table was 3 lands for AI and 2 lands + Sol Ring for me.
tappedout net/mtg-decks/toolkit-sliver-commander/
Sidenote: Why does the order of the cards in my hand reset in EDH when i get to Mainphase 1 and 2? (most of the time)
In normal constructed i usually put all my lands to the left while I'm thinking,
but in EDH it resets.
EDIT: Not only in EDH but in normal too, did not do this in 1.5.26.
PS: new user, had to slaughter the links, sorry.
(forge-gui-desktop-1.5.28-SNAPSHOT-r27503.tar.bz2)
Originally posted this in the 1.5.26 release thread, got directed here.
Playing with 1 AI with a random deck and myself using this deck:
tappedout net/mtg-decks/hear-me-roar-brimaz-commanderedh/
Description: I played Blind Obedience in my main phase and pressed ok.
ADDITION: I seem to be able to get this exact error again with 2 other decks involved.
I was pressing OK going from M1 to M2 and all that was on the table was 3 lands for AI and 2 lands + Sol Ring for me.
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.28-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_20 Oracle Corporation
java.lang.NullPointerException
at forge.view.LocalGameView.writeCardToView(LocalGameView.java:486)
at forge.view.LocalGameView.getCardView(LocalGameView.java:406)
at forge.view.LocalGameView$3.apply(LocalGameView.java:421)
at forge.view.LocalGameView$3.apply(LocalGameView.java:418)
at forge.view.ViewUtil.transformIfNotNull(ViewUtil.java:134)
at forge.view.LocalGameView.getCardViews(LocalGameView.java:426)
at forge.view.LocalGameView.getPlayerView(LocalGameView.java:364)
at forge.view.LocalGameView.getPlayerView(LocalGameView.java:336)
at forge.view.LocalGameView.getPlayerTurn(LocalGameView.java:226)
at forge.GuiDesktop.updatePhase(GuiDesktop.java:233)
at forge.control.FControlGameEventHandler$1.run(FControlGameEventHandler.java:88)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.28-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_20 Oracle Corporation
java.lang.NullPointerException
at forge.screens.match.TargetingOverlay.addArcsForCard(TargetingOverlay.java:163)
at forge.screens.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:146)
at forge.screens.match.TargetingOverlay.access$100(TargetingOverlay.java:55)
at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:366)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1300(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
tappedout net/mtg-decks/toolkit-sliver-commander/
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: 1.5.28-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_20 Oracle Corporation
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
at java.util.ArrayList$Itr.next(Unknown Source)
at forge.game.card.Card.getAbilityText(Card.java:2335)
at forge.game.card.Card.getText(Card.java:1873)
at forge.view.ViewUtil.writeNonDependentCardViewProperties(ViewUtil.java:79)
at forge.view.LocalGameView.writeCardToView(LocalGameView.java:482)
at forge.view.LocalGameView.getCardView(LocalGameView.java:406)
at forge.view.LocalGameView$3.apply(LocalGameView.java:421)
at forge.view.LocalGameView$3.apply(LocalGameView.java:418)
at forge.view.ViewUtil.transformIfNotNull(ViewUtil.java:134)
at forge.view.LocalGameView.getCardViews(LocalGameView.java:426)
at forge.view.LocalGameView.getPlayerView(LocalGameView.java:364)
at forge.view.LocalGameView.getPlayerView(LocalGameView.java:336)
at forge.view.LocalGameView.getGameEntityView(LocalGameView.java:292)
at forge.view.LocalGameView.getCombat(LocalGameView.java:183)
at forge.view.LocalGameView.getCombat(LocalGameView.java:167)
at forge.control.FControlGameEventHandler$2.run(FControlGameEventHandler.java:105)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: 1.5.28-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_20 Oracle Corporation
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
at java.util.ArrayList$Itr.next(Unknown Source)
at forge.view.ViewUtil.transformIfNotNull(ViewUtil.java:133)
at forge.view.LocalGameView.getCardViews(LocalGameView.java:426)
at forge.view.LocalGameView.getCombat(LocalGameView.java:183)
at forge.view.LocalGameView.getCombat(LocalGameView.java:167)
at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:366)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1300(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Sidenote: Why does the order of the cards in my hand reset in EDH when i get to Mainphase 1 and 2? (most of the time)
In normal constructed i usually put all my lands to the left while I'm thinking,
but in EDH it resets.
EDIT: Not only in EDH but in normal too, did not do this in 1.5.26.
PS: new user, had to slaughter the links, sorry.
Re: Bug Reports (snapshot builds)
by Agetian » 18 Sep 2014, 14:43
Should be fixed in r27521.Fizanko wrote:r27518 , i was targetting an AI already tapped (due to it attacking on his turn) Glistener Elf with my Lightning Strike and as soon as i clicked on the Glistener Elf this happens before i could confirm :Can be reproduced everytime, as i can't click OK i can only cancel, and recasting the Lightning Strike on the elf creature will generate the same error again
- NumberFormatException | Open
- Code: Select all
Forge Version: 1.5.28-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version: 1.7.0_10 Oracle Corporation
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at forge.ai.AiController.getIntProperty(AiController.java:1031)
at forge.ai.ComputerUtilMana.isManaSourceReserved(ComputerUtilMana.java:666)
at forge.ai.ComputerUtilMana.canPayShardWithSpellAbility(ComputerUtilMana.java:605)
at forge.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:385)
at forge.ai.ComputerUtilMana.canPayManaCost(ComputerUtilMana.java:47)
at forge.match.input.InputPayMana$4.evaluate(InputPayMana.java:389)
at forge.match.input.InputPayMana$4.evaluate(InputPayMana.java:386)
at forge.util.Evaluator.run(Evaluator.java:8)
at forge.game.player.Player.runWithController(Player.java:3098)
at forge.match.input.InputPayMana.runAsAi(InputPayMana.java:347)
at forge.match.input.InputPayMana.updateMessage(InputPayMana.java:392)
at forge.match.input.InputPayMana$5.run(InputPayMana.java:419)
at forge.FThreads.invokeInEdtNowOrLater(FThreads.java:33)
at forge.match.input.InputPayMana.onStateChanged(InputPayMana.java:416)
at forge.match.input.InputPayMana.showMessage(InputPayMana.java:407)
at forge.match.input.InputBase.showMessageInitial(InputBase.java:112)
at forge.match.input.InputProxy$2.run(InputProxy.java:99)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by elcnesh » 18 Sep 2014, 14:51
Hi, thanks for the bug report! We have a major refactoring going on in the snapshots, so no wonder you encountered some bugs. Thanks for reporting!

Weird, this means that game was null, something I think should not be possible in that class at all... Will investigate.ZappaZ wrote:I have been trying out some decks in EDH with the latest release I could find from here: krazyweb net/forge/
(forge-gui-desktop-1.5.28-SNAPSHOT-r27503.tar.bz2)
Description: I played Blind Obedience in my main phase and pressed ok.
ADDITION: I seem to be able to get this exact error again with 2 other decks involved.
I was pressing OK going from M1 to M2 and all that was on the table was 3 lands for AI and 2 lands + Sol Ring for me.
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.28-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_20 Oracle Corporation
java.lang.NullPointerException
at forge.view.LocalGameView.writeCardToView(LocalGameView.java:486)
at forge.view.LocalGameView.getCardView(LocalGameView.java:406)
at forge.view.LocalGameView$3.apply(LocalGameView.java:421)
at forge.view.LocalGameView$3.apply(LocalGameView.java:418)
at forge.view.ViewUtil.transformIfNotNull(ViewUtil.java:134)
at forge.view.LocalGameView.getCardViews(LocalGameView.java:426)
at forge.view.LocalGameView.getPlayerView(LocalGameView.java:364)
at forge.view.LocalGameView.getPlayerView(LocalGameView.java:336)
at forge.view.LocalGameView.getPlayerTurn(LocalGameView.java:226)
at forge.GuiDesktop.updatePhase(GuiDesktop.java:233)
at forge.control.FControlGameEventHandler$1.run(FControlGameEventHandler.java:88)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Fixed by Agetian in HEAD.ZappaZ wrote:Description: AI played Denizen of the Deep and removed all creatures, then this error.
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.28-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_20 Oracle Corporation
java.lang.NullPointerException
at forge.screens.match.TargetingOverlay.addArcsForCard(TargetingOverlay.java:163)
at forge.screens.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:146)
at forge.screens.match.TargetingOverlay.access$100(TargetingOverlay.java:55)
at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:366)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1300(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Fix is on its way!ZappaZ wrote:Description: Same deck as above, new AI deck. I was pressing cancel because I didn't have white mana to pay for attackin creatures that the AIs Norn's Annex demanded.
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: 1.5.28-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_20 Oracle Corporation
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
at java.util.ArrayList$Itr.next(Unknown Source)
at forge.view.ViewUtil.transformIfNotNull(ViewUtil.java:133)
at forge.view.LocalGameView.getCardViews(LocalGameView.java:426)
at forge.view.LocalGameView.getCombat(LocalGameView.java:183)
at forge.view.LocalGameView.getCombat(LocalGameView.java:167)
at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:366)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1300(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Reordering cards is not yet supported thanks to the refactoring, I'll fix it before the beta release (although it's low priority, since it's not game-breaking).ZappaZ wrote:Sidenote: Why does the order of the cards in my hand reset in EDH when i get to Mainphase 1 and 2? (most of the time)
In normal constructed i usually put all my lands to the left while I'm thinking,
but in EDH it resets.
EDIT: Not only in EDH but in normal too, did not do this in 1.5.26.
- elcnesh
- Posts: 290
- Joined: 16 May 2014, 15:11
- Location: Netherlands
- Has thanked: 34 times
- Been thanked: 92 times
Re: Bug Reports (snapshot builds)
by Fizanko » 18 Sep 2014, 16:19
played r27525 in constructed making 4 duels with my theros minotaur quest deck vs the Fin Fang Foom 1 AI quest deck and in those 4 duels i couldn't manage to reproduce the cards visual breakage i reported here :
posting.php?mode=quote&f=52&p=161737
even after attaching a couple of aura to a minotaur.
So either this has been fortunately fixed by one of the fix between r27496 and r27525 (possible as i mentionned, this visual bug behaved exactly the same as in past version when conccurent errors appeared, and i see in the revision list some conccurent situations got solved), or i couldn't just reproduce the exact situation that could lead into it.
posting.php?mode=quote&f=52&p=161737
even after attaching a couple of aura to a minotaur.
So either this has been fortunately fixed by one of the fix between r27496 and r27525 (possible as i mentionned, this visual bug behaved exactly the same as in past version when conccurent errors appeared, and i see in the revision list some conccurent situations got solved), or i couldn't just reproduce the exact situation that could lead into it.
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Re: Bug Reports (snapshot builds)
by lujo » 18 Sep 2014, 16:48
I used the ability of Lim-Dul the Nercomancer (from Time Spiral) on a creature which died, but chose not to use it on another creature which died at the same time. I payed for the first one but I didn't get any of them or my mana back. Maybe it's a known issue.
---
My Shandalar deck pack folder is avaliable here:Dropbox
Leave feedback on particular decks here: Google doc
Ask for instructions, give feedback and complaints here: Thread
My Shandalar deck pack folder is avaliable here:Dropbox
Leave feedback on particular decks here: Google doc
Ask for instructions, give feedback and complaints here: Thread
Re: Bug Reports (snapshot builds)
by Fizanko » 18 Sep 2014, 22:33
i played speed vs cunning in r27533 and after playing Sphinx of Uthuun , i noticed a regression with the ability :
Up to r27533, when i played a card that had the exact same effect, when i clicked on the popup window that allowed me to select the piles :

I could see the card preview and the related text description in the panels to the right if i selected them.
But in that situation in r27533, there is no preview and no related text anymore
Up to r27533, when i played a card that had the exact same effect, when i clicked on the popup window that allowed me to select the piles :

I could see the card preview and the related text description in the panels to the right if i selected them.
But in that situation in r27533, there is no preview and no related text anymore
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Re: Bug Reports (snapshot builds)
by KrazyTheFox » 18 Sep 2014, 22:33
Looks like this is related to some recent AI changes.
- StackOverflowError | Open
- Code: Select all
Game-0 > java.lang.StackOverflowError
at java.util.AbstractCollection.toArray(AbstractCollection.java:176)
at com.google.common.collect.ImmutableMap.copyOf(ImmutableMap.java:285)
at forge.game.card.Card.getChangedTextColorWords(Card.java:4631)
at forge.game.ability.AbilityUtils.applyTextChangeEffects(AbilityUtils.java:1559)
at forge.game.ability.AbilityUtils.applyAbilityTextChangeEffects(AbilityUtils.java:1524)
at forge.game.ability.AbilityUtils.calculateAmount(AbilityUtils.java:401)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:36)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
-
KrazyTheFox - Programmer
- Posts: 725
- Joined: 18 Mar 2014, 23:51
- Has thanked: 66 times
- Been thanked: 226 times
Re: Bug Reports (snapshot builds)
by Fizanko » 18 Sep 2014, 22:38
Another one (still r27533) : previously i completed a game with me playing "cunning" and the AI playing "speed".
Out of the previous report, the game went very nicely
Then this time i played "speed" and the AI "cunning"

The AI played Plains, then i clicked OK to move from the AI "M1" phase to the AI "BC" phase, and it lead to :
Out of the previous report, the game went very nicely
Then this time i played "speed" and the AI "cunning"

The AI played Plains, then i clicked OK to move from the AI "M1" phase to the AI "BC" phase, and it lead to :
- StackOverflowError | Open
- Code: Select all
Forge Version: 1.5.28-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version: 1.7.0_10 Oracle Corporation
java.lang.StackOverflowError
at java.util.regex.Pattern.bitsOrSingle(Unknown Source)
at java.util.regex.Pattern.range(Unknown Source)
at java.util.regex.Pattern.clazz(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.split(Unknown Source)
at java.lang.String.split(Unknown Source)
at forge.game.zone.ZoneType.listValueOf(ZoneType.java:48)
at forge.game.spellability.AbilityActivated.canPlay(AbilityActivated.java:96)
at forge.ai.ComputerUtilMana$3.apply(ComputerUtilMana.java:948)
at forge.ai.ComputerUtilMana$3.apply(ComputerUtilMana.java:943)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ComputerUtilMana.getAvailableMana(ComputerUtilMana.java:943)
at forge.ai.ComputerUtilMana.groupSourcesByManaColor(ComputerUtilMana.java:1056)
at forge.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:346)
at forge.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:80)
at forge.ai.ComputerUtilMana.canPayManaCost(ComputerUtilMana.java:55)
at forge.ai.ComputerUtilCost.canPayCost(ComputerUtilCost.java:378)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:640)
at forge.ai.ability.PumpAiBase.shouldPumpCard(PumpAiBase.java:450)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:637)
at forge.ai.ability.PumpAiBase$3.apply(PumpAiBase.java:634)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.google.common.collect.Iterators.addAll(Iterators.java:356)
at com.google.common.collect.Lists.newArrayList(Lists.java:147)
at com.google.common.collect.Lists.newArrayList(Lists.java:129)
at forge.game.card.CardLists.filter(CardLists.java:225)
at forge.ai.ability.PumpAiBase.getPumpCreatures(PumpAiBase.java:634)
at forge.ai.ability.PumpAllAi.canPlayAI(PumpAllAi.java:123)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
at forge.ai.AiController.canPlaySa(AiController.java:694)
at forge.ai.AiController.predictSpellToCastInMain2(AiController.java:654)
at forge.ai.AiController.pre
... (truncated)
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Who is online
Users browsing this forum: No registered users and 28 guests