It is currently 23 Apr 2024, 23:02
   
Text Size

Forge version 1.5.46 or 1.6.0

Post MTG Forge Related Programming Questions Here

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

Forge version 1.5.46 or 1.6.0

Postby Chris H. » 12 Sep 2015, 15:36

Tentative target release date: September 25 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.46 or 1.6.0

Postby friarsol » 12 Sep 2015, 21:48

There were some reports in the last beta thread about Lightning Storm being broken. I poked around a bit, and I think this is an issue with the Views not updating properly when a card is added to the stack. Since it should show up in the Flashback "zone" when a card is activatable while on the stack, can someone with more UI savvy check it out?
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge version 1.5.46 or 1.6.0

Postby Agetian » 13 Sep 2015, 16:43

friarsol wrote:There were some reports in the last beta thread about Lightning Storm being broken. I poked around a bit, and I think this is an issue with the Views not updating properly when a card is added to the stack. Since it should show up in the Flashback "zone" when a card is activatable while on the stack, can someone with more UI savvy check it out?
I tried looking into this but couldn't crack it :( Hopefully Dan or Krazy will be able to provide some input here and hopefully be able to fix it. The interesting thing here is that if another spell is cast while Lightning Storm is on stack and thus resolves before Lightning Storm, then Lightning Storm is correctly visualized in the flashback zone (after the other spell resolves) and can be used properly. But if Lightning Storm is the first and only spell on the stack (or, I assume, if it's the last one to be placed on stack), then it doesn't go into the flashback zone correctly. Most likely it's a case of a delayed or missed view update, but everything I tried did not work, sadly... :(

Please help if possible.

- Agetian
Agetian
Programmer
 
Posts: 3472
Joined: 14 Mar 2011, 05:58
Has thanked: 677 times
Been thanked: 561 times

Re: Forge version 1.5.46 or 1.6.0

Postby Agetian » 14 Sep 2015, 16:07

r30003: I tried to fix the issue with Lightning Storm not being activatable while on stack. In particular:

- Fixed Lightning Storm and possibly other similar cards with abilities that can be activated from stack not registering in the Flashback zone correctly when going to stack.
- Currently a bit hacky (involves force-updating the flashback zone for view on adding a card to stack if there are externally activatable cards on stack at the moment the spell is added to stack), feel free to improve.
- There are still some visual glitches related to flashback and cards activated on stack - after the spell is cast, the spell sometimes visually "lingers" in the flashback zone for some time and then gets removed from there with time. Not sure how to fix.

Since it's a bit of a hack, I'm still relying on our UI experts (Dan and possibly Krazy) to look into this and possibly modify/update this to work better and more "properly".

There is, however, something else that is odd and that is happening with Lightning Storm ability-wise. Sometimes I'm able to redirect the Lightning Storm correctly (when activating from stack), and sometimes I don't get that option (that seems to be kind of random). No idea why that happens, but it's probably a different issue not related to the Flashback zone update as such... :/ Feel free to investigate further.

- Agetian
Agetian
Programmer
 
Posts: 3472
Joined: 14 Mar 2011, 05:58
Has thanked: 677 times
Been thanked: 561 times

Re: Forge version 1.5.46 or 1.6.0

Postby KrazyTheFox » 14 Sep 2015, 23:15

Agetian wrote:Since it's a bit of a hack, I'm still relying on our UI experts (Dan and possibly Krazy) to look into this and possibly modify/update this to work better and more "properly".
Unfortunately I'm not familiar enough with the in-game UI to really figure out how to do this any better. Your changes seem to do the trick. From a usability standpoint, it would be far more intuitive to activate things from the stack by clicking on them in the stack itself. Not sure how hard that is to pull off, though.
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.46 or 1.6.0

Postby Agetian » 15 Sep 2015, 05:02

KrazyTheFox wrote:
Agetian wrote:Since it's a bit of a hack, I'm still relying on our UI experts (Dan and possibly Krazy) to look into this and possibly modify/update this to work better and more "properly".
Unfortunately I'm not familiar enough with the in-game UI to really figure out how to do this any better. Your changes seem to do the trick. From a usability standpoint, it would be far more intuitive to activate things from the stack by clicking on them in the stack itself. Not sure how hard that is to pull off, though.
Agreed, though I'm not the best person to tackle that as well (I mean stack activation). It'd be a neat feature though, I agree! :)

- Agetian
Agetian
Programmer
 
Posts: 3472
Joined: 14 Mar 2011, 05:58
Has thanked: 677 times
Been thanked: 561 times

Re: Forge version 1.5.46 or 1.6.0

Postby Agetian » 21 Sep 2015, 08:42

I implemented some changes in r30068 that may potentially break something, I tried to test everything to the best of my ability (tested on Explorer's Scope; Domri Rade; Ajani, Mentor of Heroes; Ink Dissolver; Baneful Omen; Delver of Secrets and a couple other cards and worked fine) and it seems to work fine, but please let me know if it breaks anything.

Here are the relevant changes:
* Fixed AB Dig to correctly allow optional abilities and to reveal the card to the controller of the ability even in case it's not valid for further action.
* Fixed Explorer's Scope effect. This also fixes abilities like that of Ajani, Mentor of Heroes which are supposed to be optional but were not treated as optional before.

- Agetian
Agetian
Programmer
 
Posts: 3472
Joined: 14 Mar 2011, 05:58
Has thanked: 677 times
Been thanked: 561 times

Re: Forge version 1.5.46 or 1.6.0

Postby Marek14 » 21 Sep 2015, 09:57

Proteus Machine has a bug: its type-changing ability should be permanent.
Marek14
Tester
 
Posts: 2761
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 297 times

Re: Forge version 1.5.46 or 1.6.0

Postby Agetian » 24 Sep 2015, 04:36

I'm investigating the problem with Awakened lands not triggering Morbid.

The problem is that Morbid uses CardUtil.getThisTurnEntered to detect if any creatures entered graveyard this turn, but changeZone adds the original, "pristine" state of cards to the list used by getThisTurnEntered as opposed to the state that the card was in when it left the original zone (see, for example, GameAction.java:254 and Zone.java:79).

Now, I'm really unsure about something here: is it viable to report "modified" states of cards to getThisTurnEntered? Probably not, right? (because in that case it might seem to the game that the card that actually entered the graveyard and remains there was e.g. a land-creature and not just a land?) In other words, is it even viable to modify the code above to let getThisTurnEntered see cards in their modified state and not in their pristine state?

EDIT: Ok, in continuation of my previous musings, I implemented a way for Awaken and Morbid to interact in r30094. The question is, however: should this kind of behavior (looking at the "latest state" of the card as it changed zones) be made default? I mean, for instance, right now Flesh Allergy does not work correctly with Awaken (because the Count mechanism for cards entered this turn currently still looks at the pristine state of the cards in the graveyard, not at the state they were in as they left the battlefield). It looks like looking at the latest state of the card may be the answer to the question here, but another question still remains: how universal should this behavior be? Is it safe to implement this for all zone changes? Is it safe only for some particular types of zone change (e.g. battlefield->graveyard)?.. Is it not safe at all except for some specific use cases (e.g. Morbid)?

- Agetian
Last edited by Agetian on 24 Sep 2015, 08:48, 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.46 or 1.6.0

Postby Hanmac » 24 Sep 2015, 08:11

Checking for latest state is important
(And also how the rules work)
That would fix other things like Savra, Queen of the Golgari too

And it's also important for the landfall creatures with landtype check
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Forge version 1.5.46 or 1.6.0

Postby Agetian » 26 Sep 2015, 15:09

I decided to be a little daring here and I recommitted the modified fix for Morbid + Awaken and other similar interactions in r30125-30126. This version does not break Echo, Sunburst or Suspend. My tests indicate that it works fine otherwise, but please let me know if anything else is wrong now, I'll update/revert ASAP.

- Agetian
Agetian
Programmer
 
Posts: 3472
Joined: 14 Mar 2011, 05:58
Has thanked: 677 times
Been thanked: 561 times

Re: Forge version 1.5.46 or 1.6.0

Postby drdev » 27 Sep 2015, 01:28

Good news. Just committed a working "Add Basic Lands" dialog to desktop Forge. The button to launch it will take the place of the "Change Section" button, which I've moved to the left of the list/image view buttons (at least for now).

Here's what the dialog looks like:

DesktopAddBasicLands.PNG

Let me know if this dialog is working for people, and I'll go ahead and make it so Draft and Sealed no longer add all the basic lands to the pool.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge version 1.5.46 or 1.6.0

Postby friarsol » 27 Sep 2015, 02:45

Does it show up in Sealed Deck mode? Change sections usually isn't in that view, since your card pool is your sideboard. (I'm guessing Draft might be the same?)

Edit: Nevermind. I rebuilt, but for some reason it didn't include the changes. I retried and it seemed to be in that time. Probably the biggest thing for Limited would be to restrict the sets based on the Limited environment (a BFZ environment should only allow BFZ basics)

Edit2: But looks good, I say axe the auto-land setup.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge version 1.5.46 or 1.6.0

Postby Agetian » 27 Sep 2015, 06:27

Looks great, Dan! Works really well for me, I agree that we can ditch the old generation algorithm for Sealed and Draft! (will need to preserve it for Quest though, I believe, otherwise it'll be too easy to cheat in quest mode by giving yourself as many basics as you want, selling them, giving more, selling them, etc...). Right now it's possible to abuse this in Quest mode, by the way. ;) Or maybe something else can be thought of for the Quest mode? Such as, for example, "Add Basic Lands" works in Quest mode only within some limitations? (for ex., it can't generate more than 20 basic lands of each type), or maybe it can have a different use in Quest mode - such as e.g. adding basic lands from your card pool to your deck (but only within the limits of what you have in your card pool, which is generated in the beginning of the quest just as before?) This might also be a little bit of a concern for the Quest Draft Tournaments where it'll be possible to add a lot of excessive basics to the card pool for sale, but then again, one may have to end up exercising control over how one plays Forge :) I mean, if one wants to cheat, he'll find a way to cheat anyway.

A minor visual thing I noticed: if you click "Add Basic Lands" while your deck is still empty (or at least when there are no colored cards yet) you get a "square" symbol instead of the shard percentage (I'd expect 0% to be displayed there).

Also, I agree with Sol that it'd be nice to limit the type of basic lands depending on the format. :)
Thanks for your effort!

- Agetian
Agetian
Programmer
 
Posts: 3472
Joined: 14 Mar 2011, 05:58
Has thanked: 677 times
Been thanked: 561 times

Re: Forge version 1.5.46 or 1.6.0

Postby drdev » 27 Sep 2015, 13:04

I default the basic land based on the limited format, however I didn't see any reason to restrict it on either the Android app or the desktop app. I've played many a limited event where you pull basics from all sorts of formats. The format of the basic lands has no impact on anything, so why prevent people from using their favorite land art when playing limited for a different format.

As for quest mode, I already put in code to restrict the available lands to those in your inventory, so you shouldn't be able to add lands you don't own. Or at least you shouldn't be able to add more lands than you own, I forgot exactly how I implemented it. If you're finding a way to abuse this, I can try to plug to loophole.

At any rate, I'll go ahead and update the limited formats to avoid adding basic lands to the pool.
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 39 guests


Who is online

In total there are 39 users online :: 0 registered, 0 hidden and 39 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 39 guests

Login Form