Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Agetian, friarsol, Blacksmith, KrazyTheFox, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by 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)
Re: Bug Reports (snapshot builds)
by 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.
(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.
Re: Bug Reports (snapshot builds)
by tjtillman » 20 Aug 2016, 20:01
r32016
Weirdness still happens with Kindly Stranger as seen before.
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:
Re: Bug Reports (snapshot builds)
by stormcat » 21 Aug 2016, 15:33
:r32019
Ring of Three Wishes has bug.
It enter the battlefield without 3 Wish counters.
Ring of Three Wishes has bug.
It enter the battlefield without 3 Wish counters.
Re: Bug Reports (snapshot builds)
by friarsol » 21 Aug 2016, 19:07
It works fine for me. Got any more details?stormcat wrote::r32019
Ring of Three Wishes has bug.
It enter the battlefield without 3 Wish counters.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by 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.
I tried again, this time was successful.
There seems to be condition.
Situation is Commander game, and when I cast it.
Re: Bug Reports (snapshot builds)
by 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)
by 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.
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)
- solomonofisle
- Posts: 5
- Joined: 23 Aug 2016, 16:09
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by stormcat » 25 Aug 2016, 15:17
:r32030
Many spells fizzle in draft match.
Many spells fizzle in draft match.
Re: Bug Reports (snapshot builds)
by Hanmac » 25 Aug 2016, 15:21
Can you try to Investigate that more?stormcat wrote::r32030
Many spells fizzle in draft match.
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)
Re: Bug Reports (snapshot builds)
by stormcat » 25 Aug 2016, 15:27
@Hanmac
Sample picture.
Please refer to "Log" in Attachment.
Sample picture.
Please refer to "Log" in Attachment.
Re: Bug Reports (snapshot builds)
by stormcat » 25 Aug 2016, 15:34
I tried Standard game, result is same.
Targeting spells fizzle all.
Targeting spells fizzle all.
Re: Bug Reports (snapshot builds)
by 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!
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)
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!
Re: Bug Reports (snapshot builds)
by 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
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by 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]
[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]
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)
[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]
Who is online
Users browsing this forum: No registered users and 31 guests