Final Fantasy Five Advance Battle and Monster Hacking Project
Assistance and Credit go to Greiga Master of TREZ and Samurai Goroh from gamefaqs for coding assistance,formulas, bug checking and clean up.
What the project can currently do
*Edit the stats of any monster in the game
*Change what monsters are loaded in any battle to an extent
*Change the XY position of monsters in any battle
*AI script editing/move list editing started
What the Project’s Goals are
*Completely Map out monster format data and values
*Edit Battle scripts to include more battles where killing a monster brings in a new one.
*Expand AI script knowledge
*Create a difficult challenge for “pro” gamers
This project is designed to increase combat and make patch makers have the ability to edit monsters in any way they desire. This project came from seeing too many players on GameFAQS call the super bosses easy by using exploitable effects in their coding.
Video examples of what is currently possible
Battle modifying http://www.youtube.com/watch?v=L57G1NyXtnk
Monster modifying and AI changeshttp://www.youtube.com/watch?v=ktkm8IwG5wI
Azulmagia AI editing/unique scriptshttp://www.youtube.com/watch?v=0BhKGIlFR4I
Monster Editor programmed by Greiga Master of TREZ
A useful tool to change any detail about a monster in the game, including sprite and AI enabling coding in brand new monsters.
Now onto the coding details
Monster Data Format
00 = Speed
01 = Attack
02 = Attack Multiplier
03 = Evade %
04 = Defense
05 = Magic Power
06 = Magic Defense
07 = Magic Evade %
08-09 = HP
0A-0B = MP
0C-0D = Exp
0E-0F = Gil
10 - [Attack index] (Sound + Animation)
11 = Element Immunity
12 = Status Immune 1
13 = Status Immune 2
14 = Status Immune 3
15 = Element Absorb
16 = Unavoidable Attack
17 = Element Weakness
18 = Monster Type
19 = Command Immunity
1A = Initial Status 1
1B = Initial Status 2
1C = Initial Status 3
1D = Initial Status 4
1E-1F = Monster Index
20 = Level
21 = N/U?
22 = N/U?
23 = N/U?
This format is basically all self explanatory and wasn’t changed between the SNES and GBA versions of the game. UPDATE: I figured out that I was reading the formulas wrong due to using mostly bosses as my test monsters. Some bosses are loaded with the other however.
Only use last two numbers of monster value
((enemyvalue*0x24) + 0x0814B2A8)
Use whole enemy value
((enemyvalue*0x24) + 0x0814D228)
The enemy values for this modding can be found herehttp://gamehacking.org/index.php?s=v2&sys=7&gid=6325&sid=3073
While most stats are self explanatory and only require a calculator, there are more complex parts that can add some interesting mixes. These include element, statuses, and monster type.
Propriety order for elements are Absorb>immunity>Weakness
Elemental table (Same values used in immunity, weakness, and absorb)
status immunity uses chart 1-3 while Initial uuses all
Status chart 1
Status chart 2
Staus chart 3
Status chart 4
20=controlled (acts as if monster is stopped)
01=Hidden (magic does not work on target)
08=Hp Leak (sap)
The controlled monster from the start cannot be recontrolled, hence why I have that note that it says s/he acts like it is stopped. False target acts like the wengo fight, most likely what they used to code it. Now the interesting one on here is the immune to magic. In the side quest to get Flare and Holy one tower made all magic useless, this is the value I believe that was used to do so. When active all spells cast on the target prompt the box "No effect" to appear. I haven't tested if it can be dispelled, but I thought I'd share that.
20=Heavy (immune to certain debuffs and instant death)
Custom AI scripts
Counter attack script with final attack
FE ZZ FE 0F AA AA FE YY FE 11
When using AI scripts like so make the first command FC on the AI.This script is based on the Porobolus bosses found in world one. Include this after some attack commands.
Monster group modifier/battle value found in this link.http://www.erick.guillen.com.mx/Codes/GBA%20Final%20Fantasy%20V%20Advance.txt
Enemy XY set per battle
((battle value *8) + 0x0815408c )
Format is as such
Higher digit X means more right Higher digit Y means lower
Fourmla to find any battle offset in ROM
With the following formulas, a hacker can edit the battles in the game in many ways they desire, however there are some rules. The battles precoded into the game can only load up to three different monsters due to pallet restrictions, so with this in mind, do not use more monster types then the battle you are using to hack.
Eight monsters at once
Gilgi has a clone
Gligamesh is a dragon tamer
Master of the void (Necrophobia will not take damage as long as he has ANY allies)
Super boss rush! (Enuo uses two pallets at once, which breaks an earlier rule)