Forge version 1.5.40
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
-
Chris H. - Forge Moderator
- Posts: 6320
- Joined: 04 Nov 2008, 12:11
- Location: Mac OS X Yosemite
- Has thanked: 644 times
- Been thanked: 643 times
Re: Forge version 1.5.40
by KrazyTheFox » 25 May 2015, 17:10
I've added a couple new quest preferences, but am having difficulty coming up with short names for them for the UI. They control the number of copies of cards that will be kept when selling extras in the shop. There's one preference for basic lands and another for everything else (except Relentless Rats and Shadowborn Apostle). Any ideas? The shortest I can think of is "Copies of Cards to Keep" and "Copies of Basic Lands to Keep". Those aren't really descriptive either.
-
KrazyTheFox - Programmer
- Posts: 725
- Joined: 18 Mar 2014, 23:51
- Has thanked: 66 times
- Been thanked: 226 times
Re: Forge version 1.5.40
by mastroego » 25 May 2015, 22:28
Playset Count, and Playset Count: Lands?
Makes sense with the concept of extras. Also some might use playsets of twos, for instance.
Makes sense with the concept of extras. Also some might use playsets of twos, for instance.
Re: Forge version 1.5.40
by Phoenix » 26 May 2015, 06:04
Is it possible to integrate a 3rd preference for limiting the 2 cards you can have limitless?
I really don't need to own e.g. 90 copies of relentless rats in 4 editions.
So hitting the "Sell all extra" button should affect all cards in my card pool, I think.
I really don't need to own e.g. 90 copies of relentless rats in 4 editions.
So hitting the "Sell all extra" button should affect all cards in my card pool, I think.
Re: Forge version 1.5.40
by Agetian » 26 May 2015, 10:09
A little heads-up about the issue with Kodama of the Center Tree that was brought up a while ago: as of right now, the Soulshift X ability of this card doesn't work and crashes the game every time in a way that does not allow the game to continue (one has to restart the game and thus forfeit the match). I tried looking into it and sadly was unable to fix the core issue which seems to be the fact that the spell ability that triggers Soulshift X returns null (details here: viewtopic.php?f=52&t=6333&start=4410#p179494 ).
The source of the crash is this line attempting to determine the value of Soulshift X:
Making Soulshift X depend on SVar X doesn't work correctly (doesn't account for Kodama of the Center Tree itself LTBing, doesn't work correctly with Wrath of God etc.), so I don't know what to do. Does anyone have an idea for a fix?
- Agetian
The source of the crash is this line attempting to determine the value of Soulshift X:
- Code: Select all
SVar:Y:TriggeredCardController$Valid Spirit.YouCtrl
Making Soulshift X depend on SVar X doesn't work correctly (doesn't account for Kodama of the Center Tree itself LTBing, doesn't work correctly with Wrath of God etc.), so I don't know what to do. Does anyone have an idea for a fix?
- Agetian
Last edited by Agetian on 27 May 2015, 15:26, edited 1 time in total.
- Agetian
- Programmer
- Posts: 3472
- Joined: 14 Mar 2011, 05:58
- Has thanked: 677 times
- Been thanked: 561 times
Re: Forge version 1.5.40
by mastroego » 27 May 2015, 07:44
As a simple user, my 2 cents is that a broken feature helps no one (unless it's work readied for a following quick and easy fix, which doesn't seem to be the case here though).
I'd personally prefer a working version, with a Known Issue line added for the corner cases.
I'd personally prefer a working version, with a Known Issue line added for the corner cases.
Re: Forge version 1.5.40
by Agetian » 27 May 2015, 16:44
In r29493 I attempted an experimental tweak that accounts for certain win condition corner cases. In particular, when checking state-based effects, I made Forge check the game over condition early to account for win conditions that trigger before the cards die due to zero toughness (e.g. Platinum Angel + lethal Hurricane that gets both players to zero or below). To be on the safe side I left the original check intact and I'm running it in case the first check wasn't positive, assuming that the situation may change somehow after all the card-based state effects are checked and relevant effects apply. Is this necessary? Please test this in various win/lose conditions and let me know if anything is wrong with this approach, I can try to adapt or revert as necessary. We're getting pretty close to release, if there's something wrong with this method of dealing with the issue I'd best revert it so that we have a cleaner release.
Speaking of Kodama of the Center Tree - the best I can do right now is make a non-crashing version that works correctly in the most basic case (Kodama dies from combat damage or a direct damage targeted spell while it's under the owner's control) but that doesn't account for the majority of other situations and corner cases. In particular, it doesn't work correctly with mass removal (X always returns 1 in this case, e.g. to Wrath of God, while it should return last known information that accounts for all the Spirit creatures that died to that mass removal), and it most likely doesn't work correctly when controlled by someone else other than its owner. Should I commit this to SVN with a "FIXME" note in the script and a "Known Issue" note in the readme file to at least prevent a hard crash that forces the player to restart Forge (until someone more competent in this area of Forge can fix it for real)?.. Any other opinions?
- Agetian
Speaking of Kodama of the Center Tree - the best I can do right now is make a non-crashing version that works correctly in the most basic case (Kodama dies from combat damage or a direct damage targeted spell while it's under the owner's control) but that doesn't account for the majority of other situations and corner cases. In particular, it doesn't work correctly with mass removal (X always returns 1 in this case, e.g. to Wrath of God, while it should return last known information that accounts for all the Spirit creatures that died to that mass removal), and it most likely doesn't work correctly when controlled by someone else other than its owner. Should I commit this to SVN with a "FIXME" note in the script and a "Known Issue" note in the readme file to at least prevent a hard crash that forces the player to restart Forge (until someone more competent in this area of Forge can fix it for real)?.. Any other opinions?
- Agetian
- Agetian
- Programmer
- Posts: 3472
- Joined: 14 Mar 2011, 05:58
- Has thanked: 677 times
- Been thanked: 561 times
Re: Forge version 1.5.40
by Agetian » 29 May 2015, 17:05
Since it may take a while to fix the Kodama of the Center Tree bug in a good, fully rule-correct way, I decided to commit my temporary workaround that works in most basic cases but doesn't work in a rule-correct way in certain more complex cases and corner cases (most notably with mass removal). This definitely needs further developer attention. Feel free to try to fix the bug in a better way, in that case you'll need to revert r29495. Here's the changelog for r29495:
- Committing a temporary solution to prevent Kodama of the Center Tree from hard-crashing Forge.
- This script is not entirely rule-correct, it won't work properly in certain corner cases, as well as with mass removal. However, it does work correctly in the basic cases and doesn't crash the game.
- Feel free to revert this commit if you have a true solution that will allow Kodama of the Center Tree to work in a rule-correct way without crashing the game.
- Added a FIXME set of comments to the script and a Known Issues line to CHANGES.txt for the time being.
- Agetian
- Committing a temporary solution to prevent Kodama of the Center Tree from hard-crashing Forge.
- This script is not entirely rule-correct, it won't work properly in certain corner cases, as well as with mass removal. However, it does work correctly in the basic cases and doesn't crash the game.
- Feel free to revert this commit if you have a true solution that will allow Kodama of the Center Tree to work in a rule-correct way without crashing the game.
- Added a FIXME set of comments to the script and a Known Issues line to CHANGES.txt for the time being.
- Agetian
- Agetian
- Programmer
- Posts: 3472
- Joined: 14 Mar 2011, 05:58
- Has thanked: 677 times
- Been thanked: 561 times
Re: Forge version 1.5.40
by KrazyTheFox » 29 May 2015, 17:26
I like that. I'll change the preferences tonight to use those. Thanks!mastroego wrote:Playset Count, and Playset Count: Lands?
Makes sense with the concept of extras. Also some might use playsets of twos, for instance.
-
KrazyTheFox - Programmer
- Posts: 725
- Joined: 18 Mar 2014, 23:51
- Has thanked: 66 times
- Been thanked: 226 times
Re: Forge version 1.5.40
by friarsol » 29 May 2015, 18:03
Should it be Lands or Basics? Or will it filter by all Lands?KrazyTheFox wrote:I like that. I'll change the preferences tonight to use those. Thanks!mastroego wrote:Playset Count, and Playset Count: Lands?
Makes sense with the concept of extras. Also some might use playsets of twos, for instance.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Forge version 1.5.40
by KrazyTheFox » 29 May 2015, 18:12
Lands are included in the regular playset count. I'll be changing the name to reflect that it only affects basic lands (Playset Size: Basics?).friarsol wrote:Should it be Lands or Basics? Or will it filter by all Lands?KrazyTheFox wrote:I like that. I'll change the preferences tonight to use those. Thanks!mastroego wrote:Playset Count, and Playset Count: Lands?
Makes sense with the concept of extras. Also some might use playsets of twos, for instance.
-
KrazyTheFox - Programmer
- Posts: 725
- Joined: 18 Mar 2014, 23:51
- Has thanked: 66 times
- Been thanked: 226 times
Re: Forge version 1.5.40
by mastroego » 30 May 2015, 07:05
To be picky about my own suggestion, playsets are "always" of 4, since it's the max you can play.
Maybe "CollectSet" would be more precise But I still think it's good enough
The best you can do is the best you can do.
Keep fighting the good fight
Maybe "CollectSet" would be more precise But I still think it's good enough
Thanks Agetian, I appreciate it!Agetian wrote:Since it may take a while to fix the Kodama of the Center Tree bug in a good, fully rule-correct way, I decided to commit my temporary workaround
The best you can do is the best you can do.
Keep fighting the good fight
Re: Forge version 1.5.40
by Phoenix » 30 May 2015, 11:57
That's not correct since you can play as many copies of Relentless Rats and Shadowborn Apostle in your deck.mastroego wrote:To be picky about my own suggestion, playsets are "always" of 4, since it's the max you can play.
And to resuggest it, those two cards (until now) should get an own playset count (or collectset count) for not collecting automatically endless copies of them.
Re: Forge version 1.5.40
by mastroego » 30 May 2015, 12:31
yeah that's exactly why I wrote "always" with the quotation mark. And I believe that option has been implemented already.
Re: Forge version 1.5.40
by drdev » 31 May 2015, 02:03
FYI, I just committed a UI change to the desktop online lobby to streamline things a bit and make it so I can start working on a UI for the mobile app.
Now, instead of 3 fields and 2 buttons floating around on 2 panels, there's a single "Connect to Server" button that, when clicked, prompts you to enter the url of the server to join or leave blank and press OK to host your own. Either way, if you press OK, you get a loading screen to prevent Forge seeming to freeze why the server is set up. I also added a menu item for connecting to server under the Forge menu in a new Online submenu.
As part of this, my intent is that the hostname and port are shared together and can be pasted together in the form <hostname>:<port>, which matches normal url structure.
Let me know if you have any concerns with the new behavior.
Now, instead of 3 fields and 2 buttons floating around on 2 panels, there's a single "Connect to Server" button that, when clicked, prompts you to enter the url of the server to join or leave blank and press OK to host your own. Either way, if you press OK, you get a loading screen to prevent Forge seeming to freeze why the server is set up. I also added a menu item for connecting to server under the Forge menu in a new Online submenu.
As part of this, my intent is that the hostname and port are shared together and can be pasted together in the form <hostname>:<port>, which matches normal url structure.
Let me know if you have any concerns with the new behavior.
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
48 posts
• Page 1 of 4 • 1, 2, 3, 4
Who is online
Users browsing this forum: No registered users and 92 guests