øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2225.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index69ec.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&board=8.60e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index69ec.html.zx²$h^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ ,/=-OKtext/htmlISO-8859-1gzip@øÕ=-ÿÿÿÿÿÿÿÿTue, 10 Mar 2020 23:53:47 GMT0ó°° ®0®P®€§²ð®²$h^ÿÿÿÿÿÿÿÿ.=- Quick Megafix topic

Author Topic: Quick Megafix topic  (Read 4045 times)

Imzogelmo

  • Ogopogo Aficianado
  • *
  • Posts: 241
  • Gender: Male
  • Ask me about my other job.
    • View Profile
    • NEPROMR
Quick Megafix topic
« on: May 12, 2016, 12:51:54 AM »
Having a separate topic for Quick's bugs and fixes is a good idea. So....
5/31/16 - I have an assembly of the battle portion of C2, relocated to the F0 bank, which has both vanilla and patch code in my dropbox. I'll be updating it with additional patches as I have time. I will *not* be releasing it publicly, but ask me for the link and I'll share.

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #1 on: May 12, 2016, 07:59:14 AM »
to recap.. one bug, "Infinite turns w/ Quick and X-Magic" (explained in Master ZED's guide), is in the process of being dealt with.

aided by info in this post:
http://slickproductions.org/forum/index.php?topic=2219.msg25258#msg25258

and discussed in the 10 posts starting here:
http://slickproductions.org/forum/index.php?topic=2219.msg25265#msg25265

the source for the pre-alpha test patch (FF3us) is here:
http://assassin17.brinkster.net/forum-posts/quick-gembox-try-fix1.asm

it's held up in my limited tests, and Xenovant's more involved trials (thanks!).

however, i can't truly say WHY it works, nor that it works all the time or lacks side effects.  a change being mulled is only skipping the relocated code on Quick's final turn.

besides the Function C2/091F edited by the patch, other areas of interest are C2/0168 and C2/01B7.  Variable $3AA0,index almost certainly will be involved in whatever the final fix is.

(Imzogelmo: mnrogar's site also has lots of savestates, though they're for an LLG.  you can always save conventionally on them, then sic Lord J and Jumper's FF3h on the .SRM for stronger characters.)

magitek

  • Antlion
  • *
  • Posts: 67
  • Gender: Male
  • Juggler
    • View Profile
Re: Quick Megafix topic
« Reply #2 on: May 12, 2016, 08:45:12 AM »
I'm not very familiar with the nuances of Quick and X-magic, but I don't think X-magic supposed to eat up one of your Quick turns.

1. Use X-Magic to cast Quick on the first cast
2. The second cast counts as one of Quick's turns, even though it's still the same turn
3. You get one more turn to cast two spells, then, time restarts
Result: you get three spells.

Using Quick and X-magic should allow you to rattle off FOUR spells in total before anyone else can move, which you can if you do this:

1. Use X-magic to cast any spell, then Quick as the SECOND spell
2. You get an instant turn in which to cast X-Magic
3. Time is still frozen, you get another turn to use X-Magic
3. Time restarts
Result: four spells.

 :edit:
It's referenced in ZED's guide as "Waste an extra turn with X-Magic". D'oh, apologies for not doing my research before posting.
Don't feed the trolls. Use proper grammar, spelling, and punctuation. Eat your vegetables.

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: Quick Megafix topic
« Reply #3 on: May 12, 2016, 09:36:57 AM »
1.The morph gauge bug. It has been already fixed, but I thought it should be mentioned here, too.

2.I'll add this one here:

Quote from: Assassin
Quote
#133

Summon Palidor, and have someone cast Quick before everyone could drop down; have that person use a Smoke Bomb on his first of two turns. Those in mid-air won't escape, and Quick won't be broken, which situation results in a game hang.
a test shows this bug isn't dependent on using Palidor; it also happens if I simply have one character use Jump. figured it's worth noting, given that Palidor has its own cans of worms (dicking with the action queue, toggling all sorts of flags) that normal Jump doesn't.

3.Another bug: regen/poison/condemned timer/etc. don't stop.

I fixed this one and the morph one on C2/113B, by simply adding a check with LDA $3404 (it's someone under the influence of quick?, If so, skip this).


I'm not very familiar with the nuances of Quick and X-magic, but I don't think X-magic supposed to eat up one of your Quick turns.

1. Use X-Magic to cast Quick on the first cast
2. The second cast counts as one of Quick's turns, even though it's still the same turn
3. You get one more turn to cast two spells, then, time restarts
Result: you get three spells.

I did a cheap fix on this. Instead of really fixing it, a took the second quick turn away if you were casting quick as the second spell, so you would always get just 1 extra turn. I always thought Quick was overpowered, and with x-magic, even more  :tongue:

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #4 on: May 12, 2016, 09:47:54 AM »
Quote
3.Another bug: regen/poison/condemned timer/etc. don't stop.

I fixed this one and the morph one on C2/113B, by simply adding a check with LDA $3404 (it's someone under the influence of quick?, If so, skip this).

i didn't think most of these had the problem, thanks to the C2/5AB1 check.  the Morph timer, yes, as that's a different function.

an exception to the above is the Sleep/Freeze/Reflect timers, which normally defer to other-Quick, getting decremented on Stop's final tick.  that's fixed by my "Premature Continuation" patch, though i didn't realize the Quick aspect of it at the time.

or are you saying you think that "regen/poison/condemned timer/etc." should pause even on the entity who has Quick?

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: Quick Megafix topic
« Reply #5 on: May 12, 2016, 10:31:41 AM »
Yep, mainly due to regen. If you can be there regenerating with everyone else stopped... that sounds like a exploit to me. The poison/condemned thing is another story, but I like to think that everything is waiting for you when you are using Quick.

Talking about palidor/jump, I guess we could add a "check for quick and remove it" on the smoke bomb routine, but something tells me that there's more out there xD

Imzogelmo

  • Ogopogo Aficianado
  • *
  • Posts: 241
  • Gender: Male
  • Ask me about my other job.
    • View Profile
    • NEPROMR
Re: Quick Megafix topic
« Reply #6 on: May 12, 2016, 10:38:51 AM »
or are you saying you think that "regen/poison/condemned timer/etc." should pause even on the entity who has Quick?

Someone could make the argument for that, but the way I see it, the entity under Quick should be considered in a 'time bubble' of their own. Everything outside the bubble is stopped (all timers, ATBs, etc.). For the one inside the bubble, timers should continue to run. Nothing else should get an attack in unless it is one of the monster counters that specifically executes in the case of Quick.

Quick's effect should end once the player puts in the second command. It should also end if the Quick-active user were to die within their bubble (maybe they are poisoned or suicidal). And of course if the battle ends due to the death of the opposing party, the Quick effect should end.



When it comes to chaining of turns with X-Magic, it sounds like you may have found a solution that brings it under control. Of course it needs a bit more testing, but so far so good.



When it comes to a Quick-user using Smoke Bomb and stranding their mid-air comrades, I can see how that would fail in my above list. The Q-user didn't die, so the bubble didn't pop. The battle hasn't ended, so the bubble didn't pop, and the second command hasn't been entered, so the bubble didn't pop.

To fix it, I'd modify the statement above:

Quick's effect should end once the player puts in the second command.
It should also end if the Quick-active user were to die (or escape or otherwise become untargettable) within their bubble (maybe they are poisoned or suicidal).
And of course if the battle ends due to the death of the opposing party, the Quick effect should end.

The problem with this modified statement is that the Q-user could themselves jump on their first turn. The check for a missing Q-user should not actually take place until the Q-user has an action that executes. If it's Jump's takeoff, then don't kill the quick effect yet. If it's poison/seizure/condenmed-Doom etc. ticking, then check if the user is still alive before killing the quick effect, and if they're alive, don't kill the effect...

Ok, I seem to be making this a bit harder than it has to be. Let's see if we can simplify this logic somewhat...


EDIT:
Quote from: Xenovant
Yep, mainly due to regen. If you can be there regenerating with everyone else stopped... that sounds like a exploit to me. The poison/condemned thing is another story, but I like to think that everything is waiting for you when you are using Quick.

While that does sound like a bit of an exploit to me as well, I can't imagine a scenario where you'd actually want to allow one through and not the other. Maybe it would be best to just stop all the auto-executing stuff during Quick, for consistency and to eliminate one source of Quick-popping activity.
« Last Edit: May 12, 2016, 10:48:15 AM by Imzogelmo »
5/31/16 - I have an assembly of the battle portion of C2, relocated to the F0 bank, which has both vanilla and patch code in my dropbox. I'll be updating it with additional patches as I have time. I will *not* be releasing it publicly, but ask me for the link and I'll share.

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: Quick Megafix topic
« Reply #7 on: May 12, 2016, 11:08:45 AM »
Maybe it would be best to just stop all the auto-executing stuff during Quick, for consistency and to eliminate one source of Quick-popping activity.

+1

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #8 on: May 12, 2016, 11:14:48 AM »
Quote
Someone could make the argument for that, but the way I see it, the entity under Quick should be considered in a 'time bubble' of their own. Everything outside the bubble is stopped (all timers, ATBs, etc.). For the one inside the bubble, timers should continue to run. Nothing else should get an attack in unless it is one of the monster counters that specifically executes in the case of Quick.

what is your view on other entities' Stop timers continuing to run?  on the one hand, it's an exception to that "time bubble".  on the other, as Stop's a mighty time freeze that trumps all of that entity's other time-based stuff by pausing them, maybe indeed nothing else should be able to pause it.  it's a Clash of the Titans.

-------------

as far as the Regen being an exploit, i see your points.  but it's not much worse than being able to rattle off a Cure 3 and an Osmose.  also, as long as it's considered permissible for Cyan's normally giant SwdTech charging to be rendered moot by Quick, i have trouble thinking of anything else as exploitative.  not that i'm complaining about that; it gives some character balance late-game, and finally throws the poor, admirable bastard a bone.

magitek

  • Antlion
  • *
  • Posts: 67
  • Gender: Male
  • Juggler
    • View Profile
Re: Quick Megafix topic
« Reply #9 on: May 12, 2016, 11:59:39 AM »
I did a cheap fix on this. Instead of really fixing it, a took the second quick turn away if you were casting quick as the second spell, so you would always get just 1 extra turn. I always thought Quick was overpowered, and with x-magic, even more  :tongue:

That's a  one way to balance Quick/X-Magic, but more of a fuck you (to the player)-rebalancing mod than a bugfix. :P

Initially, I misread and thought you had modded Quick to give one extra turn, which would make no sense. However, I am pondering making an ability to "donate" your turn to someone else, i.e. a single-turn-ified Quick spell that can target an ally, so that peaked my interest.

It would be similar to the broken "Smile" ability that moogle Jugglers have in FFTA. It would be less broken in FFVI, since there's no movement component. Smile had range, and still allowed you to move before using it, so a pair of moogle Jugglers could zip across the battlefield in an instant and double team anyone.
« Last Edit: May 12, 2016, 12:07:10 PM by magitek »
Don't feed the trolls. Use proper grammar, spelling, and punctuation. Eat your vegetables.

magitek

  • Antlion
  • *
  • Posts: 67
  • Gender: Male
  • Juggler
    • View Profile
Re: Quick Megafix topic
« Reply #10 on: May 12, 2016, 12:10:53 PM »
what is your view on other entities' Stop timers continuing to run?  on the one hand, it's an exception to that "time bubble".  on the other, as Stop's a mighty time freeze that trumps all of that entity's other time-based stuff by pausing them, maybe indeed nothing else should be able to pause it.  it's a Clash of the Titans.

This is an interesting topic. What are the rules of Time Magic? Are there different "layers" of time flow that TM spells can operate on, i.e. a kind of hierarchy of Time Magic effects? Or is it a type of stack (and if so, lifo or fifo?).

 :edit:
Note that the FF series considers Regen (and Reraise) a Time Magic (but not Sap, which makes it weird that it's mutually exclusive with Regen. And definitely not Poison). How should it be prioritized if other Time Magic effects are layered on the battlefield?  :eek:

 :edit: :edit:
That brings up a question. Does Quick stall the autocast Life if you kill someone with Life 3 during a Quick turn?
« Last Edit: May 12, 2016, 01:31:51 PM by magitek »
Don't feed the trolls. Use proper grammar, spelling, and punctuation. Eat your vegetables.

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: Quick Megafix topic
« Reply #11 on: May 12, 2016, 12:58:53 PM »
That's a  one way to balance Quick/X-Magic, but more of a fuck you (to the player)-rebalancing mod than a bugfix. :P

That's why I said "cheap fix"  :happy:  I didn't fix it the way it's expected, but now it doesn't matter if you cast quick as the first or second spell using x-magic, you'll always get just 1 turn, and yes, it's a little "fuck you" to the players who like to abuse the (overpowered) quick spell xD

magitek

  • Antlion
  • *
  • Posts: 67
  • Gender: Male
  • Juggler
    • View Profile
Re: Quick Megafix topic
« Reply #12 on: May 12, 2016, 01:27:53 PM »
Something just occurred to me: it would make sense to have Quick pause the tick of timers and gauges, but not put the whole ATB system on hold completely (I mean, obviously it doesn't completely, since Regen ticks and such still occur within the time bubble). Then, Quick could have an expiry timer of it's own instead of being confined to an arbitrary number of turns.
Don't feed the trolls. Use proper grammar, spelling, and punctuation. Eat your vegetables.

magitek

  • Antlion
  • *
  • Posts: 67
  • Gender: Male
  • Juggler
    • View Profile
Re: Quick Megafix topic
« Reply #13 on: May 12, 2016, 01:32:30 PM »
That's a  one way to balance Quick/X-Magic, but more of a fuck you (to the player)-rebalancing mod than a bugfix. :P

That's why I said "cheap fix"  :happy:  I didn't fix it the way it's expected, but now it doesn't matter if you cast quick as the first or second spell using x-magic, you'll always get just 1 turn, and yes, it's a little "fuck you" to the players who like to abuse the (overpowered) quick spell xD

I still like it. :) Can I see the code?
Don't feed the trolls. Use proper grammar, spelling, and punctuation. Eat your vegetables.

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: Quick Megafix topic
« Reply #14 on: May 12, 2016, 04:55:05 PM »
Quote from: Assassin
Quote
#133

Summon Palidor, and have someone cast Quick before everyone could drop down; have that person use a Smoke Bomb on his first of two turns. Those in mid-air won't escape, and Quick won't be broken, which situation results in a game hang.
a test shows this bug isn't dependent on using Palidor; it also happens if I simply have one character use Jump. figured it's worth noting, given that Palidor has its own cans of worms (dicking with the action queue, toggling all sorts of flags) that normal Jump doesn't.

I'm curious as to why this is the case, because as I recall Smoke Bomb marks all affected entities to be removed from battle. The function that does the removing also clears Quick if that entity was removed. Is the "remove marked entities" function somehow not being called?
"Do not meddle in the affairs of wizards, for they are subtle and quick to anger." -Gildor from The Lord of the Rings