It is currently 14 Sep 2025, 19:23
   
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 Fizanko » 20 Sep 2014, 17:09

r27546 medium AI "Hermes Conrad" threw another similar error to before , this time he was attacking and applying damage (as i didn't block):
Image

IndexOutOfBoundsException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r27546 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.lang.IndexOutOfBoundsException: Index: 4, Size: 4
   at java.util.ArrayList.rangeCheck(Unknown Source)
   at java.util.ArrayList.get(Unknown Source)
   at forge.game.card.CardCharacteristics.determineColor(CardCharacteristics.java:497)
   at forge.game.card.Card.determineColor(Card.java:1620)
   at forge.view.ViewUtil.writeNonDependentCardViewProperties(ViewUtil.java:79)
   at forge.view.LocalGameView.writeCardToView(LocalGameView.java:469)
   at forge.view.LocalGameView.getCardView(LocalGameView.java:393)
   at forge.view.LocalGameView$3.apply(LocalGameView.java:408)
   at forge.view.LocalGameView$3.apply(LocalGameView.java:405)
   at forge.view.ViewUtil.transformIfNotNull(ViewUtil.java:142)
   at forge.view.LocalGameView.getCardViews(LocalGameView.java:413)
   at forge.view.LocalGameView.getPlayerView(LocalGameView.java:351)
   at forge.view.LocalGameView.getPlayerView(LocalGameView.java:323)
   at forge.view.LocalGameView.getGameEntityView(LocalGameView.java:279)
   at forge.view.LocalGameView.getCombat(LocalGameView.java:183)
   at forge.view.LocalGameView.getCombat(LocalGameView.java:167)
   at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:366)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintToOffscreen(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
   at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
   at javax.swing.RepaintManager.paint(Unknown Source)
   at javax.swing.JComponent._paintImmediately(Unknown Source)
   at javax.swing.JComponent.paintImmediately(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.access$700(Unknown Source)
   at javax.swing.RepaintManager$ProcessingRunnable.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)
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby ZappaZ » 20 Sep 2014, 19:02

r27573

Description: AI played a plains then cast Kodama's Reach, got the following error.
http://imgur.com/1DRh5TB

IllegalArgumentException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 amd64
Java Version:     1.8.0_20 Oracle Corporation

java.lang.IllegalArgumentException: AI confirmAction does not know what to decide about null mode (api is null).
   at forge.ai.AiController.confirmAction(AiController.java:1007)
   at forge.ai.PlayerControllerAi.confirmAction(PlayerControllerAi.java:170)
   at forge.game.ability.effects.ChangeZoneEffect.changeZonePlayerInvariant(ChangeZoneEffect.java:712)
   at forge.game.ability.effects.ChangeZoneEffect.changeHiddenOriginResolve(ChangeZoneEffect.java:590)
   at forge.game.ability.effects.ChangeZoneEffect.resolve(ChangeZoneEffect.java:346)
   at forge.game.ability.SpellApiBased.resolve(SpellApiBased.java:51)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1240)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1222)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:575)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1069)
   at forge.game.GameAction.startGame(GameAction.java:1569)
   at forge.game.Match.startGame(Match.java:81)
   at forge.control.FControl$4.run(FControl.java:495)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
ZappaZ
 
Posts: 92
Joined: 26 Jul 2014, 05:37
Has thanked: 26 times
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 20 Sep 2014, 19:31

One more GUI visualization bug: the AI attacked me with Nyxathid but it did not register as an attacking creature (visually), though it's clear from the log that it's attacking. Interestingly, it correctly got tapped and an attacking icon appeared on it once I switched over to the "instants" part of the attacker declaration step. Then, in "declare blockers", it went back to untapped and no attacker icon. It then continued to glitch like that every turn, making it very difficult to realize whether it was attacking or not (moreover, its P/T were not always correctly represented on the card - it jumped between 3/3 and 7/7 every now and then, the former being the correct version).

nyxathid_attack_glitch.png


- 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 Fizanko » 20 Sep 2014, 19:56

Another conccurent error during the "blabla won" panel , this time not in duel but in constructed with self made quest decks (that worked previously against each other without problem as i even had several AI vs AI play between them to check their balance vs each other) :

ConcurrentModificationException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r27546 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.util.ConcurrentModificationException
   at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
   at java.util.ArrayList$Itr.next(Unknown Source)
   at java.util.Collections$UnmodifiableCollection$1.next(Unknown Source)
   at forge.game.Game.getCardsIn(Game.java:449)
   at forge.game.card.Card.canBeShownTo(Card.java:8919)
   at forge.player.PlayerControllerHuman$GameView.mayShowCard(PlayerControllerHuman.java:1440)
   at forge.view.LocalGameView.getCardView(LocalGameView.java:382)
   at forge.view.LocalGameView$3.apply(LocalGameView.java:408)
   at forge.view.LocalGameView$3.apply(LocalGameView.java:405)
   at forge.view.ViewUtil.transformIfNotNull(ViewUtil.java:142)
   at forge.view.LocalGameView.getCardViews(LocalGameView.java:413)
   at forge.view.LocalGameView.getPlayerView(LocalGameView.java:359)
   at forge.view.LocalGameView.getPlayerView(LocalGameView.java:323)
   at forge.view.LocalGameView.getGameEntityView(LocalGameView.java:279)
   at forge.view.LocalGameView.getCombat(LocalGameView.java:183)
   at forge.view.LocalGameView.getCombat(LocalGameView.java:167)
   at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:366)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintToOffscreen(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
   at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
   at javax.swing.RepaintManager.paint(Unknown Source)
   at javax.swing.JComponent._paintImmediately(Unknown Source)
   at javax.swing.JComponent.paintImmediately(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.access$700(Unknown Source)
   at javax.swing.RepaintManager$ProcessingRunnable.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)
The game log if it can help finding the source of the problem
game log | Open
Match result: Human: 0 Lilian: 2
Game outcome: Lilian has won because all opponents have lost
Game outcome: Human has lost because life total reached 0
Damage: Deathbellow Raider (122) deals 2 combat damage to Human.
Damage: Deathbellow Raider (78) deals 3 combat damage to Human.
Damage: Felhide Spiritbinder (96) deals 5 combat damage to Human.
Phase: Lilian's Combat Damage
Phase: Lilian's First Strike Damage
Combat: Human didn't block Felhide Spiritbinder (96).
Human didn't block Deathbellow Raider (78).
Human didn't block Deathbellow Raider (122).
Phase: Lilian's Declare Blockers
Combat: Lilian assigned Deathbellow Raider (78), Deathbellow Raider (122) and Felhide Spiritbinder (96) to attack Human.
Phase: Lilian's Declare Attackers
Phase: Lilian's Begin Combat
Resolve stack: Felhide Spiritbinder (96) - Pheres-Band Tromper (43) can't block Felhide Spiritbinder this turn.
Add to stack: Lilian activated Felhide Spiritbinder (96) targeting .
Mana: Mountain (81) - {T}: Add {R} to your mana pool.
Mana: Swamp (115) - {T}: Add {B} to your mana pool.
Mana: Mountain (86) - {T}: Add {R} to your mana pool.
Phase: Lilian's Main, precombat
Phase: Lilian's Draw
Resolve stack: Inspired - Whenever Felhide Spiritbinder becomes untapped, you may pay {1}{R}. If you do, put a token onto the battlefield that's a copy of another target creature except it's an enchantment in addition to its other types. It gains haste. Exile it at the beginning of the next end step. (Targeting Deathbellow Raider (78))
Mana: Mountain (88) - {T}: Add {R} to your mana pool.
Mana: Swamp (111) - {T}: Add {B} to your mana pool.
Add to stack: Lilian activated Felhide Spiritbinder (96) targeting Deathbellow Raider (78) .
Phase: Lilian's Upkeep
Phase: Lilian's Untap
Turn: Turn 14 (Lilian)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Damage: Pheres-Band Tromper (43) deals 4 combat damage to Lilian.
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: Lilian didn't block Pheres-Band Tromper (43).
Phase: Human's Declare Blockers
Combat: Human assigned Pheres-Band Tromper (43) to attack Lilian.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 13 (Human)
Phase: Lilian's Cleanup
Resolve stack: Exile [Pheres-Band Tromper (121)] at the beginning of the next end step. ([Pheres-Band Tromper (121)])
Add to stack: Lilian activated Felhide Spiritbinder (96).
Phase: Lilian's End of Turn
Phase: Lilian's Main, postcombat
Phase: Lilian's End Combat
Damage: Felhide Spiritbinder (96) deals 5 damage to Pheres-Band Warchief (47).
Damage: Pheres-Band Warchief (47) deals 4 damage to Felhide Spiritbinder (96).
Damage: Deathbellow Raider (78) deals 3 combat damage to Human.
Phase: Lilian's Combat Damage
Phase: Lilian's First Strike Damage
Combat: Human assigned Pheres-Band Warchief (47) to block Felhide Spiritbinder (96).
Human didn't block Deathbellow Raider (78).
Phase: Lilian's Declare Blockers
Combat: Lilian assigned Deathbellow Raider (78) and Felhide Spiritbinder (96) to attack Human.
Phase: Lilian's Declare Attackers
Phase: Lilian's Begin Combat
Resolve stack: When Temple of Malice enters the battlefield, scry 1.
Add to stack: Lilian activated Temple of Malice (120).
Land: Lilian played Temple of Malice (120)
Replacement Effect: Temple of Malice enters the battlefield tapped.
Phase: Lilian's Main, precombat
Resolve stack: Felhide Spiritbinder (96) - Pheres-Band Tromper (43) can't block Felhide Spiritbinder this turn.
Add to stack: Lilian activated Felhide Spiritbinder (96) targeting .
Mana: Mountain (81) - {T}: Add {R} to your mana pool.
Mana: Swamp (115) - {T}: Add {B} to your mana pool.
Mana: Mountain (86) - {T}: Add {R} to your mana pool.
Phase: Lilian's Draw
Resolve stack: Inspired - Whenever Felhide Spiritbinder becomes untapped, you may pay {1}{R}. If you do, put a token onto the battlefield that's a copy of another target creature except it's an enchantment in addition to its other types. It gains haste. Exile it at the beginning of the next end step. (Targeting Pheres-Band Tromper (43))
Mana: Mountain (88) - {T}: Add {R} to your mana pool.
Mana: Swamp (111) - {T}: Add {B} to your mana pool.
Add to stack: Lilian activated Felhide Spiritbinder (96) targeting Pheres-Band Tromper (43) .
Phase: Lilian's Upkeep
Phase: Lilian's Untap
Turn: Turn 12 (Lilian)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Hall of Triumph
Replacement Effect: As Hall of Triumph enters the battlefield, choose a color.
Add to stack: Human cast Hall of Triumph (49).
Mana: Forest (23) - {T}: Add {G} to your mana pool.
Mana: Forest (12) - {T}: Add {G} to your mana pool.
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 11 (Human)
Phase: Lilian's Cleanup
Phase: Lilian's End of Turn
Phase: Lilian's Main, postcombat
Phase: Lilian's End Combat
Damage: Deathbellow Raider (78) deals 3 combat damage to Human.
Damage: Felhide Spiritbinder (96) deals 5 combat damage to Human.
Phase: Lilian's Combat Damage
Phase: Lilian's First Strike Damage
Combat: Human didn't block Felhide Spiritbinder (96).
Human didn't block Deathbellow Raider (78).
Phase: Lilian's Declare Blockers
Combat: Lilian assigned Deathbellow Raider (78) and Felhide Spiritbinder (96) to attack Human.
Phase: Lilian's Declare Attackers
Phase: Lilian's Begin Combat
Resolve stack: Fearsome Temper (113) - Attach to Felhide Spiritbinder (96)
Add to stack: Lilian cast Fearsome Temper (113) targeting .
Mana: Mountain (86) - {T}: Add {R} to your mana pool.
Mana: Mountain (88) - {T}: Add {R} to your mana pool.
Mana: Swamp (111) - {T}: Add {B} to your mana pool.
Land: Lilian played Mountain (81)
Phase: Lilian's Main, precombat
Phase: Lilian's Draw
Phase: Lilian's Upkeep
Phase: Lilian's Untap
Turn: Turn 10 (Lilian)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Damage: Pheres-Band Tromper (43) deals 4 combat damage to Lilian.
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: Lilian didn't block Pheres-Band Tromper (43).
Phase: Human's Declare Blockers
Combat: Human assigned Pheres-Band Tromper (43) to attack Lilian.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Pheres-Band Warchief - Creature 3 / 3
Add to stack: Human cast Pheres-Band Warchief (47).
Mana: Forest (32) - {T}: Add {G} to your mana pool.
Mana: Forest (23) - {T}: Add {G} to your mana pool.
Mana: Forest (12) - {T}: Add {G} to your mana pool.
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 9 (Human)
Phase: Lilian's Cleanup
Phase: Lilian's End of Turn
Resolve stack: Felhide Spiritbinder - Creature 3 / 4
Add to stack: Lilian cast Felhide Spiritbinder (96).
Mana: Swamp (115) - {T}: Add {B} to your mana pool.
Mana: Mountain (86) - {T}: Add {R} to your mana pool.
Mana: Mountain (88) - {T}: Add {R} to your mana pool.
Mana: Swamp (111) - {T}: Add {B} to your mana pool.
Phase: Lilian's Main, postcombat
Phase: Lilian's End Combat
Damage: Deathbellow Raider (78) deals 3 combat damage to Human.
Phase: Lilian's Combat Damage
Phase: Lilian's First Strike Damage
Combat: Human didn't block Deathbellow Raider (78).
Phase: Lilian's Declare Blockers
Combat: Lilian assigned Deathbellow Raider (78) to attack Human.
Phase: Lilian's Declare Attackers
Phase: Lilian's Begin Combat
Land: Lilian played Swamp (115)
Phase: Lilian's Main, precombat
Phase: Lilian's Draw
Phase: Lilian's Upkeep
Phase: Lilian's Untap
Turn: Turn 8 (Lilian)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Pheres-Band Tromper - Creature 3 / 3
Add to stack: Human cast Pheres-Band Tromper (43).
Mana: Forest (32) - {T}: Add {G} to your mana pool.
Mana: Forest (23) - {T}: Add {G} to your mana pool.
Mana: Forest (12) - {T}: Add {G} to your mana pool.
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Land: Human played Forest (32)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 7 (Human)
Phase: Lilian's Cleanup
Phase: Lilian's End of Turn
Phase: Lilian's Main, postcombat
Phase: Lilian's End Combat
Damage: Deathbellow Raider (78) deals 3 combat damage to Human.
Phase: Lilian's Combat Damage
Phase: Lilian's First Strike Damage
Combat: Human didn't block Deathbellow Raider (78).
Phase: Lilian's Declare Blockers
Combat: Lilian assigned Deathbellow Raider (78) to attack Human.
Phase: Lilian's Declare Attackers
Phase: Lilian's Begin Combat
Resolve stack: Aspect of Gorgon (67) - Attach to Deathbellow Raider (78)
Add to stack: Lilian cast Aspect of Gorgon (67) targeting .
Mana: Mountain (86) - {T}: Add {R} to your mana pool.
Mana: Mountain (88) - {T}: Add {R} to your mana pool.
Mana: Swamp (111) - {T}: Add {B} to your mana pool.
Land: Lilian played Mountain (86)
Phase: Lilian's Main, precombat
Phase: Lilian's Draw
Phase: Lilian's Upkeep
Phase: Lilian's Untap
Turn: Turn 6 (Lilian)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Font of Fertility (51) - - Human searches his/her's library for 1 Land.Basic and puts that card onto the battlefield tapped. Then shuffle that library.
Add to stack: Human activated Font of Fertility (51).
Mana: Forest (12) - {T}: Add {G} to your mana pool.
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Land: Human played Forest (12)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 5 (Human)
Phase: Lilian's Cleanup
Phase: Lilian's End of Turn
Resolve stack: Deathbellow Raider - Creature 2 / 3
Add to stack: Lilian cast Deathbellow Raider (78).
Mana: Mountain (88) - {T}: Add {R} to your mana pool.
Mana: Swamp (111) - {T}: Add {B} to your mana pool.
Phase: Lilian's Main, postcombat
Phase: Lilian's End Combat
Phase: Lilian's Combat Damage
Phase: Lilian's First Strike Damage
Phase: Lilian's Declare Blockers
Combat: Lilian didn't attack this turn.
Phase: Lilian's Declare Attackers
Phase: Lilian's Begin Combat
Land: Lilian played Mountain (88)
Phase: Lilian's Main, precombat
Phase: Lilian's Draw
Phase: Lilian's Upkeep
Phase: Lilian's Untap
Turn: Turn 4 (Lilian)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 3 (Human)
Phase: Lilian's Cleanup
Phase: Lilian's End of Turn
Phase: Lilian's Main, postcombat
Phase: Lilian's End Combat
Phase: Lilian's Combat Damage
Phase: Lilian's First Strike Damage
Phase: Lilian's Declare Blockers
Combat: Lilian didn't attack this turn.
Phase: Lilian's Declare Attackers
Phase: Lilian's Begin Combat
Land: Lilian played Swamp (111)
Phase: Lilian's Main, precombat
Phase: Lilian's Draw
Phase: Lilian's Upkeep
Phase: Lilian's Untap
Turn: Turn 2 (Lilian)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Phase: Human's Declare Blockers
Combat: Human didn't attack this turn.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Font of Fertility
Add to stack: Human cast Font of Fertility (51).
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Land: Human played Forest (17)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 1 (Human)
Mulligan: Human has kept a hand of 5 cards
Mulligan: Human has mulliganed down to 5 cards.
Mulligan: Lilian has kept a hand of 7 cards
Mulligan: Human has mulliganed down to 6 cards.
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby ZappaZ » 20 Sep 2014, 20:38

r27573

Description: Not sure, I tried to start a EDH game with no Commander in my deck (by mistake) and got this error, after a restart I moved the Commander to the correct section in the editor and then I could start a game. I tried moving the Commander back to the Main part of the deck again to see if I could replicate the error but no luck, was able to start a game without any errors.

NullPointerException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 amd64
Java Version:     1.8.0_20 Oracle Corporation

java.lang.NullPointerException
   at forge.game.player.RegisteredPlayer.forVariants(RegisteredPlayer.java:145)
   at forge.screens.home.sanctioned.CSubmenuConstructed.startGame(CSubmenuConstructed.java:369)
   at forge.screens.home.sanctioned.CSubmenuConstructed.access$100(CSubmenuConstructed.java:45)
   at forge.screens.home.sanctioned.CSubmenuConstructed$2.actionPerformed(CSubmenuConstructed.java:156)
   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.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$400(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)
ZappaZ
 
Posts: 92
Joined: 26 Jul 2014, 05:37
Has thanked: 26 times
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 20 Sep 2014, 20:39

downloaded latest build r27575, i made a duel with an AI in quest "Data" (medium) and conccurent at the "blabla win" panel.

ConcurrentModificationException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.util.ConcurrentModificationException
   at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
   at java.util.ArrayList$Itr.next(Unknown Source)
   at java.util.Collections$UnmodifiableCollection$1.next(Unknown Source)
   at forge.game.Game.getCardsIn(Game.java:449)
   at forge.game.card.Card.canBeShownTo(Card.java:8926)
   at forge.player.PlayerControllerHuman$GameView.mayShowCard(PlayerControllerHuman.java:1455)
   at forge.view.LocalGameView.getCardView(LocalGameView.java:382)
   at forge.view.LocalGameView$3.apply(LocalGameView.java:408)
   at forge.view.LocalGameView$3.apply(LocalGameView.java:405)
   at forge.view.ViewUtil.transformIfNotNull(ViewUtil.java:142)
   at forge.view.LocalGameView.getCardViews(LocalGameView.java:413)
   at forge.view.LocalGameView.getPlayerView(LocalGameView.java:359)
   at forge.view.LocalGameView.getPlayerView(LocalGameView.java:323)
   at forge.view.LocalGameView.getGameEntityView(LocalGameView.java:279)
   at forge.view.LocalGameView.getCombat(LocalGameView.java:183)
   at forge.view.LocalGameView.getCombat(LocalGameView.java:167)
   at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:366)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintToOffscreen(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
   at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
   at javax.swing.RepaintManager.paint(Unknown Source)
   at javax.swing.JComponent._paintImmediately(Unknown Source)
   at javax.swing.JComponent.paintImmediately(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.access$700(Unknown Source)
   at javax.swing.RepaintManager$ProcessingRunnable.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)
game log in case it helps :
game log | Open
Match result: Human: 1 Data: 0
Game outcome: Data has lost because life total reached 0
Game outcome: Human has won because all opponents have lost
Damage: Hound Pet (1) deals 5 damage to Celestial Ancient (84).
Damage: Celestial Ancient (84) deals 3 damage to Hound Pet (1).
Damage: Felhide Petrifier (17) deals 3 combat damage to Data.
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: Data didn't block Felhide Petrifier (17).
Data assigned Celestial Ancient (84) to block Hound Pet (1).
Phase: Human's Declare Blockers
Resolve stack: Whenever equipped creature attacks, put a +1/+1 counter on it.
Add to stack: Human activated Armory of Iroas (13).
Combat: Human assigned Felhide Petrifier (17) and Hound Pet (1) to attack Data.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Ragemonger - Creature 2 / 3
Add to stack: Human cast Ragemonger (61).
Mana: Gold (123) - Sacrifice CARDNAME: Add one mana of any color to your mana pool.
Mana: Mountain (22) - {T}: Add {R} to your mana pool.
Mana: Mountain (32) - {T}: Add {R} to your mana pool.
Resolve stack: Armory of Iroas (13) - Attach to Felhide Petrifier (17)
Add to stack: Human activated Armory of Iroas (13) targeting .
Mana: Swamp (48) - {T}: Add {B} to your mana pool.
Mana: Mountain (21) - {T}: Add {R} to your mana pool.
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 13 (Human)
Phase: Data's Cleanup
Phase: Data's End of Turn
Resolve stack: Celestial Ancient - Creature 3 / 3
Add to stack: Data cast Celestial Ancient (84).
Mana: Plains (96) - {T}: Add {W} to your mana pool.
Mana: Plains (104) - {T}: Add {W} to your mana pool.
Mana: Plains (98) - {T}: Add {W} to your mana pool.
Mana: Plains (97) - {T}: Add {W} to your mana pool.
Mana: Vault of Whispers (100) - {T}: Add {B} to your mana pool.
Phase: Data's Main, postcombat
Phase: Data's End Combat
Phase: Data's Combat Damage
Phase: Data's First Strike Damage
Phase: Data's Declare Blockers
Combat: Data didn't attack this turn.
Phase: Data's Declare Attackers
Phase: Data's Begin Combat
Land: Data played Arcane Sanctum (69)
Replacement Effect: Arcane Sanctum enters the battlefield tapped.
Phase: Data's Main, precombat
Phase: Data's Draw
Resolve stack: At the beginning of each opponent's upkeep, Mogis, God of Slaughter deals 2 damage to that player unless he or she sacrifices a creature.
Add to stack: Human activated Mogis, God of Slaughter (25).
Phase: Data's Upkeep
Phase: Data's Untap
Turn: Turn 12 (Data)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Damage: Hound Pet (1) deals 5 damage to Crusading Knight (65).
Damage: Crusading Knight (65) deals 3 damage to Hound Pet (1).
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: Data assigned Crusading Knight (65) to block Hound Pet (1).
Phase: Human's Declare Blockers
Combat: Human assigned Hound Pet (1) to attack Data.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Gild (46) - Gild - Exile Marsh Threader (121). Put (1) 0/0 Gold token onto the battlefield.
Add to stack: Human cast Gild (46) targeting .
Mana: Mountain (22) - {T}: Add {R} to your mana pool.
Mana: Mountain (32) - {T}: Add {R} to your mana pool.
Mana: Swamp (48) - {T}: Add {B} to your mana pool.
Mana: Mountain (21) - {T}: Add {R} to your mana pool.
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 11 (Human)
Phase: Data's Cleanup
Phase: Data's End of Turn
Resolve stack: Crusading Knight - Creature 2 / 2
Add to stack: Data cast Crusading Knight (63).
Mana: Plains (104) - {T}: Add {W} to your mana pool.
Mana: Plains (98) - {T}: Add {W} to your mana pool.
Mana: Plains (97) - {T}: Add {W} to your mana pool.
Mana: Vault of Whispers (100) - {T}: Add {B} to your mana pool.
Phase: Data's Main, postcombat
Phase: Data's End Combat
Phase: Data's Combat Damage
Phase: Data's First Strike Damage
Phase: Data's Declare Blockers
Combat: Data didn't attack this turn.
Phase: Data's Declare Attackers
Phase: Data's Begin Combat
Land: Data played Plains (96)
Phase: Data's Main, precombat
Phase: Data's Draw
Resolve stack: At the beginning of each opponent's upkeep, Mogis, God of Slaughter deals 2 damage to that player unless he or she sacrifices a creature.
Damage: Mogis, God of Slaughter (25) deals 2 non-combat damage to Data.
Add to stack: Human activated Mogis, God of Slaughter (25).
Phase: Data's Upkeep
Phase: Data's Untap
Turn: Turn 10 (Data)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Damage: Hound Pet (1) deals 5 damage to Quag Vampires (93).
Damage: Quag Vampires (93) deals 1 damage to Hound Pet (1).
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: Data assigned Quag Vampires (93) to block Hound Pet (1).
Phase: Human's Declare Blockers
Combat: Human assigned Hound Pet (1) to attack Data.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Mogis, God of Slaughter - Creature 7 / 5
Add to stack: Human cast Mogis, God of Slaughter (25).
Mana: Mountain (22) - {T}: Add {R} to your mana pool.
Mana: Mountain (32) - {T}: Add {R} to your mana pool.
Mana: Swamp (48) - {T}: Add {B} to your mana pool.
Mana: Mountain (21) - {T}: Add {R} to your mana pool.
Land: Human played Mountain (22)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 9 (Human)
Phase: Data's Cleanup
Phase: Data's End of Turn
Resolve stack: Crusading Knight - Creature 2 / 2
Add to stack: Data cast Crusading Knight (65).
Mana: Plains (104) - {T}: Add {W} to your mana pool.
Mana: Plains (98) - {T}: Add {W} to your mana pool.
Mana: Plains (97) - {T}: Add {W} to your mana pool.
Mana: Vault of Whispers (100) - {T}: Add {B} to your mana pool.
Phase: Data's Main, postcombat
Phase: Data's End Combat
Damage: Marsh Threader (121) deals 2 combat damage to Human.
Phase: Data's Combat Damage
Phase: Data's First Strike Damage
Combat: Human didn't block Marsh Threader (121).
Phase: Data's Declare Blockers
Combat: Data assigned Marsh Threader (121) to attack Human.
Phase: Data's Declare Attackers
Phase: Data's Begin Combat
Land: Data played Plains (104)
Phase: Data's Main, precombat
Phase: Data's Draw
Phase: Data's Upkeep
Phase: Data's Untap
Turn: Turn 8 (Data)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Damage: Hound Pet (1) deals 5 combat damage to Data.
Damage: Felhide Petrifier (17) deals 2 combat damage to Data.
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: Data didn't block Felhide Petrifier (17).
Data didn't block Hound Pet (1).
Phase: Human's Declare Blockers
Resolve stack: When you sacrifice Ordeal of Purphoros, it deals 3 damage to target creature or player. (Targeting Marsh Threader (119))
Damage: Ordeal of Purphoros (52) deals 3 damage to Marsh Threader (119).
Add to stack: Human activated Ordeal of Purphoros (52) targeting Marsh Threader (119) .
Resolve stack: Whenever enchanted creature attacks, put a +1/+1 counter on it. Then if it has three or more +1/+1 counters on it, sacrifice Ordeal of Purphoros.
Add to stack: Human activated Ordeal of Purphoros (52).
Combat: Human assigned Felhide Petrifier (17) and Hound Pet (1) to attack Data.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Armory of Iroas
Add to stack: Human cast Armory of Iroas (13).
Mana: Swamp (48) - {T}: Add {B} to your mana pool.
Mana: Mountain (21) - {T}: Add {R} to your mana pool.
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 7 (Human)
Phase: Data's Cleanup
Phase: Data's End of Turn
Resolve stack: Marsh Threader - Creature 2 / 1
Add to stack: Data cast Marsh Threader (119).
Mana: Plains (97) - {T}: Add {W} to your mana pool.
Mana: Vault of Whispers (100) - {T}: Add {B} to your mana pool.
Phase: Data's Main, postcombat
Phase: Data's End Combat
Damage: Marsh Threader (121) deals 2 combat damage to Human.
Damage: Quag Vampires (93) deals 1 combat damage to Human.
Phase: Data's Combat Damage
Phase: Data's First Strike Damage
Combat: Human didn't block Quag Vampires (93).
Human didn't block Marsh Threader (121).
Phase: Data's Declare Blockers
Combat: Data assigned Marsh Threader (121) and Quag Vampires (93) to attack Human.
Phase: Data's Declare Attackers
Phase: Data's Begin Combat
Land: Data played Plains (98)
Phase: Data's Main, precombat
Phase: Data's Draw
Phase: Data's Upkeep
Phase: Data's Untap
Turn: Turn 6 (Data)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Damage: Hound Pet (1) deals 4 combat damage to Data.
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: Data didn't block Hound Pet (1).
Phase: Human's Declare Blockers
Resolve stack: Whenever enchanted creature attacks, put a +1/+1 counter on it. Then if it has three or more +1/+1 counters on it, sacrifice Ordeal of Purphoros.
Add to stack: Human activated Ordeal of Purphoros (52).
Combat: Human assigned Hound Pet (1) to attack Data.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Felhide Petrifier - Creature 2 / 3
Add to stack: Human cast Felhide Petrifier (17).
Mana: Mountain (32) - {T}: Add {R} to your mana pool.
Mana: Swamp (48) - {T}: Add {B} to your mana pool.
Mana: Mountain (21) - {T}: Add {R} to your mana pool.
Land: Human played Mountain (32)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 5 (Human)
Phase: Data's Cleanup
Phase: Data's End of Turn
Resolve stack: Marsh Threader - Creature 2 / 1
Add to stack: Data cast Marsh Threader (121).
Mana: Plains (97) - {T}: Add {W} to your mana pool.
Mana: Vault of Whispers (100) - {T}: Add {B} to your mana pool.
Phase: Data's Main, postcombat
Phase: Data's End Combat
Damage: Quag Vampires (93) deals 1 combat damage to Human.
Phase: Data's Combat Damage
Phase: Data's First Strike Damage
Combat: Human didn't block Quag Vampires (93).
Phase: Data's Declare Blockers
Combat: Data assigned Quag Vampires (93) to attack Human.
Phase: Data's Declare Attackers
Phase: Data's Begin Combat
Land: Data played Plains (97)
Phase: Data's Main, precombat
Phase: Data's Draw
Phase: Data's Upkeep
Phase: Data's Untap
Turn: Turn 4 (Data)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Damage: Hound Pet (1) deals 3 combat damage to Data.
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: Data didn't block Hound Pet (1).
Phase: Human's Declare Blockers
Resolve stack: Whenever enchanted creature attacks, put a +1/+1 counter on it. Then if it has three or more +1/+1 counters on it, sacrifice Ordeal of Purphoros.
Add to stack: Human activated Ordeal of Purphoros (52).
Combat: Human assigned Hound Pet (1) to attack Data.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Ordeal of Purphoros (52) - Attach to Hound Pet (1)
Add to stack: Human cast Ordeal of Purphoros (52) targeting .
Mana: Swamp (48) - {T}: Add {B} to your mana pool.
Mana: Mountain (21) - {T}: Add {R} to your mana pool.
Land: Human played Swamp (48)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 3 (Human)
Phase: Data's Cleanup
Phase: Data's End of Turn
Resolve stack: Quag Vampires - Creature 1 / 1
Replacement Effect: Quag Vampires enters the battlefield with a +1/+1 counter on it for each time it was kicked.
Add to stack: Data cast Quag Vampires (93).
Mana: Vault of Whispers (100) - {T}: Add {B} to your mana pool.
Phase: Data's Main, postcombat
Phase: Data's End Combat
Phase: Data's Combat Damage
Phase: Data's First Strike Damage
Phase: Data's Declare Blockers
Combat: Data didn't attack this turn.
Phase: Data's Declare Attackers
Phase: Data's Begin Combat
Land: Data played Vault of Whispers (100)
Phase: Data's Main, precombat
Phase: Data's Draw
Phase: Data's Upkeep
Phase: Data's Untap
Turn: Turn 2 (Data)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Damage: Hound Pet (1) deals 2 combat damage to Data.
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: Data didn't block Hound Pet (1).
Phase: Human's Declare Blockers
Combat: Human assigned Hound Pet (1) to attack Data.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Land: Human played Mountain (21)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 1 (Human)
Mulligan: Human has kept a hand of 6 cards
Mulligan: Data has kept a hand of 7 cards
Mulligan: Human has mulliganed down to 6 cards.
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 21 Sep 2014, 00:06

r27575

very beginning of the duel, i played a mountain, then tapped my hound to attack, clicked OK and :
Image

NoSuchElementException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.util.NoSuchElementException
   at java.util.ArrayList$Itr.next(Unknown Source)
   at com.google.common.collect.Iterators$4.next(Iterators.java:406)
   at forge.view.CardView.nextRandomInt(CardView.java:46)
   at forge.view.CardView.reset(CardView.java:91)
   at forge.view.LocalGameView.getCardView(LocalGameView.java:396)
   at forge.view.LocalGameView$3.apply(LocalGameView.java:408)
   at forge.view.LocalGameView$3.apply(LocalGameView.java:405)
   at forge.view.ViewUtil.transformIfNotNull(ViewUtil.java:142)
   at forge.view.LocalGameView.getCardViews(LocalGameView.java:413)
   at forge.view.LocalGameView.getPlayerView(LocalGameView.java:359)
   at forge.view.LocalGameView.getPlayerView(LocalGameView.java:323)
   at forge.player.PlayerControllerHuman.isUiSetToSkipPhase(PlayerControllerHuman.java:175)
   at forge.player.PlayerControllerHuman.chooseSpellAbilityToPlay(PlayerControllerHuman.java:836)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1019)
   at forge.game.GameAction.startGame(GameAction.java:1569)
   at forge.game.Match.startGame(Match.java:81)
   at forge.control.FControl$4.run(FControl.java:495)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Not sure it is related, but in the screenshot it states "Hound Pet [1] (blocked)" despite it's not blocked because the AI has 0 cards on the battlefield

note that after clicking Continue, game can't actually continue, it's "waiting for opponent" without end, and it must be restarted
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re:Description: [describe what you Bug Reports (snapshot bui

Postby KingOfTheGutters » 21 Sep 2014, 09:02

Description: [Was loading up for the first time after downloading the snapshot which includes KTK cards. It gets to processing image sprites 83% then crashes]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r27546 (mixed revisions detected; please update from the root directory)
Operating System: Windows 8 6.2 amd64
Java Version:     1.8.0_20 Oracle Corporation

java.lang.NullPointerException
   at forge.toolbox.FSkin.setImage(FSkin.java:1429)
   at forge.toolbox.FSkin.loadFull(FSkin.java:1192)
   at forge.control.FControl.initialize(FControl.java:214)
   at forge.view.Main.main(Main.java:59)
KingOfTheGutters
 
Posts: 2
Joined: 22 Mar 2014, 04:49
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby swordshine » 21 Sep 2014, 10:29

r27587, When Mortus Strider's triggered ability resolves, nothing happens.
swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

Re: Bug Reports (snapshot builds)

Postby DeadSpeak » 21 Sep 2014, 10:45

r27576, Narset, Enlightened Master: I can't cast the spells exiled with her ability from the flashback zone, Forge keeps promting for payment.
DeadSpeak
 
Posts: 104
Joined: 25 Dec 2009, 00:14
Location: Denmark
Has thanked: 4 times
Been thanked: 3 times

Re: Bug Reports (snapshot builds)

Postby antekm » 21 Sep 2014, 12:49

Description: [describe what you were doing when the crash occurred]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r-1u
Operating System: Mac OS X 10.9.4 x86_64
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.screens.deckeditor.CDeckEditorUI.addSelectedCards(CDeckEditorUI.java:159)
   at forge.screens.deckeditor.controllers.ACEditorBase$4.run(ACEditorBase.java:327)
   at forge.toolbox.FLabel._doMouseAction(FLabel.java:291)
   at forge.toolbox.FLabel.access$1300(FLabel.java:35)
   at forge.toolbox.FLabel$6.onLeftClick(FLabel.java:329)
   at forge.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:245)
   at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
   at java.awt.Component.processMouseEvent(Component.java:6505)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
   at java.awt.Component.processEvent(Component.java:6270)
   at java.awt.Container.processEvent(Container.java:2229)
   at java.awt.Component.dispatchEventImpl(Component.java:4861)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
   at java.awt.Container.dispatchEventImpl(Container.java:2273)
   at java.awt.Window.dispatchEventImpl(Window.java:2719)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:694)
   at java.awt.EventQueue$3.run(EventQueue.java:692)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
   at java.awt.EventQueue$4.run(EventQueue.java:708)
   at java.awt.EventQueue$4.run(EventQueue.java:706)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
   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)
Happens often in tournament when last card is left to select
antekm
 
Posts: 42
Joined: 04 Sep 2013, 19:09
Has thanked: 0 time
Been thanked: 1 time

Re: Bug Reports (snapshot builds)

Postby friarsol » 21 Sep 2014, 12:53

swordshine wrote:r27587, When Mortus Strider's triggered ability resolves, nothing happens.
Hmm.. alright, I think this is happening because I need the card on the trigger to be the one that's dying for things like Clone to not crash on their LTB triggers. (LKI information) This was have been working earlier when I was testing with Loyal Cathar, but it must have reverted when I was testing other things. I'll double check both later today. Hopefully I can do it without updating a bunch of scripts.
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 timmermac » 21 Sep 2014, 14:15

r27533: Legends booster boxes have the image of Legions.
"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
User avatar
timmermac
Tester
 
Posts: 1512
Joined: 17 May 2010, 20:36
Has thanked: 18 times
Been thanked: 95 times

Re: Bug Reports (snapshot builds)

Postby matrix4767 » 21 Sep 2014, 14:59

Polukranos, World Eater's ability on a single target triggers a null pointer exception:

NullPointerException | Open
Code: Select all
Forge Version:    1.5.28-SNAPSHOT-r27546 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_45 Oracle Corporation

java.lang.NullPointerException
   at forge.game.spellability.TargetRestrictions.getDividedValue(TargetRestrictions.java:703)
   at forge.game.ability.effects.DamageDealEffect.resolve(DamageDealEffect.java:140)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1240)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1222)
   at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:124)
   at forge.player.HumanPlay.playSpellAbilityNoStack(HumanPlay.java:193)
   at forge.player.PlayerControllerHuman.playSpellAbilityNoStack(PlayerControllerHuman.java:181)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:397)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1240)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1222)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:575)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1069)
   at forge.game.GameAction.startGame(GameAction.java:1569)
   at forge.game.Match.startGame(Match.java:81)
   at forge.control.FControl$4.run(FControl.java:496)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
matrix4767
 
Posts: 125
Joined: 09 Sep 2014, 08:10
Has thanked: 5 times
Been thanked: 3 times

Re: Bug Reports (snapshot builds)

Postby mastroego » 21 Sep 2014, 17:43

Hi.

I can't cast Everflowing Chalice any longer.
I get prompted to pick the number of multikickers, I select 1, then I get prompted to pay 2, which I do.
Then I get prompted to pay another 2 (which shouldn't be asked, since I selected 1 kick only) or cancel.
I can only cancel as I have no more mana.
The spell isn't cast, the card "returns" to my hand AND I lose the mana.

Maybe I'm doing something wrong, I understand the UI logic changed somewhat recently.
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 32 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 32 users online :: 0 registered, 0 hidden and 32 guests (based on users active over the past 10 minutes)
Most users ever online was 7967 on 09 Sep 2025, 23:08

Users browsing this forum: No registered users and 32 guests

Login Form