Forge Beta: 11-05-2015 ver 1.5.47
by mtgrares
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Forge Beta: 11-05-2015 ver 1.5.47
by Sciamancer » 26 Dec 2015, 05:06
Hey, new user here! I'm loving Forge, especially the AI. Although it's limited, it's pretty good for testing my decks against each other.
I encountered an odd apparent bug with Land Tax, though. I'm playing EDH on the most recent Forge build, with two AI. The AI has a Land Tax and somehow triggers it every upkeep, even though it has a lot more land in play than both me and the other AI.
I was going to link to some screenshots, but unfortunately new users apparently aren't allowed to link off-site.
I haven't done any further testing, but as you can see it has allowed the AI to amass many lands. Assuming that this isn't just a bug with Land Tax alone, the only noteworthy cards I can think of are Urborg, Tomb of Yawgmoth and Exploration, which since they affect all lands in play and land plays (respectively) might mess up Land Tax's code somehow.
I had another game with not a bug, but a slight kink, I suppose. I also had one game where an AI played Darkest Hour along with Teysa, Orzhov Scion. Then another AI played an Elesh Norn, which created an infinite loop, killing some white-turned-black tokens, to generate some white tokens with Teysa, which turn black and die, creating more tokens, and so on. Unfortunately there was no Blood Artist, Butcher of Malakir, etc. to break the resulting cycle, so it just kept going. I believe that by the rules this loop would result in a draw. Such a situation might be too difficult to detect with code, I don't know. I ended up just calling it a "draw" for myself and relaunching Forge.
I encountered an odd apparent bug with Land Tax, though. I'm playing EDH on the most recent Forge build, with two AI. The AI has a Land Tax and somehow triggers it every upkeep, even though it has a lot more land in play than both me and the other AI.
I was going to link to some screenshots, but unfortunately new users apparently aren't allowed to link off-site.
I haven't done any further testing, but as you can see it has allowed the AI to amass many lands. Assuming that this isn't just a bug with Land Tax alone, the only noteworthy cards I can think of are Urborg, Tomb of Yawgmoth and Exploration, which since they affect all lands in play and land plays (respectively) might mess up Land Tax's code somehow.
I had another game with not a bug, but a slight kink, I suppose. I also had one game where an AI played Darkest Hour along with Teysa, Orzhov Scion. Then another AI played an Elesh Norn, which created an infinite loop, killing some white-turned-black tokens, to generate some white tokens with Teysa, which turn black and die, creating more tokens, and so on. Unfortunately there was no Blood Artist, Butcher of Malakir, etc. to break the resulting cycle, so it just kept going. I believe that by the rules this loop would result in a draw. Such a situation might be too difficult to detect with code, I don't know. I ended up just calling it a "draw" for myself and relaunching Forge.
- Sciamancer
- Posts: 1
- Joined: 26 Dec 2015, 04:52
- Has thanked: 0 time
- Been thanked: 0 time
Re: Forge Beta: 11-05-2015 ver 1.5.47
by friarsol » 26 Dec 2015, 21:45
Looks like Land Tax was never converted for appropriate handling with Multiplayer. The way the script is written, it just checks for all lands controlled by opposing players, not the most amount of lands controlled by a single opponent. So if I have 5 lands, and each of my opponents have 4 it compares 5 to 8 instead of 5 to 4.Sciamancer wrote:Hey, new user here! I'm loving Forge, especially the AI. Although it's limited, it's pretty good for testing my decks against each other.
I encountered an odd apparent bug with Land Tax, though. I'm playing EDH on the most recent Forge build, with two AI. The AI has a Land Tax and somehow triggers it every upkeep, even though it has a lot more land in play than both me and the other AI.
I was going to link to some screenshots, but unfortunately new users apparently aren't allowed to link off-site.
I haven't done any further testing, but as you can see it has allowed the AI to amass many lands. Assuming that this isn't just a bug with Land Tax alone, the only noteworthy cards I can think of are Urborg, Tomb of Yawgmoth and Exploration, which since they affect all lands in play and land plays (respectively) might mess up Land Tax's code somehow.
I had another game with not a bug, but a slight kink, I suppose. I also had one game where an AI played Darkest Hour along with Teysa, Orzhov Scion. Then another AI played an Elesh Norn, which created an infinite loop, killing some white-turned-black tokens, to generate some white tokens with Teysa, which turn black and die, creating more tokens, and so on. Unfortunately there was no Blood Artist, Butcher of Malakir, etc. to break the resulting cycle, so it just kept going. I believe that by the rules this loop would result in a draw. Such a situation might be too difficult to detect with code, I don't know. I ended up just calling it a "draw" for myself and relaunching Forge.
Right, Forge right now unfortunately doesn't detect loops. I've thought about doing it in a few different ways, but it's a bit tough to do. Probably the "simplest" way to do it is to try to keep a little bit of a track, and then prompt the user with some type of "might be stuck in a loop, if that's true the game will end in a draw" prompt. But detecting this type of possibility still isn't the easiest thing.
As for new users posting on the Slightly Magic forums, I believe that restriction is lifted after your 5th post (or maybe for the 5th post?). Anyway, welcome aboard.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Forge Beta: 11-05-2015 ver 1.5.47
by MIC132 » 31 Dec 2015, 13:45
Is there a way to delete a deck in-game? Or do I have to go into the folder and delete it manually.
I can't find any way to do this in-game.
EDIT: Nevermind, apparently the "edit/delete" column in my deck list was hidden by default.
EDIT2: Hmm, but still no way to delete Commander decks that I can see.
I can't find any way to do this in-game.
EDIT: Nevermind, apparently the "edit/delete" column in my deck list was hidden by default.
EDIT2: Hmm, but still no way to delete Commander decks that I can see.
Last edited by MIC132 on 01 Jan 2016, 13:02, edited 2 times in total.
Re: Forge Beta: 11-05-2015 ver 1.5.47
by schnautzr » 31 Dec 2015, 23:13
Here's a deep question that arose from what I originally thought to be a glitch during play today...
Suppose Player 1's Wall of Nets blocks Player 2's It That Betrays. Wall of Nets is sacrificed before combat damage is assigned.
Here is the resulting sequence of events (as demonstrated by Forge):
*Wall of Nets leaves the battlefield.
*All creatures exiled by Wall of Nets return to the battlefield.
*Wall of Nets returns under Player 2's control.
*Damage is assigned.
*It That Betrays is exiled and remembered by Wall of Nets.
The only ruling I see for Wall of Nets is that the exile only takes place if Wall of Nets is in play at EOC... but should its effect fizzle when it is sacrificed?
Suppose Player 1's Wall of Nets blocks Player 2's It That Betrays. Wall of Nets is sacrificed before combat damage is assigned.
Here is the resulting sequence of events (as demonstrated by Forge):
*Wall of Nets leaves the battlefield.
*All creatures exiled by Wall of Nets return to the battlefield.
*Wall of Nets returns under Player 2's control.
*Damage is assigned.
*It That Betrays is exiled and remembered by Wall of Nets.
The only ruling I see for Wall of Nets is that the exile only takes place if Wall of Nets is in play at EOC... but should its effect fizzle when it is sacrificed?
-
schnautzr - Posts: 106
- Joined: 23 Aug 2012, 01:13
- Location: UTC -6/-5
- Has thanked: 27 times
- Been thanked: 7 times
Re: Forge Beta: 11-05-2015 ver 1.5.47
by friarsol » 01 Jan 2016, 00:05
The issue is that the returning Wall of Nets is acting like the same object as the one that was sacrificed a few steps prior but it is not. When it returns the Wall is no longer blocking the Eldrazi, and it should neither receive combat damage or trigger it's EOC effect. Even if somehow all that could be true, since the Wall is controlled by the attacker it is not a legal blocker.schnautzr wrote:Here's a deep question that arose from what I originally thought to be a glitch during play today...
Suppose Player 1's Wall of Nets blocks Player 2's It That Betrays. Wall of Nets is sacrificed before combat damage is assigned.
Here is the resulting sequence of events (as demonstrated by Forge):
*Wall of Nets leaves the battlefield.
*All creatures exiled by Wall of Nets return to the battlefield.
*Wall of Nets returns under Player 2's control.
*Damage is assigned.
*It That Betrays is exiled and remembered by Wall of Nets.
The only ruling I see for Wall of Nets is that the exile only takes place if Wall of Nets is in play at EOC... but should its effect fizzle when it is sacrificed?
Basically the problem boils down to the returning Wall of Nets not initializing itself as a new game object appropriately.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Forge Beta: 11-05-2015 ver 1.5.47
by schnautzr » 01 Jan 2016, 05:37
To clarify, damage was redirected to Player 1, not to Wall of Nets. The only "glitch" here if any was the EOC effect.friarsol wrote:...When it returns the Wall is no longer blocking the Eldrazi, and it should [not] receive combat damage...
-
schnautzr - Posts: 106
- Joined: 23 Aug 2012, 01:13
- Location: UTC -6/-5
- Has thanked: 27 times
- Been thanked: 7 times
Re: Forge Beta: 11-05-2015 ver 1.5.47
by gos » 02 Jan 2016, 23:13
AI tapped 5 mana and cast Molten Disaster. The info on the stack says "3 damage" and it dealt 3 damage, which seems to indicate it wasn't kicked, but I can't cast any of instants I have in hand (Counterspell, Recoil, Fact or Fiction), which seens to indicate it has split second.
- gos
- Posts: 4369
- Joined: 03 Mar 2011, 15:21
- Location: Reykjavík, Iceland
- Has thanked: 231 times
- Been thanked: 232 times
Re: Forge Beta: 11-05-2015 ver 1.5.47
by Nekoatl » 03 Jan 2016, 01:52
Are you certain a 6th mana wasn't tapped from some nonland source like Birds of Paradise, for example?
Re: Forge Beta: 11-05-2015 ver 1.5.47
by gos » 03 Jan 2016, 08:30
There were no mana creatures, no artifacts, and nothing in the graveyard that could explain the 6th mana.Nekoatl wrote:Are you certain a 6th mana wasn't tapped from some nonland source like Birds of Paradise, for example?
- gos
- Posts: 4369
- Joined: 03 Mar 2011, 15:21
- Location: Reykjavík, Iceland
- Has thanked: 231 times
- Been thanked: 232 times
Re: Forge Beta: 11-05-2015 ver 1.5.47
by Thrun » 03 Jan 2016, 23:54
- Thrun
- Posts: 23
- Joined: 26 Jul 2015, 21:54
- Has thanked: 0 time
- Been thanked: 0 time
Re: Forge Beta: 11-05-2015 ver 1.5.47
by Thrun » 03 Jan 2016, 23:56
Simian Spirit Guide or Elvish Spirit Guide? They are easy to overlook.gos wrote:There were no mana creatures, no artifacts, and nothing in the graveyard that could explain the 6th mana.Nekoatl wrote:Are you certain a 6th mana wasn't tapped from some nonland source like Birds of Paradise, for example?
- Thrun
- Posts: 23
- Joined: 26 Jul 2015, 21:54
- Has thanked: 0 time
- Been thanked: 0 time
Re: Forge Beta: 11-05-2015 ver 1.5.47
by Thrun » 04 Jan 2016, 01:42
Still no monk-tokens for Monastery Mentor out there? 

- Thrun
- Posts: 23
- Joined: 26 Jul 2015, 21:54
- Has thanked: 0 time
- Been thanked: 0 time
Re: Forge Beta: 11-05-2015 ver 1.5.47
by gos » 04 Jan 2016, 10:30
Thrun wrote:Simian Spirit Guide or Elvish Spirit Guide? They are easy to overlook.gos wrote:There were no mana creatures, no artifacts, and nothing in the graveyard that could explain the 6th mana.Nekoatl wrote:Are you certain a 6th mana wasn't tapped from some nonland source like Birds of Paradise, for example?

- gos
- Posts: 4369
- Joined: 03 Mar 2011, 15:21
- Location: Reykjavík, Iceland
- Has thanked: 231 times
- Been thanked: 232 times
Re: Forge Beta: 11-05-2015 ver 1.5.47
by Bordergeist » 04 Jan 2016, 11:31
I don't know if this has previously been reported, but suspend does not play correctly. Twice I've had the AI suspend spells (specificaly, Phthisis and Hypergenesis), and, when the last counter was removed, the computer chose not to cast them. This is not actually allowed--so, for instance, if the only creatures on the battlefield when Phthisis resolves are the AI's, it is required to target one and take the pain. Similarly, even if the AI doesn't want to hHypergenesis (presumably from having no permanents in hand), it must still do so and give all other players the chance to drop permanents into play.
- Bordergeist
- Posts: 11
- Joined: 02 Oct 2015, 00:01
- Has thanked: 0 time
- Been thanked: 0 time
Re: Forge Beta: 11-05-2015 ver 1.5.47
by indicatie » 05 Jan 2016, 15:37
Description:
Was playing a Eighth Edition Tournament in my Quest.
During a match between AI players I accidentaly resized one of windows (the card picture window).
Tried to resize it, but Forge crashed. Now, when trying to continue my tournament, I get an error and can't continue...
Was playing a Eighth Edition Tournament in my Quest.
During a match between AI players I accidentaly resized one of windows (the card picture window).
Tried to resize it, but Forge crashed. Now, when trying to continue my tournament, I get an error and can't continue...

- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.47-r-1
Operating System: Windows 8.1 6.3 x86
Java Version: 1.8.0_60 Oracle Corporation
java.lang.NullPointerException
at forge.screens.match.VMatchUI.populate(VMatchUI.java:119)
at forge.screens.match.CMatchUI.updatePlayerControl(CMatchUI.java:620)
at forge.screens.match.CMatchUI.initialize(CMatchUI.java:486)
at forge.control.FControl.setCurrentScreen(FControl.java:323)
at forge.control.FControl.setCurrentScreen(FControl.java:287)
at forge.screens.match.CMatchUI.openView(CMatchUI.java:840)
at forge.match.HostedMatch.startGame(HostedMatch.java:183)
at forge.match.HostedMatch.startMatch(HostedMatch.java:115)
at forge.match.HostedMatch.startMatch(HostedMatch.java:83)
at forge.quest.QuestDraftUtils.update(QuestDraftUtils.java:237)
at forge.quest.QuestDraftUtils.startNextMatch(QuestDraftUtils.java:168)
at forge.screens.home.quest.CSubmenuQuestDraft.startNextMatch(CSubmenuQuestDraft.java:589)
at forge.screens.home.quest.CSubmenuQuestDraft.access$000(CSubmenuQuestDraft.java:52)
at forge.screens.home.quest.CSubmenuQuestDraft$7.actionPerformed(CSubmenuQuestDraft.java:273)
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)
Don't mistake lack of talent for genius.
Who is online
Users browsing this forum: No registered users and 36 guests