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 » 31 May 2013, 03:50
AI casts Stoneforge Mystic with the Caw Blade quest deck at 4 life.
- Crash | Open
- Don't need a land or none available; trying for a creature.
5 Life or less, trying to find something castable.
Game-0 > java.lang.NullPointerException
at forge.card.mana.ManaCostBeingPaid.applySpellCostChange(ManaCostBeingPaid.java:497)
at forge.game.ai.ComputerUtilMana.calculateManaCost(ComputerUtilMana.java:463)
at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:83)
at forge.game.ai.ComputerUtilMana.hasEnoughManaSourcesToCast(ComputerUtilMana.java:57)
at forge.card.ability.ai.ChangeZoneAi.hiddenOriginResolveAI(ChangeZoneAi.java:1229)
at forge.card.ability.effects.ChangeZoneEffect.changeHiddenOriginResolve(ChangeZoneEffect.java:598)
at forge.card.ability.effects.ChangeZoneEffect.resolve(ChangeZoneEffect.java:353)
at forge.card.ability.AbilityApiBased.resolve(AbilityApiBased.java:62)
at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1057)
at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1034)
at forge.game.ai.ComputerUtil.playNoStack(ComputerUtil.java:320)
at forge.card.trigger.WrappedAbility.resolve(WrappedAbility.java:372)
at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1057)
at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1034)
at forge.game.zone.MagicStack.resolveStack(MagicStack.java:585)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:738)
at forge.game.GameAction.startGame(GameAction.java:1528)
at forge.game.Match$1.run(Match.java:101)
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:722)
- 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 squee1968 » 31 May 2013, 05:21
Build 21776. I have Invoke Prejudice, and even if I don't control a creature, the game will hang with no error message if AI casts a creature spell, regardless of color. However, I am able to concede.
Re: Bug Reports (snapshot builds)
by Agetian » 01 Jun 2013, 13:08
r21873: got this NPE between two duels in a match:
- NullPointerException | Open
- Code: Select all
Forge Version: 1.4.1-SNAPSHOT-r21873
Operating System: Linux 3.7.0-7-generic amd64
Java Version: 1.7.0_21 Oracle Corporation
java.lang.NullPointerException
at forge.game.player.Player.isOpponentOf(Player.java:350)
at forge.Card.canBeShownTo(Card.java:8142)
at forge.control.FControl.mayShowCard(FControl.java:329)
at forge.ImageCache.getImage(ImageCache.java:107)
at forge.view.arcane.CardPanel.setCard(CardPanel.java:671)
at forge.view.arcane.PlayArea.setupPlayZone(PlayArea.java:595)
at forge.view.arcane.PlayArea$1.run(PlayArea.java:510)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
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.awt.EventQueue.dispatchEvent(EventQueue.java:697)
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)
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by swordshine » 02 Jun 2013, 07:22
r21896, Counterbalance triggers and asks me the optional question directly when AI cast a spell. I have no chance to reorder my top of library.
I cast a Control Magic to a land enchanted by Vastwood Zendikon, but failed to gain control of it.
I cast a Control Magic to a land enchanted by Vastwood Zendikon, but failed to gain control of it.
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Bug Reports (snapshot builds)
by myth » 02 Jun 2013, 17:52
Tried to make a quest deck and this pops up... What did I do wrong?

- NullPointerException | Open
- Code: Select all
Forge Version: 1.3.15-SNAPSHOT-r21296
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_21 Oracle Corporation
java.lang.NullPointerException
at forge.gui.match.controllers.CDetail.showCard(CDetail.java:50)
at forge.gui.match.controllers.CDetail.showCard(CDetail.java:55)
at forge.gui.deckeditor.CDeckEditorUI.setCard(CDeckEditorUI.java:87)
at forge.gui.deckeditor.tables.EditorTableModel.showSelectedCard(EditorTableModel.java:193)
at forge.gui.deckeditor.tables.EditorTableModel$2.focusGained(EditorTableModel.java:216)
at java.awt.AWTEventMulticaster.focusGained(Unknown Source)
at java.awt.Component.processFocusEvent(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.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.Component.dispatchEvent(Unknown Source)
at sun.awt.SunToolkit$1.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)
- myth
- Posts: 1
- Joined: 02 Jun 2013, 17:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Diogenes » 03 Jun 2013, 11:55
The ability to search for a basic land after a creature you control is exiled by Path to Exile is not currently optional. The attached version should fix this.
- Attachments
-
path_to_exile.txt
- (889 Bytes) Downloaded 218 times
Re: Bug Reports (snapshot builds)
by friarsol » 03 Jun 2013, 12:15
This used to work just fine, it shouldn't need an Optional chooser, any changeZone that requires finding specific type of card should have an ok/cancel dialog. But cards like Demonic Tutor should just have an ok dialog. If you can't cancel it, the fix needs to go into change zone because a ton of scripts are affected if someone broke that.Diogenes wrote:The ability to search for a basic land after a creature you control is exiled by Path to Exile is not currently optional. The attached version should fix this.
- 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 mark » 03 Jun 2013, 12:21
It is possible to get stuck in an endless loop:
1. The player needs Abyssal Persecutor on the battlefield.
2. The AI needs an empty graveyard and Immortal Coil on the battlefield (you could give the AI control over Immortal Coil with Bazaar Trader and empty the grave with Bojuka Bog).
Then the stack will always have the entry: "1. When there are no cards in your graveyard, you lose the game." from Immortal Coil. It resolves, does nothing because of the Abyssal Persecutor and comes again on top of the stack and so on.
1. The player needs Abyssal Persecutor on the battlefield.
2. The AI needs an empty graveyard and Immortal Coil on the battlefield (you could give the AI control over Immortal Coil with Bazaar Trader and empty the grave with Bojuka Bog).
Then the stack will always have the entry: "1. When there are no cards in your graveyard, you lose the game." from Immortal Coil. It resolves, does nothing because of the Abyssal Persecutor and comes again on top of the stack and so on.
Re: Bug Reports (snapshot builds)
by Diogenes » 03 Jun 2013, 12:30
I see, I didn't clarify what I meant by "not optional". You won't be forced to play a land, but you will be forced to search your library. You can still voluntarily fail the search, but this causes a mandatory shuffle.friarsol wrote:This used to work just fine, it shouldn't need an Optional chooser, any changeZone that requires finding specific type of card should have an ok/cancel dialog. But cards like Demonic Tutor should just have an ok dialog. If you can't cancel it, the fix needs to go into change zone because a ton of scripts are affected if someone broke that.
The change is simply for the search itself to be optional.
Re: Bug Reports (snapshot builds)
by friarsol » 03 Jun 2013, 14:13
Ahhh gotcha. Thanks for the clarification.Diogenes wrote:The change is simply for the search itself to be optional.
- 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 » 03 Jun 2013, 14:15
Reminds me of a similar mandatory infinite loop: http://www.youtube.com/watch?v=AGXG5rNe_tImark wrote:It is possible to get stuck in an endless loop:
1. The player needs Abyssal Persecutor on the battlefield.
2. The AI needs an empty graveyard and Immortal Coil on the battlefield (you could give the AI control over Immortal Coil with Bazaar Trader and empty the grave with Bojuka Bog).
Then the stack will always have the entry: "1. When there are no cards in your graveyard, you lose the game." from Immortal Coil. It resolves, does nothing because of the Abyssal Persecutor and comes again on top of the stack and so on.
- 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 RobertAugust » 03 Jun 2013, 19:28
Description: Starting matches in Forge doesn't work anymore, even after reinstalling the program. The last change I made was changing 'wins for pack' from 10 to 5 (in the quest mode preferences). Changing it back to 10 has not helped.
I really hope to be able to play Forge again!
I really hope to be able to play Forge again!
- NullPointerException | Open
- Code: Select all
Forge Version: 1.4.0-r21849
Operating System: Windows 7 6.1 amd64
Java Version: 1.7.0_05 Oracle Corporation
java.lang.NullPointerException
at forge.gui.framework.SLayoutIO.loadLayout(SLayoutIO.java:153)
at forge.gui.match.VMatchUI.populate(VMatchUI.java:57)
at forge.control.FControl.changeState(FControl.java:232)
at forge.control.FControl.attachToGame(FControl.java:409)
at forge.game.Match.startRound(Match.java:86)
at forge.gui.home.quest.SSubmenuQuestUtil$3.run(SSubmenuQuestUtil.java:447)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(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)
- RobertAugust
- Posts: 21
- Joined: 03 Apr 2013, 20:58
- Has thanked: 0 time
- Been thanked: 3 times
Re: Bug Reports (snapshot builds)
by Max mtg » 03 Jun 2013, 20:18
Check if this topic helps you.RobertAugust wrote:Description: Starting matches in Forge doesn't work anymore, even after reinstalling the program. The last change I made was changing 'wins for pack' from 10 to 5 (in the quest mode preferences). Changing it back to 10 has not helped.
I really hope to be able to play Forge again!
viewtopic.php?f=52&t=10405
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 RobertAugust » 03 Jun 2013, 20:45
Thanks so much for the quick reply, Max! It has indeed worked : D
- RobertAugust
- Posts: 21
- Joined: 03 Apr 2013, 20:58
- Has thanked: 0 time
- Been thanked: 3 times
Who is online
Users browsing this forum: No registered users and 58 guests