It is currently 06 Jul 2025, 08:16
   
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 fmartel » 23 May 2015, 19:50

Hello,

Description: [Sunhome Enforcer was blocking with Duergar Hedge-Mage a Llanowar Elves ]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.39-SNAPSHOT-r-1
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_45 Oracle Corporation

java.lang.NullPointerException
   at forge.game.ability.AbilityUtils.calculateAmount(AbilityUtils.java:632)
   at forge.game.ability.effects.LifeGainEffect.resolve(LifeGainEffect.java:36)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1235)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1217)
   at forge.ai.ComputerUtil.playNoStack(ComputerUtil.java:269)
   at forge.ai.PlayerControllerAi.playSpellAbilityNoStack(PlayerControllerAi.java:311)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:412)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1235)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1217)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:482)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:972)
   at forge.game.GameAction.startGame(GameAction.java:1390)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Thank you for your concern
fmartel
 
Posts: 281
Joined: 31 Dec 2013, 19:27
Location: Québec City
Has thanked: 8 times
Been thanked: 4 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 24 May 2015, 05:48

fmartel wrote:Hello,

Description: [Sunhome Enforcer was blocking with Duergar Hedge-Mage a Llanowar Elves ]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.39-SNAPSHOT-r-1
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_45 Oracle Corporation

java.lang.NullPointerException
   at forge.game.ability.AbilityUtils.calculateAmount(AbilityUtils.java:632)
   at forge.game.ability.effects.LifeGainEffect.resolve(LifeGainEffect.java:36)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1235)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1217)
   at forge.ai.ComputerUtil.playNoStack(ComputerUtil.java:269)
   at forge.ai.PlayerControllerAi.playSpellAbilityNoStack(PlayerControllerAi.java:311)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:412)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1235)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1217)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:482)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:972)
   at forge.game.GameAction.startGame(GameAction.java:1390)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Thank you for your concern
Fixed in r29450, hopefully Friarsol will be able to review my commit so that it's correct and doesn't break anything else (it's trigger-related, I'm not too well-versed in that).

fmartel wrote:Hello,

Description: [played a lighning bolt on Kodoma of the center tree]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.39-r-1
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_45 Oracle Corporation

java.lang.NullPointerException
   at forge.game.card.Card.getTriggeringObject(Card.java:793)
   at forge.game.card.CardFactoryUtil.xCount(CardFactoryUtil.java:1103)
   at forge.game.card.Card.hasProperty(Card.java:4862)
   at forge.game.card.Card.isValid(Card.java:3590)
   at forge.game.GameObject.isValid(GameObject.java:26)
   at forge.game.card.CardPredicates$13.apply(CardPredicates.java:151)
   at forge.game.card.CardPredicates$13.apply(CardPredicates.java:148)
   at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
   at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
   at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
   at forge.util.FCollection.<init>(FCollection.java:38)
   at forge.game.card.CardCollection.<init>(CardCollection.java:63)
   at forge.game.card.CardLists.filter(CardLists.java:229)
   at forge.game.card.CardLists.getValidCards(CardLists.java:169)
   at forge.ai.ability.ChangeZoneAi.isPreferredTarget(ChangeZoneAi.java:733)
   at forge.ai.ability.ChangeZoneAi.knownOriginTriggerAI(ChangeZoneAi.java:1195)
   at forge.ai.ability.ChangeZoneAi.doTriggerAINoCost(ChangeZoneAi.java:127)
   at forge.ai.SpellAbilityAi.doTriggerNoCostWithSubs(SpellAbilityAi.java:40)
   at forge.ai.SpellAbilityAi.doTriggerAI(SpellAbilityAi.java:35)
   at forge.ai.AiController.doTrigger(AiController.java:1236)
   at forge.ai.PlayerControllerAi.prepareSingleSa(PlayerControllerAi.java:700)
   at forge.ai.PlayerControllerAi.orderAndPlaySimultaneousSa(PlayerControllerAi.java:689)
   at forge.game.zone.MagicStack.chooseOrderOfSimultaneousStackEntry(MagicStack.java:748)
   at forge.game.zone.MagicStack.addAllTriggeredAbilitiesToStack(MagicStack.java:714)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:903)
   at forge.game.GameAction.startGame(GameAction.java:1390)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.java:219)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Thank you
I tried looking into this but couldn't fix it - the particular thing that is failing in Kodama of the Center Tree is this line:

SVar:Y:TriggeredCardController$Valid Spirit.YouCtrl

When the game tries to call xCount to calculate this value it hits an obstacle in the form of a triggered SA not being set, so getTriggeredSA() returns "null" for the trigger, and the game NPEs trying to utilize that SpellAbility (it assumes that it has to be set at that point). Putting a simple NPE guard at this point is not viable because it'll only hide the problem but the problem will still be there (namely, it won't be possible to target a card with Kodama of the Center Tree anyway, it'll always return "Targeting ERROR").

It's interesting but the following version of the script for Kodama of the Center Tree doesn't crash and appears to work correctly (it has no reference to Y anymore and the ChangeZone trigger uses the same X as used to determine the P/T of Kodama:

Kodama that doesn't crash | Open
Code: Select all
Name:Kodama of the Center Tree
ManaCost:4 G
Types:Legendary Creature Spirit
PT:*/*
S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of Spirits you control.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | OptionalDecider$ TriggeredCardController | TriggerController$ TriggeredCardController | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ CARDNAME has soulshift X, where X is the number of Spirits you control. (When this is put into a graveyard from the battlefield, you may return target Spirit card with converted mana cost X or less from your graveyard to your hand.)
SVar:TrigChange:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Spirit.cmcLEX | TargetsWithDefinedController$ TriggeredCardController | References$ X
SVar:X:Count$Valid Spirit.YouCtrl
SVar:RemRandomDeck:True
SVar:BuffedBy:Spirit
SVar:NoZeroToughnessAI:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/kodama_of_the_center_tree.jpg
Oracle:Kodama of the Center Tree's power and toughness are each equal to the number of Spirits you control.\nKodama of the Center Tree has soulshift X, where X is the number of Spirits you control. (When this creature dies, you may return target Spirit card with converted mana cost X or less from your graveyard to your hand.)
I recall there was, however, a good reason why that extra variable (Y) was introduced with TriggeredCardController, but I don't remember what that reason is. That being said, I'm unsuccessful with making it work the way it was originally meant to work with the Y variable and all...

Any help is welcome!

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

Re: Bug Reports (snapshot builds)

Postby fmartel » 24 May 2015, 19:06

Hello, this just happened.

Description: [trying to import previously edited EDH deck made with "normal editor"]

RuntimeException | Open
Code: Select all
Forge Version:    1.5.40-SNAPSHOT-r-1
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_45 Oracle Corporation

java.lang.RuntimeException: Error importing deck.java.lang.NullPointerException
   at forge.screens.deckeditor.controllers.CCurrentDeck.openDeck(CCurrentDeck.java:170)
   at forge.screens.deckeditor.controllers.CCurrentDeck.access$200(CCurrentDeck.java:32)
   at forge.screens.deckeditor.controllers.CCurrentDeck$5.run(CCurrentDeck.java:91)
   at forge.toolbox.FLabel._doMouseAction(FLabel.java:314)
   at forge.toolbox.FLabel.access$1300(FLabel.java:55)
   at forge.toolbox.FLabel$6.onLeftClick(FLabel.java:352)
   at forge.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:246)
   at java.awt.AWTEventMulticaster.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$500(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)
also, where can I get these newest snapshots ?
Thank you.

Edit : When trying to import for a second rime, it worked.
:shock:
fmartel
 
Posts: 281
Joined: 31 Dec 2013, 19:27
Location: Québec City
Has thanked: 8 times
Been thanked: 4 times

Re: Bug Reports (snapshot builds)

Postby OblivionLord » 25 May 2015, 03:22

Description: [Always crashes when clicking start to play a game. Program is not usable without this fix for me.]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_45 Oracle Corporation

java.lang.NullPointerException
   at forge.screens.match.views.VStack.updateStack(VStack.java:125)
   at forge.screens.match.controllers.CStack.update(CStack.java:54)
   at forge.screens.match.CMatchUI.initialize(CMatchUI.java:514)
   at forge.control.FControl.setCurrentScreen(FControl.java:308)
   at forge.control.FControl.setCurrentScreen(FControl.java:272)
   at forge.screens.match.CMatchUI.openView(CMatchUI.java:778)
   at forge.match.HostedMatch.startGame(HostedMatch.java:181)
   at forge.match.HostedMatch.startMatch(HostedMatch.java:108)
   at forge.match.HostedMatch.startMatch(HostedMatch.java:82)
   at forge.screens.home.CLobby.startGame(CLobby.java:369)
   at forge.screens.home.CLobby.access$100(CLobby.java:39)
   at forge.screens.home.CLobby$2.actionPerformed(CLobby.java:141)
   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$500(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)
OblivionLord
 
Posts: 3
Joined: 23 May 2015, 16:10
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby KrazyTheFox » 25 May 2015, 03:25

Midori wrote:r29353

I still get this crash when i attack with Vraska's Assassin tokens.

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

java.util.ConcurrentModificationException
   at java.util.LinkedList$ListItr.checkForComodification(Unknown Source)
   at java.util.LinkedList$ListItr.next(Unknown Source)
   at forge.ai.AiBlockController.sortPotentialAttackers(AiBlockController.java:126)
   at forge.ai.AiBlockController.assignBlockersForCombat(AiBlockController.java:676)
   at forge.ai.AiController.declareBlockersFor(AiController.java:1122)
   at forge.ai.PlayerControllerAi.declareBlockers(PlayerControllerAi.java:389)
   at forge.game.phase.PhaseHandler.declareBlockersTurnBasedAction(PhaseHandler.java:568)
   at forge.game.phase.PhaseHandler.onPhaseBegin(PhaseHandler.java:284)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:969)
   at forge.game.GameAction.startGame(GameAction.java:1390)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.java:219)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Found this one and fixed it. Vraska's tokens should now work without crashing the game.

OblivionLord wrote:Description: [Always crashes when clicking start to play a game. Program is not usable without this fix for me.]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_45 Oracle Corporation

java.lang.NullPointerException
   at forge.screens.match.views.VStack.updateStack(VStack.java:125)
   at forge.screens.match.controllers.CStack.update(CStack.java:54)
   at forge.screens.match.CMatchUI.initialize(CMatchUI.java:514)
   at forge.control.FControl.setCurrentScreen(FControl.java:308)
   at forge.control.FControl.setCurrentScreen(FControl.java:272)
   at forge.screens.match.CMatchUI.openView(CMatchUI.java:778)
   at forge.match.HostedMatch.startGame(HostedMatch.java:181)
   at forge.match.HostedMatch.startMatch(HostedMatch.java:108)
   at forge.match.HostedMatch.startMatch(HostedMatch.java:82)
   at forge.screens.home.CLobby.startGame(CLobby.java:369)
   at forge.screens.home.CLobby.access$100(CLobby.java:39)
   at forge.screens.home.CLobby$2.actionPerformed(CLobby.java:141)
   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$500(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)
That's an older version of the game (two versions behind) and this topic is for the latest snapshots. Regardless, I believe the fix for this is to reset your match layout (Preferences > Reset Match Layout).
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Bug Reports (snapshot builds)

Postby Asellia » 25 May 2015, 14:12

1.5.40 r29481

Description:
Effectively, enemy AI portraits are incorrect for the first round in matches in quest mode:

Me Selecting Conan | Open
Image

Round one vs Conan | Open
Image

Round Two vs Conan | Open
Image
Asellia
 
Posts: 26
Joined: 30 Apr 2010, 19:02
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby mastroego » 25 May 2015, 16:05

Noticed that too, didn't report it as I tend to ignore annoyances vs actual bugs.
The team has it hard enough already, 15000 cards are apparently a nightmare :D
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 25 May 2015, 17:02

r29486: An interesting UI bug: if you use the "X" button to concede the match and quit it, pressing "Cancel" immediately quits the match interface and returns you to the home screen instead of letting you continue playing. So, the basic premise is, once you've clicked the "X" button, your only options are: "Concede" (lose the game), "Cancel" (forfeit the match and quit to home screen). Other ways to concede the game (such as Ctrl+Q or via the menu) seem to work correctly. EDIT: - fixed in r29487.

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

Re: Bug Reports (snapshot builds)

Postby Devilman06 » 25 May 2015, 18:50

forge-gui-desktop-1.5.40-SNAPSHOT-r29488 update EDH/commander games start with only 30 life instead of 40
Devilman06
 
Posts: 127
Joined: 29 Jan 2010, 03:59
Has thanked: 1 time
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby drdev » 25 May 2015, 19:40

Devilman06 wrote:forge-gui-desktop-1.5.40-SNAPSHOT-r29488 update EDH/commander games start with only 30 life instead of 40
Fixed in r29489. Sorry about that. I thought 2 player commander was supposed to start with 30. Didn't realize Duel Commander is a completely separate format.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby fmartel » 25 May 2015, 22:35

This happened in a multi (4 plyrs, 2 tms)

Description: [hitting return multiple time to pass phases]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.40-SNAPSHOT-r-1
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_45 Oracle Corporation

java.lang.NullPointerException
   at forge.ai.ability.LifeSetAi.canPlayAI(LifeSetAi.java:42)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:21)
   at forge.ai.AiController.canPlaySa(AiController.java:612)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:599)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1189)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1166)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1108)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:394)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:917)
   at forge.game.GameAction.startGame(GameAction.java:1390)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.java:219)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Will try again
fmartel
 
Posts: 281
Joined: 31 Dec 2013, 19:27
Location: Québec City
Has thanked: 8 times
Been thanked: 4 times

Re: Bug Reports (snapshot builds)

Postby mastroego » 26 May 2015, 07:58

1.5.40 r29477

Following a report from another user in the main forum, I've tested Sen Triplets.
It seems indeed that you cannot cast the opponent's spells.
Now, I admittedly didn't have the right mana to cast them, but I should have got the prompt to tap it anyway, whereas when I click on any card from the opponent's hand nothing happens.

Took me several games to even reach this board condition, it's not easy to test this card.
(I assume it's easier for devs though).
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 26 May 2015, 09:57

mastroego wrote:Following a report from another user in the main forum, I've tested Sen Triplets.
It seems indeed that you cannot cast the opponent's spells.
Fixed (r29491).

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

Re: Bug Reports (snapshot builds)

Postby Marolla » 26 May 2015, 13:17

Hallo, i hope someone can help me. i played mtg forge a lot but suddely
i can´t start it anymore, i get this report:
i delete the folder and downloaded a newer one but it still does not work
for excuse i have very little knowledge about computer and programms...
i hope someone can help me


Still does not work, where can i find the quest saving place?
Maybe when i can delet my quests i will be able to lunch the game again.
Attachments
2015-05-26-00.txt
(1.04 KiB) Downloaded 266 times
Last edited by Marolla on 29 May 2015, 10:08, edited 1 time in total.
Marolla
 
Posts: 2
Joined: 26 May 2015, 12:58
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby Agetian » 26 May 2015, 13:53

@ Marolla: It looks like your quest data got corrupted somehow and Forge is unable to load your quest anymore, which is causing the crash. If you don't mind losing the quest, delete the saved game file from the "quest/saves" subfolder in your Forge profile folder. If you would like not to lose your quest data you can always try posting the saved game file here so that hopefully one of the developers can help you fix the file.

At any rate, you're using a rather old snapshot, it seems. You should consider updating either to the latest official beta release (here: viewtopic.php?f=26&t=17174 ) or to the latest SVN snapshot (here: http://krazyweb.net/forge/ ), whichever you prefer. Good luck!

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

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 36 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 36 users online :: 0 registered, 0 hidden and 36 guests (based on users active over the past 10 minutes)
Most users ever online was 5050 on 26 Jun 2025, 06:02

Users browsing this forum: No registered users and 36 guests

Login Form