It is currently 17 May 2025, 13:15
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Bug Reports (snapshot builds)

Postby 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
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby 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 :P Can someone check that?
elcnesh
 
Posts: 290
Joined: 16 May 2014, 15:11
Location: Netherlands
Has thanked: 34 times
Been thanked: 92 times

Re: Bug Reports (snapshot builds)

Postby 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
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby 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).
elcnesh
 
Posts: 290
Joined: 16 May 2014, 15:11
Location: Netherlands
Has thanked: 34 times
Been thanked: 92 times

Re: Bug Reports (snapshot builds)

Postby 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).
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Bug Reports (snapshot builds)

Postby 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.
elcnesh
 
Posts: 290
Joined: 16 May 2014, 15:11
Location: Netherlands
Has thanked: 34 times
Been thanked: 92 times

Re: Bug Reports (snapshot builds)

Postby 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 :
Image


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)
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
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)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby 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.

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)
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)
Description: Playing the following deck against generated deck AI and AI is declaring attackers.
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)
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)
imgur /HBs7Ymg <- Screenshot of last error.

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.
ZappaZ
 
Posts: 92
Joined: 26 Jul 2014, 05:37
Has thanked: 26 times
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 18 Sep 2014, 14:43

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 :
Image


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)
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
Should be fixed in r27521.

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby 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!

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)
Weird, this means that game was null, something I think should not be possible in that class at all... Will investigate. :)
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)
Fixed by Agetian in HEAD.

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)
Fix is on its way!

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.
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).
elcnesh
 
Posts: 290
Joined: 16 May 2014, 15:11
Location: Netherlands
Has thanked: 34 times
Been thanked: 92 times

Re: Bug Reports (snapshot builds)

Postby 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.
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)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby 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
User avatar
lujo
 
Posts: 557
Joined: 20 Nov 2013, 13:17
Has thanked: 224 times
Been thanked: 70 times

Re: Bug Reports (snapshot builds)

Postby 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 :

Image

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)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby 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)
Untitled-1.jpg
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Bug Reports (snapshot builds)

Postby 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"
Image

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)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 9 guests


Who is online

In total there are 9 users online :: 0 registered, 0 hidden and 9 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 9 guests

Login Form