It is currently 11 Nov 2025, 18:17
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

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

Re: Bug Reports (snapshot builds)

Postby friarsol » 04 Oct 2015, 00:25

r30210
Triggers with Charm choices (Such as Ojutai Exemplars) don't list which option is chosen when on the stack.
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 Hanmac » 04 Oct 2015, 06:46

Description: Enchanted manifested Leechridden Swamp while controlling Necromancer's Magemark is returned to the hand.

Now want to play that land again from the hand

RuntimeException | Open
Code: Select all
Forge Version:    1.5.46-r-1
Operating System: Linux 3.19.0-30-lowlatency amd64
Java Version:     1.7.0_79 Oracle Corporation

java.lang.RuntimeException: AbilityFactory : getAbility -- no API in :
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:106)
   at forge.game.replacement.ReplacementHandler.executeReplacement(ReplacementHandler.java:169)
   at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:134)
   at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:71)
   at forge.game.GameAction.changeZone(GameAction.java:209)
   at forge.game.GameAction.moveTo(GameAction.java:431)
   at forge.game.GameAction.moveTo(GameAction.java:412)
   at forge.game.player.Player.playLand(Player.java:1462)
   at forge.player.HumanPlay.playSpellAbility(HumanPlay.java:87)
   at forge.player.PlayerControllerHuman.playChosenSpellAbility(PlayerControllerHuman.java:938)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:933)
   at forge.game.GameAction.startGame(GameAction.java:1438)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)
the same thing does happen then a manifested land got blinked by the Mistmeadow Witch.

Testing resolves that it only happen with lands that does enter the battlefield tapped.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 04 Oct 2015, 07:01

r30210: Cloned cards apparently do not get their abilities copied over or processed correctly. For example, a Phantasmal Image copying a Delver of Secrets creates a copy that does not turn into Insectile Aberration when an instant or a sorcery card is revealed. Not sure how to fix this one, but it's quite big (most likely affects a ton of things, basically anything that's copied and that has, for instance, triggered abilities?...).

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

Re: Bug Reports (snapshot builds)

Postby Marek14 » 04 Oct 2015, 07:05

Agetian wrote:r30210: Cloned cards apparently do not get their abilities copied over or processed correctly. For example, a Phantasmal Image copying a Delver of Secrets creates a copy that does not turn into Insectile Aberration when an instant or a sorcery card is revealed. Not sure how to fix this one, but it's quite big (most likely affects a ton of things, basically anything that's copied and that has, for instance, triggered abilities?...).

- Agetian
No, this is actually correct. Basically, copies of a double-faced card cannot transform. Transformation ignores copy effects and looks at the base physical card, and since Phantasmal Image is not a double-faced card, it's not allowed to transform.

However, even if you managed to copy a double-faced card with another double-faced card (for example using Infinite Reflection), it could PHYSICALLY transform, but the copy effect would still apply after that and rewrite its stats with the original copied face.

As for Eldrazi Scions -- for now it's probably best to use all the pictures, but I hope for an Arcana that would clearly tell us which token is supposed to go with which card, like they did for Rise of the Eldrazi :)
Marek14
Tester
 
Posts: 2774
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 303 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 04 Oct 2015, 07:09

Oh, interesting, I forgot that it's actually asking the thing to "flip over" which it can't do :) Thanks a lot for the clarification, Marek! :)

And yes, I currently set up the scripts to show a random picture (from the three) for Eldrazi Scions, but let me know if there's information about which one goes with which card, I'll update accordingly ;)

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

Re: Bug Reports (snapshot builds)

Postby Hanmac » 04 Oct 2015, 07:43

Agetian wrote:Looks like Sunburst is also broken in a similar fashion - commands added via addComesIntoPlayCommand (most notably Echo and Sunburst) never ever trigger. :/
EDIT: Looks like I found what's breaking it (it's my change related to processing Morbid+Awaken), I'll temporarily revert that and see what I can do to fix one thing without breaking two others.
EDIT: Ok, for now reverted the entire attempt at fixing Morbid+Awaken, didn't work out too well. Will try to think of something better (that hopefully won't break a lot of stuff). Echo and Sunburst are back to working now, Morbid+Awaken, sadly, back to broken.

EDIT: I have a working prototype for a fix that works without breaking Echo and Sunburst, but I really want to wait with the submission until after the release (I don't know how many things it can potentially break, so...).

- Agetian
i tested with newest release, the stuff with morbid does no work,
but still does not work with my problems there,
tested Savra, Queen of the Golgari + Painter's Servant

Hanmac wrote:
still problems with status checking when sacrificing creatures,
it should check the last known status while it was on the battlefield.

===

Creature equipped with Mortarpod and soulbond to Nightshade Peddler got sacrificed by the effect of Mortarpod.

The damage should be deadly because of Deathtouch but its not.
---
might be related to my problem with Savra, Queen of the Golgari
and sacrificing a non-green/non-black creature while controlling Painter's Servant (and changing the color to green or black)
the effect should happen because the creature was green or black while controlling it on the battlefield
---

happens for Ashmouth Hound with Basilisk Collar too.
I attack, enemy blocks but before the damage effect resolves Ashmouth Hound is send to hand, but it had deathtouch while it was on the field
----

for Crackleburr + Smokebraider: thats the test setting:
have only Crackleburr + Smokebraider and another or two red creature on the field.
now have not enough {UR} {UR} mana to pay with the lands.
Now activate the effect of Crackleburr, it wants to pay the mana use Smokebraider to pay it, now it does want to tap one red untapped creature but it should ask for two one ... it might have counted Smokebraider for the effect but it should not.
Edit:
while doing that i got the following message in the console:
Trying to choose at least 2 cards from a list with only 1 cards!
Last edited by Hanmac on 04 Oct 2015, 08:39, edited 1 time in total.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 04 Oct 2015, 07:59

Hanmac wrote:Description: Enchanted manifested Leechridden Swamp while controlling Necromancer's Magemark is returned to the hand.

Now want to play that land again from the hand

RuntimeException | Open
Code: Select all
Forge Version:    1.5.46-r-1
Operating System: Linux 3.19.0-30-lowlatency amd64
Java Version:     1.7.0_79 Oracle Corporation

java.lang.RuntimeException: AbilityFactory : getAbility -- no API in :
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:106)
   at forge.game.replacement.ReplacementHandler.executeReplacement(ReplacementHandler.java:169)
   at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:134)
   at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:71)
   at forge.game.GameAction.changeZone(GameAction.java:209)
   at forge.game.GameAction.moveTo(GameAction.java:431)
   at forge.game.GameAction.moveTo(GameAction.java:412)
   at forge.game.player.Player.playLand(Player.java:1462)
   at forge.player.HumanPlay.playSpellAbility(HumanPlay.java:87)
   at forge.player.PlayerControllerHuman.playChosenSpellAbility(PlayerControllerHuman.java:938)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:933)
   at forge.game.GameAction.startGame(GameAction.java:1438)
   at forge.game.Match.startGame(Match.java:96)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)
the same thing does happen then a manifested land got blinked by the Mistmeadow Witch.
Testing resolves that it only happen with lands that does enter the battlefield tapped.
I tried to fix this in r30212, but the fix may break something else, I'm afraid, please test for possible issues...

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

Re: Bug Reports (snapshot builds)

Postby Hanmac » 04 Oct 2015, 08:42

hm ok i see there are builds on
http://www.cardforge.org/snapshots or http://www.cardforge.link/snapshots again
but your fix in r30212 seems to be not there yet.
is there a tutorial to build forge from svn? (i know to use cvs)
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 04 Oct 2015, 13:56

r30217: I tried fixing the "Savra, Queen of the Golgari + Painter's Servant + sacrifice a card with green on black color added by Painter's Servant" interaction but the only solution I was able to come up with is somewhat experimental, I hope it doesn't break anything else about the Sacrifice mechanic/triggers. Testing is welcome.

About SVN builds: the easiest way I know of is to install NetBeans or another environment (I've heard IDEA IntelliJ is also very good), check out the Forge SVN repository from there and compile/run the game from NetBeans/IntelliJ. Information about checking out the SVN repository is located here: http://www.slightlymagic.net/wiki/Forge ... ping_Forge

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

Re: Bug Reports (snapshot builds)

Postby Agetian » 04 Oct 2015, 14:11

r30218-30219: Fixed the Crackleburr + Smokebraider interaction mentioned above.

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

Re: Bug Reports (snapshot builds)

Postby lk5316 » 04 Oct 2015, 17:37

Hi, i`ve using forge version 1.5.45 , started a tournament in quest mode , play the first round withouth problem but when I click play in the second round I cannot begin to play.This is the report:

Description: [describe what you were doing when the crash occurred]

NumberFormatException | Open
Code: Select all
Forge Version:    1.5.45-r-1
Operating System: Windows XP 5.1 x86
Java Version:     1.8.0_60 Oracle Corporation

java.lang.NumberFormatException: For input string: "quest_draft_undetermined_place"
   at java.lang.NumberFormatException.forInputString(Unknown Source)
   at java.lang.Integer.parseInt(Unknown Source)
   at java.lang.Integer.parseInt(Unknown Source)
   at forge.quest.QuestDraftUtils.addMatchup(QuestDraftUtils.java:146)
   at forge.quest.QuestDraftUtils.startNextMatch(QuestDraftUtils.java:107)
   at forge.screens.home.quest.CSubmenuQuestDraft.startNextMatch(CSubmenuQuestDraft.java:579)
   at forge.screens.home.quest.CSubmenuQuestDraft.access$000(CSubmenuQuestDraft.java:60)
   at forge.screens.home.quest.CSubmenuQuestDraft$7.actionPerformed(CSubmenuQuestDraft.java:281)
   at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
   at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
   at java.awt.Component.processMouseEvent(Unknown Source)
   at javax.swing.JComponent.processMouseEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(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$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.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)
Thnks for make mtg free, great work!!
lk5316
 
Posts: 3
Joined: 04 Oct 2015, 17:25
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby Marek14 » 05 Oct 2015, 06:24

Agetian wrote:Oh, interesting, I forgot that it's actually asking the thing to "flip over" which it can't do :) Thanks a lot for the clarification, Marek! :)

And yes, I currently set up the scripts to show a random picture (from the three) for Eldrazi Scions, but let me know if there's information about which one goes with which card, I'll update accordingly ;)

- Agetian
I have a thread (viewtopic.php?f=52&t=17677) where I tried to suggest some token improvements, you might like it :)
Marek14
Tester
 
Posts: 2774
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 303 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 05 Oct 2015, 06:54

@ Marek: Ah, I'll check it out today, thanks! :)

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

Re: Bug Reports (snapshot builds)

Postby friarsol » 06 Oct 2015, 01:23

r30234

Trying to add a card to my quest deck and save it:

NPE | Open
EDT > java.lang.StringIndexOutOfBoundsException: String index out of range: -32
at java.lang.String.substring(String.java:1875)
at forge.screens.deckeditor.controllers.DeckController.save(DeckController.java:196)
at forge.screens.deckeditor.controllers.DeckController.saveAs(DeckController.java:212)
at forge.screens.deckeditor.SEditorIO.saveDeck(SEditorIO.java:58)
at forge.screens.deckeditor.controllers.CCurrentDeck$2.run(CCurrentDeck.java:73)
at forge.toolbox.FLabel._doMouseAction(FLabel.java:314)
at forge.toolbox.FLabel.access$1300(FLabel.java:55)
at forge.toolbox.FLabel$6.onLeftClick(FLabel.java:352)
at forge.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:246)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)


Yea I even tried a new quest. Quest mode is basically completely broken right now. I'm guessing this is related to your changes to decks drdev?
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 Agetian » 06 Oct 2015, 04:33

r30234: For some reason, cloning abilities do not interact correctly with Devoid - e.g. playing Clone as a copy of a creature with Devoid makes the cloned version colored (although it does show the "Devoid" keyword in the card detail panel :/ ). Try, e.g. Clone as a copy of Vestige of Emrakul. This is not purely visual, too, because All is Dust would then kill the cloned version (but not the original).

EDIT: Fixed this is r30235, but please take a look at what I did. Basically, Devoid used to use the "addColor" method to change the color of the card to Colorless. However, what that essentially did was added it as a temporary color-changing (color text-changing?) ability, which means it was not processed by Clone and friends (per 706.2). I changed it so that it uses "setColor" instead, which sets the "default" permanent color of the card. I ran some basic tests to see that the identity was still preserved (it was), cards were still considered colorless and could also receive new colors via e.g. Painter's Servant, and things seem to work fine. However, I'm not sure if maybe something will be wrong now - was there a reason that addColor was preferred over setColor or was it just a serendipity?

- Agetian
Agetian
Programmer
 
Posts: 3490
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 10 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 10 users online :: 0 registered, 0 hidden and 10 guests (based on users active over the past 10 minutes)
Most users ever online was 9824 on 10 Nov 2025, 04:33

Users browsing this forum: No registered users and 10 guests

Login Form