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 xbon » 13 Jul 2013, 04:11
r22564
Sphere of the Suns should not have a replacement effect box, it only has coming into play and being tapped, it should not have an option to just come into play tapped w/ no counters.
Sphere of the Suns should not have a replacement effect box, it only has coming into play and being tapped, it should not have an option to just come into play tapped w/ no counters.
Re: Bug Reports (snapshot builds)
by Agetian » 13 Jul 2013, 12:31
Hmm, interesting, I don't know what it depends on... I played three matches today with the AI having The Hive in it and it was just sitting there (and once there were two of them at the same time, neither being used for any purpose...)jsv wrote:A couple of weeks ago I've played against a random deck with The Hive and AI was using it during my turn for defense (producing a token to block with) several times.Agetian wrote:r22565: The AI puts The Hive into play and does not use it for anything (e.g. in Shandalar quest world decks).
- Agetian
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by goonjamin » 13 Jul 2013, 14:34
r22568
I dropped in some pics for MMA and M14 but I am still seeing 7 missing cards when using the lq set picture download.
I dropped in some pics for MMA and M14 but I am still seeing 7 missing cards when using the lq set picture download.
- Code: Select all
Read cards: 13035 archived files in 3018 ms (25 parts) using thread pool
Read decks (439 ms): 1 constructed, 0 sealed, 0 draft, 3 cubes, 0 scheme, 0 planar, 0 commander.
Skipped Download for: C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\A\Timber Wolves.full.jpg
1/7 - C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\A\Timber Wolves.full.jpg
Skipped Download for: C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\DDG\Forest3.full.jpg
2/7 - C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\DDG\Forest3.full.jpg
Skipped Download for: C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\DDG\Knight Exemplar.full.jpg
3/7 - C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\DDG\Knight Exemplar.full.jpg
Skipped Download for: C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\DDG\Mudbutton Torchrunner.full.jpg
4/7 - C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\DDG\Mudbutton Torchrunner.full.jpg
Skipped Download for: C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\DDH\Island.full.jpg
5/7 - C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\DDH\Island.full.jpg
Skipped Download for: C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\DDH\Plains.full.jpg
6/7 - C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\DDH\Plains.full.jpg
Skipped Download for: C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\MBP\Nalathni Dragon.full.jpg
7/7 - C:\Users\Mike\AppData\Local\Forge\Cache\pics\cards\MBP\Nalathni Dragon.full.jpg
Re: Bug Reports (snapshot builds)
by xbon » 15 Jul 2013, 02:51
r22575
Whirlpool Rider gives double the amount of cards you put back into the deck; I cast him, returned 5, and got 10 cards back.
Whirlpool Rider gives double the amount of cards you put back into the deck; I cast him, returned 5, and got 10 cards back.
Re: Bug Reports (snapshot builds)
by moomarc » 15 Jul 2013, 17:15
In a Vanguard game against two opponents the one played a Platinum Angel. He then went on to kill my other opponent but that player kept going because of some funky multiplayer interactions in Player.cantLose/cantWin (I assume).
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Bug Reports (snapshot builds)
by Agetian » 16 Jul 2013, 15:19
r22587: I cast a Fury Charm on a suspended Riftwing Cloudskate and removed two time counters from it. That got rid of all the time counters on Riftwing Cloudskate. When the Riftwing Cloudskate went on the battlefield as a result of that action, its triggered effect (to return a permanent to its owner's hand) was put on stack twice and then resolved twice, so basically I was able to remove two of my opponent's permanents with it instead of one.
- Agetian
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by moomarc » 16 Jul 2013, 17:12
Playing Archenemy, I attacked each of my opponents. Both let through the creature attacking them BUT opponent A decided to block the golem attacking opponent B. Did I miss something and this is allowed, or is it an illegal block?
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Bug Reports (snapshot builds)
by Arclight » 17 Jul 2013, 03:01
Description: [I've been getting this crash every time I begin a new duel in quest mode. ]
- UnsupportedOperationException | Open
- Code: Select all
Forge Version: 1.3.15-SNAPSHOT-r21296
Operating System: Mac OS X 10.7 x86_64
Java Version: 1.6.0_37 Apple Inc.
java.lang.UnsupportedOperationException: Gap was not filled.
at forge.gui.framework.SRearrangingUtil.fillGap(SRearrangingUtil.java:439)
at forge.gui.framework.SRearrangingUtil.fillGap(SRearrangingUtil.java:452)
at forge.gui.match.VMatchUI$1.run(VMatchUI.java:124)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:702)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:663)
at java.awt.EventQueue$2.run(EventQueue.java:661)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:672)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:205)
at java.awt.Dialog$1.run(Dialog.java:1044)
at java.awt.Dialog$3.run(Dialog.java:1096)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1094)
at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:853)
at forge.game.player.PlayerControllerHuman.getWillPlayOnFirstTurn(PlayerControllerHuman.java:288)
at forge.game.GameNew.determineFirstTurnPlayer(GameNew.java:275)
at forge.game.GameNew.newGame(GameNew.java:196)
at forge.game.MatchController.startRound(MatchController.java:203)
at forge.gui.home.quest.SSubmenuQuestUtil.startGame(SSubmenuQuestUtil.java:421)
at forge.gui.home.quest.CSubmenuDuels$7.actionPerformed(CSubmenuDuels.java:60)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6382)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
at java.awt.Component.processEvent(Component.java:6147)
at java.awt.Container.processEvent(Container.java:2083)
at java.awt.Component.dispatchEventImpl(Component.java:4744)
at java.awt.Container.dispatchEventImpl(Container.java:2141)
at java.awt.Component.dispatchEvent(Component.java:4572)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4280)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210)
at java.awt.Container.dispatchEventImpl(Container.java:2127)
at java.awt.Window.dispatchEventImpl(Window.java:2489)
at java.awt.Component.dispatchEvent(Component.java:4572)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:704)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:663)
at java.awt.EventQueue$2.run(EventQueue.java:661)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:677)
at java.awt.EventQueue$3.run(EventQueue.java:675)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:674)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Re: Bug Reports (snapshot builds)
by friarsol » 17 Jul 2013, 03:06
Your version is way old. You should update to the latest version, additionally Forge no longer supports Java 1.6, so you'll need to update to 1.7.Arclight wrote:Description: [I've been getting this crash every time I begin a new duel in quest mode. ]
[spoiler=UnsupportedOperationException][code]
Forge Version: 1.3.15-SNAPSHOT-r21296
Operating System: Mac OS X 10.7 x86_64
Java Version: 1.6.0_37 Apple Inc.
- 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 Agetian » 17 Jul 2013, 05:31
I tried to fix this bug in r22594 - the trigger parameters were always filled with the new value (e.g. 0) and then fired several times in a row with it. My fix assumes that subtractCounter in Card.java is used only for its direct purpose - that is, subtracting counters. However, lines 1204-1205 in Card.java indicate that this function can sometimes be used to put (???) counters - if it is indeed true and it's not some leftover legacy code, my fix may require tweaking. Please review.Agetian wrote:r22587: I cast a Fury Charm on a suspended Riftwing Cloudskate and removed two time counters from it. That got rid of all the time counters on Riftwing Cloudskate. When the Riftwing Cloudskate went on the battlefield as a result of that action, its triggered effect (to return a permanent to its owner's hand) was put on stack twice and then resolved twice, so basically I was able to remove two of my opponent's permanents with it instead of one.
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by Agetian » 19 Jul 2013, 18:38
r22622: the AI cast Angel of Salvation (and, I believe, targeted the card itself - Angel of Salvation, that is). This turned out to be a fatal NPE (I had to quit the game completely).
- NullPointerException | Open
- Code: Select all
Forge Version: 1.4.4-SNAPSHOT-r22622
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_09 Oracle Corporation
java.lang.NullPointerException
at forge.card.spellability.TargetRestrictions.getDividedValue(TargetRestrictions.java:772)
at forge.card.ability.effects.DamagePreventEffect.resolve(DamagePreventEffect.java:93)
at forge.card.spellability.AbilitySub.resolve(AbilitySub.java:130)
at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1065)
at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1047)
at forge.game.ai.ComputerUtil.playNoStack(ComputerUtil.java:309)
at forge.game.player.PlayerControllerAi.playSpellAbilityNoStack(PlayerControllerAi.java:272)
at forge.card.trigger.WrappedAbility.resolve(WrappedAbility.java:355)
at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1065)
at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1047)
at forge.game.zone.MagicStack.resolveStack(MagicStack.java:526)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:967)
at forge.game.GameAction.startGame(GameAction.java:1512)
at forge.game.Match$1.run(Match.java:103)
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
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by Bundy » 20 Jul 2013, 11:35
Forge 1.4.4 - SNAPSHOT-r22587
I have Mirrorworks in play and play a Wurmcoil Engine. I copy it with Mirrorworks. Later i activate Kuldotha Forgemaster and sacrifice both wurms and another artifact. The original Wurmcoil Engine triggers one time, but the copy triggers twice giving me 4 wurms instead of 2.
This seems like the same problem i reported with a Meadowboon copied with Kiki-Jiki, Mirror Breaker. The copy also triggers twice when sacrificed at the end of the turn.
A side note to the tokens of Wurmcoil Engine: they get stacked on top of each other, like all tokens of the same kind do (3/3 wurm), but since one of them has deathtouch and the other lifelink would it be possible not to stack them because of the different abilities?
I have Mirrorworks in play and play a Wurmcoil Engine. I copy it with Mirrorworks. Later i activate Kuldotha Forgemaster and sacrifice both wurms and another artifact. The original Wurmcoil Engine triggers one time, but the copy triggers twice giving me 4 wurms instead of 2.
This seems like the same problem i reported with a Meadowboon copied with Kiki-Jiki, Mirror Breaker. The copy also triggers twice when sacrificed at the end of the turn.
A side note to the tokens of Wurmcoil Engine: they get stacked on top of each other, like all tokens of the same kind do (3/3 wurm), but since one of them has deathtouch and the other lifelink would it be possible not to stack them because of the different abilities?
- Bundy
- Posts: 348
- Joined: 17 Dec 2010, 17:32
- Location: The netherlands
- Has thanked: 23 times
- Been thanked: 3 times
Re: Bug Reports (snapshot builds)
by Sloth » 20 Jul 2013, 14:33
Fixed! Thanks Marc.moomarc wrote:Playing Archenemy, I attacked each of my opponents. Both let through the creature attacking them BUT opponent A decided to block the golem attacking opponent B. Did I miss something and this is allowed, or is it an illegal block?
Fixed! Thanks Bundy.Agetian wrote:r22622: the AI cast Angel of Salvation (and, I believe, targeted the card itself - Angel of Salvation, that is). This turned out to be a fatal NPE (I had to quit the game completely).
Should be fixed in most cases, but it still has the RemAIDeck SVar. Thanks Agetian.Bundy wrote:I have Mirrorworks in play and play a Wurmcoil Engine. I copy it with Mirrorworks. Later i activate Kuldotha Forgemaster and sacrifice both wurms and another artifact. The original Wurmcoil Engine triggers one time, but the copy triggers twice giving me 4 wurms instead of 2.
This seems like the same problem i reported with a Meadowboon copied with Kiki-Jiki, Mirror Breaker. The copy also triggers twice when sacrificed at the end of the turn.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Who is online
Users browsing this forum: No registered users and 10 guests