Locating Items in the Final Fantasy 3 (NES) ROM Map

Started by linkncb16, April 19, 2016, 05:11:53 PM

Previous topic - Next topic

Spindaboy

There are a few things that I need to change that I cannot find the offsets for:
-MP Gains
-level of a spell
-name of a spell

They are not located on the datacrystal page and I don't know where else to look.
http://datacrystal.romhacking.net/wiki/Final_Fantasy_III:ROM_map

joe73ffdq

Here is something I just got done recently, and will help you with MP gains, along with all the addresses I have.

https://dl.dropboxusercontent.com/u/228695840/FF3nes.addresses%26statMPup.zip

AWJ

The datacrystal page does list where and how level-up information is stored:

Quote$721E6 to $732BD - Stat table for level-ups, determining which stats raise on every level for each class.

There are two bytes per level; the first determines the increase of physical stats using a bitfield:
  0x80 - Strength
  0x40 - Agility
  0x20 - Vitality
  0x10 - Intelligence
  0x08 - Spirit
  0x04-0x01: Amount to increase stat(s) by
The second byte determines which spell levels increase using a bitfield system, one bit for each of the 8 levels.
The order of classes is the same as the base stat table.

I don't think a spell's level is stored as a piece of data that you can change; it's probably based on its position in the list (the first n spells in the list are automatically level 1, the next n spells are level 2, etc.) That's the way it works in FF1 and FFL3, anyway. The only way to change the level of a spell is probably to exchange it with another spell, which means finding all data related to the two spells and references to them (shops, enemy move lists, etc.) and swapping them...

Also, why does your hack give the Bard both Fight and Sing commands? Sing does exactly the same thing as Fight in the NES version.

aweigh

Can't you just hex edit a save file and locate the character's name and his abilities and use trial-and-error (i.e. corruption) to find the hex values you need?

Spindaboy

#4
Quote from: joe73ffdq on May 03, 2016, 02:31:22 AM
Here is something I just got done recently, and will help you with MP gains, along with all the addresses I have.

https://dl.dropboxusercontent.com/u/228695840/FF3nes.addresses%26statMPup.zip

Thank you so much!! This will be extremely useful and I'll be sure to put this information to good use in a future release of my hack :D

May 09, 2016, 07:48:01 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

Quote from: AWJ on May 03, 2016, 01:16:00 PM

I don't think a spell's level is stored as a piece of data that you can change; it's probably based on its position in the list (the first n spells in the list are automatically level 1, the next n spells are level 2, etc.) That's the way it works in FF1 and FFL3, anyway. The only way to change the level of a spell is probably to exchange it with another spell, which means finding all data related to the two spells and references to them (shops, enemy move lists, etc.) and swapping them...

Also, why does your hack give the Bard both Fight and Sing commands? Sing does exactly the same thing as Fight in the NES version.

So theoretically, I could swap the levels of spells by swapping the position of a spell's hex value with another?

And as for the Attack and Sing commands, I did it for the sake of consistency. I don't know how to make the Bard's Attack command function correctly. (Or edit any command's formula for that matter...)

May 09, 2016, 07:49:06 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

Quote from: aweigh on May 04, 2016, 05:39:29 PM
Can't you just hex edit a save file and locate the character's name and his abilities and use trial-and-error (i.e. corruption) to find the hex values you need?

I tried that and couldn't figure it out unfortunately. I'd still consider myself a novice hacker :p