It is currently 17 May 2025, 21:08
   
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 friarsol » 20 Sep 2014, 02:27

r27557

Morph creatures don't seem to redraw when they demorph. My AI attacked with a demorphed 4/4 (but it looked the whole time like I normal 2/2 morph). The only way I could tell it was demorphed was the Combat Panel printing it's name.
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 excessum » 20 Sep 2014, 03:29

There seems to be a problem with the AI's use of Necropolis Fiend's ability. After successfully using it once and depleting its graveyard, subsequent phases will have the AI trying and failing to use it with sequences of
Code: Select all
AI failed to play Necropolis Fiend
ending with
Code: Select all
AI looped too much with: {X}, {T}, Exile X cards from your Graveyard: Target creature gets -X/-X until end of turn.
on the Eclipse console. This happens almost in almost every phase and the GUI is locked up with "Waiting for opponent..." in the meantime.
excessum
 
Posts: 177
Joined: 21 Oct 2013, 02:30
Has thanked: 0 time
Been thanked: 19 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 20 Sep 2014, 04:51

Ok, since the stack overflow issue is apparently not fixed yet, I disabled spell prediction (which is where the AI seems to go infinite on calling itself for some reason) for now, so it shouldn't happen past r27560 if that was the cause. While I'm investigating the details of the implementation of prediction, please let me know if you can still smash the stack (cause the StackOverflowException) in r27560+, and if so, please provide the detailed battlefield configuration (a screenshot of the entire battlefield with a short description of what was the last action before the exception occurred).

EDIT: Figured out what was causing the stack overflow error - basically, for some SAs, canPlaySa gets called from within itself, which results in an infinite series of canPlaySa calls. There's no easy way around his - I'll think of some workaround, but if I can't think of any, I guess I'll limit the spell prediction to simple cases (e.g. permanents such as creatures) that do not typically require a greater in-depth analysis of whether the AI would be willing to play the spell, and I'll also keep the spell prediction off for cases where the AI can easily screw itself over (e.g. pumping). For now, all prediction is still disabled because no workaround for the issue is in at the moment.

EDIT: For now, disabled the functionality that caused the stack overflow error (reverted it to the original way it was), only kept the limited (permanents in hand) spell prediction for AttachAi, tweaked the corresponding logic a bit.

- Agetian
Last edited by Agetian on 20 Sep 2014, 08:04, 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)

Postby Hanmac » 20 Sep 2014, 08:00

Norin the Wary can cause this, but it does not always happen
Code: Select all
Game-0 > java.lang.IllegalArgumentException: No element named Exile,Command in enum Zone
   at forge.game.zone.ZoneType.smartValueOf(ZoneType.java:43)
   at forge.ai.ability.ChangeZoneAi.knownOriginCanPlayAI(ChangeZoneAi.java:545)
   at forge.ai.ability.ChangeZoneAi.canPlayAI(ChangeZoneAi.java:68)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
   at forge.ai.AiController.canPlaySa(AiController.java:698)
   at forge.ai.AiController.canPlaySa(AiController.java:688)
   at forge.ai.ability.DelayedTriggerAi.chkAIDrawback(DelayedTriggerAi.java:28)
   at forge.ai.SpellAbilityAi.chkDrawbackWithSubs(SpellAbilityAi.java:141)
   at forge.ai.SpellAbilityAi.doTriggerNoCostWithSubs(SpellAbilityAi.java:46)
   at forge.ai.SpellAbilityAi.doTriggerAI(SpellAbilityAi.java:37)
   at forge.ai.AiController.doTrigger(AiController.java:1295)
   at forge.ai.PlayerControllerAi.prepareSingleSa(PlayerControllerAi.java:711)
   at forge.ai.PlayerControllerAi.orderAndPlaySimultaneousSa(PlayerControllerAi.java:700)
   at forge.game.zone.MagicStack.chooseOrderOfSimultaneousStackEntry(MagicStack.java:849)
   at forge.game.zone.MagicStack.addAllTriggeredAbilitiesToStack(MagicStack.java:815)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1009)
   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(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)

Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 20 Sep 2014, 10:22

Is the card Courser of Kruphix ability not working or i am misunderstanding what it does ?

In r27546 with the card ability, i can see the top card of my library by clicking on the library, but if it's a land, i am unable to play it (even selecting it and click OK does nothing) despite the card ability seems to say i can, the land will only come at the normal card picking phase, as usual.
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 Agetian » 20 Sep 2014, 10:42

Fizanko wrote:Is the card Courser of Kruphix ability not working or i am misunderstanding what it does ?

In r27546 with the card ability, i can see the top card of my library by clicking on the library, but if it's a land, i am unable to play it (even selecting it and click OK does nothing) despite the card ability seems to say i can, the land will only come at the normal card picking phase, as usual.
To play the land you should use the "Flashback" icon (a lightning-like icon) while your top of the library card is a land. :) Works fine for me (at least it worked just recently, so unless something broke it, like, yesterday, it should work fine). Let us know if it works for you this way.

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 20 Sep 2014, 11:25

I noticed another visual behavior that is different from how the things worked before the refactoring: in the deck editor, the foil overlays shift continuously as you move the mouse around. I'm still not sure if I like this effect or not - it looks kinda cool, but if there are many foil cards in the deck, it can be pretty "aggressive". A way to reproduce: create any deck, mark all cards as foil (by appending the foil suffix to them), then open that deck in the deck editor.

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 20 Sep 2014, 11:27

Thanks i didn't thought of looking there.
I tested and it looks like there's another problem with this ability :
Image

I have Ordeal of Nylea in flashback (but i can't play it) ?
That's the card that is on top of my library ( as i have Courser of Kruphix deployed ) and as i don't see any card on the battlefield making enchantment treated the same as land , so i guess that's a bug

Edit : looks like every top of the library cards are going into the flashback (even if you can't play them) , not only the lands.
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 » 20 Sep 2014, 11:35

update : I finally got a land card on top of the library while i have the Courser of Kruphix on the battlefield, it appeared in the Flashback, but i can't play it, i select it , click OK, but nothing happens, the card does not deploy :
Image
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 Agetian » 20 Sep 2014, 12:05

Fizanko wrote:update : I finally got a land card on top of the library while i have the Courser of Kruphix on the battlefield, it appeared in the Flashback, but i can't play it, i select it , click OK, but nothing happens, the card does not deploy :
Image
Hmm, just tried it and it worked fine for me... Is it failing for you in some particular circumstances or just always? :\ Also, are you sure you didn't play another land already that same turn?.. (it won't give you an extra land drop, but it should let you play a land from the top of the library provided that you did not play a land from hand already).

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 20 Sep 2014, 12:24

Ah, that was it, i indeed played a land, i thought this allowed to play a 2nd one.
On another duel in which i had no land coming, i had a Forest in Flashback and this time it worked, i could select the Forest and click OK, it played it.

Thanks for the precision, the card does not allow to overcome the "play only 1 land".
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 psilo » 20 Sep 2014, 12:27

r27559 - Are commanders uncastable? Can't see them in the flashback section.
psilo
 
Posts: 9
Joined: 19 Sep 2014, 13:48
Has thanked: 1 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby Fizanko » 20 Sep 2014, 12:44

ZappaZ wrote:r27555
Description: Just won the game as seen in the following screenshot.
http://imgur.com/iQDbszn

ConcurrentModificationException | 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.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: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$2.apply(LocalGameView.java:307)
   at forge.view.LocalGameView$2.apply(LocalGameView.java:304)
   at forge.view.ViewUtil.transformIfNotNull(ViewUtil.java:142)
   at forge.view.LocalGameView.getPlayerViews(LocalGameView.java:312)
   at forge.control.FControlGameEventHandler$11.run(FControlGameEventHandler.java:425)
   at java.awt.event.InvocationEvent.dispatch(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.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)

I got the same thing on r27546, i just lost the round and at the "blablabla won" page
Image

the error message popped up :

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)
In case it can help , here's the game log :
game log | Open
Match result: Human: 0 White Knight: 1
Game outcome: White Knight has won because all opponents have lost
Game outcome: Human has lost because life total reached 0
Damage: Lionheart Maverick (91) deals 2 combat damage to Human.
Damage: Kabira Vindicator (106) deals 3 combat damage to Human.
Damage: Lionheart Maverick (89) deals 2 combat damage to Human.
Damage: Lionheart Maverick (92) deals 2 combat damage to Human.
Damage: Leonin Skyhunter (117) deals 3 combat damage to Human.
Damage: Veteran Cavalier (103) deals 3 combat damage to Human.
Damage: Leonin Skyhunter (118) deals 3 combat damage to Human.
Phase: White Knight's Combat Damage
Damage: White Knight (109) deals 3 combat damage to Human.
Phase: White Knight's First Strike Damage
Combat: Human didn't block Leonin Skyhunter (118).
Human didn't block Veteran Cavalier (103).
Human didn't block Leonin Skyhunter (117).
Human didn't block Lionheart Maverick (92).
Human didn't block White Knight (109).
Human didn't block Lionheart Maverick (89).
Human didn't block Kabira Vindicator (106).
Human didn't block Lionheart Maverick (91).
Phase: White Knight's Declare Blockers
Combat: White Knight assigned Leonin Skyhunter (117), White Knight (109), Veteran Cavalier (103), Kabira Vindicator (106), Leonin Skyhunter (118), Lionheart Maverick (89), Lionheart Maverick (91) and Lionheart Maverick (92) to attack Human.
Phase: White Knight's Declare Attackers
Phase: White Knight's Begin Combat
Resolve stack: Kabira Vindicator (106) - Put 1 Level counter on Kabira Vindicator (106).
Add to stack: White Knight activated Kabira Vindicator (106).
Mana: Plains (71) - {T}: Add {W} to your mana pool.
Mana: Plains (67) - {T}: Add {W} to your mana pool.
Mana: Plains (79) - {T}: Add {W} to your mana pool.
Resolve stack: Kabira Vindicator (106) - Put 1 Level counter on Kabira Vindicator (106).
Add to stack: White Knight activated Kabira Vindicator (106).
Mana: Plains (64) - {T}: Add {W} to your mana pool.
Mana: Plains (76) - {T}: Add {W} to your mana pool.
Mana: Plains (80) - {T}: Add {W} to your mana pool.
Land: White Knight played Plains (71)
Phase: White Knight's Main, precombat
Phase: White Knight's Draw
Phase: White Knight's Upkeep
Phase: White Knight's Untap
Turn: Turn 18 (White Knight)
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: Feral Invocation (10) - Attach to Golden Hind (48)
Add to stack: Human cast Feral Invocation (10) targeting .
Mana: Forest (22) - {T}: Add {G} to your mana pool.
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Mana: Forest (23) - {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 17 (Human)
Phase: White Knight's Cleanup
Phase: White Knight's End of Turn
Resolve stack: Leonin Skyhunter - Creature 2 / 2
Add to stack: White Knight cast Leonin Skyhunter (118).
Mana: Plains (67) - {T}: Add {W} to your mana pool.
Mana: Plains (79) - {T}: Add {W} to your mana pool.
Phase: White Knight's Main, postcombat
Phase: White Knight's End Combat
Damage: Leonin Skyhunter (117) deals 2 combat damage to Human.
Phase: White Knight's Combat Damage
Phase: White Knight's First Strike Damage
Combat: Human didn't block Leonin Skyhunter (117).
Phase: White Knight's Declare Blockers
Combat: White Knight assigned Leonin Skyhunter (117) to attack Human.
Phase: White Knight's Declare Attackers
Phase: White Knight's Begin Combat
Resolve stack: Kabira Vindicator (106) - Put 1 Level counter on Kabira Vindicator (106).
Add to stack: White Knight activated Kabira Vindicator (106).
Mana: Plains (64) - {T}: Add {W} to your mana pool.
Mana: Plains (76) - {T}: Add {W} to your mana pool.
Mana: Plains (80) - {T}: Add {W} to your mana pool.
Phase: White Knight's Main, precombat
Phase: White Knight's Draw
Phase: White Knight's Upkeep
Phase: White Knight's Untap
Turn: Turn 16 (White Knight)
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: Feral Invocation (11) - Attach to Courser of Kruphix (42)
Add to stack: Human cast Feral Invocation (11) targeting .
Mana: Forest (22) - {T}: Add {G} to your mana pool.
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Mana: Forest (23) - {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 15 (Human)
Phase: White Knight's Cleanup
Phase: White Knight's End of Turn
Resolve stack: Kabira Vindicator - Creature 2 / 4
Add to stack: White Knight cast Kabira Vindicator (106).
Mana: Plains (79) - {T}: Add {W} to your mana pool.
Mana: Plains (64) - {T}: Add {W} to your mana pool.
Mana: Plains (76) - {T}: Add {W} to your mana pool.
Mana: Plains (80) - {T}: Add {W} to your mana pool.
Phase: White Knight's Main, postcombat
Phase: White Knight's End Combat
Damage: Leonin Skyhunter (117) deals 2 combat damage to Human.
Phase: White Knight's Combat Damage
Phase: White Knight's First Strike Damage
Combat: Human didn't block Leonin Skyhunter (117).
Phase: White Knight's Declare Blockers
Combat: White Knight assigned Leonin Skyhunter (117) to attack Human.
Phase: White Knight's Declare Attackers
Phase: White Knight's Begin Combat
Phase: White Knight's Main, precombat
Phase: White Knight's Draw
Phase: White Knight's Upkeep
Phase: White Knight's Untap
Turn: Turn 14 (White Knight)
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: Courser of Kruphix - Creature 2 / 4
Add to stack: Human cast Courser of Kruphix (42).
Mana: Forest (22) - {T}: Add {G} to your mana pool.
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Mana: Forest (23) - {T}: Add {G} to your mana pool.
Land: Human played Forest (22)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 13 (Human)
Phase: White Knight's Cleanup
Phase: White Knight's End of Turn
Resolve stack: Lionheart Maverick - Creature 1 / 1
Add to stack: White Knight cast Lionheart Maverick (92).
Mana: Plains (64) - {T}: Add {W} to your mana pool.
Resolve stack: Veteran Cavalier - Creature 2 / 2
Add to stack: White Knight cast Veteran Cavalier (103).
Mana: Plains (76) - {T}: Add {W} to your mana pool.
Mana: Plains (80) - {T}: Add {W} to your mana pool.
Phase: White Knight's Main, postcombat
Phase: White Knight's End Combat
Damage: Lionheart Maverick (91) deals 1 combat damage to Human.
Damage: Lionheart Maverick (89) deals 1 combat damage to Human.
Damage: Leonin Skyhunter (117) deals 2 combat damage to Human.
Phase: White Knight's Combat Damage
Damage: White Knight (109) deals 2 combat damage to Human.
Phase: White Knight's First Strike Damage
Combat: Human didn't block Leonin Skyhunter (117).
Human didn't block White Knight (109).
Human didn't block Lionheart Maverick (89).
Human didn't block Lionheart Maverick (91).
Phase: White Knight's Declare Blockers
Combat: White Knight assigned Leonin Skyhunter (117), White Knight (109), Lionheart Maverick (89) and Lionheart Maverick (91) to attack Human.
Phase: White Knight's Declare Attackers
Phase: White Knight's Begin Combat
Land: White Knight played Plains (67)
Phase: White Knight's Main, precombat
Phase: White Knight's Draw
Phase: White Knight's Upkeep
Phase: White Knight's Untap
Turn: Turn 12 (White Knight)
Phase: Human's Cleanup
Phase: Human's End of Turn
Phase: Human's Main, postcombat
Phase: Human's End Combat
Damage: Golden Hind (48) deals 3 combat damage to White Knight.
Damage: Hound Pet (1) deals 2 combat damage to White Knight.
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: White Knight didn't block Hound Pet (1).
White Knight didn't block Golden Hind (48).
Phase: Human's Declare Blockers
Combat: Human assigned Golden Hind (48) and Hound Pet (1) to attack White Knight.
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 11 (Human)
Phase: White Knight's Cleanup
Phase: White Knight's End of Turn
Phase: White Knight's Main, postcombat
Phase: White Knight's End Combat
Damage: Leonin Skyhunter (117) deals 2 combat damage to Human.
Phase: White Knight's Combat Damage
Damage: White Knight (109) deals 2 combat damage to Human.
Phase: White Knight's First Strike Damage
Combat: Human didn't block Leonin Skyhunter (117).
Human didn't block White Knight (109).
Phase: White Knight's Declare Blockers
Combat: White Knight assigned Leonin Skyhunter (117) and White Knight (109) to attack Human.
Phase: White Knight's Declare Attackers
Phase: White Knight's Begin Combat
Resolve stack: Path of Peace (97) - Destroy Courser of Kruphix (41). Human gains 4 life.
Add to stack: White Knight cast Path of Peace (97) targeting .
Mana: Plains (79) - {T}: Add {W} to your mana pool.
Mana: Plains (64) - {T}: Add {W} to your mana pool.
Mana: Plains (76) - {T}: Add {W} to your mana pool.
Mana: Plains (80) - {T}: Add {W} to your mana pool.
Phase: White Knight's Main, precombat
Phase: White Knight's Draw
Phase: White Knight's Upkeep
Phase: White Knight's Untap
Turn: Turn 10 (White Knight)
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: Courser of Kruphix - Creature 2 / 4
Add to stack: Human cast Courser of Kruphix (41).
Mana: Golden Hind (48) - {T}: Add {G} to your mana pool.
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Mana: Forest (23) - {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: White Knight's Cleanup
Phase: White Knight's End of Turn
Phase: White Knight's Main, postcombat
Phase: White Knight's End Combat
Damage: Leonin Skyhunter (117) deals 2 combat damage to Human.
Phase: White Knight's Combat Damage
Damage: White Knight (109) deals 2 combat damage to Human.
Phase: White Knight's First Strike Damage
Combat: Human didn't block Leonin Skyhunter (117).
Human didn't block White Knight (109).
Phase: White Knight's Declare Blockers
Combat: White Knight assigned Leonin Skyhunter (117) and White Knight (109) to attack Human.
Phase: White Knight's Declare Attackers
Phase: White Knight's Begin Combat
Resolve stack: Path of Peace (96) - Destroy Nessian Courser (39). Human gains 4 life.
Add to stack: White Knight cast Path of Peace (96) targeting .
Mana: Plains (79) - {T}: Add {W} to your mana pool.
Mana: Plains (64) - {T}: Add {W} to your mana pool.
Mana: Plains (76) - {T}: Add {W} to your mana pool.
Mana: Plains (80) - {T}: Add {W} to your mana pool.
Land: White Knight played Plains (79)
Phase: White Knight's Main, precombat
Phase: White Knight's Draw
Phase: White Knight's Upkeep
Phase: White Knight's Untap
Turn: Turn 8 (White Knight)
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: Nessian Courser - Creature 3 / 3
Add to stack: Human cast Nessian Courser (39).
Mana: Golden Hind (48) - {T}: Add {G} to your mana pool.
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Mana: Forest (23) - {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 7 (Human)
Phase: White Knight's Cleanup
Phase: White Knight's End of Turn
Resolve stack: Lionheart Maverick - Creature 1 / 1
Add to stack: White Knight cast Lionheart Maverick (91).
Mana: Plains (64) - {T}: Add {W} to your mana pool.
Resolve stack: White Knight - Creature 2 / 2
Add to stack: White Knight cast White Knight (109).
Mana: Plains (76) - {T}: Add {W} to your mana pool.
Mana: Plains (80) - {T}: Add {W} to your mana pool.
Phase: White Knight's Main, postcombat
Phase: White Knight's End Combat
Damage: Lionheart Maverick (89) deals 1 combat damage to Human.
Damage: Leonin Skyhunter (117) deals 2 combat damage to Human.
Phase: White Knight's Combat Damage
Phase: White Knight's First Strike Damage
Combat: Human didn't block Leonin Skyhunter (117).
Human didn't block Lionheart Maverick (89).
Phase: White Knight's Declare Blockers
Combat: White Knight assigned Leonin Skyhunter (117) and Lionheart Maverick (89) to attack Human.
Phase: White Knight's Declare Attackers
Phase: White Knight's Begin Combat
Land: White Knight played Plains (64)
Phase: White Knight's Main, precombat
Phase: White Knight's Draw
Phase: White Knight's Upkeep
Phase: White Knight's Untap
Turn: Turn 6 (White Knight)
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 White Knight.
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: White Knight didn't block Hound Pet (1).
Phase: Human's Declare Blockers
Combat: Human assigned Hound Pet (1) to attack White Knight.
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 (51).
Mana: Golden Hind (48) - {T}: Add {G} to your mana pool.
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Mana: Forest (23) - {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 5 (Human)
Phase: White Knight's Cleanup
Phase: White Knight's End of Turn
Resolve stack: Leonin Skyhunter - Creature 2 / 2
Add to stack: White Knight cast Leonin Skyhunter (117).
Mana: Plains (76) - {T}: Add {W} to your mana pool.
Mana: Plains (80) - {T}: Add {W} to your mana pool.
Phase: White Knight's Main, postcombat
Phase: White Knight's End Combat
Phase: White Knight's Combat Damage
Phase: White Knight's First Strike Damage
Phase: White Knight's Declare Blockers
Combat: White Knight didn't attack this turn.
Phase: White Knight's Declare Attackers
Phase: White Knight's Begin Combat
Land: White Knight played Plains (76)
Phase: White Knight's Main, precombat
Phase: White Knight's Draw
Phase: White Knight's Upkeep
Phase: White Knight's Untap
Turn: Turn 4 (White Knight)
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 White Knight.
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: White Knight didn't block Hound Pet (1).
Phase: Human's Declare Blockers
Combat: Human assigned Hound Pet (1) to attack White Knight.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Resolve stack: Golden Hind - Creature 2 / 1
Add to stack: Human cast Golden Hind (48).
Mana: Forest (17) - {T}: Add {G} to your mana pool.
Mana: Forest (23) - {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 3 (Human)
Phase: White Knight's Cleanup
Phase: White Knight's End of Turn
Resolve stack: Lionheart Maverick - Creature 1 / 1
Add to stack: White Knight cast Lionheart Maverick (89).
Mana: Plains (80) - {T}: Add {W} to your mana pool.
Phase: White Knight's Main, postcombat
Phase: White Knight's End Combat
Phase: White Knight's Combat Damage
Phase: White Knight's First Strike Damage
Phase: White Knight's Declare Blockers
Combat: White Knight didn't attack this turn.
Phase: White Knight's Declare Attackers
Phase: White Knight's Begin Combat
Land: White Knight played Plains (80)
Phase: White Knight's Main, precombat
Phase: White Knight's Draw
Phase: White Knight's Upkeep
Phase: White Knight's Untap
Turn: Turn 2 (White Knight)
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 White Knight.
Phase: Human's Combat Damage
Phase: Human's First Strike Damage
Combat: White Knight didn't block Hound Pet (1).
Phase: Human's Declare Blockers
Combat: Human assigned Hound Pet (1) to attack White Knight.
Phase: Human's Declare Attackers
Phase: Human's Begin Combat
Land: Human played Forest (23)
Phase: Human's Main, precombat
Phase: Human's Draw
Phase: Human's Upkeep
Phase: Human's Untap
Turn: Turn 1 (Human)
Mulligan: White Knight has kept a hand of 7 cards
Mulligan: Human has kept a hand of 7 cards


i could continue to play without problem, i won round 2 and lost round 3 but at round 2 or round 3 "blabla won" panel, the error didn't popped up again.
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 » 20 Sep 2014, 13:45

still r27546 , duel vs medium AI "Hermes Conrad"

Image

The targetted card is my Pheres-Band Thunderhoof, the error happens before i can click OK to solve

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: 1, Size: 1
   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:355)
   at forge.view.LocalGameView.getPlayerView(LocalGameView.java:323)
   at forge.view.LocalGameView$2.apply(LocalGameView.java:307)
   at forge.view.LocalGameView$2.apply(LocalGameView.java:304)
   at forge.view.ViewUtil.transformIfNotNull(ViewUtil.java:142)
   at forge.view.LocalGameView.getPlayerViews(LocalGameView.java:312)
   at forge.control.FControlGameEventHandler$10.run(FControlGameEventHandler.java:399)
   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 friarsol » 20 Sep 2014, 15:23

r27573
Phased out creatures disappear from the battlefield when my battlefield is redrawn, instead of being displayed with the Phased out symbol.

Edit:

I was testing all the different triggers for the work I've been doing, and was in the middle of testing "Votes" Triggers. I have a Grudge Keeper in play, AI puts a Magister of Worth into play. AI selects Condemnation, I select Grace. As it resolves the Keeper is destroyed, but the Vote trigger goes on the stack. Unfortunately, when I click on the AIs hand to see what other cards are there, it no longer tells me. So I can't give more information for this bug report. Can we please go back to having this capability within Dev Mode? Maybe by adding some type of "Omniscience" toggle that works the same way as the "Any # of Land Plays" it doesn't save, and you have to toggle it on.

ClassCastException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 8 6.2 amd64
Java Version:     1.7.0_51 Oracle Corporation

java.lang.ClassCastException: forge.game.player.Player cannot be cast to forge.game.card.Card
   at forge.game.ability.AbilityUtils.getDefinedCards(AbilityUtils.java:152)
   at forge.game.ability.AbilityUtils.getDefinedObjects(AbilityUtils.java:688)
   at forge.ai.ComputerUtil.predictThreatenedObjects(ComputerUtil.java:1329)
   at forge.ai.ComputerUtil.predictThreatenedObjects(ComputerUtil.java:1276)
   at forge.ai.ComputerUtil.playImmediately(ComputerUtil.java:1566)
   at forge.ai.ability.ManaEffectAi.canPlayAI(ManaEffectAi.java:17)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
   at forge.ai.AiController.canPlaySa(AiController.java:698)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:685)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1259)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1240)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1196)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:415)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1020)
   at forge.game.GameAction.startGame(GameAction.java:1571)
   at forge.game.Match.startGame(Match.java:81)
   at forge.control.FControl$4.run(FControl.java:495)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:744)
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: Google [Bot] and 35 guests


Who is online

In total there are 36 users online :: 1 registered, 0 hidden and 35 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: Google [Bot] and 35 guests

Login Form