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 Hanmac » 13 Jul 2016, 15:00
r31476:
Hm i noticed some bug in Serene Remembrance, AI seems be able to target from different Zones, totally ignoring "TargetsFromSingleZone$ True".
seems to be a general problem that need to be fixed in the AI or Game.
Hm i noticed some bug in Serene Remembrance, AI seems be able to target from different Zones, totally ignoring "TargetsFromSingleZone$ True".
seems to be a general problem that need to be fixed in the AI or Game.
Re: Bug Reports (snapshot builds)
by matrix4767 » 13 Jul 2016, 15:57
r31477:
Selfless Spirit is missing flying.
Selfless Spirit is missing flying.
- matrix4767
- Posts: 125
- Joined: 09 Sep 2014, 08:10
- Has thanked: 5 times
- Been thanked: 3 times
Re: Bug Reports (snapshot builds)
by stormcat » 13 Jul 2016, 20:17
:r31481
Ulrich, Uncontested Alpha
Trample have not been modified
Curious Homunculus
It transformed with no cards in graveyard on turn 3.
Ulrich, Uncontested Alpha
Trample have not been modified
Curious Homunculus
It transformed with no cards in graveyard on turn 3.
Re: Bug Reports (snapshot builds)
by stormcat » 13 Jul 2016, 20:48
:r31481
Vildin-Pack Outcast
His +1/-1 ability is missing.
And make him transformed, it will be 5/3.
Vildin-Pack Outcast
His +1/-1 ability is missing.
And make him transformed, it will be 5/3.
Re: Bug Reports (snapshot builds)
by stormcat » 13 Jul 2016, 21:40
:r31481
Ruthless Disposal is not Instant, Sorcery.
Ruthless Disposal is not Instant, Sorcery.
Re: Bug Reports (snapshot builds)
by Agetian » 14 Jul 2016, 04:38
This is definitely not purely AI-related, it's also possible for the human player to do the same. It looks like the choice window that is presented to the player (to select cards from graveyards) does not honor the TargetsFromSingleZone restriction at all. I'm not sure where the relevant code is though and how to best fix it... the targeting mechanism is kinda clunky as it is (it lists all cards in all graveyards without any division whatsoever).Hanmac wrote:r31476:
Hm i noticed some bug in Serene Remembrance, AI seems be able to target from different Zones, totally ignoring "TargetsFromSingleZone$ True".
seems to be a general problem that need to be fixed in the AI or Game.
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by Agetian » 14 Jul 2016, 04:40
These issues are fixed.matrix4767, stormcat wrote:Selfless Spirit is missing flying.
Ulrich, Uncontested Alpha
Trample have not been modified
Curious Homunculus
It transformed with no cards in graveyard on turn 3.
Vildin-Pack Outcast
His +1/-1 ability is missing.
And make him transformed, it will be 5/3.
Ruthless Disposal is not Instant, Sorcery.
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by Agetian » 14 Jul 2016, 06:12
In r31491, I attempted to fix this in the following way:Hanmac wrote:r31476:
Hm i noticed some bug in Serene Remembrance, AI seems be able to target from different Zones, totally ignoring "TargetsFromSingleZone$ True".
seems to be a general problem that need to be fixed in the AI or Game.
- For the human player, once the first target is chosen, the other targets are only listed from the same zone (e.g. from the same graveyard), other targets are not listed [we may need a better way of targeting in the future here, but it's not going to be easy to write, I think...].
- For the AI player, the illegally chosen targets are removed post-selection from the targeting list, so only the legal targets from one zone remain. This is suboptimal and is only done this way so the AI at least does not cheat. We need an AI expert to expand on this to make the AI choose targets sanely in the first place. That being said, I'm not sure if these cards are supposed to be AI-playable at the moment - for example, Serene Remembrance is not listed as RemAIDeck, but most cards that say "Exile up to X cards from a single graveyard" are listed as such... :/
- Agetian
Last edited by Agetian on 14 Jul 2016, 08:41, edited 2 times in total.
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by drmezmo » 14 Jul 2016, 06:48
Elesh Norn vs Karmic Guide leads to infinite loop
Forge Beta: 05-02-2016 ver 1.5.52
Mac OS X
Steps to Reproduce
1. Player 1 plays Elesh Norn, Grand Cenobite.
2. AI plays Karmic Guide.
3. Karmic Guide goes to graveyard on ETB because Elesh Norn
4. AI tries to replay Karmic Guide (although it has other legal options in its graveyard)
Result: Game gets stuck in infinite loop
Expected: AI either makes a different choice or declares a draw
Forge Beta: 05-02-2016 ver 1.5.52
Mac OS X
Steps to Reproduce
1. Player 1 plays Elesh Norn, Grand Cenobite.
2. AI plays Karmic Guide.
3. Karmic Guide goes to graveyard on ETB because Elesh Norn
4. AI tries to replay Karmic Guide (although it has other legal options in its graveyard)
Result: Game gets stuck in infinite loop
Expected: AI either makes a different choice or declares a draw
- drmezmo
- Posts: 1
- Joined: 14 Jul 2016, 06:39
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Hanmac » 14 Jul 2016, 07:01
r31491:
Life's Finale destroys all my creatures.
One of them was a Zulaport Cutthroat.
Zulaport Cutthroat does only trigger for itself,
the Trigger for the other creatures did not happen.
Life's Finale destroys all my creatures.
One of them was a Zulaport Cutthroat.
Zulaport Cutthroat does only trigger for itself,
the Trigger for the other creatures did not happen.
Re: Bug Reports (snapshot builds)
by Twainer » 16 Jul 2016, 05:00
Description: Cast Otherworldly Outburst on an opponents creature that died
- RuntimeException | Open
- Code: Select all
Forge Version: 1.5.54-SNAPSHOT-r31528
Operating System: Windows 10 10.0 x86
Java Version: 1.8.0_91 Oracle Corporation
java.lang.RuntimeException: AbilityFactory : getAbility -- no API in Otherworldly Outburst Effect:
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:106)
at forge.game.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:499)
at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:366)
at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:326)
at forge.game.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:290)
at forge.game.GameAction.checkStateEffects(GameAction.java:857)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:931)
at forge.game.GameAction.startGame(GameAction.java:1491)
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)
- Twainer
- Posts: 44
- Joined: 03 Jan 2010, 23:42
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Agetian » 16 Jul 2016, 05:44
Fixed (r31533).Twainer wrote:Description: Cast Otherworldly Outburst on an opponents creature that died
- RuntimeException | Open
- Code: Select all
Forge Version: 1.5.54-SNAPSHOT-r31528
Operating System: Windows 10 10.0 x86
Java Version: 1.8.0_91 Oracle Corporation
java.lang.RuntimeException: AbilityFactory : getAbility -- no API in Otherworldly Outburst Effect:
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:106)
at forge.game.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:499)
at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:366)
at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:326)
at forge.game.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:290)
at forge.game.GameAction.checkStateEffects(GameAction.java:857)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:931)
at forge.game.GameAction.startGame(GameAction.java:1491)
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)
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by Twainer » 16 Jul 2016, 06:02
Description: Opponent has a creature with Sticher's Graft equipped to it. I kill it with Alchemist's Greeting.
- RuntimeException | Open
- Code: Select all
Forge Version: 1.5.54-SNAPSHOT-r31528
Operating System: Windows 10 10.0 x86
Java Version: 1.8.0_91 Oracle Corporation
java.lang.RuntimeException: AbilityFactory : getAbility -- no Cost in Stitcher's Graft
at forge.game.ability.AbilityFactory.parseAbilityCost(AbilityFactory.java:121)
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:112)
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:108)
at forge.game.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:499)
at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:366)
at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:330)
at forge.game.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:290)
at forge.game.GameAction.checkStateEffects(GameAction.java:857)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:931)
at forge.game.GameAction.startGame(GameAction.java:1491)
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)
- Twainer
- Posts: 44
- Joined: 03 Jan 2010, 23:42
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Agetian » 16 Jul 2016, 06:31
Fixed (r31534), I think... for some reason, if the creature equipped with Stitcher's Graft dies due to something like Go for the Throat, the "sacrifice" ability triggers twice. If you just move the equipment, it only triggers once. Not sure why.Twainer wrote:Description: Opponent has a creature with Sticher's Graft equipped to it. I kill it with Alchemist's Greeting.
- RuntimeException | Open
- Code: Select all
Forge Version: 1.5.54-SNAPSHOT-r31528
Operating System: Windows 10 10.0 x86
Java Version: 1.8.0_91 Oracle Corporation
java.lang.RuntimeException: AbilityFactory : getAbility -- no Cost in Stitcher's Graft
at forge.game.ability.AbilityFactory.parseAbilityCost(AbilityFactory.java:121)
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:112)
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:108)
at forge.game.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:499)
at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:366)
at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:330)
at forge.game.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:290)
at forge.game.GameAction.checkStateEffects(GameAction.java:857)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:931)
at forge.game.GameAction.startGame(GameAction.java:1491)
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)
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Who is online
Users browsing this forum: No registered users and 40 guests