Page 187 of 487

Re: Bug Reports (snapshot builds)

PostPosted: 17 Feb 2014, 14:51
by friarsol
Max mtg wrote:You must be using devmode cheats to get that buggy behavior.
Try casting Shock from hand.

UPD: Nevermind, now (r24874) the game should add triggers properly after you play Shock either way
Thanks. Yea it was using devmode. It's much easier to test new cards this way, so I'm glad it works as I expect when going through this route.

Re: Bug Reports (snapshot builds)

PostPosted: 17 Feb 2014, 23:16
by friarsol
r24884

Quest Mode Matches seem to be broken currently. As soon as the game starts (after mulliganing) the game ends and I'm told I won (Actually looking at the log, we both win and lose simultaneously). Then when the next game starts, I'm told I lost the last game and asked if I want to play/draw. Then when that game starts I get this crash:

java.lang.NullPointerException
at forge.gui.match.QuestWinLose.awardEventCredits(QuestWinLose.java:328)
at forge.gui.match.QuestWinLose.populateCustomPanel(QuestWinLose.java:157)
at forge.gui.match.ViewWinLose.<init>(ViewWinLose.java:116)
at forge.control.FControlGameEventHandler$6.run(FControlGameEventHandler.java:145)

I guess because the loss states are all messed up.

Re: Bug Reports (snapshot builds)

PostPosted: 17 Feb 2014, 23:39
by VIESCA
Description: I WAS USSING THE DECK EDITOR
UncheckedExecutionException | Open
Code: Select all
Forge Version:    1.5.12-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_51 Oracle Corporation

com.google.common.util.concurrent.UncheckedExecutionException: java.lang.ArrayIndexOutOfBoundsException: -1
   at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199)
   at com.google.common.cache.LocalCache.get(LocalCache.java:3932)
   at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3936)
   at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4806)
   at forge.ImageCache.getImage(ImageCache.java:231)
   at forge.ImageCache.getOriginalImage(ImageCache.java:152)
   at forge.ImageCache.scaleImage(ImageCache.java:192)
   at forge.ImageCache.getImage(ImageCache.java:110)
   at forge.gui.toolbox.itemmanager.views.ImageView$CardViewDisplay.drawItemImage(ImageView.java:976)
   at forge.gui.toolbox.itemmanager.views.ImageView$CardViewDisplay.paintComponent(ImageView.java:946)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JViewport.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at forge.gui.toolbox.FScrollPane.paint(FScrollPane.java:66)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JViewport.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   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$3.run(Unknown Source)
   at javax.swing.RepaintManager$3.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$1100(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$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)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
   at java.util.ArrayList.elementData(Unknown Source)
   at java.util.ArrayList.get(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)
   at javax.imageio.ImageIO.read(Unknown Source)
   at javax.imageio.ImageIO.read(Unknown Source)
   at forge.ImageLoader._findFile(ImageLoader.java:88)
   at forge.ImageLoader.load(ImageLoader.java:66)
   at forge.ImageLoader.load(ImageLoader.java:16)
   at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3522)
   at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2315)
   at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2278)
   at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2193)
   ... 69 more

Re: Bug Reports (snapshot builds)

PostPosted: 18 Feb 2014, 01:18
by moomarc
friarsol wrote:r24884

Quest Mode Matches seem to be broken currently. As soon as the game starts (after mulliganing) the game ends and I'm told I won (Actually looking at the log, we both win and lose simultaneously). Then when the next game starts, I'm told I lost the last game and asked if I want to play/draw. Then when that game starts I get this crash:

java.lang.NullPointerException
at forge.gui.match.QuestWinLose.awardEventCredits(QuestWinLose.java:328)
at forge.gui.match.QuestWinLose.populateCustomPanel(QuestWinLose.java:157)
at forge.gui.match.ViewWinLose.<init>(ViewWinLose.java:116)
at forge.control.FControlGameEventHandler$6.run(FControlGameEventHandler.java:145)

I guess because the loss states are all messed up.
Sorry, that must have been me trying to get team victories working. I won't be on again until Wednesday, but r24881 and r24882 need to be reverted. Alternatively, I think the issue is that I checked the team values against -1, which works great with constructed matches because they assign team numbers, but -1 was the default value for team before.

So either revert or try change GameOutcome.getWinningTeam to return 0 instead, and in ViewWinLose compare winningTeam != 0. Or if anyone can implement team victories better, that would be awesome.

Re: Bug Reports (snapshot builds)

PostPosted: 18 Feb 2014, 01:47
by friarsol
I'll take a look marc. It should be simpler to just make sure all Players end up on different teams even if they don't go through the Constructed match UI.

Re: Bug Reports (snapshot builds)

PostPosted: 18 Feb 2014, 02:27
by friarsol
r24886

Rite of Passage doesn't seem to interact with Persist creatures dying due to damage, when they return to the battlefield the Rite trigger still affects them even though they are a different game object. This pretty apparent playing against the Apu Quest deck.

Re: Bug Reports (snapshot builds)

PostPosted: 18 Feb 2014, 02:55
by friarsol
Hey Max, what's the deal with checkin 24886? That's kind of a cryptic description, and now I'm playing against Treebard Quest deck, and he has a Bosk Banneret in play and 3 lands and is tapping out during M2, but not casting any cards. I looked at the AIs hand and he has two 5 CMC cards in hand. Was this intentionally put in to test some code?

It looks like cards are being just.. removed from his hand and not going anywhere in these circumstances?

Re: Bug Reports (snapshot builds)

PostPosted: 18 Feb 2014, 09:09
by Max mtg
The objective of this change is to have AI tests use a separate list of mana. (not the one returned by sa.getPayingMana())

That what you've seen is a rare situation when AI though it would be able to pay the mana cost but apparently could not.

Re: Bug Reports (snapshot builds)

PostPosted: 18 Feb 2014, 11:55
by swordshine
Prompt string "Multikicker for" didn't show up for multikicker cards.

Re: Bug Reports (snapshot builds)

PostPosted: 18 Feb 2014, 13:03
by friarsol
Max mtg wrote:That what you've seen is a rare situation when AI though it would be able to pay the mana cost but apparently could not.
Well, it seemed to be happening everytime the AI tried to cast something that match when he had a cost reducing permanent in play, where the cost reduction was being used to cast the spell (3 mana available from lands, cost reduced by 1, cmc 4), which isn't the most common scenario, but I also wouldn't necessarily call it rare.

Re: Bug Reports (snapshot builds)

PostPosted: 18 Feb 2014, 13:21
by swordshine
Max mtg wrote:The objective of this change is to have AI tests use a separate list of mana. (not the one returned by sa.getPayingMana())

That what you've seen is a rare situation when AI though it would be able to pay the mana cost but apparently could not.
AI Commander doesn't suffer the cost raise effect. It's very unfair :(

Re: Bug Reports (snapshot builds)

PostPosted: 18 Feb 2014, 23:35
by Max mtg
Yes, AI had some incorrect cost calculation code. I believe I've fixed it (24901)

There's another bug, that is quite puzzling for me:
Give AI Goblin Electromancer, put an Island into play for AI, add Mana Leak to its hand. The cast some spell so that AI could counter.
The strange point here is that I am asked to pay {2} - not {3} as the card rules read. Was the cost of 'unless its contoller pays {3}' reduced by Goblin Electromancer?

Re: Bug Reports (snapshot builds)

PostPosted: 19 Feb 2014, 00:02
by friarsol
Max mtg wrote:Yes, AI had some incorrect cost calculation code. I believe I've fixed it (24901)

There's another bug, that is quite puzzling for me:
Give AI Goblin Electromancer, put an Island into play for AI, add Mana Leak to its hand. The cast some spell so that AI could counter.
The strange point here is that I am asked to pay {2} - not {3} as the card rules read. Was the cost of 'unless its contoller pays {3}' reduced by Goblin Electromancer?
The Electromancer definitely shouldn't be reducing the unless cost. I just downloaded the last release (1.5.12), and when Mana Leak is played in this scenario I'm prompted to pay 3, so something since the release is causing that issue.

Re: Bug Reports (snapshot builds)

PostPosted: 23 Feb 2014, 06:27
by Agetian
r24942: I noticed a UI issue with the deck viewer: the deck viewer changes its size when you look at different cards, so it becomes bigger and smaller all the time, which is quite irritating. I think this is caused by the card detail box shrinking and enlarging depending on the length of the card name (as far as I could tell). A good way to reproduce: load some Mono-Blue Devotion deck, such as the one by Pierre Dagen from Pro Tour Theros, for viewing in the deck viewer (e.g. double-click it in the Constructed deck list). Look at Master of Waves and then at Thassa, God of the Sea.

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 23 Feb 2014, 14:13
by Max mtg
friarsol wrote:
Max mtg wrote:Yes, AI had some incorrect cost calculation code. I believe I've fixed it (24901)

There's another bug, that is quite puzzling for me:
Give AI Goblin Electromancer, put an Island into play for AI, add Mana Leak to its hand. The cast some spell so that AI could counter.
The strange point here is that I am asked to pay {2} - not {3} as the card rules read. Was the cost of 'unless its contoller pays {3}' reduced by Goblin Electromancer?
The Electromancer definitely shouldn't be reducing the unless cost. I just downloaded the last release (1.5.12), and when Mana Leak is played in this scenario I'm prompted to pay 3, so something since the release is causing that issue.
I hope this is no longer an issue after r24950.