Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by Agetian » 10 Jul 2017, 18:53
Should now be fixed (r34692).Marek14 wrote:A bug with fight: I have Hero of Iroas and opponent has Cystbearer. I cast Dromoka's Command on Hero of Iroas to give it a +1/+1 counter (it gets another one from it's heroic trigger) and have it fight with Cystbearer. It should deal 4 damage but it only dealt 2.
Power of creatures must be found and stored before they start to fight.
- Agetian
- Agetian
- Programmer
- Posts: 3472
- Joined: 14 Mar 2011, 05:58
- Has thanked: 677 times
- Been thanked: 561 times
Re: Bug Reports (snapshot builds)
by fmartel » 13 Jul 2017, 05:24
Description: [passing turn to next AI]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.6.1-SNAPSHOT-r-34724
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_101 Oracle Corporation
java.lang.NullPointerException
at forge.game.card.Card.hasProperty(Card.java:5411)
at forge.game.card.Card.isValid(Card.java:3873)
at forge.game.GameObject.isValid(GameObject.java:27)
at forge.game.spellability.SpellAbility.canTarget(SpellAbility.java:969)
at forge.game.card.CardPredicates$7.apply(CardPredicates.java:99)
at forge.game.card.CardPredicates$7.apply(CardPredicates.java:96)
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:276)
at forge.game.card.CardLists.getTargetableCards(CardLists.java:230)
at forge.ai.ability.DestroyAi.canPlayAI(DestroyAi.java:102)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:32)
at forge.ai.AiController.canPlaySa(AiController.java:638)
at forge.ai.AiController.canPlayAndPayFor(AiController.java:622)
at forge.ai.AiController.chooseSpellAbilityToPlayFromList(AiController.java:1125)
at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1097)
at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1077)
at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:395)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:941)
at forge.game.GameAction.startGame(GameAction.java:1520)
at forge.game.Match.startGame(Match.java:100)
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)
- 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 Agetian » 13 Jul 2017, 06:21
Is it possible to get the battlefield state for this? Would most likely simplify understanding what's going on.fmartel wrote:Description: [passing turn to next AI]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.6.1-SNAPSHOT-r-34724
Operating System: Windows 7 6.1 amd64
Java Version: 1.8.0_101 Oracle Corporation
java.lang.NullPointerException
at forge.game.card.Card.hasProperty(Card.java:5411)
at forge.game.card.Card.isValid(Card.java:3873)
at forge.game.GameObject.isValid(GameObject.java:27)
at forge.game.spellability.SpellAbility.canTarget(SpellAbility.java:969)
at forge.game.card.CardPredicates$7.apply(CardPredicates.java:99)
at forge.game.card.CardPredicates$7.apply(CardPredicates.java:96)
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:276)
at forge.game.card.CardLists.getTargetableCards(CardLists.java:230)
at forge.ai.ability.DestroyAi.canPlayAI(DestroyAi.java:102)
at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:32)
at forge.ai.AiController.canPlaySa(AiController.java:638)
at forge.ai.AiController.canPlayAndPayFor(AiController.java:622)
at forge.ai.AiController.chooseSpellAbilityToPlayFromList(AiController.java:1125)
at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1097)
at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1077)
at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:395)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:941)
at forge.game.GameAction.startGame(GameAction.java:1520)
at forge.game.Match.startGame(Match.java:100)
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)
- Agetian
- Agetian
- Programmer
- Posts: 3472
- Joined: 14 Mar 2011, 05:58
- Has thanked: 677 times
- Been thanked: 561 times
Re: Bug Reports (snapshot builds)
by fiend123 » 14 Jul 2017, 09:28
Karn Liberated remembers the cards it exiles even through it has left the battlefield.
As shown in the attachment, Karn exiles the AI's Consecrated Sphinx and then gets returned to library via Commit. When I recast Karn Liberated and use his reset ability, it restarts the game with Consecrated Sphinx under my control when it should only start the game with permanents exiled by Karn after Karn is cast the second time.
As shown in the attachment, Karn exiles the AI's Consecrated Sphinx and then gets returned to library via Commit. When I recast Karn Liberated and use his reset ability, it restarts the game with Consecrated Sphinx under my control when it should only start the game with permanents exiled by Karn after Karn is cast the second time.
Re: Bug Reports (snapshot builds)
by tjtillman » 14 Jul 2017, 23:29
r34748
CPU will immediately tap any untapped zombies with Embalmer's Tools when the ideal strategy (except for if it would mill out completely) would be to tap zombies to mill at the end of CPU's opponent's turn (like pingers).
CPU will immediately tap any untapped zombies with Embalmer's Tools when the ideal strategy (except for if it would mill out completely) would be to tap zombies to mill at the end of CPU's opponent's turn (like pingers).
Re: Bug Reports (snapshot builds)
by tjtillman » 15 Jul 2017, 14:36
r34750
Torment of Venom does not force opponent to sacrifice a permanent "other" than the one targeted by Torment of Venom
Torment of Venom does not force opponent to sacrifice a permanent "other" than the one targeted by Torment of Venom
Re: Bug Reports (snapshot builds)
by Snoops2 » 16 Jul 2017, 12:29
r34773
Opening Forge and it crashes at 'Opening Main Window'. Note this only happens when I have Agetian's MTGDecksnet supported decks pack installed. If I don't use those decks it opens just fine.
Opening Forge and it crashes at 'Opening Main Window'. Note this only happens when I have Agetian's MTGDecksnet supported decks pack installed. If I don't use those decks it opens just fine.
- Attachments
-
- 2017-07-16-00.txt
- Bug report
- (2.72 KiB) Downloaded 169 times
Latest snapshot of Forge: https://downloads.cardforge.org/dailysnapshots/
Join our Discord: https://discord.com/invite/BdUCKepYHr
Join our Discord: https://discord.com/invite/BdUCKepYHr
Re: Bug Reports (snapshot builds)
by Agetian » 16 Jul 2017, 14:04
Most likely you have too many decks installed at the same time, at least for the Java memory limit that is currently defined. You can try either installing a subset of the decks pack at a time (which is what it was designed for - that's why you have all the subdivisions by sets, formats, etc.) or increasing the Java heap space to a bigger value by changing the -Xmx parameter (which will require basic knowledge of running a Java application from command line or shell script and will most likely also require having 64-bit Java).Snoops2 wrote:r34773
Opening Forge and it crashes at 'Opening Main Window'. Note this only happens when I have Agetian's MTGDecksnet supported decks pack installed. If I don't use those decks it opens just fine.
I suggest the first approach (only install a small subset of the decks at a time), since even if you increase the heap space and it does end up working for you, the loading times for Forge are most likely going to be intolerable even on a high-end machine.
- Agetian
- Agetian
- Programmer
- Posts: 3472
- Joined: 14 Mar 2011, 05:58
- Has thanked: 677 times
- Been thanked: 561 times
Re: Bug Reports (snapshot builds)
by Seravy » 18 Jul 2017, 12:02
34778
Rukh Egg died to my Drop of Honey but the opponent didn't get any token. I think the ability failed to trigger.
Rukh Egg died to my Drop of Honey but the opponent didn't get any token. I think the ability failed to trigger.
Re: Bug Reports (snapshot builds)
by stormcat » 19 Jul 2017, 14:25
:r34800
Bloodghast has haste in spite of all players have over 10 life.
Bloodghast has haste in spite of all players have over 10 life.
Re: Bug Reports (snapshot builds)
by tjtillman » 19 Jul 2017, 19:04
r34781
Noticing a pattern that seems to be sub-optimal play.
Whenever I exert Oketra's Avenger, the CPU seems to make blocking it a priority, even to the death of its high value creature. To the contrary, unless the CPU were about to die or had good profitable block, seems like it ought to prioritize not blocking the 3/1 that prevents combat damage to it. Not sure how easy this is to solve though. When I don't exert Oketra's Avenger it seems to treat it as it normally would depending on the situation.
Noticing a pattern that seems to be sub-optimal play.
Whenever I exert Oketra's Avenger, the CPU seems to make blocking it a priority, even to the death of its high value creature. To the contrary, unless the CPU were about to die or had good profitable block, seems like it ought to prioritize not blocking the 3/1 that prevents combat damage to it. Not sure how easy this is to solve though. When I don't exert Oketra's Avenger it seems to treat it as it normally would depending on the situation.
Re: Bug Reports (snapshot builds)
by tjtillman » 20 Jul 2017, 07:11
r34771
So I used Angel of Condemnation's exert ability to exile an opponent's creature (Aven of Enduring Hope) until AoC leaves the battlefield.
A couple turns later I used the first ability to "blink" an opponent's Zombie token on the opponent's end step.
However, at my end step the Aven of Enduring Hope then returned to the battlefield under the opponent's control. At no point had my Angel of Condemnation left the battlefield.
So I used Angel of Condemnation's exert ability to exile an opponent's creature (Aven of Enduring Hope) until AoC leaves the battlefield.
A couple turns later I used the first ability to "blink" an opponent's Zombie token on the opponent's end step.
However, at my end step the Aven of Enduring Hope then returned to the battlefield under the opponent's control. At no point had my Angel of Condemnation left the battlefield.
Re: Bug Reports (snapshot builds)
by Devilman06 » 20 Jul 2017, 15:31
forge-gui-desktop-1.6.1-SNAPSHOT-r34805
Sorin, Grim Nemesis 3rd ability used did nothing. based on life totals of highest player. uses the loyalty counters but no tokens
Sorin, Grim Nemesis 3rd ability used did nothing. based on life totals of highest player. uses the loyalty counters but no tokens
- Devilman06
- Posts: 127
- Joined: 29 Jan 2010, 03:59
- Has thanked: 1 time
- Been thanked: 2 times
Re: Bug Reports (snapshot builds)
by CJMagic2004 » 25 Jul 2017, 00:33
Odric, Lunarch Marshal doesn't give all of the said abilities to creatures that already have first strike.
- CJMagic2004
- Posts: 3
- Joined: 25 Jul 2017, 00:25
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by tjtillman » 25 Jul 2017, 06:18
r34817
When playing Desert's Hold, CPU doesn't seem to be enchanting the optimal creature. Not sure if this is an AI problem or an issue with whatever decisions the CPU uses to rank the threats.
As an example, on the board I had a River Hoopoe, Ramunap Excavator, Aven Reedstalker, and a Rampaging Hippo. CPU is at 13 life. On its turn, it chose to enchant the Aven Reedstalker with Desert's Hold instead Rampaging Hippo.
As another example, on the board I had a Feral Prowler, Rampaging Hippo, Striped Riverwinder, and Unesh, Criosphinx Sovereign. CPU is at 5 life. The CPU chose to enchant the Feral Prowler.
When playing Desert's Hold, CPU doesn't seem to be enchanting the optimal creature. Not sure if this is an AI problem or an issue with whatever decisions the CPU uses to rank the threats.
As an example, on the board I had a River Hoopoe, Ramunap Excavator, Aven Reedstalker, and a Rampaging Hippo. CPU is at 13 life. On its turn, it chose to enchant the Aven Reedstalker with Desert's Hold instead Rampaging Hippo.
As another example, on the board I had a Feral Prowler, Rampaging Hippo, Striped Riverwinder, and Unesh, Criosphinx Sovereign. CPU is at 5 life. The CPU chose to enchant the Feral Prowler.
Who is online
Users browsing this forum: No registered users and 63 guests