It is currently 12 Nov 2025, 05:47
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Agetian, friarsol, Blacksmith, KrazyTheFox, CCGHQ Admins

Re: Bug Reports (snapshot builds)

Postby tojammot » 20 Aug 2016, 05:54

Fist of Suns is busted, I get an error every time it hits the field.

NullPointerException | Open
Code: Select all
Forge Version:    1.5.56-SNAPSHOT-r31898
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_101 Oracle Corporation

java.lang.NullPointerException
   at forge.game.card.CardFactoryUtil.addSpellAbility(CardFactoryUtil.java:3186)
   at forge.game.keyword.KeywordsChange.addKeywordsToCard(KeywordsChange.java:105)
   at forge.game.card.Card.addChangedCardKeywords(Card.java:3012)
   at forge.game.card.Card.addChangedCardKeywords(Card.java:3030)
   at forge.game.staticability.StaticAbilityContinuous.applyContinuousAbility(StaticAbilityContinuous.java:500)
   at forge.game.staticability.StaticAbilityContinuous.applyContinuousAbility(StaticAbilityContinuous.java:81)
   at forge.game.staticability.StaticAbility.applyContinuousAbility(StaticAbility.java:218)
   at forge.game.GameAction.checkStaticAbilities(GameAction.java:686)
   at forge.game.GameAction.checkStaticAbilities(GameAction.java:630)
   at forge.game.GameAction.changeZone(GameAction.java:284)
   at forge.game.GameAction.moveTo(GameAction.java:471)
   at forge.game.GameAction.moveTo(GameAction.java:452)
   at forge.game.GameAction.moveToPlay(GameAction.java:559)
   at forge.game.GameAction.moveTo(GameAction.java:609)
   at forge.game.GameAction.moveTo(GameAction.java:601)
   at forge.game.spellability.SpellPermanent.resolve(SpellPermanent.java:72)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:516)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:974)
   at forge.game.GameAction.startGame(GameAction.java:1460)
   at forge.game.Match.startGame(Match.java:95)
   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)
tojammot
 
Posts: 195
Joined: 06 Jun 2008, 07:38
Has thanked: 1 time
Been thanked: 3 times

Re: Bug Reports (snapshot builds)

Postby Hanmac » 20 Aug 2016, 08:30

@tojammot: the problem with Fist of Suns is fixed with r32015

(hm its more a hotfix than really fixed, Lands should never get this keyword, right?)
someone might check Fist of Suns and Etched Oracle Avatar if it couldn't be better.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby tjtillman » 20 Aug 2016, 20:01

r32016
Weirdness still happens with Kindly Stranger as seen before.



tjtillman wrote:r31911

Something weird is going on with Kindly Stranger, it wants to transform randomly at times, both when I control it or when the CPU controls it, without mana being paid, nor Delirium being met. It not only does it incorrectly and seemingly randomly, but it triggers several times. It happened a few times before, but I wasn't paying close enough attention to the conditions. The most recent time I couldn't find anything unusual that would've caused it to happen, but I did dump the game state, shown here:

tjtillman
 
Posts: 202
Joined: 16 Sep 2013, 17:47
Has thanked: 0 time
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby stormcat » 21 Aug 2016, 15:33

:r32019
Ring of Three Wishes has bug.
It enter the battlefield without 3 Wish counters.
stormcat
 
Posts: 361
Joined: 17 Jun 2015, 05:32
Has thanked: 0 time
Been thanked: 6 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 21 Aug 2016, 19:07

stormcat wrote::r32019
Ring of Three Wishes has bug.
It enter the battlefield without 3 Wish counters.
It works fine for me. Got any more details?
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 stormcat » 21 Aug 2016, 20:59

@friarsol
I tried again, this time was successful.
There seems to be condition.
Situation is Commander game, and when I cast it.
stormcat
 
Posts: 361
Joined: 17 Jun 2015, 05:32
Has thanked: 0 time
Been thanked: 6 times

Re: Bug Reports (snapshot builds)

Postby fmartel » 22 Aug 2016, 20:08

Description: [In a commander game, attacking AI, all in, 20 creatures total. AI Blocks w Ayli, Eternal Pilgrim (Crusader of Odric), Viscera Dragger (Spawnwrithe)]

StackOverflowError | Open
Code: Select all
Forge Version:    1.5.56-SNAPSHOT-r32024
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_25 Oracle Corporation

java.lang.StackOverflowError
   at java.lang.String.split(Unknown Source)
   at forge.game.card.Card.isValid(Card.java:3627)
   at forge.game.GameObject.isValid(GameObject.java:27)
   at forge.game.card.CardPredicates$16.apply(CardPredicates.java:178)
   at forge.game.card.CardPredicates$16.apply(CardPredicates.java:175)
   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.collect.FCollection.<init>(FCollection.java:90)
   at forge.game.card.CardCollection.<init>(CardCollection.java:115)
   at forge.game.card.CardLists.filter(CardLists.java:255)
   at forge.game.card.CardLists.getValidCards(CardLists.java:185)
   at forge.game.cost.CostSacrifice.canPay(CostSacrifice.java:93)
   at forge.game.cost.CostPayment.canPayAdditionalCosts(CostPayment.java:98)
   at forge.game.spellability.AbilityActivated.canPlay(AbilityActivated.java:117)
   at forge.game.spellability.SpellAbilityView.updateCanPlay(SpellAbilityView.java:57)
   at forge.game.spellability.SpellAbility.setActivatingPlayer(SpellAbility.java:304)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:678)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at forge.ai.ComputerUtilCombat.lifeInSeriousDanger(ComputerUtilCombat.java:454)
   at forge.ai.ComputerUtil.getCardPreference(ComputerUtil.java:345)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:264)
   at forge.ai.ComputerUtilCost.checkSacrificeCost(ComputerUtilCost.java:317)
   at forge.ai.ComputerUtil.canRegenerate(ComputerUtil.java:690)
   at forge.ai.ComputerUtilCombat.canDestroyBlockerBeforeFirstStrike(ComputerUtilCombat.java:1806)
   at forge.ai.ComputerUtilCombat.shieldDamage(ComputerUtilCombat.java:608)
   at forge.ai.ComputerUtilCombat.totalShieldDamage(ComputerUtilCombat.java:587)
   at forge.ai.ComputerUtilCombat.lifeThatWouldRemain(ComputerUtilCombat.java:290)
   at f
... (truncated)
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 solomonofisle » 23 Aug 2016, 16:15

Description: Quest mode. Typically visiting Shandalar or the First Limited Beta option. Finished battle. Received cards. Clicking the Great blue button on the left causes a NullPointerException. Bug usually seen about 10-15 matches into quest mode (I tend to have it customized for 20 to go up in rank starting with easy and taking 100 to switch to medium ai, can provide exact info if deemed relevant.) Record is currently 14-2. This was game 16. Will also dump the error if I click Challenges. Quests are set up as Easy Rank Increase 10 , Wins for Medium 100 Hard 150 Expert 200.

Versions: from krazyweb forge, forge-gui-desktop-1.5.56-SNAPSHOT-32024. Reproduced in the last 8 snapshots i've tried and last beta listed on the official drop post. To get rid of it I typically download the new snapshot and have to start a new quest. Then I'm good for another 10-15 matches and then every time I hit great the following error. Java version is the latest from Oracle.


NullPointerException | Open
Code: Select all
Forge Version:    1.5.56-SNAPSHOT-r32024
Operating System: Windows 10 10.0 x86
Java Version:     1.8.0_101 Oracle Corporation

java.lang.NullPointerException
   at forge.screens.home.quest.PnlEvent.<init>(PnlEvent.java:49)
   at forge.screens.home.quest.CSubmenuChallenges.update(CSubmenuChallenges.java:166)
   at forge.screens.match.QuestWinLose.actionOnQuit(QuestWinLose.java:74)
   at forge.screens.match.ControlWinLose$3.actionPerformed(ControlWinLose.java:54)
   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.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$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.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$JavaSecurityAccessImpl.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)
My apologies if this was posted incorrectly. First report.
solomonofisle
 
Posts: 5
Joined: 23 Aug 2016, 16:09
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby stormcat » 25 Aug 2016, 15:17

:r32030
Many spells fizzle in draft match.
stormcat
 
Posts: 361
Joined: 17 Jun 2015, 05:32
Has thanked: 0 time
Been thanked: 6 times

Re: Bug Reports (snapshot builds)

Postby Hanmac » 25 Aug 2016, 15:21

stormcat wrote::r32030
Many spells fizzle in draft match.
Can you try to Investigate that more?

What was on the field? What did you cast and what did you target?

Did that happen for normal play too?

(Was the target a morph? Because I thought I fixed that)
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby stormcat » 25 Aug 2016, 15:27

@Hanmac
Sample picture.
Please refer to "Log" in Attachment.
Attachments
capture_002_26082016_002450.jpg
stormcat
 
Posts: 361
Joined: 17 Jun 2015, 05:32
Has thanked: 0 time
Been thanked: 6 times

Re: Bug Reports (snapshot builds)

Postby stormcat » 25 Aug 2016, 15:34

I tried Standard game, result is same.
Targeting spells fizzle all.
stormcat
 
Posts: 361
Joined: 17 Jun 2015, 05:32
Has thanked: 0 time
Been thanked: 6 times

Re: Bug Reports (snapshot builds)

Postby Hanmac » 25 Aug 2016, 16:13

@stormcat okay i see the issue.

i can narrow it for only AI played cards/creatures.
they have the wrong state, i get "current-state" for them is Ai's hand while they are on the battlefield.

can someone help me to look over when this went wrong?

@stormcat, if you are using svn or different revisions, can you check also when this error did happen?

===
Edit:
@stormcat i found the rev which does break it.
getPumpedCreature needed a new id, while i did try it with the same one.
(probably an LKI copy might be better)

it should be fixed now.
i was wrong it is still broken, but i found the revision where it did work, and then not anymore.

Edit: now it should be fixed.
stupid bug!
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 27 Aug 2016, 09:27

COMPATIBILITY WARNING: As of r32033, a new version of Xyx's quest worlds has been merged to trunk. Because the quest world names and the names of some decks and deck files have changed, this may break compatibility with old World-based quest saves. If you experience a crash with an old quest save, you will have to delete it and start a new quest (or, alternatively, continue playing the old quest using the old version of the game [r32032 or lower]).

- Agetian
Agetian
Programmer
 
Posts: 3490
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby Thrint » 29 Aug 2016, 20:07

Working on an a quest world that's Innistrad (regular and shadows). Ran into this bug report while testing the following challenge.

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

NullPointerException | Open
Code: Select all
Forge Version:    1.5.56-SNAPSHOT-r32032
Operating System: Windows 8 6.2 x86
Java Version:     1.8.0_40 Oracle Corporation

java.lang.NullPointerException
   at forge.util.collect.FCollection.<init>(FCollection.java:90)
   at forge.game.card.CardCollection.<init>(CardCollection.java:115)
   at forge.game.ability.AbilityUtils.xCount(AbilityUtils.java:1555)
   at forge.game.ability.AbilityUtils.calculateAmount(AbilityUtils.java:396)
   at forge.ai.ability.CountersPutAi.doTriggerAINoCost(CountersPutAi.java:438)
   at forge.ai.SpellAbilityAi.doTriggerNoCostWithSubs(SpellAbilityAi.java:118)
   at forge.ai.SpellAbilityAi.doTriggerAI(SpellAbilityAi.java:113)
   at forge.ai.AiController.doTrigger(AiController.java:1378)
   at forge.ai.AiController.checkETBEffects(AiController.java:346)
   at forge.ai.AiController.canPlayFromEffectAI(AiController.java:1218)
   at forge.ai.AiController.canPlaySa(AiController.java:780)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:636)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1331)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1308)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1247)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:392)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:923)
   at forge.game.GameAction.startGame(GameAction.java:1463)
   at forge.game.Match.startGame(Match.java:95)
   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)
The challenge:

[quest]
id=10001
OpponentName=Liliana
AILife=30
Repeat=true
Wins=10
Card Reward=1 white rare, 1 black rare
Credit Reward=500
HumanExtras=Sigardian Priest|Avacynian Priest
AIExtras=TOKEN;B;2;2;Zombie;Creature|TOKEN;B;2;2;Zombie;Creature
[metadata]
Name=quest10001
Title=Liliana's Endless Zombies
Difficulty=hard
Description=Liliana has brought her hordes of zombies to play with the Priests of Avacyn and Sigarda. Can you keep them from multiplying?
Icon=Dungeon Crawling Black.jpg
Deck Type=constructed
[main]
4 Cryptbreaker|EMN
3 Diregraf Colossus|SOI
4 Gavony Unhallowed|EMN
3 Liliana's Elite|EMN
2 Noosegraf Mob|EMN
4 Unbreathing Horde|DDQ
4 Geralf's Messenger|DKA
4 Cemetery Recruitment|EMN
4 Endless Ranks of the Dead|ISD
4 Liliana, the Last Hope|EMN
24 Swamp|SOI
[sideboard]
[planes]
[schemes]
Thrint
 
Posts: 27
Joined: 06 May 2015, 18:43
Has thanked: 8 times
Been thanked: 2 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: Timothysow and 24 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 25 users online :: 1 registered, 0 hidden and 24 guests (based on users active over the past 10 minutes)
Most users ever online was 9824 on 10 Nov 2025, 04:33

Users browsing this forum: Timothysow and 24 guests

Login Form