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 Max mtg » 27 Dec 2013, 16:26
DevMode Planewalk to - needs to be invoked in game thread (Game.action.invoke(...))
The Phasing icon - there should be an event (notification to redraw creature) fired as soon as phase state changed
The Phasing icon - there should be an event (notification to redraw creature) fired as soon as phase state changed
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by Agetian » 29 Dec 2013, 05:04
r24095: Not sure if this is a bug or a feature, but it's a nuisance anyway: when using the Spell Shop in Quest mode, accidentally clicking the little "-" icon (which decreases the amount of cards in deck by one when using the standard deck editor), even on a non-selected card, automatically sells the card without any prior warning. This is especially a nightmare when you accidentally sell an expensive card that way while trying to select it in the list because the buyout price can be extremely steep. Maybe it's worth either adding a confirmation dialog ("Would you like to sell such-and-such card for such-and-such price?") or not showing these icons at all when in Spell Shop mode?
- 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 Agetian » 31 Dec 2013, 06:13
r24115: A couple UI-related bugs:
1) I had a creature on the table which had a cumulative upkeep "Sacrifice a creature" (don't remember the exact name of the creature, but the bug is quite generic so it's not important, I believe). I was asked to sacrifice two creatures. I selected one and then realized that I didn't want to pay the cumulative upkeep, so I canceled the payment by hitting "Cancel". However, the creature which I have selected kept its purple border and the selection icon - not only for the remainder of the current game, but, interestingly enough, for all the subsequent games I played in that Sealed Deck tournament, so, for instance, I saw this in the next game in my hand:
2) Creatures that have "This creature attacks each turn if able" do not cause the declare attackers UI event to fire, which causes the "attacker declared" icon not to appear immediately. Does anyone know where the relevant piece of code would be where to insert the said UI event call?
Also, a Sealed Deck/Booster Draft AI-related bug (or just an unimplemented feature?): the AI puts snow-covered lands of colors chosen for the deck in its sideboard and does not prioritize putting those into its main deck even though the AI takes a lot of cards that have snow-activated abilities in their costs (which it can use without a problem, I can say). Not sure if this ever worked correctly, but I believe that it'd be a good idea to make the AI put snow-covered lands of appropriate color instead of similar regular basic lands into its deck when building a sealed deck/booster draft deck.
- Agetian
1) I had a creature on the table which had a cumulative upkeep "Sacrifice a creature" (don't remember the exact name of the creature, but the bug is quite generic so it's not important, I believe). I was asked to sacrifice two creatures. I selected one and then realized that I didn't want to pay the cumulative upkeep, so I canceled the payment by hitting "Cancel". However, the creature which I have selected kept its purple border and the selection icon - not only for the remainder of the current game, but, interestingly enough, for all the subsequent games I played in that Sealed Deck tournament, so, for instance, I saw this in the next game in my hand:
2) Creatures that have "This creature attacks each turn if able" do not cause the declare attackers UI event to fire, which causes the "attacker declared" icon not to appear immediately. Does anyone know where the relevant piece of code would be where to insert the said UI event call?
Also, a Sealed Deck/Booster Draft AI-related bug (or just an unimplemented feature?): the AI puts snow-covered lands of colors chosen for the deck in its sideboard and does not prioritize putting those into its main deck even though the AI takes a lot of cards that have snow-activated abilities in their costs (which it can use without a problem, I can say). Not sure if this ever worked correctly, but I believe that it'd be a good idea to make the AI put snow-covered lands of appropriate color instead of similar regular basic lands into its deck when building a sealed deck/booster draft deck.
- 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 drdev » 31 Dec 2013, 17:59
I added confirmation prompts for buying and selling cards in the Spell Shop. That should alleviate any misclick concerns.Agetian wrote:r24095: Not sure if this is a bug or a feature, but it's a nuisance anyway: when using the Spell Shop in Quest mode, accidentally clicking the little "-" icon (which decreases the amount of cards in deck by one when using the standard deck editor), even on a non-selected card, automatically sells the card without any prior warning. This is especially a nightmare when you accidentally sell an expensive card that way while trying to select it in the list because the buyout price can be extremely steep. Maybe it's worth either adding a confirmation dialog ("Would you like to sell such-and-such card for such-and-such price?") or not showing these icons at all when in Spell Shop mode?
- Agetian
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by fmartel » 01 Jan 2014, 22:35
I got this report when I load forge from the pinned shortcut in my start menu :
Description: [loading forge]
Description: [loading forge]
- UncheckedExecutionException | Open
- Code: Select all
Forge Version: 1.5.7-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_45 Oracle Corporation
com.google.common.util.concurrent.UncheckedExecutionException: java.awt.color.CMMException: Invalid image format
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:218)
at forge.ImageCache.getOriginalImage(ImageCache.java:149)
at forge.ImageCache.scaleImage(ImageCache.java:179)
at forge.ImageCache.getIcon(ImageCache.java:130)
at forge.gui.home.quest.PnlEvent.<init>(PnlEvent.java:57)
at forge.gui.home.quest.CSubmenuDuels.update(CSubmenuDuels.java:127)
at forge.gui.home.CHomeUI.itemClick(CHomeUI.java:52)
at forge.gui.home.CHomeUI.selectPrevious(CHomeUI.java:134)
at forge.gui.home.CHomeUI.initialize(CHomeUI.java:80)
at forge.control.FControl.setCurrentScreen(FControl.java:307)
at forge.view.FView.initialize(FView.java:153)
at forge.control.FControl$3.run(FControl.java:250)
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.awt.color.CMMException: Invalid image format
at sun.java2d.cmm.kcms.CMM.checkStatus(Unknown Source)
at sun.java2d.cmm.kcms.CMM.createTransform(Unknown Source)
at java.awt.image.ColorConvertOp.filter(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.acceptPixels(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
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:52)
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)
... 29 more
- fmartel
- Posts: 281
- Joined: 31 Dec 2013, 19:27
- Location: Québec City
- Has thanked: 8 times
- Been thanked: 4 times
Re: Bug Reports (snapshot builds)
by friarsol » 03 Jan 2014, 01:45
After winning two duels in Quest Mode, each time I went to the spell shop to see what's available. The second time I get this error... it leaves me in an awkward place where the previous shops contents is visible, but the tab says main. I was going to take a screenshot, but I didn't realize it was going to exit when I hit the X since it looked like the spellshop.
- NullPointerException | Open
- Code: Select all
Forge Version: SVN
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_21 Oracle Corporation
java.lang.NullPointerException
at forge.gui.deckeditor.CDeckEditorUI.hasChanges(CDeckEditorUI.java:105)
at forge.gui.deckeditor.menus.DeckFileMenu.updateSaveEnabled(DeckFileMenu.java:46)
at forge.gui.deckeditor.menus.DeckFileMenu.getMenu(DeckFileMenu.java:39)
at forge.gui.deckeditor.menus.CDeckEditorUIMenus.getMenus(CDeckEditorUIMenus.java:18)
at forge.gui.deckeditor.CDeckEditorUI.getMenus(CDeckEditorUI.java:626)
at forge.gui.menus.ForgeMenu.refresh(ForgeMenu.java:65)
at forge.gui.menus.ForgeMenu.setProvider(ForgeMenu.java:48)
at forge.gui.deckeditor.CDeckEditorUI.initialize(CDeckEditorUI.java:642)
at forge.control.FControl.setCurrentScreen(FControl.java:303)
at forge.gui.home.quest.SSubmenuQuestUtil.showSpellShop(SSubmenuQuestUtil.java:264)
at forge.gui.home.quest.CSubmenuDuels$1.run(CSubmenuDuels.java:44)
at forge.gui.toolbox.FLabel._doMouseAction(FLabel.java:311)
at forge.gui.toolbox.FLabel.access$1300(FLabel.java:52)
at forge.gui.toolbox.FLabel$6.onLeftClick(FLabel.java:353)
at forge.gui.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:184)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:702)
at java.awt.EventQueue$4.run(EventQueue.java:700)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by drdev » 03 Jan 2014, 02:26
Fixed in r24126.friarsol wrote:After winning two duels in Quest Mode, each time I went to the spell shop to see what's available. The second time I get this error... it leaves me in an awkward place where the previous shops contents is visible, but the tab says main. I was going to take a screenshot, but I didn't realize it was going to exit when I hit the X since it looked like the spellshop.
- NullPointerException | Open
- Code: Select all
Forge Version: SVN
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_21 Oracle Corporation
java.lang.NullPointerException
at forge.gui.deckeditor.CDeckEditorUI.hasChanges(CDeckEditorUI.java:105)
at forge.gui.deckeditor.menus.DeckFileMenu.updateSaveEnabled(DeckFileMenu.java:46)
at forge.gui.deckeditor.menus.DeckFileMenu.getMenu(DeckFileMenu.java:39)
at forge.gui.deckeditor.menus.CDeckEditorUIMenus.getMenus(CDeckEditorUIMenus.java:18)
at forge.gui.deckeditor.CDeckEditorUI.getMenus(CDeckEditorUI.java:626)
at forge.gui.menus.ForgeMenu.refresh(ForgeMenu.java:65)
at forge.gui.menus.ForgeMenu.setProvider(ForgeMenu.java:48)
at forge.gui.deckeditor.CDeckEditorUI.initialize(CDeckEditorUI.java:642)
at forge.control.FControl.setCurrentScreen(FControl.java:303)
at forge.gui.home.quest.SSubmenuQuestUtil.showSpellShop(SSubmenuQuestUtil.java:264)
at forge.gui.home.quest.CSubmenuDuels$1.run(CSubmenuDuels.java:44)
at forge.gui.toolbox.FLabel._doMouseAction(FLabel.java:311)
at forge.gui.toolbox.FLabel.access$1300(FLabel.java:52)
at forge.gui.toolbox.FLabel$6.onLeftClick(FLabel.java:353)
at forge.gui.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:184)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:702)
at java.awt.EventQueue$4.run(EventQueue.java:700)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by fmartel » 04 Jan 2014, 02:32
Hello, I don't know if it's a bug or not, but here goes :
I play Warren Instigator, He blocks it with Nightveil Specter, I do a Magma Jet on it so the FS of the instigator would kill it, and then, as the CD resolve, I would put a goblin from my hand in play.
That's my general Idea. But the AI seem to thik otherwise...
imageshack com/a/img703/7325/nh8x.png
imageshack com/a/img10/8020/h27s.png
imageshack com/a/img827/5477/g4lq.png
imageshack com/a/img823/9596/eprs.png
Also, is it possible to change the edition of the card ? Like instead of a Mountain from a starter I would have 'em of Zendikar or Unhinged ??
I play Warren Instigator, He blocks it with Nightveil Specter, I do a Magma Jet on it so the FS of the instigator would kill it, and then, as the CD resolve, I would put a goblin from my hand in play.
That's my general Idea. But the AI seem to thik otherwise...
imageshack com/a/img703/7325/nh8x.png
imageshack com/a/img10/8020/h27s.png
imageshack com/a/img827/5477/g4lq.png
imageshack com/a/img823/9596/eprs.png
Also, is it possible to change the edition of the card ? Like instead of a Mountain from a starter I would have 'em of Zendikar or Unhinged ??
- fmartel
- Posts: 281
- Joined: 31 Dec 2013, 19:27
- Location: Québec City
- Has thanked: 8 times
- Been thanked: 4 times
Re: Bug Reports (snapshot builds)
by friarsol » 04 Jan 2014, 02:37
That's not how the rules work. Once a creature is blocked, it will never deal damage to the defending player/planeswalker unless that creature has Trample.fmartel wrote:Hello, I don't know if it's a bug or not, but here goes :
I play Warren Instigator, He blocks it with Nightveil Specter, I do a Magma Jet on it so the FS of the instigator would kill it, and then, as the CD resolve, I would put a goblin from my hand in play.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by friarsol » 04 Jan 2014, 02:58
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Agetian » 04 Jan 2014, 14:09
r24135: I got this crash after I clicked OK after sideboarding between duels in a Quest Mode match (if it matters, my sideboard didn't really have any cards in it, so I just clicked OK to continue with the next duel, at which point the game crashed with the NPE below). It was a fatal crash, I was unable to continue playing.
P.S. Definitely a recurring crash. Reproduced it over and over again with different quest decks.
The two bugs mentioned above make the Quest mode broken and completely unplayable.
- Agetian
P.S. Definitely a recurring crash. Reproduced it over and over again with different quest decks.
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.9-SNAPSHOT-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Linux 3.8.0-26-generic amd64
Java Version: 1.7.0_25 Oracle Corporation
java.lang.NullPointerException
at forge.util.ItemPool.addAll(ItemPool.java:153)
at forge.game.Match.prepareAllZones(Match.java:283)
at forge.game.Match.access$000(Match.java:36)
at forge.game.Match$1.run(Match.java:109)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
The two bugs mentioned above make the Quest mode broken and completely unplayable.
- 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 Diogenes » 04 Jan 2014, 15:58
The new skinned dialogs look great, drdev! Unfortunately, it seems that in today's daily it is impossible to dismiss the box that pops up before a match listing the cards the AI will not play (requires killing the process.)
edit: Also, it looks like the message has been shortened to "AI can't play well these cards" to fit the line. If I remember right, that was the first part of the message explaining why the AI won't play flagged cards at all. Something like "Cards unusable by AI opponent" might be a little more accurate.
edit: Also, it looks like the message has been shortened to "AI can't play well these cards" to fit the line. If I remember right, that was the first part of the message explaining why the AI won't play flagged cards at all. Something like "Cards unusable by AI opponent" might be a little more accurate.
Re: Bug Reports (snapshot builds)
by drdev » 04 Jan 2014, 16:30
I fixed the infinite re-prompt bug in r24136. I'm having trouble reproducing the crash upon sideboarding though. Agetian, can you send me a screenshot of what the sideboard dialog looked like before you pressed OK to get the crash?
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by Agetian » 04 Jan 2014, 16:46
@ drdev: A simple way to reproduce the sideboard crash: create a new quest (non-fantasy mode - probably it won't matter but still), use "Event or Starter Deck" for the starting pool (I used Air Razers, probably shouldn't matter). Start a duel, immediately concede a match, click "Continue" to get to duel two. You'll get a sideboarding window with 0 cards in the sideboard. Click "OK" to continue. Crash.
Here are the screenshots demonstrating what things look like:
The sideboarding window:
After clicking OK:
Here are the screenshots demonstrating what things look like:
The sideboarding window:
After clicking OK:
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by drdev » 04 Jan 2014, 17:45
I went ahead and updated the title for that dialog, including moving the player's name out of the list and into the title (showing one dialog per player).Diogenes wrote:The new skinned dialogs look great, drdev! Unfortunately, it seems that in today's daily it is impossible to dismiss the box that pops up before a match listing the cards the AI will not play (requires killing the process.)
edit: Also, it looks like the message has been shortened to "AI can't play well these cards" to fit the line. If I remember right, that was the first part of the message explaining why the AI won't play flagged cards at all. Something like "Cards unusable by AI opponent" might be a little more accurate.
While I was at it, I also added a GuiChoose.reveal method that allows showing a list of items without caring what the user selects. This in turn allows the OK button to receive default focus and the Escape key / Close button to close the dialog. The result looks like this:
Let me know if this works for you or if I need to tweak anything.
Thanks.
-Dan
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Who is online
Users browsing this forum: No registered users and 41 guests