It is currently 27 Aug 2025, 22:11
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Bug Reports (snapshot builds)

Postby myk » 17 Feb 2013, 18:41

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;
(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):
Code: Select all
PlayerControllerHuman@4b5d060d setting autoPassUntil=CLEANUP
PlayerControllerAi@7cfd14be calling mayAutoPass; autoPassUntil=null; result: false
PlayerControllerAi@7cfd14be clearing autoPassUntil
PlayerControllerHuman@4b5d060d clearing autoPassUntil
so is autoPassUntil being set on the wrong player, or is mayAutoPass being called on the wrong player?
myk
 
Posts: 439
Joined: 17 Jan 2013, 02:39
Location: California
Has thanked: 38 times
Been thanked: 57 times

Re: Bug Reports (snapshot builds)

Postby 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.
mark
 
Posts: 138
Joined: 28 Dec 2011, 11:32
Has thanked: 6 times
Been thanked: 11 times

Re: Bug Reports (snapshot builds)

Postby swordshine » 18 Feb 2013, 00:10

friarsol wrote:
swordshine wrote:mtg-data.txt is broken for avatars.
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.
HandLifeModifier did not show up.
swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 18 Feb 2013, 00:19

swordshine wrote:HandLifeModifier did not show up.
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=1347
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 18 Feb 2013, 05:00

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):
Code: Select all
PlayerControllerHuman@4b5d060d setting autoPassUntil=CLEANUP
PlayerControllerAi@7cfd14be calling mayAutoPass; autoPassUntil=null; result: false
PlayerControllerAi@7cfd14be clearing autoPassUntil
PlayerControllerHuman@4b5d060d clearing autoPassUntil
so is autoPassUntil being set on the wrong player, or is mayAutoPass being called on the wrong player?
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... :(

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby 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.
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)

Postby 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)

Postby 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
User avatar
FabioFLX
 
Posts: 78
Joined: 27 Sep 2011, 13:08
Has thanked: 4 times
Been thanked: 7 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 18 Feb 2013, 13:59

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
Bloodrush is an ability not a spell. When you activate Bloodrush to grant the p/t bonus, it doesn't change the Spell count.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby FabioFLX » 18 Feb 2013, 15:13

friarsol wrote:
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
Bloodrush is an ability not a spell. When you activate Bloodrush to grant the p/t bonus, it doesn't change the Spell count.
Oh, my bad #-o BR counts not as a spell, that's why it is used in Thalia decks for example. Sorry again.
User avatar
FabioFLX
 
Posts: 78
Joined: 27 Sep 2011, 13:08
Has thanked: 4 times
Been thanked: 7 times

Re: Bug Reports (snapshot builds)

Postby 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)

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)

Postby reeeech » 19 Feb 2013, 02:38

Playing 1.3.8

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
reeeech
 
Posts: 16
Joined: 08 Aug 2012, 00:18
Has thanked: 2 times
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby friarsol » 19 Feb 2013, 02:45

reeeech wrote:Playing 1.3.8

Anytime the user dredge's - any card, the game crashes.
Dredge works just fine in the snapshot build.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby 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.
reeeech
 
Posts: 16
Joined: 08 Aug 2012, 00:18
Has thanked: 2 times
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby friarsol » 19 Feb 2013, 02:56

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.
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.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 19 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 19 users online :: 0 registered, 0 hidden and 19 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 19 guests

Login Form