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 myk » 17 Feb 2013, 18:41
(2) is fixed in r19682. I have a couple questions on (1). The E shortcut is working just fine; it's the action itself that is broken (it doesn't work from the dock either). However, I'm not entirely sure how it's supposed to work. Currently, this is the order of events when 'e' is pressed (regardless of whose turn it is):Agetian wrote:r19674:
1) the E key shortcut does not work anymore in the match (which is "pass priority till the next stack event" or something like that, very useful IMO);
2) unbinding a shortcut in preferences (e.g. if I don't want to have a shortcut for Concede Game) causes a NumberFormatException crash when leaving the preferences page;
- Code: Select all
PlayerControllerHuman@4b5d060d setting autoPassUntil=CLEANUP
PlayerControllerAi@7cfd14be calling mayAutoPass; autoPassUntil=null; result: false
PlayerControllerAi@7cfd14be clearing autoPassUntil
PlayerControllerHuman@4b5d060d clearing autoPassUntil
- myk
- Posts: 439
- Joined: 17 Jan 2013, 02:39
- Location: California
- Has thanked: 38 times
- Been thanked: 57 times
Re: Bug Reports (snapshot builds)
by mark » 17 Feb 2013, 22:50
If the AI uses Animate Dead on a Hellspark Elemental in my graveyard there is a problem at the AI's end of turn: The Hellspark Elemental leaves the battlefield but "When Animate Dead leaves the battlefield, that creature's controller sacrifices it." stays on the stack forever, the game is stalled.
Re: Bug Reports (snapshot builds)
by swordshine » 18 Feb 2013, 00:10
HandLifeModifier did not show up.friarsol wrote:How do you mean broken? Do you mean a script that uses it doesn't work? We get it from an outside source, I was just updating it for the set info that was missing.swordshine wrote:mtg-data.txt is broken for avatars.
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Bug Reports (snapshot builds)
by friarsol » 18 Feb 2013, 00:19
Yea I mean, it's not code or anything. So I wouldn't say it was "broken". It looks like that was already reported viewtopic.php?f=27&t=1347swordshine wrote:HandLifeModifier did not show up.
- 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 » 18 Feb 2013, 05:00
Hmmm I'm not sure how it worked back in the day when it did work, but what happened was basically the game skipped the phases until the next meaningful stack event occured or until the cleanup phase was encountered (basically, before the next player's turn). I recall it used to work in two different fashions - at first, just pressing "E" was enough, and then in a later implementation, you had to hit "E" followed by "Space" (which felt clunky)... But as for the intrinsics of what's going on under the hood, I have no idea, sorry...myk wrote:I have a couple questions on (1). The E shortcut is working just fine; it's the action itself that is broken (it doesn't work from the dock either). However, I'm not entirely sure how it's supposed to work. Currently, this is the order of events when 'e' is pressed (regardless of whose turn it is):so is autoPassUntil being set on the wrong player, or is mayAutoPass being called on the wrong player?
- Code: Select all
PlayerControllerHuman@4b5d060d setting autoPassUntil=CLEANUP
PlayerControllerAi@7cfd14be calling mayAutoPass; autoPassUntil=null; result: false
PlayerControllerAi@7cfd14be clearing autoPassUntil
PlayerControllerHuman@4b5d060d clearing autoPassUntil

- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by Max mtg » 18 Feb 2013, 08:04
Looks like the end turn feature is implemented in Dock class, is it correct to allow pressing 'E' from any state of input, such as 'pay mana'?
Do you think that the 'End turn' option should be allowed from PassPriority state only? So that a field in PlayerController will be set and priority may be safely passed.
Nevertheless, the PlayerControllerHuman class had a bug that is fixd in 19710.
After this fix, as you press 'E' then 'ok' to pass priority, phases are skipped until opponent's turn.
Feel free to tune this feature further.
Do you think that the 'End turn' option should be allowed from PassPriority state only? So that a field in PlayerController will be set and priority may be safely passed.
Nevertheless, the PlayerControllerHuman class had a bug that is fixd in 19710.
After this fix, as you press 'E' then 'ok' to pass priority, phases are skipped until opponent's turn.
Feel free to tune this feature further.
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 swordshine » 18 Feb 2013, 12:29
I cast a card with convoke, but cannot tap all my creatures, only all but one creatures are permitted.
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Bug Reports (snapshot builds)
by FabioFLX » 18 Feb 2013, 13:28
I noticed bloodrush abilites doesn't affect the number of casted spells so double-faced cards that trigger when no-one casts a spell trigger even when a player just casted a card using the bloodrush ability.
I think this is not the right behaviour, don't you?
Thanks
I think this is not the right behaviour, don't you?
Thanks
Re: Bug Reports (snapshot builds)
by friarsol » 18 Feb 2013, 13:59
Bloodrush is an ability not a spell. When you activate Bloodrush to grant the p/t bonus, it doesn't change the Spell count.FabioFLX wrote:I noticed bloodrush abilites doesn't affect the number of casted spells so double-faced cards that trigger when no-one casts a spell trigger even when a player just casted a card using the bloodrush ability.
I think this is not the right behaviour, don't you?
Thanks
- 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 FabioFLX » 18 Feb 2013, 15:13
Oh, my badfriarsol wrote:Bloodrush is an ability not a spell. When you activate Bloodrush to grant the p/t bonus, it doesn't change the Spell count.FabioFLX wrote:I noticed bloodrush abilites doesn't affect the number of casted spells so double-faced cards that trigger when no-one casts a spell trigger even when a player just casted a card using the bloodrush ability.
I think this is not the right behaviour, don't you?
Thanks

Re: Bug Reports (snapshot builds)
by Bundy » 18 Feb 2013, 17:11
Don't know why, but this crash report popped up.
In play on computers side (besides land):
Horseshoe Crab, Inferno Titan, Callous Giant and Platinum Emperion (got that from me with Switcheroo)
On my side:
Sol Ring, Vigor, Darksteel Colossus, Blightsteel Colossus and Goblin King (got it in return with Switcheroo)
In play on computers side (besides land):
Horseshoe Crab, Inferno Titan, Callous Giant and Platinum Emperion (got that from me with Switcheroo)
On my side:
Sol Ring, Vigor, Darksteel Colossus, Blightsteel Colossus and Goblin King (got it in return with Switcheroo)
- Crash Report | 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.
String index out of range: 2
Version:
Forge version 1.3.9-SNAPSHOT
OS: Windows 7 Version: 6.1 Architecture: x86
Java Version: 1.7.0_09 Vendor: Oracle Corporation
Detailed error trace:
java.lang.StringIndexOutOfBoundsException: String index out of range: 2
at java.lang.String.substring(Unknown Source)
at forge.card.abilityfactory.SpellEffect.getStackDescriptionWithSubs(SpellEffect.java:74)
at forge.card.abilityfactory.CommonDrawback.getStackDescription(CommonDrawback.java:63)
at forge.card.abilityfactory.SpellEffect.getStackDescriptionWithSubs(SpellEffect.java:84)
at forge.card.abilityfactory.CommonSpell.getStackDescription(CommonSpell.java:39)
at forge.card.spellability.SpellAbilityStackInstance.<init>(SpellAbilityStackInstance.java:92)
at forge.game.zone.MagicStack.add(MagicStack.java:414)
at forge.game.zone.MagicStack.addAndUnfreeze(MagicStack.java:189)
at forge.game.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:116)
at forge.game.ai.AiInputCommon.playSpellAbilities(AiInputCommon.java:164)
at forge.game.ai.AiInputCommon.showMessage(AiInputCommon.java:106)
at forge.gui.GuiInput.setInput(GuiInput.java:71)
at forge.gui.GuiInput.update(GuiInput.java:54)
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:515)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:732)
at forge.game.player.PlayerController.passPriority(PlayerController.java:74)
at forge.control.input.InputControl.getActualInput(InputControl.java:239)
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:141)
at forge.control.input.InputControl.resetInput(InputControl.java:137)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:740)
at forge.game.player.PlayerController.passPriority(PlayerController.java:74)
at forge.game.ai.AiInputCommon.showMessage(AiInputCommon.java:110)
at forge.gui.GuiInput.setInput(GuiInput.java:71)
at forge.gui.GuiInput.update(GuiInput.java:54)
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:515)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:732)
at forge.game.player.PlayerController.passPriority(PlayerController.java:74)
at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:77)
at forge.gui.GuiInput.selectButtonOK(GuiInput.java:80)
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 reeeech » 19 Feb 2013, 02:38
Playing 1.3.8
Anytime the user dredge's - any card, the game crashes.
Anytime the user dredge's - any card, the game crashes.
- Code: Select all
Version:
Forge version 1.3.8-r19484
OS: Windows 7 Version: 6.1 Architecture: x86
Java Version: 1.7.0_13 Vendor: Oracle Corporation
Detailed error trace:
java.lang.NullPointerException
at forge.gui.GuiDialog.confirm(GuiDialog.java:49)
at forge.gui.GuiDialog.confirm(GuiDialog.java:30)
at forge.game.player.HumanPlayer.dredge(HumanPlayer.java:71)
at forge.game.player.Player.drawCards(Player.java:1332)
at forge.game.phase.PhaseHandler.handleBeginPhase(PhaseHandler.java:268)
at forge.control.input.InputControl.getActualInput(InputControl.java:187)
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.game.phase.PhaseHandler.nextPhase(PhaseHandler.java:515)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:732)
at forge.game.player.PlayerController.passPriority(PlayerController.java:72)
at forge.game.ai.AiInputCommon.showMessage(AiInputCommon.java:110)
at forge.gui.GuiInput.setInput(GuiInput.java:71)
at forge.gui.GuiInput.update(GuiInput.java:54)
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:141)
at forge.control.input.InputControl.resetInput(InputControl.java:137)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:740)
at forge.game.player.PlayerController.passPriority(PlayerController.java:72)
at forge.control.input.InputPassPriority.selectButtonOK(InputPassPriority.java:77)
at forge.gui.GuiInput.selectButtonOK(GuiInput.java:80)
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.plaf.basic.BasicButtonListener$Actions.actionPerformed(Unknown Source)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.JComponent.processKeyBindings(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)
- Attachments
-
2013-02-18-00.txt
- (4.66 KiB) Downloaded 254 times
Re: Bug Reports (snapshot builds)
by friarsol » 19 Feb 2013, 02:45
Dredge works just fine in the snapshot build.reeeech wrote:Playing 1.3.8
Anytime the user dredge's - any card, the game crashes.
- 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 reeeech » 19 Feb 2013, 02:54
That's odd?
I downloaded 1.3.8 again and keep getting the same problem. 1.3.7 works just fine for me.
I've made a new deck as well. Anytime the dredge mechanic is supposed to happen I keep getting that messege, but, before the pulldown window giving me the option to dredge or draw.
I downloaded 1.3.8 again and keep getting the same problem. 1.3.7 works just fine for me.
I've made a new deck as well. Anytime the dredge mechanic is supposed to happen I keep getting that messege, but, before the pulldown window giving me the option to dredge or draw.
Re: Bug Reports (snapshot builds)
by friarsol » 19 Feb 2013, 02:56
Oh, if you are trying to report a bug for 1.3.8 you should post it in the thread of that release. I thought you were saying it didn't work in the snapshot builds (since that's what this thread is). Anyway, that's been fixed already it'll be in the next beta.reeeech wrote:That's odd?
I downloaded 1.3.8 again and keep getting the same problem. 1.3.7 works just fine for me.
I've made a new deck as well. Anytime the dredge mechanic is supposed to happen I keep getting that messege, but, before the pulldown window giving me the option to dredge or draw.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Who is online
Users browsing this forum: No registered users and 21 guests