Page 8 of 8

Re: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 26 Jan 2017, 09:13
by Agetian
Xyx wrote:Now I wish I had taken a screenshot. Just a few hours ago I was staring at an AI with half a dozen creatures versus my nothing, with two copies of Armageddon in its hand that it wouldn't cast for like 10 turns. I cheated my life to 100 to give it time to play out the other cards in its hand and I even played out more lands than it had hoping that "human has more lands" would trigger the 'geddon. Nothing.
This is probably too silly to ask, but just to be on the safe side... it doesn't matter which expansion the Armageddon or Natural Order card is from, right? I'm working on a Portal quest world now, so I'm only trying Portal cards. (But Limited Edition Beta Stone Rain didn't work for me either back then.)
Nope, it shouldn't matter which expansion the card is coming from. Hmm, I don't know the exact conditions, if I have some time in the nearest future I'll try to debug it and see when it decides it's willing to cast it. :/ But it definitely does cast it at least at some point. :)

EDIT: Ok, took a look at the code, it definitely does evaluate permanents on both sides of the battlefield before taking action - if the thing affects creatures (Wrath of God) it'll try to roughly evaluate the total value of creatures on each side of the battlefield and then WoG if the opponent has more valuable stuff, and if the thing affects something else (Nevinyrral's Disk) then it generally evaluates permanents using a similar (but different) routine and activates it only if the opponent's permanent list is more valuable.

There was a bug in logic which dealt with land destruction which incorrectly evaluated the battlefield position, I fixed it and now the AI should also destroy lands with Armageddon more correctly if it has better permanents than the opponent does (which was the originally intended behavior, it seems).

- Agetian

Re: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 26 Jan 2017, 12:22
by gos
. Yahenni's Expertise is forcing me to play Ruinous Path (I had 2 in my hand). I choose the Ruinous Path as a valid spell and then decline to play it, but I'm forced to pick a valid spell again and again until I choose to play it.

Re: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 26 Jan 2017, 16:44
by Agetian
gos wrote:. Yahenni's Expertise is forcing me to play Ruinous Path (I had 2 in my hand). I choose the Ruinous Path as a valid spell and then decline to play it, but I'm forced to pick a valid spell again and again until I choose to play it.
This has been fixed upstream. Thanks! :)

- Agetian

Re: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 26 Jan 2017, 17:37
by Turbomoose
Midnight Entourage doesn't trigger itself when it dies.

Re: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 26 Jan 2017, 18:49
by Agetian
Turbomoose wrote:Midnight Entourage doesn't trigger itself when it dies.
This has been fixed upstream. Thanks! :)

- Agetian

Re: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 26 Jan 2017, 22:03
by Turbomoose
Description: Casting Maulfist Revolutionary. Screenshot attached.
ClassCastException | Open
Code: Select all
Forge Version:    1.5.58-r-1
Operating System: Windows 10 10.0 amd64
Java Version:     1.8.0_111 Oracle Corporation

java.lang.ClassCastException: forge.game.card.Card cannot be cast to forge.game.player.Player
   at forge.game.ability.effects.CountersPutEffect.resolve(CountersPutEffect.java:138)
   at forge.game.spellability.AbilitySub.resolve(AbilitySub.java:119)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1290)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1271)
   at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:169)
   at forge.player.HumanPlay.playSpellAbilityNoStack(HumanPlay.java:230)
   at forge.player.PlayerControllerHuman.playSpellAbilityNoStack(PlayerControllerHuman.java:243)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:470)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1290)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1271)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:514)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:981)
   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: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 27 Jan 2017, 04:27
by Agetian
Turbomoose wrote:Description: Casting Maulfist Revolutionary. Screenshot attached.
ClassCastException | Open
Code: Select all
Forge Version:    1.5.58-r-1
Operating System: Windows 10 10.0 amd64
Java Version:     1.8.0_111 Oracle Corporation

java.lang.ClassCastException: forge.game.card.Card cannot be cast to forge.game.player.Player
   at forge.game.ability.effects.CountersPutEffect.resolve(CountersPutEffect.java:138)
   at forge.game.spellability.AbilitySub.resolve(AbilitySub.java:119)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1290)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1271)
   at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:169)
   at forge.player.HumanPlay.playSpellAbilityNoStack(HumanPlay.java:230)
   at forge.player.PlayerControllerHuman.playSpellAbilityNoStack(PlayerControllerHuman.java:243)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:470)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1290)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1271)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:514)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:981)
   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)
This is already fixed upstream. Thanks for reporting! :)

- Agetian

Re: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 27 Jan 2017, 16:38
by Turbomoose
Description: Sacrificing Servo Schematic

RuntimeException | Open
Code: Select all
Forge Version:    1.5.58-r-1
Operating System: Windows 10 10.0 amd64
Java Version:     1.8.0_111 Oracle Corporation

java.lang.RuntimeException: AbilityFactory : getAbility -- Servo Schematic has no SVar: TrigDraw
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:137)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:131)
   at forge.game.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:553)
   at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:416)
   at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:358)
   at forge.game.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:307)
   at forge.game.zone.MagicStack.unfreezeStack(MagicStack.java:163)
   at forge.game.zone.MagicStack.finishResolving(MagicStack.java:543)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:521)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:981)
   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: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 27 Jan 2017, 17:02
by Turbomoose
Sly Requisitioner doesn't produce 1/1 tokens. screenshot with log included (sacrificed Prophetic Prism)

Re: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 27 Jan 2017, 23:50
by Mrs Non-Gorilla
I'm consistently getting a stack overflow error when I load one specific partially-complete gauntlet file:

StackOverflowError | Open
Code: Select all
Forge Version:    1.5.58-r-1
Operating System: Mac OS X 10.10.5 x86_64
Java Version:     1.8.0_31 Oracle Corporation

java.lang.StackOverflowError
   at forge.game.spellability.SpellAbilityRestriction.<init>(SpellAbilityRestriction.java:62)
   at forge.game.spellability.SpellAbility.<init>(SpellAbility.java:116)
   at forge.game.spellability.SpellAbility.<init>(SpellAbility.java:175)
   at forge.game.spellability.AbilitySub.<init>(AbilitySub.java:85)
   at forge.game.ability.AbilityFactory$AbilityRecordType.buildSpellAbility(AbilityFactory.java:73)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:182)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:
... (truncated)
The forum won't let me upload gauntlet files, so you can find this one here: https://drive.google.com/file/d/0B7aXyi ... sp=sharing

Nothing of interest shows up in the log before the error message. The deck I'm using is this one:

Deck | Open
[metadata]
Name=Burning Vigor
[general]
Constructed
[main]
3 Wooded Foothills
4 Damnation
4 Cinderhaze Wretch
4 Vigor
4 Verdant Catacombs
4 Go for the Throat
4 Overgrown Tomb
2 Blood Crypt
4 Farseek
4 Stomping Ground
4 Diabolic Tutor
4 Sakura-Tribe Elder
4 Nature's Lore
4 Burning Anger
3 Forest
2 Mountain
2 Swamp
[sideboard]


I don't know what deck I'm playing against; I generated the gauntlet at random.

Re: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 28 Jan 2017, 23:36
by Turbomoose
Description: Cancel casting a spell when paying with two signets
RuntimeException | Open
Code: Select all
Forge Version:    1.5.58-r-1
Operating System: Windows 8.1 6.3 x86
Java Version:     1.8.0_31 Oracle Corporation

java.lang.RuntimeException: Cannot remove input InputPayManaOfCostPayment because it's not on top of stack. Stack = []
   at forge.match.input.InputQueue.removeInput(InputQueue.java:57)
   at forge.match.input.InputSyncronizedBase.stop(InputSyncronizedBase.java:51)
   at forge.match.input.InputPayMana.onStateChanged(InputPayMana.java:438)
   at forge.match.input.InputPayMana.showMessage(InputPayMana.java:432)
   at forge.match.input.InputBase.showMessageInitial(InputBase.java:75)
   at forge.match.input.InputProxy$1.run(InputProxy.java:73)
   at java.awt.event.InvocationEvent.dispatch(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$1.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)

Re: Forge Beta Release: 01-13-2017 ver 1.5.58

PostPosted: 29 Jan 2017, 00:03
by Turbomoose
Legend rule isn't respected with Saheeli copies if it is copied when it is a creature.

steps to reproduce:
have a 3/X, saheeli, and skyship in play
use the creature to activate skyship
target skyship with saheeli