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 friarsol » 21 Aug 2014, 20:12
You seem to be on an old build, since 1.5.24 is out, and this thread is actually for snapshots more recent than that release. Please read the link in my signature for how we request users post bug reports.Nanaki404 wrote:Forge Version: 1.5.23-r26900
- 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 excessum » 22 Aug 2014, 00:18
The algorithm was designed specifically to handle the "artifact" situation since the only protection choices are the five colours and artifact ie. Apostle's Blessing. ProtectEffect.getProtectionList() cannot possibly contain "null" anyway so it should never reach the switch statement.friarsol wrote:It was a draft tournament with Scars of Mirrodin decks, and it was fast forwarding through the AI match, so I wasn't watching that closely. The active player had two creatures, neither of which seemed to have any relevant abilities. The defending player had two blockers. Don't know which colors the blocker had, since that's probably the information that is being looked up. Maybe one was an artifact so it was coming back as colorless?
I tried inserting "color = null;" before the "if (choices.contains(color))" line and the code still runs smoothly. The only possibility I can think of is some other thread modifying the "color" variable after it has entered the block.
Re: Bug Reports (snapshot builds)
by Crashing00 » 22 Aug 2014, 03:04
Description:
When clicking the "X" button on the Quest Deck Editor tab to close it. This happens often, though not always, when closing the tab. Clicking "Continue" just causes the problem to repeat itself. A complete restart is required.
When clicking the "X" button on the Quest Deck Editor tab to close it. This happens often, though not always, when closing the tab. Clicking "Continue" just causes the problem to repeat itself. A complete restart is required.
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.25-SNAPSHOT-r27084 (mixed revisions detected; please update from the root directory)
Operating System: Mac OS X 10.9.4 x86_64
Java Version: 1.8.0_20-ea Oracle Corporation
java.lang.NullPointerException
at forge.itemmanager.views.IntegerRenderer.getTableCellRendererComponent(IntegerRenderer.java:39)
at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7031)
at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7418)
at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6933)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)
at javax.swing.JTable.setRowSelectionInterval(JTable.java:2166)
at forge.itemmanager.views.ItemListView.onSetSelectedIndex(ItemListView.java:271)
at forge.itemmanager.views.ItemView.setSelectedIndex(ItemView.java:217)
at forge.itemmanager.views.ItemView.setSelectedItem(ItemView.java:176)
at forge.itemmanager.views.ItemView.setSelectedItem(ItemView.java:171)
at forge.itemmanager.ItemManager.setSelectedItem(ItemManager.java:571)
at forge.screens.home.quest.CSubmenuQuestDecks.update(CSubmenuQuestDecks.java:87)
at forge.screens.deckeditor.controllers.CEditorQuest.resetUIChanges(CEditorQuest.java:298)
at forge.screens.deckeditor.CDeckEditorUI.canSwitchAway(CDeckEditorUI.java:88)
at forge.screens.deckeditor.VDeckEditorUI.onClosing(VDeckEditorUI.java:63)
at forge.gui.framework.FScreen.onClosing(FScreen.java:196)
at forge.view.FNavigationBar.closeTab(FNavigationBar.java:152)
at forge.view.FNavigationBar.access$1100(FNavigationBar.java:27)
at forge.view.FNavigationBar$NavigationTab$CloseButton$1.mouseReleased(FNavigationBar.java:482)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2739)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:719)
at java.awt.EventQueue$4.run(EventQueue.java:717)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
- Crashing00
- Posts: 2
- Joined: 22 Aug 2014, 02:58
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by drdev » 22 Aug 2014, 04:38
I just finished committing changes so that spells/abilities that go on the stack after you click End Turn will auto-cancel the yield. I also made it so mandatory attackers will still attack without input required if you previously pressed End Turn, and you will be given the ability to input if blockers are assigned to such a creature.krevett wrote:I agree with Agetian, I think there's no need to have multiple options for handling this just make it so that the human player can't be surprised by something he didn't expect. And as suggested adding a pause if blockers are declared to adjust is a good idea!
Note that I did not spend the time at this point to make it smart enough to still auto-yield to new spells if you can't take a meaningful action in response. Please let me know if I you think I should still attempt to do so. I mostly just wanted to get a simpler fix out sooner.
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by drdev » 22 Aug 2014, 04:43
I cannot reproduce this. Could you perhaps provide some more specifics on your setup when you're able to reproduce this? A screenshot might help for instance.Crashing00 wrote:Description:
When clicking the "X" button on the Quest Deck Editor tab to close it. This happens often, though not always, when closing the tab. Clicking "Continue" just causes the problem to repeat itself. A complete restart is required.
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.25-SNAPSHOT-r27084 (mixed revisions detected; please update from the root directory)
Operating System: Mac OS X 10.9.4 x86_64
Java Version: 1.8.0_20-ea Oracle Corporation
java.lang.NullPointerException
at forge.itemmanager.views.IntegerRenderer.getTableCellRendererComponent(IntegerRenderer.java:39)
at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7031)
at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7418)
at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6933)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)
at javax.swing.JTable.setRowSelectionInterval(JTable.java:2166)
at forge.itemmanager.views.ItemListView.onSetSelectedIndex(ItemListView.java:271)
at forge.itemmanager.views.ItemView.setSelectedIndex(ItemView.java:217)
at forge.itemmanager.views.ItemView.setSelectedItem(ItemView.java:176)
at forge.itemmanager.views.ItemView.setSelectedItem(ItemView.java:171)
at forge.itemmanager.ItemManager.setSelectedItem(ItemManager.java:571)
at forge.screens.home.quest.CSubmenuQuestDecks.update(CSubmenuQuestDecks.java:87)
at forge.screens.deckeditor.controllers.CEditorQuest.resetUIChanges(CEditorQuest.java:298)
at forge.screens.deckeditor.CDeckEditorUI.canSwitchAway(CDeckEditorUI.java:88)
at forge.screens.deckeditor.VDeckEditorUI.onClosing(VDeckEditorUI.java:63)
at forge.gui.framework.FScreen.onClosing(FScreen.java:196)
at forge.view.FNavigationBar.closeTab(FNavigationBar.java:152)
at forge.view.FNavigationBar.access$1100(FNavigationBar.java:27)
at forge.view.FNavigationBar$NavigationTab$CloseButton$1.mouseReleased(FNavigationBar.java:482)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2739)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:719)
at java.awt.EventQueue$4.run(EventQueue.java:717)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by Crashing00 » 22 Aug 2014, 05:10
I just got it to happen again:drdev wrote:I cannot reproduce this. Could you perhaps provide some more specifics on your setup when you're able to reproduce this? A screenshot might help for instance.Crashing00 wrote:Description:
When clicking the "X" button on the Quest Deck Editor tab to close it. This happens often, though not always, when closing the tab. Clicking "Continue" just causes the problem to repeat itself. A complete restart is required.
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.25-SNAPSHOT-r27084 (mixed revisions detected; please update from the root directory)
Operating System: Mac OS X 10.9.4 x86_64
Java Version: 1.8.0_20-ea Oracle Corporation
java.lang.NullPointerException
at forge.itemmanager.views.IntegerRenderer.getTableCellRendererComponent(IntegerRenderer.java:39)
at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7031)
at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7418)
at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6933)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)
at javax.swing.JTable.setRowSelectionInterval(JTable.java:2166)
at forge.itemmanager.views.ItemListView.onSetSelectedIndex(ItemListView.java:271)
at forge.itemmanager.views.ItemView.setSelectedIndex(ItemView.java:217)
at forge.itemmanager.views.ItemView.setSelectedItem(ItemView.java:176)
at forge.itemmanager.views.ItemView.setSelectedItem(ItemView.java:171)
at forge.itemmanager.ItemManager.setSelectedItem(ItemManager.java:571)
at forge.screens.home.quest.CSubmenuQuestDecks.update(CSubmenuQuestDecks.java:87)
at forge.screens.deckeditor.controllers.CEditorQuest.resetUIChanges(CEditorQuest.java:298)
at forge.screens.deckeditor.CDeckEditorUI.canSwitchAway(CDeckEditorUI.java:88)
at forge.screens.deckeditor.VDeckEditorUI.onClosing(VDeckEditorUI.java:63)
at forge.gui.framework.FScreen.onClosing(FScreen.java:196)
at forge.view.FNavigationBar.closeTab(FNavigationBar.java:152)
at forge.view.FNavigationBar.access$1100(FNavigationBar.java:27)
at forge.view.FNavigationBar$NavigationTab$CloseButton$1.mouseReleased(FNavigationBar.java:482)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2739)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:719)
at java.awt.EventQueue$4.run(EventQueue.java:717)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.25-SNAPSHOT-r27084 (mixed revisions detected; please update from the root directory)
Operating System: Mac OS X 10.9.4 x86_64
Java Version: 1.8.0_20-ea Oracle Corporation
java.lang.NullPointerException
at forge.itemmanager.views.IntegerRenderer.getTableCellRendererComponent(IntegerRenderer.java:39)
at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7031)
at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7418)
at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:6933)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)
at javax.swing.JTable.setRowSelectionInterval(JTable.java:2166)
at forge.itemmanager.views.ItemListView.onSetSelectedIndex(ItemListView.java:271)
at forge.itemmanager.views.ItemView.setSelectedIndex(ItemView.java:217)
at forge.itemmanager.views.ItemView.setSelectedItem(ItemView.java:176)
at forge.itemmanager.views.ItemView.setSelectedItem(ItemView.java:171)
at forge.itemmanager.ItemManager.setSelectedItem(ItemManager.java:571)
at forge.screens.home.quest.CSubmenuQuestDecks.update(CSubmenuQuestDecks.java:87)
at forge.screens.deckeditor.controllers.CEditorQuest.resetUIChanges(CEditorQuest.java:298)
at forge.screens.deckeditor.CDeckEditorUI.canSwitchAway(CDeckEditorUI.java:88)
at forge.screens.deckeditor.VDeckEditorUI.onClosing(VDeckEditorUI.java:63)
at forge.gui.framework.FScreen.onClosing(FScreen.java:196)
at forge.view.FNavigationBar.closeTab(FNavigationBar.java:152)
at forge.view.FNavigationBar.access$1100(FNavigationBar.java:27)
at forge.view.FNavigationBar$NavigationTab$CloseButton$1.mouseReleased(FNavigationBar.java:482)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2739)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:719)
at java.awt.EventQueue$4.run(EventQueue.java:717)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
I'm on Mac OS Mavericks. I keep Forge and all the forge card images on an external drive. I use the following .properties file:
[spoiler]
#
# forge.profile.properties.example
#
# To get started using this file, just copy or rename it to
# forge.profile.properties and edit one or more of the paths below.
#
# Normally, users will not need to do anything here. Keeping the default paths
# is an easy way to make sure your Forge settings and data are kept safe when
# you upgrade Forge, even if you install to a different path or delete the
# entire Forge program directory before you upgrade.
#
# If you need to, though, you can use this file to set the locations that Forge
# will use to store your data. However, remember that whenever you install a
# new version of Forge into a different directory, it will not see your data
# unless you copy this file into the new program directory.
#
# If you specify a relative path in this file, it will be relative to the Forge
# program directory. Note that paths defined in this file will each have the
# whitespace trimmed from their start and end. If you need the path to start or
# end with a space or tab character, put a slash before or after it, as
# appropriate. For example, for the directory "<forge dir>/ local ", use:
# xxxDir=./ local /
#
# Also note that all backslashes in this file need to be escaped themselves with
# a backslash. For example: d:\\mtg-pics. Forwards slashes work on all
# platforms, including Windows, and do not need to be escaped: d:/mtg-pics.
#
# EXAMPLES
# --------
#
# To have Forge use the default directories:
# userDir=
# cacheDir=
# cardPicsDir=
#
# To use a specific user data directory but the default cache dir on Windows:
# userDir=D:/ForgeData
# cacheDir=
# cardPicsDir=
#
# To put everything under a specific path on a Unix-based system:
# userDir=/local/path/forge
# cacheDir=/local/path/forge/cache
# cardPicsDir=
# This is where Forge will save your personal data, such as your saved decks,
# preferences, and quest progress. If you want to back up your data or copy it
# to another computer, this is the directory to copy. The default value is
# platform-specific, and may differ a bit from what is listed here if you have
# an older version of Windows:
# Windows: <your application data directory>/Forge/
# (usually, C:/Users/<your username>/Application Data/Roaming/Forge/)
# OSX: <your home directory>/Library/Application Support/Forge/
# Linux: <your home directory>/.forge/
userDir=
# This is where forge will keep downloaded content, such as card pictures and
# updated price lists. The default values are:
# Windows: <your local application data directory>/Forge/Cache/
# (usually C:/Users/<your username>/Application Data/Local/Forge/Cache/)
# OSX: <your home directory>/Library/Caches/Forge/
# Linux: <your home directory>/.cache/forge/
cacheDir=
# This is where forge will download and/or look for card picture data. The
# directory structure and filenames are the same as those used by Magic
# Workstation, and if you have both programs installed, you can share the same
# picture database between them. The default value (for all plaforms) is:
# <the cacheDir defined above>/pics/cards/
cardPicsDir=/Volumes/wcjext/MTG/pics/cards/
# You may also specify custom folder names for each set, just in case you are
# using any uncommon picture storage folder structure. Specify 3-letter codes
# from res/blockdata/setsdata.txt, an arrow (->) and the sub-folder name that
# holds card images from that edition. Separate records by a vertical bar (|).
# Ex: cardPicsSubDirs=LEA->Alpha|ROE->Rise of Eldrazi
cardPicsSubDirs=
# Forge server port. Values under 1024 won't work on Mac OSX or on the various *nixes.
serverPort=
[/spoiler]
Here's the screenshot:
- Crashing00
- Posts: 2
- Joined: 22 Aug 2014, 02:58
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by friarsol » 22 Aug 2014, 12:23
Definitely a lower priority item when it comes to auto yielding. From the sounds of it, end turn is pretty solid right now.drdev wrote:Note that I did not spend the time at this point to make it smart enough to still auto-yield to new spells if you can't take a meaningful action in response. Please let me know if I you think I should still attempt to do so. I mostly just wanted to get a simpler fix out sooner.
- 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 » 22 Aug 2014, 13:10
Auto-yield to end of turn looks solid now, Dan! Feel free to make it smarter when/if you have the time and desire to do so, but for now it's definitely helpful and no longer frustrating, so I don't think it's a high priority task or anything like that. Thanks for implementing this fix!
- 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 leovilla70 » 23 Aug 2014, 02:40
Description: The program is declaring attackers. It has the following cards:
1 Plains
2 Battlefield Forge
1 Sacred Foundry (tapped)
Dryad Militant
Daring Skyjet
Imposing Sovereing
Dryad Militant
(All untapped)
When declaring attacking (Dryad Militant and Daring Skyjet), the following message appears:
1 Plains
2 Battlefield Forge
1 Sacred Foundry (tapped)
Dryad Militant
Daring Skyjet
Imposing Sovereing
Dryad Militant
(All untapped)
When declaring attacking (Dryad Militant and Daring Skyjet), the following message appears:
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.24-r27072
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_67 Oracle Corporation
java.lang.NullPointerException
at forge.game.ability.AbilityUtils.applyAbilityTextChangeEffects(AbilityUtils.java:1521)
at forge.game.ability.AbilityUtils.getDefinedCards(AbilityUtils.java:84)
at forge.ai.ComputerUtilCombat.predictToughnessBonusOfAttacker(ComputerUtilCombat.java:1325)
at forge.ai.AiAttackController.isEffectiveAttacker(AiAttackController.java:194)
at forge.ai.AiAttackController.shouldAttack(AiAttackController.java:951)
at forge.ai.AiAttackController.declareAttackers(AiAttackController.java:854)
at forge.ai.AiController.declareAttackers(AiController.java:1126)
at forge.ai.PlayerControllerAi.declareAttackers(PlayerControllerAi.java:405)
at forge.game.phase.PhaseHandler.declareAttackersTurnBasedAction(PhaseHandler.java:474)
at forge.game.phase.PhaseHandler.onPhaseBegin(PhaseHandler.java:291)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1060)
at forge.game.GameAction.startGame(GameAction.java:1558)
at forge.game.Match.startGame(Match.java:81)
at forge.control.FControl$4.run(FControl.java:442)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- leovilla70
- Posts: 4
- Joined: 12 Jun 2014, 04:51
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Fizanko » 24 Aug 2014, 21:25
AI played Afterlife, destroying my Yosei, the Morning Star

And just before i can target the AI and then after that tap up to 5 creatures (when Yosei, the Morning Star go to graveyard) :

And just before i can target the AI and then after that tap up to 5 creatures (when Yosei, the Morning Star go to graveyard) :
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: 1.5.25-SNAPSHOT-r27111 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version: 1.7.0_10 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.getHiddenExtrinsicKeyword(Card.java:4811)
at forge.game.card.Card.getKeyword(Card.java:4424)
at forge.game.card.Card.hasKeyword(Card.java:5290)
at forge.game.card.Card.isSick(Card.java:3165)
at forge.view.arcane.CardPanel.paintChildren(CardPanel.java:395)
at javax.swing.JComponent.paint(Unknown Source)
at forge.view.arcane.CardPanel.paint(CardPanel.java:291)
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 forge.toolbox.FScrollPane.paint(FScrollPane.java:83)
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.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.paint(Unknown Source)
at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
at java.awt.Container.paint(Unknown Source)
at java.awt.Window.paint(Unknown Source)
at forge.toolbox.FSkin$SkinnedFrame.paint(FSkin.java:1733)
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$700(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)
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
Re: Bug Reports (snapshot builds)
by Thesaguy » 26 Aug 2014, 02:19
Just got this error:
Description: [describe what you were doing when the crash occurred]
Description: [describe what you were doing when the crash occurred]
- RuntimeException | Open
- Code: Select all
Forge Version: 1.5.25-SNAPSHOT-r27084 (mixed revisions detected; please update from the root directory)
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_67 Oracle Corporation
java.lang.RuntimeException: Cannot remove input InputPayManaOfCostPayment because it's not on top of stack. Stack = []
at forge.match.input.InputQueue.removeInput(InputQueue.java:54)
at forge.match.input.InputSyncronizedBase.stop(InputSyncronizedBase.java:49)
at forge.match.input.InputPayMana.onStateChanged(InputPayMana.java:398)
at forge.match.input.InputPayMana$3.run(InputPayMana.java:351)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Re: Bug Reports (snapshot builds)
by Thesaguy » 26 Aug 2014, 19:04
Another Crash:
Description: [describe what you were doing when the crash occurred]
Description: [describe what you were doing when the crash occurred]
- UncheckedExecutionException | Open
- Code: Select all
Forge Version: 1.5.25-SNAPSHOT-r27084 (mixed revisions detected; please update from the root directory)
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_67 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:2201)
at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
at forge.ImageCache.getImage(ImageCache.java:204)
at forge.ImageCache.getOriginalImage(ImageCache.java:139)
at forge.ImageCache.scaleImage(ImageCache.java:169)
at forge.ImageCache.getIcon(ImageCache.java:107)
at forge.screens.home.quest.PnlEvent.<init>(PnlEvent.java:49)
at forge.screens.home.quest.CSubmenuDuels.update(CSubmenuDuels.java:135)
at forge.screens.home.CHomeUI.itemClick(CHomeUI.java:55)
at forge.screens.home.CHomeUI.selectPrevious(CHomeUI.java:137)
at forge.screens.home.CHomeUI.initialize(CHomeUI.java:83)
at forge.control.FControl.setCurrentScreen(FControl.java:305)
at forge.view.FNavigationBar.closeTab(FNavigationBar.java:158)
at forge.view.FNavigationBar.closeTab(FNavigationBar.java:146)
at forge.control.FControl.endCurrentGame(FControl.java:451)
at forge.screens.match.ControlWinLose.actionOnContinue(ControlWinLose.java:61)
at forge.screens.match.ControlWinLose$1.actionPerformed(ControlWinLose.java:36)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(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.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.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:92)
at forge.ImageLoader.load(ImageLoader.java:56)
at forge.ImageLoader.load(ImageLoader.java:17)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
... 55 more
Re: Bug Reports (snapshot builds)
by Agetian » 29 Aug 2014, 14:48
r27164: I tapped Ashnod's Battle Gear and gave +2/-2 to my Yotian Soldier. When I chose to untap Ashnod's Battle Gear, my Yotian Soldier became -1/6. Then I tried it again (I tapped Ashnod's Battle Gear again and my Soldier became 1/4 after it), then after I chose to untap Ashnod's Battle Gear again my Yotian Soldier became -5/10. :\
- 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 fmartel » 29 Aug 2014, 20:10
since it seem to be faster having an anser to my questions, I'll post here...
- RuntimeException | Open
- Code: Select all
Description: [Clicked "Start" to start a Quick Gauntlet]
Forge Version: 1.5.25-r27161Mu (mixed revisions detected; please update from the root directory)
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_11 Oracle Corporation
java.lang.RuntimeException: Generate2ColorDeck : get2ColorDeck -- looped too much, please try again -- Cr12
at forge.deck.generation.DeckGeneratorBase.addSome(DeckGeneratorBase.java:107)
at forge.deck.generation.DeckGeneratorBase.adjustDeckSize(DeckGeneratorBase.java:196)
at forge.deck.DeckGeneratorTheme.getThemeDeck(DeckGeneratorTheme.java:159)
at forge.deck.DeckProxy$ThemeDeckGenerator.getDeck(DeckProxy.java:362)
at forge.deck.DeckgenUtil.getRandomThemeDeck(DeckgenUtil.java:130)
at forge.gauntlet.GauntletUtil.createQuickGauntlet(GauntletUtil.java:45)
at forge.screens.home.gauntlet.CSubmenuGauntletQuick.startGame(CSubmenuGauntletQuick.java:73)
at forge.screens.home.gauntlet.CSubmenuGauntletQuick.access$000(CSubmenuGauntletQuick.java:27)
at forge.screens.home.gauntlet.CSubmenuGauntletQuick$1.actionPerformed(CSubmenuGauntletQuick.java:32)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(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.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.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)
- 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 Agetian » 30 Aug 2014, 10:37
Description: r27157: This exception occurred immediately as I entered a challenge "Dungeon Crawling (Colorless) (hard)" in quest mode. I could not continue playing. Trying the same challenge again resulted in the same exception happening again.
- UnsupportedOperationException | Open
- Code: Select all
Forge Version: 1.5.25-SNAPSHOT-r27157u
Operating System: Linux 3.8.0-26-generic amd64
Java Version: 1.7.0_51 Oracle Corporation
java.lang.UnsupportedOperationException
at com.google.common.collect.ImmutableCollection.addAll(ImmutableCollection.java:120)
at forge.game.player.Player.addChangedKeywords(Player.java:1154)
at forge.game.player.Player.addChangedKeywords(Player.java:1145)
at forge.game.staticability.StaticAbilityContinuous.applyContinuousAbility(StaticAbilityContinuous.java:340)
at forge.game.staticability.StaticAbilityContinuous.applyContinuousAbility(StaticAbilityContinuous.java:57)
at forge.game.staticability.StaticAbility.applyAbility(StaticAbility.java:219)
at forge.game.GameAction.checkStaticAbilities(GameAction.java:734)
at forge.game.GameAction.changeZone(GameAction.java:231)
at forge.game.GameAction.moveTo(GameAction.java:407)
at forge.game.GameAction.moveTo(GameAction.java:388)
at forge.game.GameAction.moveToHand(GameAction.java:527)
at forge.game.player.Player.doDraw(Player.java:1391)
at forge.game.player.Player.drawCards(Player.java:1363)
at forge.game.GameAction.startGame(GameAction.java:1537)
at forge.game.Match.startGame(Match.java:81)
at forge.control.FControl$4.run(FControl.java:447)
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:744)
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Who is online
Users browsing this forum: No registered users and 19 guests