It is currently 16 Apr 2024, 08:25
   
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 Agetian » 19 Aug 2017, 04:08

Xyx wrote:The "Format -> Standard" filter allows decks that are less than 60 cards.
Hmm, yeah, interestingly, I don't think that any deck size limits are specified anywhere for the formats themselves (so they don't get into filters like Standard and Modern and whatnot), and this check is only made later when the deck is tested for conformance :/ I'll see if I can find a way to improve this. However, it's a bit more complicated than just "testing for 60 or more", since this filter may be used in Quest Mode as well, which allows 40-card decks, so I'm a bit confused... Even more confusingly, it can be used to filter Booster Draft and Sealed Deck decks, which makes little sense from the MTG standpoint (since Sealed and Draft are separate limited formats), but which effectively functions as a "filter for decks which only have Standard-/Modern-/whatever-legal cards in them". Maybe it should be called something else other than "Format" then, in order not to confuse people?..

(Btw, can't reproduce the Scry-related bug you posted above just yet :/ )

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Bug Reports (snapshot builds)

Postby Xyx » 20 Aug 2017, 13:26

Hunter's Prowess has a weird text prompt. See image.

Peregrination also has a rather ugly prompt, and it suggests that the library is shuffled twice instead of just once (but it is only once.)

Steam Augury also has a slightly unhelpful prompt that does not explain which pile does which. And while the pile selection dialog is open, you can't see the Steam Augury card.
Attachments
20170820 Hunter's Prowess prompt.JPG
User avatar
Xyx
Tester
 
Posts: 524
Joined: 23 Feb 2014, 23:01
Has thanked: 38 times
Been thanked: 32 times

Re: Bug Reports (snapshot builds)

Postby Indigo Dragon » 24 Aug 2017, 10:17

Scalelord Reckoner triggers on when a dragon is targeted in another zone. (eg. Scrabbling Claws second ability targeting an Ojutai, Soul of Winter).

e: Also, Orator of Ojutai only draws a card if you revealed a Dragon card from your hand, and does not draw if you controlled a Dragon.
Ctrl+C, Ctrl+V
User avatar
Indigo Dragon
 
Posts: 130
Joined: 11 May 2016, 10:18
Location: Australia
Has thanked: 63 times
Been thanked: 56 times

Re: Bug Reports (snapshot builds)

Postby kevlahnota » 25 Aug 2017, 08:40

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

I was playing planar conquest, the AI cast Ajani Vangeant, then NPE popup. Im using Android svn R35213, It froze on waiting opponent...

NullPointerException | Open
Code: Select all
Forge Version:    1.6.2.001
Operating System: Linux 3.10.84-perf-g44616d6 armv8l
Java Version:     0 The Android Project

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String forge.game.spellability.SpellAbility.getSVar(java.lang.String)' on a null object reference
   at forge.ai.ComputerUtilCost.checkRemoveCounterCost(ComputerUtilCost.java:95)
   at forge.ai.ComputerUtilCost.checkRemoveCounterCost(ComputerUtilCost.java:61)
   at forge.ai.ability.DamageDealAi.canPlayAI(DamageDealAi.java:164)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:36)
   at forge.ai.AiController.canPlaySa(AiController.java:634)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:618)
   at forge.ai.AiController.chooseSpellAbilityToPlayFromList(AiController.java:1142)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1114)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1094)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:411)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:951)
   at forge.game.GameAction.startGame(GameAction.java:1565)
   at forge.game.Match.startGame(Match.java:87)
   at forge.match.HostedMatch$2.run(HostedMatch.java:224)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)
Screenshot_2017-08-25-16-37-17-775_forge.app.png
User avatar
kevlahnota
Programmer
 
Posts: 825
Joined: 19 Jul 2010, 17:45
Location: Philippines
Has thanked: 14 times
Been thanked: 264 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 25 Aug 2017, 11:03

@kevlahnota: Thanks! Fixed in r35217.

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Bug Reports (snapshot builds)

Postby MaxMtg » 25 Aug 2017, 13:07

Description: [ Opponent played Sunset Pyramid and the game crashed]

NullPointerException | Open
Code: Select all
Forge Version:    1.6.3-SNAPSHOT-r-1
Operating System: Windows 8.1 6.3 amd64
Java Version:     1.8.0_144 Oracle Corporation

java.lang.NullPointerException
   at forge.ai.ComputerUtilCost.checkRemoveCounterCost(ComputerUtilCost.java:95)
   at forge.ai.ComputerUtilCost.checkRemoveCounterCost(ComputerUtilCost.java:61)
   at forge.ai.ability.DrawAi.willPayCosts(DrawAi.java:113)
   at forge.ai.SpellAbilityAi.canPlayWithoutRestrict(SpellAbilityAi.java:80)
   at forge.ai.SpellAbilityAi.canPlayAI(SpellAbilityAi.java:53)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:36)
   at forge.ai.AiController.canPlaySa(AiController.java:634)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:618)
   at forge.ai.AiController.chooseSpellAbilityToPlayFromList(AiController.java:1142)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1114)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1094)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:411)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:951)
   at forge.game.GameAction.startGame(GameAction.java:1565)
   at forge.game.Match.startGame(Match.java:87)
   at forge.match.HostedMatch$2.run(HostedMatch.java:224)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
MaxMtg
 
Posts: 102
Joined: 11 Aug 2017, 16:11
Has thanked: 50 times
Been thanked: 6 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 25 Aug 2017, 13:34

MaxMtg wrote:Description: [ Opponent played Sunset Pyramid and the game crashed]

NullPointerException | Open
Code: Select all
Forge Version:    1.6.3-SNAPSHOT-r-1
Operating System: Windows 8.1 6.3 amd64
Java Version:     1.8.0_144 Oracle Corporation

java.lang.NullPointerException
   at forge.ai.ComputerUtilCost.checkRemoveCounterCost(ComputerUtilCost.java:95)
   at forge.ai.ComputerUtilCost.checkRemoveCounterCost(ComputerUtilCost.java:61)
   at forge.ai.ability.DrawAi.willPayCosts(DrawAi.java:113)
   at forge.ai.SpellAbilityAi.canPlayWithoutRestrict(SpellAbilityAi.java:80)
   at forge.ai.SpellAbilityAi.canPlayAI(SpellAbilityAi.java:53)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:36)
   at forge.ai.AiController.canPlaySa(AiController.java:634)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:618)
   at forge.ai.AiController.chooseSpellAbilityToPlayFromList(AiController.java:1142)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1114)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1094)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:411)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:951)
   at forge.game.GameAction.startGame(GameAction.java:1565)
   at forge.game.Match.startGame(Match.java:87)
   at forge.match.HostedMatch$2.run(HostedMatch.java:224)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
If it's prior to 35217, then it's hopefully fixed in that revision, but if it's past 35217, then I'll take a look and patch it up tonight when I'm home :)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Bug Reports (snapshot builds)

Postby kevlahnota » 26 Aug 2017, 17:15

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

Activate Tectonic Edge to destroy opponent non basic land, NPE occurs. Using R35231

NullPointerException | Open
Code: Select all
Forge Version:    1.6.2.001
Operating System: Linux 3.10.84-perf-g44616d6 armv8l
Java Version:     0 The Android Project

java.lang.NullPointerException: Attempt to invoke virtual method 'forge.game.ability.ApiType forge.game.spellability.SpellAbility.getApi()' on a null object reference
   at forge.ai.ComputerUtil.predictThreatenedObjects(ComputerUtil.java:1618)
   at forge.ai.ComputerUtil.predictThreatenedObjects(ComputerUtil.java:1381)
   at forge.ai.ComputerUtil.predictThreatenedObjects(ComputerUtil.java:1351)
   at forge.ai.ability.ChangeZoneAi.canBouncePermanent(ChangeZoneAi.java:1156)
   at forge.ai.ability.ChangeZoneAi.isPreferredTarget(ChangeZoneAi.java:874)
   at forge.ai.ability.ChangeZoneAi.knownOriginTriggerAI(ChangeZoneAi.java:1310)
   at forge.ai.ability.ChangeZoneAi.doTriggerAINoCost(ChangeZoneAi.java:135)
   at forge.ai.SpellAbilityAi.doTriggerNoCostWithSubs(SpellAbilityAi.java:167)
   at forge.ai.SpellAbilityAi.doTriggerAI(SpellAbilityAi.java:162)
   at forge.ai.AiController.doTrigger(AiController.java:1188)
   at forge.ai.ability.CharmAi.chooseMultipleOptionsAi(CharmAi.java:218)
   at forge.ai.ability.CharmAi.checkApiLogic(CharmAi.java:58)
   at forge.ai.SpellAbilityAi.canPlayWithoutRestrict(SpellAbilityAi.java:83)
   at forge.ai.SpellAbilityAi.canPlayAI(SpellAbilityAi.java:53)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:36)
   at forge.ai.AiController.canPlaySa(AiController.java:634)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:618)
   at forge.ai.AiController.chooseSpellAbilityToPlayFromList(AiController.java:1142)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1114)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1094)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:411)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:951)
   at forge.game.GameAction.startGame(GameAction.java:1565)
   at forge.game.Match.startGame(Match.java:87)
   at forge.match.HostedMatch$2.run(HostedMatch.java:224)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
   at java.lang.Thread.run(Thread.java:818)
Screenshot_2017-08-27-01-08-58-111_forge.app.png
User avatar
kevlahnota
Programmer
 
Posts: 825
Joined: 19 Jul 2010, 17:45
Location: Philippines
Has thanked: 14 times
Been thanked: 264 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 26 Aug 2017, 18:18

@kevlahnota: Thanks! Fixed in r35238. Please retest using that revision, if possible (shouldn't NPE anymore).

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Bug Reports (snapshot builds)

Postby Bog Wraith » 29 Aug 2017, 21:13

In XLN DB, Admiral Beckett Brass is missing the second "T" in Beckett.
'Twas in the bogs of Cannelbrae
My mate did meet an early grave
'Twas nothing left for us to save
In the peat-filled bogs of Cannelbrae.
User avatar
Bog Wraith
Global Mod 1 (Ret)
 
Posts: 1108
Joined: 28 May 2008, 22:40
Location: Shandalar
Has thanked: 425 times
Been thanked: 153 times

Re: Bug Reports (snapshot builds)

Postby Seravy » 31 Aug 2017, 18:36

Description: Tried adding an Afterlife to my hand.

Error | Open
Code: Select all
Forge Version:    1.6.3-SNAPSHOT-r35316Mu
Operating System: Windows XP 5.1 x86
Java Version:     1.8.0_131 Oracle Corporation

java.lang.Error: Unresolved compilation problems:
   Cannot refer to the non-final local variable targetZone defined in an enclosing scope
   Cannot refer to the non-final local variable targetZone defined in an enclosing scope
   Cannot refer to the non-final local variable forgeCard defined in an enclosing scope
   Cannot refer to the non-final local variable forgeCard defined in an enclosing scope
   Cannot refer to the non-final local variable forgeCard defined in an enclosing scope
   Cannot refer to the non-final local variable forgeCard defined in an enclosing scope
   Cannot refer to the non-final local variable repeatLast defined in an enclosing scope
   Cannot refer to the non-final local variable forgeCard defined in an enclosing scope
   Cannot refer to the non-final local variable targetZone defined in an enclosing scope

   at forge.player.PlayerControllerHuman$DevModeCheats$6.run(PlayerControllerHuman.java:2157)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 31 Aug 2017, 19:15

Tried to fix this upstream.

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Bug Reports (snapshot builds)

Postby tjtillman » 01 Sep 2017, 23:11

r35335

Claim // Fame is mismarked as an instant (should be sorcery)
tjtillman
 
Posts: 202
Joined: 16 Sep 2013, 17:47
Has thanked: 0 time
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby Seravy » 03 Sep 2017, 20:30

Description: AI played Spike Warrior

Error | Open
Code: Select all
Forge Version:    1.6.3-SNAPSHOT-r35383Mu
Operating System: Windows XP 5.1 x86
Java Version:     1.8.0_131 Oracle Corporation

java.lang.Error: Unresolved compilation problem:
   Type mismatch: cannot convert from List<capture#1-of ? extends Object> to List<String>

   at forge.ai.ComputerUtilCard.shouldPumpCard(ComputerUtilCard.java:1245)
   at forge.ai.ability.PumpAi.checkApiLogic(PumpAi.java:355)
   at forge.ai.SpellAbilityAi.canPlayWithoutRestrict(SpellAbilityAi.java:83)
   at forge.ai.SpellAbilityAi.canPlayAI(SpellAbilityAi.java:53)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:36)
   at forge.ai.AiController.canPlaySa(AiController.java:656)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:640)
   at forge.ai.AiController.chooseSpellAbilityToPlayFromList(AiController.java:1164)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1136)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1116)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:411)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:952)
   at forge.game.GameAction.startGame(GameAction.java:1574)
   at forge.game.Match.startGame(Match.java:87)
   at forge.match.HostedMatch$2.run(HostedMatch.java:224)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Seravy
 
Posts: 363
Joined: 26 Oct 2016, 21:23
Has thanked: 5 times
Been thanked: 27 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 04 Sep 2017, 04:11

Seravy wrote:Description: AI played Spike Warrior

Error | Open
Code: Select all
Forge Version:    1.6.3-SNAPSHOT-r35383Mu
Operating System: Windows XP 5.1 x86
Java Version:     1.8.0_131 Oracle Corporation

java.lang.Error: Unresolved compilation problem:
   Type mismatch: cannot convert from List<capture#1-of ? extends Object> to List<String>

   at forge.ai.ComputerUtilCard.shouldPumpCard(ComputerUtilCard.java:1245)
   at forge.ai.ability.PumpAi.checkApiLogic(PumpAi.java:355)
   at forge.ai.SpellAbilityAi.canPlayWithoutRestrict(SpellAbilityAi.java:83)
   at forge.ai.SpellAbilityAi.canPlayAI(SpellAbilityAi.java:53)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:36)
   at forge.ai.AiController.canPlaySa(AiController.java:656)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:640)
   at forge.ai.AiController.chooseSpellAbilityToPlayFromList(AiController.java:1164)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1136)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1116)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:411)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:952)
   at forge.game.GameAction.startGame(GameAction.java:1574)
   at forge.game.Match.startGame(Match.java:87)
   at forge.match.HostedMatch$2.run(HostedMatch.java:224)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Should be fixed, if I correctly understand what's going on. Please retest using the latest revision :)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 45 guests


Who is online

In total there are 45 users online :: 0 registered, 0 hidden and 45 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: No registered users and 45 guests

Login Form