Users browsing this thread: 1 Guest(s)
Quick Fix

#1
Posts: 10
Threads: 3
Thanks Received: 9
Thanks Given: 4
Joined: Mar 2024
Reputation: 0
Status
None
My first ever FF6 bugfix! @Warrax pointed it out to me. Hopefully @CVReynolds and @SilentEnigma will consider including it in their patches.


Quote:Final Fantasy 6 -- Quick Fix v1.02
by RoSoDude https://rosodudemods.wordpress.com/

The "Quick" ability allows the user to enter two consecutive turns in battle while time remains paused for all other participants. However, Quick's implementation lead to several unintended consequences:
1. Status effect timers continue to tick for the Quick user while they are selecting their moves. This allows reflect to wear off, poison/regen to continue dealing damage/healing, and condemned to count down even as time is paused for everyone else
2. Characters who are in a defensive stance lose their defend status during and after Quick
3. AI script timers (global and character) continue to tick during Quick, and regardless of Stop status

The first two oversights are due to the fact that Quick sets battle timers to stop (bits $3AA0.4 and $3AA0.6) on all participants who are not Quick, but leaves battle timers enabled for the Quick user. Subsequent code then clears the defend status bit ($3AA1.1) for any characters who have stopped battle timers, which in normal circumstances only applies to characters affected by KO, petrify, stop, sleep, freeze, or Tentacle's seize. The third oversight occurs because the AI script timer update checks characters only for KO and petrify (bits $3EE4.6 and $3EE4.7) rather than checking for stopped battle timers. All of these are fixed in this patch.

This patch refactors the following subroutines to make room for the fixes:
C2/083F: updates stats and action queues after each command
C2/08C6: checks character for stopped battle timers and add pending actions to queue
C2/5BFC: updates AI script timers
C2/5C1B: checks character for fleeing action
C2/5C73: updates run difficulty

The patch is for non-headered US ROMs (v1.0 or v1.1). It is compatible with C.V. Reynolds' Bug-Fix compilation and SilentEnigma's Revised Old-Style Edition. Also included is a version of the patch that integrates Sketcher's Invisible Zombie v1.0 patch, which was otherwise incompatible.

Source files for assembly are included as a reference for other modders. Thanks to Warrax for pointing out this issue.

Warrax also pointed out to me that Quick Fix was incompatible with Leet Sketcher's Invisible Zombie patch (which stops monsters from attacking after being apparently "killed" by zombification). So I've updated to v1.01 to include an alternate patch which integrates Invisible Zombie and Quick Fix together.


Attached Files
.zip  Quick_Fix_v1.00.zip (2.75 KB, 4 downloads)
.zip  Quick_Fix_v1.01.zip (5.17 KB, 5 downloads)
.zip  Quick_Fix_v1.02.zip (8.53 KB, 3 downloads)
Quote  
[-] The following 2 users say Thank You to RoSoDude for this post:
  • Gi Nattak (03-14-2025), jack5881 (03-14-2025)

#2
Posts: 10
Threads: 3
Thanks Received: 9
Thanks Given: 4
Joined: Mar 2024
Reputation: 0
Status
None
I noticed that AI script timers continued to tick during Quick (and regardless of Stop status), so I've fixed that too in v1.02! This required some condensing of the fleeing subroutines, however, so other hackers should be careful. It does not conflict with any of the bugfix patches I'm aware of (checked against C.V. Reynolds' Bug-Fix compilation).

EDIT: there was a problem with the previous v1.02 upload, which I'm still working to resolve. I'll put it back up once it's ready.
EDIT2: Quick v1.02 is back up and fully vetted with C.V. Reynolds' Bug-Fix compilation!
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite