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 Diogenes » 27 Oct 2012, 10:35
On this lighter note, have you guys considered adding non-canon spells to Quest mode? A tastefully small amount might be fun, for instance:moomarc wrote:At some stage we'll add a super-boss in quest mode with a challenge that's nearly impossible to beat. We'll name it Sloth Almighty!
Edit: It'll have to be a reanimating bugs deck.
Sloth, Supreme Bug Squasher

Legendary Creature - Human Developer





1/2
Would be fun in an insect-token deck.

Re: Bug Reports (snapshot builds)
by Max mtg » 27 Oct 2012, 13:07
No fictional cards may be added to decks now.Diogenes wrote:On this lighter note, have you guys considered adding non-canon spells to Quest mode?
It is possible, however, to put a custom card on the battlefield at the beginning of each round.
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 friarsol » 28 Oct 2012, 16:05
r17756
It appears that mulliganing causes this crash.
It appears that mulliganing causes this crash.
- MulliganCrash | Open
- forge.control.input.InputMulligan
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
at java.util.Collections$UnmodifiableCollection$1.next(Unknown Source)
at forge.game.player.Player.doMulligan(Player.java:1246)
at forge.game.player.HumanPlayer.doMulligan(HumanPlayer.java:209)
at forge.control.input.InputMulligan.selectButtonCancel(InputMulligan.java:85)
- 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 » 28 Oct 2012, 21:20
r17757
Why are these errors popping up all over the place now?
Trying to cast Flameshot
Why are these errors popping up all over the place now?
Trying to cast Flameshot
- Flameshot Crash | Open
- Detailed error trace:
java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableCollection.remove(Unknown Source)
at forge.card.cost.CostDiscard.canPay(CostDiscard.java:132)
at forge.card.cost.CostPayment.canPayAdditionalCosts(CostPayment.java:161)
at forge.card.spellability.Spell.canPlay(Spell.java:120)
at forge.GameAction.playCard(GameAction.java:1584)
at forge.control.input.InputPassPriority.selectCard(InputPassPriority.java:87)
at forge.gui.GuiInput.selectCard(GuiInput.java:114)
at forge.gui.match.nonsingleton.CHand.cardclickAction(CHand.java:188)
at forge.gui.match.nonsingleton.CHand.access$0(CHand.java:182)
at forge.gui.match.nonsingleton.CHand$1.mousePressed(CHand.java:60)
- 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 Max mtg » 29 Oct 2012, 08:29
To remove excessive object allocations (creation of new ArrayLists while they were needed only for iteration), the getCards method of Zone class was changed to return a read-only list.friarsol wrote:r17757
Why are these errors popping up all over the place now?
Trying to cast Flameshot
Callers of that method should make a copy to modify a list they recieved from getCards().
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 Bundy » 30 Oct 2012, 17:50
forge-1.3.1-20121029.122741-2
I activate Ratchet Bomb with 3 counters on it, then this error pops up.
Permanents to be destroyed were: Bone Dancer equipped with Heavy Mattock and Draconian Cylix
I think it has something to do with Draconian Cylix. Computer attacks with Fugitive Wizard, I block with a spirit token, then this error pops up with Draconian Cylix in play on the computers side.
I activate Ratchet Bomb with 3 counters on it, then this error pops up.
Permanents to be destroyed were: Bone Dancer equipped with Heavy Mattock and Draconian Cylix
- Code: Select all
This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.
null
Version:
Forge version 1.3.1-SNAPSHOT
OS: Windows 7 Version: 6.1 Architecture: x86
Java Version: 1.7.0_09 Vendor: Oracle Corporation
Detailed error trace:
java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableList.set(Unknown Source)
at java.util.Collections.swap(Unknown Source)
at java.util.Collections.shuffle(Unknown Source)
at forge.CardLists.shuffle(CardLists.java:298)
at forge.CardLists.getRandomSubList(CardLists.java:284)
at forge.card.cost.CostDiscard.decideAIPayment(CostDiscard.java:312)
at forge.card.cost.CostPayment.payComputerCosts(CostPayment.java:299)
at forge.game.player.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:158)
at forge.game.player.ComputerUtil.playSpellAbilities(ComputerUtil.java:111)
at forge.game.player.ComputerAIGeneral.playSpellAbilities(ComputerAIGeneral.java:367)
at forge.control.input.InputControl.getActualInput(InputControl.java:251)
at forge.gui.GuiInput.update(GuiInput.java:50)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.util.MyObservable.updateObservers(MyObservable.java:38)
at forge.control.input.InputControl.resetInput(InputControl.java:140)
at forge.control.input.InputControl.resetInput(InputControl.java:136)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:720)
at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:75)
at forge.gui.GuiInput.selectButtonOK(GuiInput.java:79)
at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:51)
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.AbstractButton.doClick(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at forge.gui.toolbox.FButton$1.keyPressed(FButton.java:91)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(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.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(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)
I think it has something to do with Draconian Cylix. Computer attacks with Fugitive Wizard, I block with a spirit token, then this error pops up with Draconian Cylix in play on the computers side.
- Code: Select all
This is a Crash Report. An error has occurred. Please save this message to a file.
Please follow the instructions at this address to submit this Crash Report, plus what you were doing at the time:
http://tinyurl.com/3zzrnyb
Reporting bugs in Forge is very important. We thank you for your time.
null
Version:
Forge version 1.3.1-SNAPSHOT
OS: Windows 7 Version: 6.1 Architecture: x86
Java Version: 1.7.0_09 Vendor: Oracle Corporation
Detailed error trace:
java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableList.set(Unknown Source)
at java.util.Collections.swap(Unknown Source)
at java.util.Collections.shuffle(Unknown Source)
at forge.CardLists.shuffle(CardLists.java:298)
at forge.CardLists.getRandomSubList(CardLists.java:284)
at forge.card.cost.CostDiscard.decideAIPayment(CostDiscard.java:312)
at forge.card.cost.CostPayment.payComputerCosts(CostPayment.java:299)
at forge.game.player.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:158)
at forge.game.player.ComputerUtil.playSpellAbilities(ComputerUtil.java:111)
at forge.game.player.ComputerAIGeneral.playSpellAbilitiesStackEmpty(ComputerAIGeneral.java:85)
at forge.game.player.ComputerAIGeneral.playSpellAbilities(ComputerAIGeneral.java:336)
at forge.game.player.ComputerAIInput.think(ComputerAIInput.java:117)
at forge.game.player.ComputerAIInput.showMessage(ComputerAIInput.java:77)
at forge.gui.GuiInput.setInput(GuiInput.java:70)
at forge.gui.GuiInput.update(GuiInput.java:53)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.util.MyObservable.updateObservers(MyObservable.java:38)
at forge.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:494)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:712)
at forge.control.input.InputBlock.selectButtonOK(InputBlock.java:104)
at forge.gui.GuiInput.selectButtonOK(GuiInput.java:79)
at forge.gui.match.controllers.CMessage$2.actionPerformed(CMessage.java:51)
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.AbstractButton.doClick(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at forge.gui.toolbox.FButton$1.keyPressed(FButton.java:91)
at java.awt.Component.processKeyEvent(Unknown Source)
at javax.swing.JComponent.processKeyEvent(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.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(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)
- Bundy
- Posts: 348
- Joined: 17 Dec 2010, 17:32
- Location: The netherlands
- Has thanked: 23 times
- Been thanked: 3 times
Re: Bug Reports (snapshot builds)
by Diogenes » 31 Oct 2012, 01:21
I'm not quite sure what's happening here:
The AI and I are both playing an Axebane Guardian deck. On its turn it has three forests, an island, and one Axebane Guardian in play (no other creatures/permanents.) It taps out (it should receive five total mana) and plays a Primal Surge.
On my side of the field I also have an Axebane Guardian, along with a Gatecreeper Vine and three lands.
Since I can't see how it's paying for the Primal Surge, I can't tell what's going on. My Axebane Guardian produces the proper amount of mana when tapped, and if I cast Primal Surge I'm prompted for the correct payment. The only other thing I can think of that might be relevant is that the AI won the previous game by going off with the Primal Surge, and had a bunch of defenders out on his final turn (enough to produce the required mana by tapping the Axebane Guardian.)
The AI and I are both playing an Axebane Guardian deck. On its turn it has three forests, an island, and one Axebane Guardian in play (no other creatures/permanents.) It taps out (it should receive five total mana) and plays a Primal Surge.
On my side of the field I also have an Axebane Guardian, along with a Gatecreeper Vine and three lands.
Since I can't see how it's paying for the Primal Surge, I can't tell what's going on. My Axebane Guardian produces the proper amount of mana when tapped, and if I cast Primal Surge I'm prompted for the correct payment. The only other thing I can think of that might be relevant is that the AI won the previous game by going off with the Primal Surge, and had a bunch of defenders out on his final turn (enough to produce the required mana by tapping the Axebane Guardian.)
Re: Bug Reports (snapshot builds)
by PowerClaws » 01 Nov 2012, 13:01
I control a Archmage's Ascension (http://gatherer.wizards.com/Pages/Card/ ... eid=197893) when it has six counters on it. When i draw a card, it prompts me if i wish to use it ability, saying no causes this prompt to not appear again.
- PowerClaws
- Posts: 131
- Joined: 30 Jan 2012, 11:33
- Has thanked: 28 times
- Been thanked: 8 times
Re: Bug Reports (snapshot builds)
by Bundy » 02 Nov 2012, 17:04
forge-1.3.1-20121029.122741-2
I can't activate Geth, Lord of the Vault. I can choose it's ability when i click on it, but then nothing happens ...
I can't activate Geth, Lord of the Vault. I can choose it's ability when i click on it, but then nothing happens ...
- Bundy
- Posts: 348
- Joined: 17 Dec 2010, 17:32
- Location: The netherlands
- Has thanked: 23 times
- Been thanked: 3 times
Re: Bug Reports (snapshot builds)
by swordshine » 03 Nov 2012, 04:42
I think the keyword "CARDNAME can't attack" need update. For example, Blazing Archon does not allow players to attack its controller, but allows to attack the planeswalkers.
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Bug Reports (snapshot builds)
by moomarc » 03 Nov 2012, 11:22
Finally have my local copy updated for the first time since the multiplayer stuff started being implemented. I've kept an eye on the forums though and don't remember this being reported, so I think it's recent. The mana pool display isn't reset to zero as phases change and turns pass (although the pools are cleared poperly in tat the mana is no longer useable after the phase changes). Adding mana to the pool will reset them all and show the correct mana.
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Bug Reports (snapshot builds)
by Milod » 03 Nov 2012, 19:36
corpsejack menace doesent work for the +counters
Re: Bug Reports (snapshot builds)
by Max mtg » 03 Nov 2012, 20:48
A lot of errors may come as a result of the refactoring I am acuatlly performing. I'll have a look at them by monday.
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 Aigloblam » 04 Nov 2012, 09:03
Recently, for some reason i cannot block ANYTHING. I've played the last 20+ games and have not been able to block once. Im not sure whats going on...I would download a new Forge, but im not yet willing to lose my awesome streak in Quest mode.
- Aigloblam
- Posts: 3
- Joined: 27 Oct 2012, 05:47
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Diogenes » 04 Nov 2012, 09:34
This is a minor issue, and may not be addressable with the tools used to build Forge, but I just tried running the game on my secondary display for the first time and I've noticed that all pop-up boxes appear on my primary display. Hopefully this is an easy adjustment, but it's perfectly tolerable even if it can't be changed.
Who is online
Users browsing this forum: No registered users and 37 guests