Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Agetian, friarsol, Blacksmith, KrazyTheFox, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by Max mtg » 10 Mar 2012, 03:28
I control Strangleroot Geist equpped by Mortarpod.
Opponent has enchanted it with Maddening Wind
It's my turn's upkeep. Maddening Wild's trigger goes to stack. In response (though it might be too late to answer to prevent damage) I sacrifice Strangleroot Geist. "Deal 1 damage to computer" goes to stack, "return from undying" goes to stack. Stack beings to resolve. As it comes to Maddening Wind's trigger, I get and NPE with the following trace:
Opponent has enchanted it with Maddening Wind
It's my turn's upkeep. Maddening Wild's trigger goes to stack. In response (though it might be too late to answer to prevent damage) I sacrifice Strangleroot Geist. "Deal 1 damage to computer" goes to stack, "return from undying" goes to stack. Stack beings to resolve. As it comes to Maddening Wind's trigger, I get and NPE with the following trace:
- Code: Select all
java.lang.NullPointerException
at forge.card.abilityfactory.AbilityFactory.getDefinedPlayers(AbilityFactory.java:2007)
at forge.card.abilityfactory.AbilityFactory.getDefinedObjects(AbilityFactory.java:2126)
at forge.card.abilityfactory.AbilityFactoryDealDamage.dealDamageResolve(AbilityFactoryDealDamage.java:801)
at forge.card.abilityfactory.AbilityFactoryDealDamage.access$3(AbilityFactoryDealDamage.java:791)
at forge.card.abilityfactory.AbilityFactoryDealDamage$1.resolve(AbilityFactoryDealDamage.java:102)
at forge.card.abilityfactory.AbilityFactory.resolve(AbilityFactory.java:2657)
at forge.ComputerUtil.playNoStack(ComputerUtil.java:411)
at forge.card.trigger.TriggerHandler$2.resolve(TriggerHandler.java:1047)
at forge.card.abilityfactory.AbilityFactory.resolve(AbilityFactory.java:2657)
at forge.MagicStack.resolveStack(MagicStack.java:909)
at forge.PhaseHandler.passPriority(PhaseHandler.java:881)
at forge.ComputerAIGeneral.stackResponse(ComputerAIGeneral.java:373)
at forge.ComputerAIGeneral.stackNotEmpty(ComputerAIGeneral.java:344)
at forge.control.input.InputControl.updateInput(InputControl.java:259)
at forge.GuiInput.update(GuiInput.java:52)
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 Sloth » 10 Mar 2012, 07:31
Fixed! Thanks Max.Max mtg wrote:I control Strangleroot Geist equpped by Mortarpod.
Opponent has enchanted it with Maddening Wind
It's my turn's upkeep. Maddening Wild's trigger goes to stack. In response (though it might be too late to answer to prevent damage) I sacrifice Strangleroot Geist. "Deal 1 damage to computer" goes to stack, "return from undying" goes to stack. Stack beings to resolve. As it comes to Maddening Wind's trigger, I get and NPE with the following trace:
- | Open
- Code: Select all
java.lang.NullPointerException
at forge.card.abilityfactory.AbilityFactory.getDefinedPlayers(AbilityFactory.java:2007)
at forge.card.abilityfactory.AbilityFactory.getDefinedObjects(AbilityFactory.java:2126)
at forge.card.abilityfactory.AbilityFactoryDealDamage.dealDamageResolve(AbilityFactoryDealDamage.java:801)
at forge.card.abilityfactory.AbilityFactoryDealDamage.access$3(AbilityFactoryDealDamage.java:791)
at forge.card.abilityfactory.AbilityFactoryDealDamage$1.resolve(AbilityFactoryDealDamage.java:102)
at forge.card.abilityfactory.AbilityFactory.resolve(AbilityFactory.java:2657)
at forge.ComputerUtil.playNoStack(ComputerUtil.java:411)
at forge.card.trigger.TriggerHandler$2.resolve(TriggerHandler.java:1047)
at forge.card.abilityfactory.AbilityFactory.resolve(AbilityFactory.java:2657)
at forge.MagicStack.resolveStack(MagicStack.java:909)
at forge.PhaseHandler.passPriority(PhaseHandler.java:881)
at forge.ComputerAIGeneral.stackResponse(ComputerAIGeneral.java:373)
at forge.ComputerAIGeneral.stackNotEmpty(ComputerAIGeneral.java:344)
at forge.control.input.InputControl.updateInput(InputControl.java:259)
at forge.GuiInput.update(GuiInput.java:52)
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Bug Reports (snapshot builds)
by Iran » 11 Mar 2012, 08:08
I have Enchanted Evening, Glorious Anthem and Opalescence on battlefield. Then I find these situations. I played the spells in the same order above (First Enchanted Evening, Second Glorious Anthem and Third Opalescence)
1) In Forge => My lands doesn't becomes creatures with 1/1
I think => My lands must becomes creature with 1/1
2) In Forge => The Ai's lands doesn't becomes creatures with 0/0.
I think => The Ai's lands becomes creatures with 0/0, then they must be destroyed.
I use Forge 1.2.6-Snapshot-r14694
Below, a print screen of the game =>
1) In Forge => My lands doesn't becomes creatures with 1/1
I think => My lands must becomes creature with 1/1
2) In Forge => The Ai's lands doesn't becomes creatures with 0/0.
I think => The Ai's lands becomes creatures with 0/0, then they must be destroyed.
I use Forge 1.2.6-Snapshot-r14694
Below, a print screen of the game =>
Re: Bug Reports (snapshot builds)
by Agetian » 11 Mar 2012, 13:54
SVN r14709: I started the Sealed Deck mode with 9th Edition set chosen. After creating the sealed deck, I started a match against the AI. However, the AI did not have any lands in its deck at all (well, at least no basic lands for sure). Upon checking the ai-1.dck file in the decks folder, I have proven that the AI indeed did not put any lands at all into its deck.
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by Agetian » 11 Mar 2012, 14:08
And one more (minor) thing: in fatpacks.txt (definitions for Fat Packs), for some reason the land code for Magic 2012 is specified as M11, not M12 (should be M12).
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by Chris H. » 11 Mar 2012, 14:34
`Agetian wrote:And one more (minor) thing: in fatpacks.txt (definitions for Fat Packs), for some reason the land code for Magic 2012 is specified as M11, not M12 (should be M12).
Fixed, it looks like it was a simple copy and paste type of error. Thankfully, they are fairly easy to fix once someone notices.

-
Chris H. - Forge Moderator
- Posts: 6320
- Joined: 04 Nov 2008, 12:11
- Location: Mac OS X Yosemite
- Has thanked: 644 times
- Been thanked: 643 times
Re: Bug Reports (snapshot builds)
by jeffwadsworth » 12 Mar 2012, 22:05
For a while now, I assumed that the Remembered objects were not getting cleaned from AB$ Sacrificed and Instant/Sorcery type cards. Well, turns out that they are getting cleaned, but the cards still have the "Remembered" tag on them while sitting in the Graveyard/Exile.
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Bug Reports (snapshot builds)
by Corwin72 » 13 Mar 2012, 17:36
This weekend I was having issues with cards that allow the top of the library card to be played.
Oracle of Mul Daya and Garruk's Horde. I could not click on them to play the top card of the library.
Oracle of Mul Daya and Garruk's Horde. I could not click on them to play the top card of the library.
-
Corwin72 - Posts: 793
- Joined: 15 Sep 2009, 13:26
- Location: Grayson, Ga
- Has thanked: 25 times
- Been thanked: 9 times
Re: Bug Reports (snapshot builds)
by ZzzzSleep » 14 Mar 2012, 20:48
If they are anything like Magus of the Future, these cards appear in the flashback box.Corwin72 wrote:This weekend I was having issues with cards that allow the top of the library card to be played.
Oracle of Mul Daya and Garruk's Horde. I could not click on them to play the top card of the library.
Re: Bug Reports (snapshot builds)
by Corwin72 » 15 Mar 2012, 16:52
I tried it again last night.
You are correct. I was just not looking for it in the flashback area.
You are correct. I was just not looking for it in the flashback area.
-
Corwin72 - Posts: 793
- Joined: 15 Sep 2009, 13:26
- Location: Grayson, Ga
- Has thanked: 25 times
- Been thanked: 9 times
Re: Bug Reports (snapshot builds)
by Chris H. » 17 Mar 2012, 12:38
I started a new quest several days ago using a precon deck. I am using the daily snapshot builds with the most recent being based on rev 14780.
I am still at an early stage and I only have 15 life.
The first game of a quest match is giving me 20 life rather than 15.
Games after the first game of a match are starting with 15 life.
Using today's snapshot build (rev 14780) I finished a quest match and when I click on the button labeled "Great" which should take me back to the home screen I get the following crash report:
I am still at an early stage and I only have 15 life.
The first game of a quest match is giving me 20 life rather than 15.
Games after the first game of a match are starting with 15 life.
Using today's snapshot build (rev 14780) I finished a quest match and when I click on the button labeled "Great" which should take me back to the home screen I get the following crash report:
- Crash Report using Forge version 1.2.6-SNAPSHOT-r14780 | Open
- 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.
forge.quest.QuestDuel cannot be cast to forge.quest.QuestChallenge
Version:
Forge version 1.2.6-SNAPSHOT-r14780
OS: Mac OS X Version: 10.7.3 Architecture: x86_64
Java Version: 1.6.0_29 Vendor: Apple Inc.
Detailed error trace:
java.lang.ClassCastException: forge.quest.QuestDuel cannot be cast to forge.quest.QuestChallenge
at forge.view.match.QuestWinLoseHandler.actionOnQuit(QuestWinLoseHandler.java:292)
at forge.control.match.ControlWinLose$3.actionPerformed(ControlWinLose.java:58)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6373)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6138)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4735)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
at java.awt.Container.dispatchEventImpl(Container.java:2129)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4565)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:638)
at java.awt.EventQueue$1.run(EventQueue.java:636)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:652)
at java.awt.EventQueue$2.run(EventQueue.java:650)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
-
Chris H. - Forge Moderator
- Posts: 6320
- Joined: 04 Nov 2008, 12:11
- Location: Mac OS X Yosemite
- Has thanked: 644 times
- Been thanked: 643 times
Re: Bug Reports (snapshot builds)
by Corwin72 » 18 Mar 2012, 05:29
The Bazaar is also not working correctly. "Read this field from XML" shows on each item to purchase
Pillory of the Sleepless is causing the error :
If I click close it just shows back up when i go to the next phase.
Pillory of the Sleepless is causing the error :
- | Open
- 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.2.6-SNAPSHOT-r14743
OS: Windows Vista Version: 6.0 Architecture: x86
Java Version: 1.6.0_31 Vendor: Sun Microsystems Inc.
Detailed error trace:
java.lang.NullPointerException
at forge.card.trigger.TriggerHandler.parseTrigger(TriggerHandler.java:205)
at forge.card.trigger.TriggerHandler.parseTrigger(TriggerHandler.java:185)
at forge.card.staticability.StaticAbilityContinuous.applyContinuousAbility(StaticAbilityContinuous.java:302)
at forge.card.staticability.StaticAbility.applyAbility(StaticAbility.java:238)
at forge.GameAction.checkStaticAbilities(GameAction.java:840)
at forge.GameAction.checkStateEffects(GameAction.java:886)
at forge.PhaseHandler.handleBeginPhase(PhaseHandler.java:317)
at forge.control.input.InputControl.updateInput(InputControl.java:201)
at forge.GuiInput.update(GuiInput.java:52)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.MyObservable.updateObservers(MyObservable.java:38)
at forge.PhaseHandler.nextPhase(PhaseHandler.java:577)
at forge.control.match.ControlMessage$1.actionPerformed(ControlMessage.java:57)
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$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$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)
If I click close it just shows back up when i go to the next phase.
-
Corwin72 - Posts: 793
- Joined: 15 Sep 2009, 13:26
- Location: Grayson, Ga
- Has thanked: 25 times
- Been thanked: 9 times
Re: Bug Reports (snapshot builds)
by jeffwadsworth » 18 Mar 2012, 19:38
The card All Hallow's Eve does not get exiled with 2 scream counters. Script-wise, it looks fine.
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Bug Reports (snapshot builds)
by moomarc » 18 Mar 2012, 20:06
I don't have the code in front of me so a bit of a blind guess, but wasn't suspend hardcoded to allow TIME counters to work outside the battlefield, or specifically in exile? Try the script with TIME counters instead to see if it helps. I remember there being a problem with Jhoira of the Ghitu having a similar issue, but worth testing anyway.jeffwadsworth wrote:The card All Hallow's Eve does not get exiled with 2 scream counters. Script-wise, it looks fine.
-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 jeffwadsworth » 18 Mar 2012, 20:28
I see the issue with it. It is supposed to have a script like Cyclical Evolution. I will fix it.moomarc wrote:I don't have the code in front of me so a bit of a blind guess, but wasn't suspend hardcoded to allow TIME counters to work outside the battlefield, or specifically in exile? Try the script with TIME counters instead to see if it helps. I remember there being a problem with Jhoira of the Ghitu having a similar issue, but worth testing anyway.jeffwadsworth wrote:The card All Hallow's Eve does not get exiled with 2 scream counters. Script-wise, it looks fine.
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Who is online
Users browsing this forum: No registered users and 67 guests