It is currently 24 Apr 2024, 04:46
   
Text Size

Forge version 1.5.40

Post MTG Forge Related Programming Questions Here

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

Forge version 1.5.40

Postby Chris H. » 21 May 2015, 00:51

Tentative target release date: June 5 2015.
User avatar
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

Postby 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.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Forge version 1.5.40

Postby 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.
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

Re: Forge version 1.5.40

Postby 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.
Phoenix
 
Posts: 77
Joined: 15 Dec 2011, 10:23
Has thanked: 6 times
Been thanked: 3 times

Re: Forge version 1.5.40

Postby 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:

Code: Select all
SVar:Y:TriggeredCardController$Valid Spirit.YouCtrl
It doesn't work (and crashes) and over the last few days I was unable to make it work properly that way - tracing through the code there is a bit difficult for me.

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

Postby 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.
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

Re: Forge version 1.5.40

Postby 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
Agetian
Programmer
 
Posts: 3472
Joined: 14 Mar 2011, 05:58
Has thanked: 677 times
Been thanked: 561 times

Re: Forge version 1.5.40

Postby 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
Agetian
Programmer
 
Posts: 3472
Joined: 14 Mar 2011, 05:58
Has thanked: 677 times
Been thanked: 561 times

Re: Forge version 1.5.40

Postby KrazyTheFox » 29 May 2015, 17:26

mastroego wrote:Playset Count, and Playset Count: Lands?
Makes sense with the concept of extras. Also some might use playsets of twos, for instance.
I like that. I'll change the preferences tonight to use those. Thanks!
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Forge version 1.5.40

Postby friarsol » 29 May 2015, 18:03

KrazyTheFox wrote:
mastroego wrote:Playset Count, and Playset Count: Lands?
Makes sense with the concept of extras. Also some might use playsets of twos, for instance.
I like that. I'll change the preferences tonight to use those. Thanks!
Should it be Lands or Basics? Or will it filter by all Lands?
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

Postby KrazyTheFox » 29 May 2015, 18:12

friarsol wrote:
KrazyTheFox wrote:
mastroego wrote:Playset Count, and Playset Count: Lands?
Makes sense with the concept of extras. Also some might use playsets of twos, for instance.
I like that. I'll change the preferences tonight to use those. Thanks!
Should it be Lands or Basics? Or will it filter by all Lands?
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?).
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Forge version 1.5.40

Postby 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 :)

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
Thanks Agetian, I appreciate it!
The best you can do is the best you can do.
Keep fighting the good fight :D
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

Re: Forge version 1.5.40

Postby Phoenix » 30 May 2015, 11:57

mastroego wrote:To be picky about my own suggestion, playsets are "always" of 4, since it's the max you can play.
That's not correct since you can play as many copies of Relentless Rats and Shadowborn Apostle in your deck.

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.
Phoenix
 
Posts: 77
Joined: 15 Dec 2011, 10:23
Has thanked: 6 times
Been thanked: 3 times

Re: Forge version 1.5.40

Postby 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.
mastroego
 
Posts: 236
Joined: 22 Sep 2013, 14:04
Has thanked: 28 times
Been thanked: 16 times

Re: Forge version 1.5.40

Postby 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.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Next

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 36 guests


Who is online

In total there are 36 users online :: 0 registered, 0 hidden and 36 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 36 guests

Login Form