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 goonjamin » 21 Mar 2015, 16:02
r29116
1. Background music still plays when forge is minimized.
2. In Quest mode the AI Player portrait for the 1st match is a random image instead of the selected opponent image. The 2nd and 3rd match the correct portrait is displayed.
1. Background music still plays when forge is minimized.
2. In Quest mode the AI Player portrait for the 1st match is a random image instead of the selected opponent image. The 2nd and 3rd match the correct portrait is displayed.
Re: Bug Reports (snapshot builds)
by bevryde » 21 Mar 2015, 16:32
Oh sorry, I see it's a bit unclear. What I wanted to say is: With these settings it happens, that Player 1 does not get a Random User Deck (which I want to play), but a random color deck.elcnesh wrote:I'm not sure what you mean here... You mention some settings, but what's the unexpected behaviour, exactly?bevryde wrote:As I reported a few versions before, and it happens in PC and Android version:
- Constructed match
Player 1: Human, Deck = "Random User Deck"
Player 2: AI, Deck = Random Color Deck (Random 1 + Random 2)
Also Player 1 gets a random color deck sometimes.
Re: Bug Reports (snapshot builds)
by friarsol » 21 Mar 2015, 16:52
Yea I noticed that last night, I'll see if I have some time to look at it later. Seems like an issue with Triggers, not one with Exploit itself.matrix4767 wrote:-r29115
A creature exploiting itself doesn't seem to trigger when according to rulings, it should. Tested with Qarsi Sadist and Minister of Pain.
- 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 friarsol » 21 Mar 2015, 17:11
r29116
Aven Soulgazer is very awkward in it's current state. When "looking at" a face down card, you are only shown it in it's morphed state in the popup, which kinda defeats the purpose. It looks like the flip icon is displayed on the card detail panel, but since there's an active popup you have no way to click to look at the front. If you have the CardPicture panel active (which by default I do not), it looks like it'll show you the real picture of what's behind there. And in my case, since the popup is active, I can't actually toggle the picture forward.
This was a very confusing state to be in.
Aven Soulgazer is very awkward in it's current state. When "looking at" a face down card, you are only shown it in it's morphed state in the popup, which kinda defeats the purpose. It looks like the flip icon is displayed on the card detail panel, but since there's an active popup you have no way to click to look at the front. If you have the CardPicture panel active (which by default I do not), it looks like it'll show you the real picture of what's behind there. And in my case, since the popup is active, I can't actually toggle the picture forward.
This was a very confusing state to be in.
- 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 matrix4767 » 21 Mar 2015, 18:26
r29117:
AI casts Profaner of the Dead, but crashes the game.
AI casts Profaner of the Dead, but crashes the game.
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.38-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version: 1.8.0_25 Oracle Corporation
java.lang.NullPointerException
at forge.game.card.Card.getTriggeringObject(Card.java:758)
at forge.game.card.CardFactoryUtil.xCount(CardFactoryUtil.java:1103)
at forge.game.card.Card.hasProperty(Card.java:4827)
at forge.game.card.Card.isValid(Card.java:3555)
at forge.game.GameObject.isValid(GameObject.java:26)
at forge.game.card.CardPredicates$13.apply(CardPredicates.java:151)
at forge.game.card.CardPredicates$13.apply(CardPredicates.java:148)
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.FCollection.<init>(FCollection.java:38)
at forge.game.card.CardCollection.<init>(CardCollection.java:63)
at forge.game.card.CardLists.filter(CardLists.java:229)
at forge.game.card.CardLists.getValidCards(CardLists.java:169)
at forge.game.ability.AbilityUtils.filterListByType(AbilityUtils.java:786)
at forge.ai.ability.ChangeZoneAllAi.doTriggerAINoCost(ChangeZoneAllAi.java:204)
at forge.ai.SpellAbilityAi.doTriggerNoCostWithSubs(SpellAbilityAi.java:42)
at forge.ai.SpellAbilityAi.doTriggerAI(SpellAbilityAi.java:37)
at forge.ai.ComputerUtil.choosePermanentsToSacrifice(ComputerUtil.java:530)
at forge.ai.PlayerControllerAi.choosePermanentsToSacrifice(PlayerControllerAi.java:129)
at forge.game.ability.effects.SacrificeEffect.resolve(SacrificeEffect.java:94)
at forge.game.spellability.AbilitySub.resolve(AbilitySub.java:119)
at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1234)
at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1216)
at forge.ai.ComputerUtil.playNoStack(ComputerUtil.java:254)
at forge.ai.PlayerControllerAi.playSpellAbilityNoStack(PlayerControllerAi.java:311)
at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:412)
at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1234)
at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1216)
at forge.game.zone.MagicStack.resolveStack(MagicStack.java:482)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:972)
at forge.game.GameAction.startGame(GameAction.java:1390)
at forge.game.Match.startGame(Match.java:96)
at forge.match.HostedMatch$2.run(HostedMatch.java:227)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- matrix4767
- Posts: 125
- Joined: 09 Sep 2014, 08:10
- Has thanked: 5 times
- Been thanked: 3 times
Re: Bug Reports (snapshot builds)
by friarsol » 21 Mar 2015, 21:15
r29118
Is there issues with draft right now? I just ran a DTK/DTK/FTF draft. Built my deck, and selected to play against one opponent. The load new game overlay is on, and behind I can see the "I won the coin toss" input dialog, no error messages. If I click on the little X in the top right, the overlay disappears, and I can (seemingly) continue playing with no issues, but.. that really shouldn't happen like that. After sideboarding this didn't happen, and it seems to have gone away. Not sure what exactly caused that.
Is there issues with draft right now? I just ran a DTK/DTK/FTF draft. Built my deck, and selected to play against one opponent. The load new game overlay is on, and behind I can see the "I won the coin toss" input dialog, no error messages. If I click on the little X in the top right, the overlay disappears, and I can (seemingly) continue playing with no issues, but.. that really shouldn't happen like that. After sideboarding this didn't happen, and it seems to have gone away. Not sure what exactly caused that.
- 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 matrix4767 » 22 Mar 2015, 08:31
r29119:
AI flips up Monastery Loremaster and crashes the game. He had Taigam's Strike in his graveyard:
When Gurmag Drowner exploits a creature, a box says there are no valid cards and dumps all 4 in the graveyard.
AI flips up Monastery Loremaster and crashes the game. He had Taigam's Strike in his graveyard:
- RuntimeException | Open
- Code: Select all
Forge Version: 1.5.38-SNAPSHOT-r-1u
Operating System: Windows XP 5.1 x86
Java Version: 1.8.0_25 Oracle Corporation
java.lang.RuntimeException: AbilityFactory : getAbility -- no API in Monastery Loremaster:
at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:106)
at forge.game.trigger.TriggerHandler.runSingleTrigger(TriggerHandler.java:460)
at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:340)
at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:313)
at forge.game.trigger.TriggerHandler.runTrigger(TriggerHandler.java:250)
at forge.game.card.Card.turnFaceUp(Card.java:514)
at forge.game.card.Card.turnFaceUp(Card.java:489)
at forge.game.card.CardFactoryUtil$2.resolve(CardFactoryUtil.java:139)
at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1209)
at forge.game.zone.MagicStack.add(MagicStack.java:259)
at forge.game.zone.MagicStack.addAndUnfreeze(MagicStack.java:149)
at forge.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:97)
at forge.ai.PlayerControllerAi.playChosenSpellAbility(PlayerControllerAi.java:404)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:926)
at forge.game.GameAction.startGame(GameAction.java:1390)
at forge.game.Match.startGame(Match.java:96)
at forge.match.HostedMatch$2.run(HostedMatch.java:227)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
When Gurmag Drowner exploits a creature, a box says there are no valid cards and dumps all 4 in the graveyard.
- matrix4767
- Posts: 125
- Joined: 09 Sep 2014, 08:10
- Has thanked: 5 times
- Been thanked: 3 times
Re: Bug Reports (snapshot builds)
by ZappaZ » 22 Mar 2015, 13:17
r29120
This is a tiny issue thats been bugging me lately, when I move cards around in the "Hand" field the positions only save until
1. I click on a card and is asked to pay mana
2. My drawstep comes
3. I play a land.
Example:
This is my starting hand:
I usually sort my hand like this(mana/rising manacost)
Then it's my turn to start the game and in mainphase 1 I play a land
Notice the similarity to my starting hand.
The card positions used to save the whole game but stopped around r29026
This is a tiny issue thats been bugging me lately, when I move cards around in the "Hand" field the positions only save until
1. I click on a card and is asked to pay mana
2. My drawstep comes
3. I play a land.
Example:
This is my starting hand:
I usually sort my hand like this(mana/rising manacost)
Then it's my turn to start the game and in mainphase 1 I play a land
Notice the similarity to my starting hand.
The card positions used to save the whole game but stopped around r29026
Re: Bug Reports (snapshot builds)
by drdev » 22 Mar 2015, 17:14
I think I broke this when I was fixing the issue where mulligans would result in face down cards. I can work out a fix.ZappaZ wrote:r29120
This is a tiny issue thats been bugging me lately, when I move cards around in the "Hand" field the positions only save until
...
The card positions used to save the whole game but stopped around r29026
EDIT: Fixed in r29127.
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by friarsol » 22 Mar 2015, 23:14
Ok, I have a fix for this on my machine. Need to do a lot more testing, to make sure it doesn't break any other triggers. Looks like it might have fixed the issue that was reported in the main thread with Stormfront Riders bouncing itself.friarsol wrote:Yea I noticed that last night, I'll see if I have some time to look at it later. Seems like an issue with Triggers, not one with Exploit itself.matrix4767 wrote:-r29115
A creature exploiting itself doesn't seem to trigger when according to rulings, it should. Tested with Qarsi Sadist and Minister of Pain.
- 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 Twainer » 23 Mar 2015, 08:58
A few DTK bugs in the 1.5.38 snapshot 2
Volcanic Vision - Cast on Oujitai's Summons, the card returns to my hand but the opponents creatures take no damage. Just looks like a small typo on the SVar:DBDamaga:DB$ DamageAll line.
Mirror Mockery - I cast on my opponent's creature and when they go to attack I get this crash
Volcanic Vision - Cast on Oujitai's Summons, the card returns to my hand but the opponents creatures take no damage. Just looks like a small typo on the SVar:DBDamaga:DB$ DamageAll line.
Mirror Mockery - I cast on my opponent's creature and when they go to attack I get this crash
- RuntimeException | Open
- Code: Select all
Forge Version: 1.5.38-SNAPSHOT-r-1
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_67 Oracle Corporation
java.lang.RuntimeException: AbilityFactory : getAbility -- no Cost in Mirror Mockery
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:460)
at forge.game.trigger.TriggerHandler.runNonStaticTriggersForPlayer(TriggerHandler.java:340)
at forge.game.trigger.TriggerHandler.runWaitingTrigger(TriggerHandler.java:317)
at forge.game.trigger.TriggerHandler.runWaitingTriggers(TriggerHandler.java:277)
at forge.game.zone.MagicStack.unfreezeStack(MagicStack.java:162)
at forge.game.phase.PhaseHandler.onPhaseBegin(PhaseHandler.java:270)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:969)
at forge.game.GameAction.startGame(GameAction.java:1390)
at forge.game.Match.startGame(Match.java:96)
at forge.match.HostedMatch$2.run(HostedMatch.java:227)
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 Midori » 23 Mar 2015, 14:43
1.5.38-SNAPSHOT-r29135
Living Lore does not forget the remembered card after casting it. You can reproduce this by casting Cruel Ultimatum by sacrificing Living Lore. When you cast said Living Lore again (you can just return it to your hand with Cruel Ultimatum) and exile another spell, both spells are remembered, as seen in the attachment. (it is also only 7/7 but shouldnt it be 17/17?)
Living Lore does not forget the remembered card after casting it. You can reproduce this by casting Cruel Ultimatum by sacrificing Living Lore. When you cast said Living Lore again (you can just return it to your hand with Cruel Ultimatum) and exile another spell, both spells are remembered, as seen in the attachment. (it is also only 7/7 but shouldnt it be 17/17?)
Re: Bug Reports (snapshot builds)
by drdev » 23 Mar 2015, 16:16
Actually, the bug there is that the first spell is still remembered. Only the most recent spell exiled by Living Lore should be remembered and thus determine its P/T. They won't add.Midori wrote:1.5.38-SNAPSHOT-r29135
Living Lore does not forget the remembered card after casting it. You can reproduce this by casting Cruel Ultimatum by sacrificing Living Lore. When you cast said Living Lore again (you can just return it to your hand with Cruel Ultimatum) and exile another spell, both spells are remembered, as seen in the attachment. (it is also only 7/7 but shouldnt it be 17/17?)
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by Midori » 23 Mar 2015, 23:28
This is what i said or at least what i tried to say.drdev wrote:Actually, the bug there is that the first spell is still remembered.
Currently this situation is not reproduceable with real cards, so i wondered if the CMC would add. Wizards would probably errata the card like Duplicant if it ever becomes possible.drdev wrote:Only the most recent spell exiled by Living Lore should be remembered and thus determine its P/T. They won't add.
Anyway about that issue. I think the easiest way to resolve this, is to clear all cards remembered by Living Lore before it remembers a new card, since it is basically not possible for Living Lore to remember more then 1 card at a time (Strionic Resonator doesnt works on this one). This way the card becomes as close to the real card as possible. Not sure how the remembered card issue will affect the card in other zones tho.
Re: Bug Reports (snapshot builds)
by friarsol » 24 Mar 2015, 04:06
I'm pretty sure this issue has nothing to do with Living Lore specifically. Cards just need to have what they remember reset when they change zones (except possibly Stack -> Battlefield). It used to work that way, I don't know when that stopped happening.Midori wrote:Anyway about that issue. I think the easiest way to resolve this, is to clear all cards remembered by Living Lore before it remembers a new card, since it is basically not possible for Living Lore to remember more then 1 card at a time (Strionic Resonator doesnt works on this one). This way the card becomes as close to the real card as possible. Not sure how the remembered card issue will affect the card in other zones tho.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Who is online
Users browsing this forum: No registered users and 32 guests