News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Final Fantasy Five Advance Battle Hack With editor  (Read 9718 times)

Zanerus

  • Jr. Member
  • **
  • Posts: 75
    • View Profile
Final Fantasy Five Advance Battle Hack With editor
« on: August 25, 2012, 07:56:24 am »
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 changes
http://www.youtube.com/watch?v=ktkm8IwG5wI

Azulmagia AI editing/unique scripts
http://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.

Features include
Stat editing
Attack Editing
Drop/Steal edits
Spirte Editing
and more

http://www.mediafire.com/?n35e6b5od0fn559


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.

Boss formula
Only use last two numbers of monster value
((enemyvalue*0x24) + 0x0814B2A8)

Monster formula
Use whole enemy value
((enemyvalue*0x24) + 0x0814D228)

The enemy values for this modding can be found here
http://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)
01=fire
02=ice
04=lightning
08=poison
10=holy
20=earth
40=Wind
80=Water

status immunity uses chart 1-3 while Initial uuses all

four

Status chart 1
10=mini
20=Toad
40=petrify
80=Always status
01=Darkness
02=Zombie
04=Poison
08=Float

Status chart 2
10=Confuse
20=Paralyze
40=Sleep
80=Old
01=Image(1)
02=Image(2)
04=Silence
08=Berserk

Staus chart 3
10=Stop
20=Shell
40=protect
80=reflect
01=Regen
02=Invul
04=Slow
08=Haste

Status chart 4
10=doom
20=controlled (acts as if monster is stopped)
40=False target
80=erased
01=Hidden (magic does not work on target)
02=N. Dead
04=Singing
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.

Monster type
10=Dragon
20=Heavy (immune to certain debuffs and instant death)
40=Desert
80=Human
01=Undead
02=A.Toad
04=Creature
08=Avis

Custom AI scripts
--------
Counter attack script with final attack

FE ZZ FE 0F AA AA FE YY FE 11

ZZ=Counter attack
YY=Final attack
----------
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

XY editing
Enemy XY set per battle
((battle value *8) + 0x0815408c )

Format is as such
XY
00=top left
0F=bottom left
F0=Top right
FF=Bottom left

Higher digit X means more right Higher digit Y means lower

Fourmla to find any battle offset in ROM
0814FAA8+(Battlevalue*1C)

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.

Snapshots!
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)

Shinryu*2


« Last Edit: October 06, 2012, 05:04:32 am by Zanerus »

bradzx

  • Sr. Member
  • ****
  • Posts: 279
    • View Profile
Re: Final Fantasy Five Advance Battle Hack
« Reply #1 on: August 25, 2012, 06:13:44 pm »
Nice job.  Keep it up.
Are you huge fan of Megaman Xtreme 2?   Then check this progress of Remastered version!

Zanerus

  • Jr. Member
  • **
  • Posts: 75
    • View Profile
Re: Final Fantasy Five Advance Battle Hack
« Reply #2 on: August 25, 2012, 10:09:13 pm »
Updates and edits in the first post, including new videos of AI hacking and more offsets.
« Last Edit: September 01, 2012, 02:32:19 pm by Zanerus »

samurai goroh

  • Jr. Member
  • **
  • Posts: 30
    • View Profile
    • My page
Re: Final Fantasy Five Advance Battle Hack
« Reply #3 on: September 01, 2012, 09:42:33 pm »
Didn't knew you also made a topic here.

Well, good luck with your proyect Zanerus :)
I'm the best in the universe, remember that [F-zero X]

Kiyoshi Aman

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 2262
  • Browncoat Captain
    • View Profile
    • Aerdan's Blog
Re: Final Fantasy Five Advance Battle Hack
« Reply #4 on: September 02, 2012, 12:16:38 am »
Please post the data in the first post on Data Crystal for posterity's sake; this forum does get pruned on a yearly basis, and some people seem to either forget this fact or discover it only after data they're looking for goes missing as a consequence of the pruning.

Zanerus

  • Jr. Member
  • **
  • Posts: 75
    • View Profile
Re: Final Fantasy Five Advance Battle Hack
« Reply #5 on: September 10, 2012, 05:43:51 pm »
So turns out I had got another mix up on these notes, thats happening a bit too often for me. I'm finally back and all values but 0X16 and 0X19 are mapped, first post updated. Also includes my custom AI script to add a final attack plus counter move to an enemy.

Started a monster status table

Monster Stat offset table
Distance between monster 24Hex
0814D228:Goblin
0814D24C:Killer bee
0814D270:Nutkin
0814D294:Stray cat
0814D2B8:Steel Bat
0814D2DC:Devil Crab
0814D300:Stroper
0814D324:Black Goblin
0814D348:White Serpent
0814D36C:Mold wynd
0814D390:Mani Wizard
0814D3B4:Magic Pot
0814D3D8:Sucker
0814D3FC:Octokraken
0814D420:Gatling
0814D444:Big Horn
0814D468:Tatou
0814D48C:Bandersnatch
0814D4B0:Garula
0814D4D4:Skeleton
0814D4F8:Calcruthl
0814D51C:Undead Husk
0814D540:Mind Flusher
0814D564:Rock Slug
0814D588:Gaelicat
0814D5AC:Cockatrice
0814D5D0:Headstone
0814D5F4:Elf Toad
0814D618:Ice Soldier
0814D63C:Ricard Mage
0814D660:Wynern
0814D684:Pas De Seul
0814D6A8:Byblos
0814D6CC:Aegir
0814D6F0:Zu
0814D714:Wild Nakk
0814D738:Grass Tortoise
0814D75C:Silent Bee
0814D780:Mythril Dragon
0814D7A4:Ramuh
0814D7C8:Crew Dust
0814D7EC:Poltergeist
0814D810:Motor Trap
0814D834:Defeater
0814D858:Jackanapes
0814D87C:Sergeant
0814D8A0:Sorcerer
0814D8C4:Cur Nakk
0814D8C4:Gigas
0814D90C:Page 32
0814D930:Page 64
0814D954:Page 128
0814D978:Page 256
0814D99C:Ifrit
0814D9C0:Bomb
0814D9E4:Doublizard
0814DA08:Bio Soldier
0814DA2C:Havester
0814DA50:Black Flame
0814DA74:Stone golem
0814DA98:Mini dragon
0814DABC:Prototype
0814DAE0:Dhorme Chimera
0814DB04:Sandboil
0814DB28:Desert Killer
0814DB4C:Sand Bear
0814DB70:Ra Mage
0814DB94:Ronkan Knight
0814DBB8:Stone Mask
0814DBDC:Enchanted Fan
0814DC00:Lamia
0814DC24:Archeotoad
0814DC48:Hydra
0814DC6C:Ghidra
0814DC90:Devilfish
0814DCB4:Treant
0814DCD8:Strapparer
0814DCFC:Tarantula
0814DD20:Shell Bear
0814DD44:Tunneler
0814DD68:Birostris
0814DD8C:Fairy Orc
0814DDB0:Devourer
0814DDD4:Mandrake
0814DDF8:Kuza Beast
0814DE1C:Cactus
0814DE40:Sandcrawler
0814DE64:Shield Dragon
0814DE88:Blood slime
0814DEAC:Acrophies
0814DED0:Moogle Eater
0814DEF4:Lesser Lopros
0814DF18:Skull Eater
0814DF3C:Aquathorn
0814DF60:Were Snake
0814DF84:Kornago
0814DFA8:Cursed Being
0814DFCC:Undergrounder
0814DFF0:Drippy
0814E014:Lycaon
0814E038:Bone Dragon
0814E05C:Poison
0814E080:Zombie dragon
0814E0A4:Golem (summon)
0814E0C8:Neon
0814E0EC:Magnetite
0814E110:Reflect Knight
0814E134:Traveler
0814E158:Level Tricker
0814E17C:Gravitator
0814E1A0:Zigguart Gigas
0814E1C4:Cure Beast
0814E1E8:Land Turtle
0814E20C:Dechirer
0814E230:Catoblepas
0814E254:Mini Magician
0814E278:GalaJelly
0814E29C:Mammon
0814E2C0:Imp
0814E2E4:Wyrm
0814E308:Twin Lizard
0814E32C:Blind Wolf
0814E350:HellRasier
0814E374:Reflect mage
0814E398:Magic dragon
0814E3BC:Black Warlock
0814E3E0:Adamantite Golem
0814E404:Bandercoeurl
0814E428:Iron Fist
0814E44C:Blue Dragon
0814E470:Red Dragon
0814E494:Yellow Dragon
0814E4B8:Sleepy
0814E4DC:Trrifid
0814E500:Hedgehog
0814E524:Python
0814E548:Shadow
0814E56C:Elm Gigas
0814E590:Pao
0814E5B4:Dark Aspic
0814E5D8:Metamorph
0814E5FC:Unknown (fish)
0814E620:Desertpede
0814E644:Bulette
0814E668:Skehmet
0814E68C:Lamia Queen
0814E6B0:Rajiformes
0814E6D4:Ushabti
« Last Edit: September 13, 2012, 01:49:06 pm by Zanerus »

Zanerus

  • Jr. Member
  • **
  • Posts: 75
    • View Profile
Re: Final Fantasy Five Advance Battle Hack
« Reply #6 on: September 26, 2012, 02:45:46 pm »
Finally came back with the finished values of the enemy chart (bosses not yet included) and on top of that AI pointers are all done and ready. Should be interesting.

Ai pointer table uses relative pointers. To find a monster's relative pointer use the following formula
08241384+(4*Enemy value)

Once found it can be used to find the enemy offset
08241EE1+Relative monster pointer

0814F550:Jackanapes (dummy?)
0814F574:GobbledyGook
0814F598:Gil turtle
0814F5BC:Omega
0814F5E0:Big Boss (dummy boss?)
0814F604:No enemy(value used to remove an enemy from the fight)
0814F628:Soul eater
0814F64C:Exoray #1 (the one in the beastiary)
0814F670:Exoray #2
0814F694:Exoray #3
0814F6B8:Exoray #4
0814F6DC:Exoray #5
0814F700:Dark elemental
0814F724:Dark elemental
0814F748:Dark elemental
0814F76C:Medusa
0814F790:Mini Satana
0814F7B4:Assassin
0814F7D8:Assassin #2 (Ai difference)
0814F7FC:Duelist (left Jab)
0814F820:Duelist (Air fist)
0814F844:Duelist (High kick)
0814F868:Duelist (Elbow)
0814F88C:Duelist (Body slam)
0814F8B0:Ironclad
0814F8D4:Claret dragon
0814F8F8:Dinozombie
0814F91C:Behemoth
0814F940:Hades
0814F964:Nutkin (dummy)
0814F988:Mecha Head (Dummy)

Zanerus

  • Jr. Member
  • **
  • Posts: 75
    • View Profile
Re: Final Fantasy Five Advance Battle Hack With editor
« Reply #7 on: October 06, 2012, 05:05:20 am »
As pointed out in the first post a editor is now designed and made for monsters. Information is below


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.

Features include
Stat editing
Attack Editing
Drop/Steal edits
Spirte Editing
and more

http://www.mediafire.com/?n35e6b5od0fn559

Sprite replacement example.

Zanerus

  • Jr. Member
  • **
  • Posts: 75
    • View Profile
Re: Final Fantasy Five Advance Battle Hack With editor
« Reply #8 on: November 13, 2012, 12:53:34 pm »
The finished editor is out people. Having trouble posting it but here it is. Includes battle editing, item drops, AI editing and more.

https://www.dropbox.com/s/zp74dnfuz7u56mp/FF5Aeditor.rar