It is currently 18 Sep 2025, 20:47
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Bug Reports (snapshot builds)

Postby friarsol » 05 Jun 2015, 12:25

KrazyTheFox wrote:To expand in a different way to what was here before, if you used Sundial of the Infinite before your end step, the trigger to sacrifice an Arc Runner would happen at the beginning of the next end step that would occur (even your opponent's). If you use it in response to the trigger that causes you to sacrifice the Arc Runner, you would keep the Arc Runner indefinitely.
Arc Runner is a bad example, since the card has just a plain End Step trigger that says "sacrifice me", a better example are flicker effects that return the creature at EOT like Astral Slide.

But yes, the above info is right, if you don't actually have one of those steps, you haven't had a "next one" of those steps yet.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby KrazyTheFox » 05 Jun 2015, 13:32

friarsol wrote:
KrazyTheFox wrote:To expand in a different way to what was here before, if you used Sundial of the Infinite before your end step, the trigger to sacrifice an Arc Runner would happen at the beginning of the next end step that would occur (even your opponent's). If you use it in response to the trigger that causes you to sacrifice the Arc Runner, you would keep the Arc Runner indefinitely.
Arc Runner is a bad example, since the card has just a plain End Step trigger that says "sacrifice me", a better example are flicker effects that return the creature at EOT like Astral Slide.

But yes, the above info is right, if you don't actually have one of those steps, you haven't had a "next one" of those steps yet.
Ah, yes, you're correct. I was writing from memory on my phone and could've sworn it had "at the beginning of the next end step" in its text. I've changed my previous example to use a card with the correct trigger.

Relevant rule, now that I'm back at a computer:
Code: Select all
614.10a Anything scheduled for a skipped step, phase, or turn won’t happen. Anything scheduled for the “next” occurrence of something waits for the first occurrence that isn’t skipped. If two effects each cause a player to skip his or her next occurrence, that player must skip the next two; one effect will be satisfied in skipping the first occurrence, while the other will remain until another occurrence can be skipped.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Bug Reports (snapshot builds)

Postby SuperSalad » 05 Jun 2015, 20:02

I haven't been able to get any targeting arrows to show up at all in builds 1.5.38, 1.5.39, and I most recently tried snapshot r29751. Is there something I'm doing wrong here?

I'm running Windows 8.1

I complete delete the forge AppData/Local/Forge and AppData/Roaming/Forge folders before opening each build to make sure no settings from other builds are interfering, I'll open forge.exe keeping all the default launch settings, and every time I never get a single targeting arrow. It's quite frustrating and I'm not sure how many versions I need to go back before finding one that the targeting arrows will work again.

Screenshot from r29751:
[Nevermind it won't let me post images as a new user, attached the file instead]

EDIT:
I was able to resolve this issue by downloading and launching version 1.5.33 of this game. Then after launching that version, and going back to the newest snap shot (r29751) the targeting arrows remained and worked without issue. It appears the arrow art assets aren't being generated by the latest versions of the program (1.5.38+ at least), and has gone unnoticed because most people already have the assets from previous versions.
Attachments
forgebug.png
Targetting/blocking arrows not displaying for anything.
SuperSalad
 
Posts: 1
Joined: 05 Jun 2015, 19:51
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby fmartel » 05 Jun 2015, 23:33

Description: [played a "path to exile" on "ghalma's warden" before AI DB]

ConcurrentModificationException | Open
Code: Select all
Forge Version:    1.5.41-SNAPSHOT-r-1u
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_45 Oracle Corporation

java.util.ConcurrentModificationException
   at java.util.HashMap$HashIterator.nextNode(Unknown Source)
   at java.util.HashMap$KeyIterator.next(Unknown Source)
   at java.util.AbstractCollection.addAll(Unknown Source)
   at java.util.HashSet.<init>(Unknown Source)
   at forge.game.combat.CombatView.getAttackers(CombatView.java:59)
   at forge.screens.match.TargetingOverlay.addArcsForCard(TargetingOverlay.java:279)
   at forge.screens.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:160)
   at forge.screens.match.TargetingOverlay.access$700(TargetingOverlay.java:57)
   at forge.screens.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:389)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintToOffscreen(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
   at javax.swing.RepaintManager.paint(Unknown Source)
   at javax.swing.JComponent._paintImmediately(Unknown Source)
   at javax.swing.JComponent.paintImmediately(Unknown Source)
   at javax.swing.RepaintManager$4.run(Unknown Source)
   at javax.swing.RepaintManager$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.access$1300(Unknown Source)
   at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
   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)
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)

Postby KrazyTheFox » 06 Jun 2015, 03:34

Equipped a creature with Trepanation Blade, opponent cast Condemn on it when I attacked. The following occurred when Trepanation Blade's ability tried to resolve.

NullPointerException | Open
Code: Select all
Forge Version:    1.5.40-r-1
Operating System: Windows 8.1 6.3 amd64
Java Version:     1.8.0_40-ea Oracle Corporation

java.lang.NullPointerException
   at forge.game.ability.effects.DigUntilEffect.resolve(DigUntilEffect.java:117)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1236)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1218)
   at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:140)
   at forge.player.HumanPlay.playSpellAbilityNoStack(HumanPlay.java:224)
   at forge.player.PlayerControllerHuman.playSpellAbilityNoStack(PlayerControllerHuman.java:237)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:412)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1236)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1218)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:484)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:972)
   at forge.game.GameAction.startGame(GameAction.java:1402)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.java:219)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Bug Reports (snapshot builds)

Postby Marek14 » 06 Jun 2015, 15:24

Ceaseless Searblades doesn't trigger when I pay mana for something with Smokebraider.
Marek14
Tester
 
Posts: 2773
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 303 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 06 Jun 2015, 16:07

KrazyTheFox wrote:Equipped a creature with Trepanation Blade, opponent cast Condemn on it when I attacked. The following occurred when Trepanation Blade's ability tried to resolve.

NullPointerException | Open
Code: Select all
Forge Version:    1.5.40-r-1
Operating System: Windows 8.1 6.3 amd64
Java Version:     1.8.0_40-ea Oracle Corporation

java.lang.NullPointerException
   at forge.game.ability.effects.DigUntilEffect.resolve(DigUntilEffect.java:117)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1236)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1218)
   at forge.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:140)
   at forge.player.HumanPlay.playSpellAbilityNoStack(HumanPlay.java:224)
   at forge.player.PlayerControllerHuman.playSpellAbilityNoStack(PlayerControllerHuman.java:237)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:412)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1236)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1218)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:484)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:972)
   at forge.game.GameAction.startGame(GameAction.java:1402)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.java:219)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Fixed in r29578.

Marek14 wrote:Ceaseless Searblades doesn't trigger when I pay mana for something with Smokebraider.
I figured out where exactly the problem manifests itself but I'm not sure how to properly fix it - the issue here is that Smokebraider's ability is a mana ability that doesn't use the stack and mana abilities pass through at MagicStack.java:226 in the "add" method, without adding the AbilityCast trigger. Provided that this ability should (according to the rules) cause Ceaseless Searblades to trigger, then something has to be done to make mana abilities generate ability triggers. So far I was unsuccessful in getting it to work, advice and help is welcome.

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby drdev » 06 Jun 2015, 16:45

So I'm noticing that when a player joins or leaves the room, the hosting player doesn't receive either the login or logout message. Any ideas why?
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Gilgamesh73 » 07 Jun 2015, 21:40

Forge Version: 1.5.40-r-1
Beta
"out of memory error"

This occurs every time i continuously play matches without closing the application. I have played at least 10 games before it happens, and have all picture contents downloaded. After reopening it doesn't subside completely and still slows down after 3-5 matches.

please see attached screen shots for log while bug occurs and the java trace stack.
Attachments
forge glitch.png
forge glitch 2.png
Gilgamesh73
 
Posts: 1
Joined: 07 Jun 2015, 21:17
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby ilbax » 08 Jun 2015, 01:50

Description: crash after tapping Clockwork Avian (with 4 +1/+0 counters) using Relic Barrier

NullPointerException | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_75 Oracle Corporation

java.lang.NullPointerException
   at forge.ai.ability.CountersPutAi.canPlayAI(CountersPutAi.java:210)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
   at forge.ai.AiController.canPlaySa(AiController.java:612)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:599)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1188)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1165)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1107)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:388)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:917)
   at forge.game.GameAction.startGame(GameAction.java:1390)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.java:223)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
ilbax
 
Posts: 1
Joined: 08 Jun 2015, 01:40
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby Agetian » 08 Jun 2015, 05:05

ilbax wrote:Description: crash after tapping Clockwork Avian (with 4 +1/+0 counters) using Relic Barrier

NullPointerException | Open
Code: Select all
Forge Version:    1.5.37-SNAPSHOT-r-1
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_75 Oracle Corporation

java.lang.NullPointerException
   at forge.ai.ability.CountersPutAi.canPlayAI(CountersPutAi.java:210)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
   at forge.ai.AiController.canPlaySa(AiController.java:612)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:599)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1188)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1165)
   at forge.ai.AiController.chooseSpellAbilityToPlay(AiController.java:1107)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:388)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:917)
   at forge.game.GameAction.startGame(GameAction.java:1390)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.java:223)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
I tried to reproduce this but couldn't, you're using an old version of the game (1.5.37), please consider upgrading to the latest one (1.5.40) or even to the latest SVN snapshot if you'd like to be on the bleeding edge of the game development.
From what I can tell, however, it looks like Clockwork Avian is controlled by the AI here, which may be the problem because this card is listed as a card that the AI can't play (and cards like that can manifest all sorts of weird behavior when given into the AI's virtual hands - from using the card stupidly to crashing the game...). I wanted to at least put a NPE guard if necessary to prevent the crash but couldn't find the relevant line - like I said, the source code has changed since the version you're using.

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby Marek14 » 09 Jun 2015, 13:13

I was not allowed to cast a spell by discarding a card when AI had Dream Halls out.
Marek14
Tester
 
Posts: 2773
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 303 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 09 Jun 2015, 15:29

Marek14 wrote:I was not allowed to cast a spell by discarding a card when AI had Dream Halls out.
Fixed in r29619, I hope I'm correct (I removed the "YouCtrl" restriction because "You" there refers to the controller of Dream Halls, not allowing other plays to cast spells that way; I'm assuming that "...its controller may..." clause in the card rules does not require a specific limitation clause in the script because only the card's controller can cast a spell that way from the hand, graveyard, exile or library anyway. Please correct me if I'm wrong.

EDIT: I ran it by the judges at #mtgrules to check that this works correctly e.g. with Nightveil Specter (they said that if Nightveil Specter exiles the opp's card, by the time you have to choose to pay its alternative cost you'll control the card, so you should be able to use the Dream Halls ability). Not sure if any other corner cases may not work correctly with my implementation above, though.

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby Bog Wraith » 10 Jun 2015, 02:24

r29619

Cast a Banefire for 3x at a Precursor Golem destroying it. Both tokens should have gone with it but as you can see, the Precursor Golem is in the graveyard while the two tokens survive on the battlefield. I should have been able to attack with a clean board on my opponents side.

It looks like the 3 damage was applied to the Precursor Golem which is id'd as #271, all 3 times instead of having the other 2 times being targeted at the tokens.

Not sure if this is a new bug because I've played against this card a number of times in earlier builds and have cast a Lightning Bolt or other removal spell and all 3 Golem's were destroyed.
Attachments
Golem Not All Destroyed.jpg
Both Golem Tokens Should've Been Destriyed Too
'Twas in the bogs of Cannelbrae
My mate did meet an early grave
'Twas nothing left for us to save
In the peat-filled bogs of Cannelbrae.
User avatar
Bog Wraith
Global Mod 1 (Ret)
 
Posts: 1108
Joined: 28 May 2008, 22:40
Location: Shandalar
Has thanked: 425 times
Been thanked: 153 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 10 Jun 2015, 05:42

Bog Wraith wrote:r29619
Cast a Banefire for 3x at a Precursor Golem destroying it. Both tokens should have gone with it but as you can see, the Precursor Golem is in the graveyard while the two tokens survive on the battlefield. I should have been able to attack with a clean board on my opponents side. It looks like the 3 damage was applied to the Precursor Golem which is id'd as #271, all 3 times instead of having the other 2 times being targeted at the tokens.
Fixed (r29624). The fix is a bit radical, let me know if there are any issues.

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 22 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 22 users online :: 0 registered, 0 hidden and 22 guests (based on users active over the past 10 minutes)
Most users ever online was 7967 on 09 Sep 2025, 23:08

Users browsing this forum: No registered users and 22 guests

Login Form