FF6 Hacking
Edit Narshe Esper battle - Printable Version

+- FF6 Hacking (https://www.ff6hacking.com/forums)
+-- Forum: Discussion Forums (https://www.ff6hacking.com/forums/forum-5.html)
+--- Forum: Magitek Research Facility (https://www.ff6hacking.com/forums/forum-9.html)
+--- Thread: Edit Narshe Esper battle (/thread-4107.html)

Pages: 1 2


Edit Narshe Esper battle - doofenH - 05-08-2021

How do I edit the Battle for the Frozen Esper, like changing the enemies' speed, respawn, & etc.


RE: Edit Narshe Esper battle - Gi Nattak - 05-08-2021

That's done via event code. Outside of using FF6Tools and/or Zone Doctor to handle events, you'd need to become familiar with the 'Event Dump', which is hosted on the wiki here: https://www.ff6hacking.com/wiki/doku.php?id=ff3:ff3us:doc:game
The other event documents there are helpful as well such as the Event Command List.

Basically you'd just need to locate the event code in question and use a hex editor to locate to that code in the ROM, and edit it.
In order to find the code in the event dump, you can do a search within the dump for some dialog that is associated with the event within the closest vicinity which would lead you close to the code you'd like to edit. You'll see in the event dump all the commands commented and what not in order to go about altering them.

For the soldiers snow battle movement stuff though, that's handled by the 'entrance event' code, which you can find out easily where that is in the event dump by using a level editor and going to the map in question (016 Narshe, Ouside, Battlefield WOB) and in the event tab you'd see the 'entrance event' offset there. In this case, it shows 2CBFB, which translates to CC/CBFB. So go there in the event dump and you'll see the soldiers movement there, which you can then edit. The soldiers don't respawn btw, there's just a max amount of NPCs/objects used for that event. You can also look at the event triggers to find offsets as well, if the searching for associated dialog method fails.

So yeah the event dump along with the level editor to tell you entrance event offsets and NPC #, and of course a hex editor, is the manual way to go about doing this. I am not familiar with using the aforementioned utilities to chime in there, but I'd imagine that'd be much more user friendly than doing it this manual way, but it's all I've ever known!


RE: Edit Narshe Esper battle - C-Dude - 05-08-2021

You can use Zone Doctor to look at the event code, but you CANNOT save with it. Well, you can, but you mustn't, for it will irreparably ruin your ROM. I don't know how FF6Tools handles event modification.

The soldiers DO respawn once each; when defeated, they set an event bit that marks them as such, then they get moved back to their start spot. When defeated a second time, they are deleted. To make them respawn indefinitely, you'd need to stop the game from setting those event bits ($FD is the hex code to NOP out event bit sets/clears. The event bit altering commands are two bytes each).

As for making the soldiers move more quickly, you could just increase their movement speed in the action queue (to Faster or Fastest). As Gi said, that movement code is controlled by the entrance event for the Narshe battlefield; you can get this event address in either Zone Doctor or FF6LE, just add $CA0000 to the number displayed on the Events tab.


RE: Edit Narshe Esper battle - Gi Nattak - 05-08-2021

(05-08-2021, 12:50 PM)C-Dude Wrote: The soldiers DO respawn once each

Absolutely right you are! Wow, talk about a massive brain fart Finger After refiring up the old brain, I can indeed envision them appearing back in place from seemingly thin air once defeated/removed when rushing to fight Kefka. I'm getting old and senile! Laugh


RE: Edit Narshe Esper battle - PowerPanda - 05-08-2021

If the speed of the enemies is what you're looking to edit, then that entrance event actually calls a whole bunch of smaller subroutines for enemy movement. The subroutines start right after the entrance event at CC/CC3E. Within each subroutine, you'll notice that the enemy moves, pauses, moves, pauses, etc. The pauses will be represented in the hex as "E0 0x". The E0 function in an action queue means "pause for 4x the X number of frames". The big thing to note is that with 60 frames per second, E0 04 pauses for 1/4 second, E0 08 pauses for 1/2 second, and E0 10 (dec. 16) pauses for a full second. It's not quite that exact, but those are the ones used in FF6's event code for the close approximations.

So, what you do if you want to mostly double their speed is halve all of the pauses. E0 04 becomes E0 02, etc. Note that this will make for a ludicrously difficult battle, but you're welcome to try it.


RE: Edit Narshe Esper battle - doofenH - 05-08-2021

What about reduce the speed of Rider, instead of the whole armies?


RE: Edit Narshe Esper battle - PowerPanda - 05-09-2021

(05-08-2021, 11:50 PM)doofenH Wrote: What about reduce the speed of Rider, instead of the whole armies?

For that, there's 2 things you can do.

1. The Rider's script is at CC/CEC5. He runs back and forth, and has 2 pauses of 16 frames. You can change CC/CECB and CC/CECF from "E0 04" to "E0 08" to double the length of the pauses. 
2. Your second option is to slow down his actual running speed, which would mean changing CC/CEC7 from "C3" (Fast) to "C2" (Normal) or "C1" (Slow). Note that the Slowest (C0) and Fastest (C4) values are really only for the camera. When used on NPCs or Characters, it looks really weird.


RE: Edit Narshe Esper battle - doofenH - 05-10-2021

(05-09-2021, 12:31 PM)PowerPanda Wrote:
(05-08-2021, 11:50 PM)doofenH Wrote: What about reduce the speed of Rider, instead of the whole armies?

For that, there's 2 things you can do.

1. The Rider's script is at CC/CEC5. He runs back and forth, and has 2 pauses of 16 frames. You can change CC/CECB and CC/CECF from "E0 04" to "E0 08" to double the length of the pauses. 
2. Your second option is to slow down his actual running speed, which would mean changing CC/CEC7 from "C3" (Fast) to "C2" (Normal) or "C1" (Slow). Note that the Slowest (C0) and Fastest (C4) values are really only for the camera. When used on NPCs or Characters, it looks really weird.
It been a while since I used HxD, and I can't find it. I checked the Event Script, and yeah its Rider alright, but going into HxD. I can't find it. I go into the outset 0CCEC7, but didn't spot the C3.


RE: Edit Narshe Esper battle - Gi Nattak - 05-10-2021

Does your ROM have a header? If so, you'd need to add +200 to the offset which would be 0CD0C7. Removing the header for hex editing purposes is helpful.


RE: Edit Narshe Esper battle - doofenH - 05-10-2021

(05-10-2021, 12:48 AM)Gi Nattak Wrote: Does your ROM have a header? If so, you'd need to add +200 to the offset which would be 0CD0C7. Removing the header for hex editing purposes is helpful.

Found it, and yes I did. Can I respawn Rider twice? Or change Rider into another monster?