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 » 23 Feb 2013, 15:48
Yeah, it's one of my next tasks to go through and set focus properly for each screen and dialog. I've already done the Duels page to work like that (focus starts on the first duel in the list, enter starts the match).Max mtg wrote:It's interesting to know where the focus is set by default as application starts.
WTR: Start Forge (contructed mode window shows up), Press ENTER -> The window closes (though I expected a match to start)
- 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 Max mtg » 23 Feb 2013, 21:28
I am able to transform a card on battlefield by clicking that 'flip' button over CardDetailPanel.
Was probably introduced in 19842
Backside of doublefaced card also didn't have a picture (but that's definitelly my own issue)
Was probably introduced in 19842
Backside of doublefaced card also didn't have a picture (but that's definitelly my own issue)
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 moomarc » 24 Feb 2013, 07:44
This bug has actually been around since the flip action was first introduced. Not only does it flip the card, it also triggers any Transform triggers.Max mtg wrote:I am able to transform a card on battlefield by clicking that 'flip' button over CardDetailPanel.
Was probably introduced in 19842
-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 Max mtg » 24 Feb 2013, 08:18
Ahh... it's doublestrike's.
Fixed the flips by myself in 19853
Fixed the flips by myself in 19853
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 Max mtg » 24 Feb 2013, 09:20
Backside picture fixed. 19858
I'll go somewhere out, looks like I am the only one who has left here.
I'll go somewhere out, looks like I am the only one who has left here.
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 Agetian » 24 Feb 2013, 18:13
- Agetian
Last edited by Agetian on 24 Feb 2013, 18:37, edited 1 time in total.
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by Max mtg » 24 Feb 2013, 18:20
Have you disabled developer mode?Agetian wrote:It seems that in r19859, you can play as many lands per turn as you only have in your hand.
- Agetian
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 Agetian » 24 Feb 2013, 18:32
Umm no, I wasn't aware that it was allowing me to play multiple lands per turn though.
Did it always do that or is it a new thing? It's very handy by the way, just came unexpected on me. 
- Agetian


- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by timmermac » 25 Feb 2013, 14:00
It's done it before. Occasionally when a snapshot/beta got released, the play unlimited lands feature in developer mode was left on by accident. It was turned off for a while, but it seems to have snuck itself back on again.
"I just woke up, haven't had coffee, let alone a pee in 7 days, and I find out you stole my ass and made a ...mini-me! Carter, I should be irked currently, yes?" - Jack O'Neill
Re: Bug Reports (snapshot builds)
by myk » 25 Feb 2013, 23:04
I was fighting the Backlash Machine and used a Paraselene to destroy both his Privileged Position enchantments and his Sanguine Bond, yet I gained 0 life instead of 3
- 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 myk » 26 Feb 2013, 00:07
infinte loop in PlayerController, triggered when a Nearheath Pilgrim entered the battlefield and tried to target a creature for lifelink soulbonding:
- StackOverflowError | Open
- Code: Select all
Forge Version: 1.3.9-SNAPSHOT-r19879M
Operating System: Linux 3.6.11-gentoo amd64
Java Version: 1.6.0_24 Sun Microsystems Inc.
java.lang.StackOverflowError
at forge.game.player.PlayerController.chooseSingleCardForEffect(PlayerController.java:95)
at forge.game.player.PlayerController.chooseSingleCardForEffect(PlayerController.java:95)
at forge.game.player.PlayerController.chooseSingleCardForEffect(PlayerController.java:95)
at forge.game.player.PlayerController.chooseSingleCardForEffect(PlayerController.java:95)
...
- 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 Max mtg » 26 Feb 2013, 04:54
That's very awful! I am very guilty for that endless recusion - it should have called a different overload - as commited in r19885myk wrote:infinte loop in PlayerController, triggered when a Nearheath Pilgrim entered the battlefield and tried to target a creature for lifelink soulbonding:
- StackOverflowError | Open
- Code: Select all
Forge Version: 1.3.9-SNAPSHOT-r19879M
Operating System: Linux 3.6.11-gentoo amd64
Java Version: 1.6.0_24 Sun Microsystems Inc.
java.lang.StackOverflowError
at forge.game.player.PlayerController.chooseSingleCardForEffect(PlayerController.java:95)
at forge.game.player.PlayerController.chooseSingleCardForEffect(PlayerController.java:95)
at forge.game.player.PlayerController.chooseSingleCardForEffect(PlayerController.java:95)
at forge.game.player.PlayerController.chooseSingleCardForEffect(PlayerController.java:95)
...
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 » 26 Feb 2013, 15:32
Are cards like Annihilating Fire not compatible with damage prevention effects?
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Bug Reports (snapshot builds)
by myk » 27 Feb 2013, 09:08
Description: exception while fighting Hobbes in the main quest world. Hobbes had just activated the Bazaar of Baghdad and brought a Narcomoeba in from the graveyard. Screenshot and game log attached.
- IndexOutOfBoundsException | Open
- Code: Select all
Forge Version: 1.3.9-SNAPSHOT-r19905u
Operating System: Mac OS X 10.8.2 x86_64
Java Version: 1.6.0_37 Apple Inc.
java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at forge.game.ai.ComputerUtil.chooseSacrificeType(ComputerUtil.java:443)
at forge.card.cost.CostSacrifice.decideAIPayment(CostSacrifice.java:218)
at forge.card.cost.CostPayment.payComputerCosts(CostPayment.java:304)
at forge.game.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:115)
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(Observable.java:142)
at java.util.Observable.notifyObservers(Observable.java:98)
at forge.util.MyObservable.updateObservers(MyObservable.java:38)
at forge.game.zone.MagicStack.finishResolving(MagicStack.java:996)
at forge.card.ability.AbilityUtils.resolveSubAbilities(AbilityUtils.java:1004)
at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1196)
at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:995)
at forge.game.zone.MagicStack.resolveStack(MagicStack.java:844)
at forge.game.phase.PhaseHandler.passPriority(PhaseHandler.java:735)
at forge.game.player.PlayerController.passPriority(PlayerController.java:70)
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:57)
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.AbstractButton.doClick(AbstractButton.java:389)
at javax.swing.AbstractButton.doClick(AbstractButton.java:337)
at forge.gui.toolbox.FButton$1.keyPressed(FButton.java:87)
at java.awt.Component.processKeyEvent(Component.java:6340)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2809)
at java.awt.Component.processEvent(Component.java:6159)
at java.awt.Container.processEvent(Container.java:2083)
at java.awt.Component.dispatchEventImpl(Component.java:4744)
at java.awt.Container.dispatchEventImpl(Container.java:2141)
at java.awt.Component.dispatchEvent(Component.java:4572)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1856)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:722)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1000)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:865)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:686)
at java.awt.Component.dispatchEventImpl(Component.java:4616)
at java.awt.Container.dispatchEventImpl(Container.java:2141)
at java.awt.Window.dispatchEventImpl(Window.java:2489)
at java.awt.Component.dispatchEvent(Component.java:4572)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:704)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:663)
at java.awt.EventQueue$2.run(EventQueue.java:661)
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$3.run(EventQueue.java:677)
at java.awt.EventQueue$3.run(EventQueue.java:675)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:674)
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)
- game log | Open
- Final: Won: 1, Lost: 1
Final: You have conceded
Final: Hobbes has won because all opponents have lost
Final: You Lost
ResolveStack: When Narcomoeba is put into your graveyard from your library, you may put it onto the battlefield.
AddToStack: Hobbes activated Narcomoeba (10).
ResolveStack: Bazaar of Baghdad (45) - Hobbes draws (2). Hobbes discards (3).
AddToStack: Hobbes activated Bazaar of Baghdad (45).
ResolveStack: When Narcomoeba is put into your graveyard from your library, you may put it onto the battlefield.
AddToStack: Hobbes activated Narcomoeba (12).
ResolveStack: Careful Study (34) - Hobbes draws (2). Hobbes discards (2).
AddToStack: Hobbes cast Careful Study (34).
Phase: Hobbes Main2
Phase: Hobbes EndCombat
Phase: Hobbes Combat Damage
Phase: Hobbes First Strike Damage
Phase: Hobbes Declare Blockers - Play Instants and Abilities
Phase: Hobbes Declare Blockers
Phase: Hobbes Declare Attackers - Play Instants and Abilities
Phase: Hobbes Declare Attackers
Phase: Hobbes BeginCombat
Phase: Hobbes Main1
Phase: Hobbes Draw
Phase: Hobbes Upkeep
Turn: Turn 9 (Hobbes)
Phase: Hobbes Untap
Phase: Human Cleanup
ResolveStack: Bazaar of Baghdad (45) - Hobbes draws (2). Hobbes discards (3).
AddToStack: Hobbes activated Bazaar of Baghdad (45).
Phase: Human End of Turn
Phase: Human Main2
Phase: Human EndCombat
Phase: Human Combat Damage
Damage: Dealing 3 damage to Hobbes.
Phase: Human First Strike Damage
Combat: Hobbes assigned <nothing> to block Wolf Pet (64).
Phase: Human Declare Blockers - Play Instants and Abilities
Phase: Human Declare Blockers
Combat: Human declared Wolf Pet (64) attacking Hobbes.
Phase: Human Declare Attackers - Play Instants and Abilities
Phase: Human Declare Attackers
Phase: Human BeginCombat
ResolveStack: Whenever an Angel enters the battlefield under your control, you gain 1 life.
AddToStack: Human activated Seraph Sanctuary (120).
ResolveStack: Firemane Avenger - Creature 3 / 3
AddToStack: Human cast Firemane Avenger (113).
Mana: Seraph Sanctuary (120) - Tap: Add 1 to your mana pool.
Mana: Cavern of Souls (66) - Tap: Add one mana of any color to your mana pool. Spend this mana only to cast a creature spell of the chosen type, and that spell can't be countered.
Mana: Clifftop Retreat (85) - Tap: Add R to your mana pool.
Mana: Plains (101) - Tap: Add W to your mana pool.
ResolveStack: When Seraph Sanctuary enters the battlefield, you gain 1 life.
AddToStack: Human activated Seraph Sanctuary (120).
Land: Human played Seraph Sanctuary (120)
Phase: Human Main1
Phase: Human Draw
Phase: Human Upkeep
Turn: Turn 8 (Human)
Phase: Human Untap
Phase: Hobbes Cleanup
ResolveStack: Plant Wall (62) - Human gains 1 life.
AddToStack: Human activated Plant Wall (62).
Phase: Hobbes End of Turn
Phase: Hobbes Main2
Phase: Hobbes EndCombat
Phase: Hobbes Combat Damage
Phase: Hobbes First Strike Damage
Phase: Hobbes Declare Blockers - Play Instants and Abilities
Phase: Hobbes Declare Blockers
Phase: Hobbes Declare Attackers - Play Instants and Abilities
Phase: Hobbes Declare Attackers
Phase: Hobbes BeginCombat
ResolveStack: Landfall - Whenever a land enters the battlefield under your control, you may return Bloodghast from your graveyard to the battlefield.
AddToStack: Hobbes activated Bloodghast (6).
Land: Hobbes played Tropical Island (24)
Phase: Hobbes Main1
Phase: Hobbes Draw
Phase: Hobbes Upkeep
Turn: Turn 7 (Hobbes)
Phase: Hobbes Untap
Phase: Human Cleanup
ResolveStack: Bazaar of Baghdad (45) - Hobbes draws (2). Hobbes discards (3).
AddToStack: Hobbes activated Bazaar of Baghdad (45).
Phase: Human End of Turn
Phase: Human Main2
Phase: Human EndCombat
Phase: Human Combat Damage
Damage: Dealing 3 damage to Hobbes.
Phase: Human First Strike Damage
Combat: Hobbes assigned <nothing> to block Wolf Pet (64).
Phase: Human Declare Blockers - Play Instants and Abilities
Phase: Human Declare Blockers
Combat: Human declared Wolf Pet (64) attacking Hobbes.
Phase: Human Declare Attackers - Play Instants and Abilities
Phase: Human Declare Attackers
Phase: Human BeginCombat
ResolveStack: Skyblinder Staff (121) - Attach to Wolf Pet (64)
AddToStack: Human activated Skyblinder Staff (121) targeting Wolf Pet (64) .
Mana: Cavern of Souls (66) - Tap: Add 1 to your mana pool.
Mana: Clifftop Retreat (85) - Tap: Add R to your mana pool.
Mana: Plains (101) - Tap: Add W to your mana pool.
Land: Human played Cavern of Souls (66)
ReplacementEffect: As CARDNAME enters the battlefield, choose a creature type.
Phase: Human Main1
Phase: Human Draw
Phase: Human Upkeep
Turn: Turn 6 (Human)
Phase: Human Untap
Phase: Hobbes Cleanup
ResolveStack: Plant Wall (62) - Human gains 1 life.
AddToStack: Human activated Plant Wall (62).
Phase: Hobbes End of Turn
Phase: Hobbes Main2
Phase: Hobbes EndCombat
Phase: Hobbes Combat Damage
Phase: Hobbes First Strike Damage
Phase: Hobbes Declare Blockers - Play Instants and Abilities
Phase: Hobbes Declare Blockers
Phase: Hobbes Declare Attackers - Play Instants and Abilities
Phase: Hobbes Declare Attackers
Phase: Hobbes BeginCombat
Land: Hobbes played Tropical Island (23)
Phase: Hobbes Main1
Phase: Hobbes Draw
Phase: Hobbes Upkeep
Turn: Turn 5 (Hobbes)
Phase: Hobbes Untap
Phase: Human Cleanup
ResolveStack: Bazaar of Baghdad (45) - Hobbes draws (2). Hobbes discards (3).
AddToStack: Hobbes activated Bazaar of Baghdad (45).
Phase: Human End of Turn
Phase: Human Main2
Phase: Human EndCombat
Phase: Human Combat Damage
Damage: Dealing 2 damage to Hobbes.
Phase: Human First Strike Damage
Combat: Hobbes assigned <nothing> to block Wolf Pet (64).
Phase: Human Declare Blockers - Play Instants and Abilities
Phase: Human Declare Blockers
Combat: Human declared Wolf Pet (64) attacking Hobbes.
Phase: Human Declare Attackers - Play Instants and Abilities
Phase: Human Declare Attackers
Phase: Human BeginCombat
Land: Human played Clifftop Retreat (85)
Phase: Human Main1
Phase: Human Draw
Phase: Human Upkeep
Turn: Turn 4 (Human)
Phase: Human Untap
Phase: Hobbes Cleanup
Phase: Hobbes End of Turn
Phase: Hobbes Main2
Phase: Hobbes EndCombat
Phase: Hobbes Combat Damage
Phase: Hobbes First Strike Damage
Phase: Hobbes Declare Blockers - Play Instants and Abilities
Phase: Hobbes Declare Blockers
Phase: Hobbes Declare Attackers - Play Instants and Abilities
Phase: Hobbes Declare Attackers
Phase: Hobbes BeginCombat
Land: Hobbes played Bazaar of Baghdad (45)
Phase: Hobbes Main1
Phase: Hobbes Draw
Phase: Hobbes Upkeep
Turn: Turn 3 (Hobbes)
Phase: Hobbes Untap
Phase: Human Cleanup
Phase: Human End of Turn
Phase: Human Main2
Phase: Human EndCombat
Phase: Human Combat Damage
Phase: Human First Strike Damage
Phase: Human Declare Blockers - Play Instants and Abilities
Phase: Human Declare Blockers
Phase: Human Declare Attackers - Play Instants and Abilities
Phase: Human Declare Attackers
Phase: Human BeginCombat
ResolveStack: Skyblinder Staff
AddToStack: Human cast Skyblinder Staff (121).
Mana: Plains (101) - Tap: Add W to your mana pool.
Land: Human played Plains (101)
Phase: Human Main1
Phase: Human Draw
Phase: Human Upkeep
Turn: Turn 2 (Human)
Phase: Human Untap
Phase: Hobbes Cleanup
Phase: Hobbes End of Turn
Phase: Hobbes Main2
Phase: Hobbes EndCombat
Phase: Hobbes Combat Damage
Phase: Hobbes First Strike Damage
Phase: Hobbes Declare Blockers - Play Instants and Abilities
Phase: Hobbes Declare Blockers
Phase: Hobbes Declare Attackers - Play Instants and Abilities
Phase: Hobbes Declare Attackers
Phase: Hobbes BeginCombat
Land: Hobbes played Tropical Island (22)
Phase: Hobbes Main1
Phase: Hobbes Draw
Phase: Hobbes Upkeep
Turn: Turn 1 (Hobbes)
Phase: Hobbes Untap
Mulligan: Hobbes has mulliganed down to 5 cards.
Mulligan: Hobbes has mulliganed down to 6 cards.
- 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 Max mtg » 27 Feb 2013, 10:04
Could not understand how that method should work. =(
Line number that generated exception is now 441
Line number that generated exception is now 441
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Who is online
Users browsing this forum: Google [Bot] and 43 guests