Spell Customization

From FF5 Hacking Wiki
Jump to navigation Jump to search

By Praetarius5018

Required Tools


Beginner: Multi-target Flare

Goal:
allow Flare to hit all enemies with a working spell animation

First we need to modify the spell data itself. It is located at

$110B80 + 8 * SpellId

Flare has a SpellId of $33 so we find our data at $110D18.
You can find the SpellIds e.g. here under 1.8b

The data is:

38 04 00 27 08 00 FE 00

For now we only care about the first byte, it determines the targetting of the spell:

80 Multi-target optional
40 Hits all targets
20 Target selectable
10 Side selectable
08 Target enemy (by default)
04 Roulette
00 caster

Since we want regular flare to be multi-targetable like Fire1/2/3 we change the 38 to B8.

However the default animation of flare is not compatible with multitargetting; the damage will still be done to all targets but it will not look right - or in case of some spells even fry the graphic engine.

Animation headers are located at

$1838EC + 5 * SpellId

so for Flare it is $1839EB with

05 10 1D 88 1D

For simplicity's sake we just replace it with L3 Flare's data:

05 10 A8 00 2B


Advanced: Water spell

Goal:
replace !Time/Drag (or Void) with a water damage spell

To my knowledge there's little to no use of the !Time spell Drag (or Void) so let's replace it.
It has SpellId $36 so the data is located at $110D30.

The effect of the 8 bytes are as follows:

Targeting
???
Misc.
Reflectable ($80 not set) + MP cost
Attack formula
Parameter 1
Parameter 2
Parameter 3

Targetting was explained for Flare, so I'll just say we use B8 as well.

I've honestly not seen an effect of the second parameter but most spells had 04, so we go with that.

Misc should be 0. The only non-0 values I've seen were for Meteo and Cave In the hit count. If we were to use a non-0 value our spell would behave like Meteo in that it doesn't hit the target(s) once each but that it selects out of the targets a random target up to 4 times and performs a single target attack against it; in that case it would also require us to either use either the Meteo or Cave In spell animation as only those are compatible with that effect.
This byte also holds the learnable flag ($40) for blue magic.

For the next byte, if we want our spell to not be reflectable we would set the $80 bit and then add the MP cost to it. E.g. 20 MP not reflectable would be $94. For this example I went with 8 MP and reflectable, so $08.

Then we need to decide what the spell actually does and fill in the 3 parameter for it.
Notable examples:
$06: Offensive magic

1 00
2 Attack power
3 [Element]

08: Pierce defense

1 00
2 Attack power
3 [Element]

0A: Physical magic

1 Hit %
2 Attack power
3 [element]

0C: Pierce defense + HP leak

1 [Element]
2 Attack power
3 Duration/2

12: Status 0 infliction

1 Hit %
2 Duration
3 [Status 0] added

We want to deal normal water damage so $06 is fine. The element is built like:

01 fire
02 ice
04 lightning
08 poison
10 holy
20 earth
40 wind
80 water

For power 50 should be fine, so the final result is something like

B8 04 00 08 06 00 32 80

TODO animation

TODO spellname

Master: Clash

Goal:
summon Gilgamesh
change the battle theme
custom damage formula

Warning: this part requires ASM knowledge

TODO