Updates:
10/01/2000 Uncertain bit 4 of byte 0 clarified. Mystery bit 7 of byte 4 added.
Byte 2 speculation added. Information on numerous effect subroutines added.
Added spell visual effect information. Added hardcode notes.
09/03/2000 Header added, info on elemental/status table added, some info on
byte 01 added.
The most recent copy of this document can be obtained from the Tower of Bab-Il
(http://minitrue.weyland-yutani.net/tower/index.html).
This document uses normal bit order (bit 0 is the least significant bit).
Spell names are 6 bytes long. Table is from 78B00 to 78CAF. Each spell also
has an entry in a table starting at 799A0 specifying its effects in battle.
Table entries are 6 bytes long. One of the six bytes has a different meaning
depending on what subroutine the spell uses (which determines the basic effect
of the spell: damage based on caster's hp, damage based on target's max hp,
raise from the dead, etc.) First, the fixed meaning bytes:
byte 00:
bits 0-4: casting time
bits 5-7: targetting type
000 N/A
001 one ally
010 all allies
011 one/all ally/enemy (defaults to ally)
100 one enemy
101 one ally/enemy
110 all enemies
111 one/all ally/enemy (defaults to enemy)
byte 02: unknown (chance of the attack to hit, perhaps?)
byte 03:
bits 0-6: what effect subroutine is called when the spell is cast
00 base X mult damage (Fire1, Fire2, Fire3, Ice-1, Ice-2, Ice-3,
Lit-1, Lit-2, Lit-3, Nuke, Meteo, etc.)
01 base X mult damage + HP leak (White, Virus, Big Bang, Pollen,
Digest)
02 cure (Cure1, Cure2, Cure3, Cure4, Asura 5A, Asura 5B)
03 reduce to single-digit HP (Weak 27, Weak 72, Storm)
04 drain HP (Drain)
05 drain MP (Psych)
06 status: various, does not affect spirits, undead, or machines
07 status: sleep or paralyze (Hold, Sleep, Pin, Tongue, Entangle, Gas)
08 image (Blink, Image)
09 wall (Wall)
0A life (Life1, Life2, Asura 5C)
0B heal (Heal 12, Heal 93)
0C form-changing status (Piggy, Size, Toad)
0D protect (Armor)
0E shell (Shell)
0F slow/haste (Slow, Fast, DullSong)
10 dispel (Dummy 0C)
11 stop (Stop, Magnet)
12 peep (Peep)
13 escape (Exit, Smoke)
14 damage based on caster's HP (Bomb 4E, Mist 56, Tornado, Blizzard,
Laser, Wave, FireBomb, Lit-Bolt, etc.)
15 MP restore (Ether1, Ether2)
16 HP/MP restore (Elixir, Dummy BE)
17 damage + poison (Venom, Poison)
18 damage + status as per effect 06 (Dummy 4F)
19 damage + status as per effect 07 (Mage 50)
1A (Sylph 57)
1B (Odin 58)
1C pointless extra pointer to effect 1D
1D count (Count)
1E damage: fraction of target's max HP (Blaze, Big Wave, Fire, etc.)
1F slow petrify (Ray, Petrify)
20 (Gaze)
21 (Bluster)
22 (Slap)
23 (Blast)
24 (Hug)
25 explode (Explode A0, Fission)
26 (Reaction)
27 restore 1/10 target's HP(Remedy 84)
28 as per effect 18, but status is irregardless of creature type
29 "summon" a monster (Alert, Call)
2A remove various positive status (Blk.Hole, Disrupt 73)
2B attack based on physical attack power (Needle, Counter)
2C restore 1/3 target's HP (Absorb)
2D do nothing, but can trigger a reflex (Dummy 8E)
2E increment invincibility counter (Dummy A9)
2F decrement invincibility counter (Dummy AA)
30 revive monster (Recover, AC Remedy, 8F Vanish)
31 user dies, next monster is brought in(Dummy AD)
32 end a battle (Dummy AE)
33 unknown (Search)
34 remove egg status (Hatch)
35 regardless of target, something is done to adult Rydia - not sure
what (y)
7E no game statistic effect; audiovisual effect only
7F nothing (Sight, Warp)
bit 7: unknown
byte 04:
bits 0-6: elemental damage/status code
bit 7: unknown
byte 05:
bits 0-6: MP cost
bit 7: ignore walls
And next, the variable meaning byte:
byte 01: attack power
effect subroutines 00-02, 17: base power divided by 4 (exception: Big
Bang?)
effect subroutine 0F: number to add to speed modifier
effect subroutine 14: reciprocal is the portion of caster's hp to use as
the base power
effect subroutine 1E: reciprocal is the portion of target's hp to use as
damage
various others: status duration? Armor, Shell, Stop, Magnet, and
Count have these (=0A for Count, hmm...) maybe others too?
Visual effects are not specified here. Instead, they are specified in a table
from 7A250 to 7A54F. The table starts with entry 01, not 00. Table entries
have 4 bytes:
byte 00: palette number. spell palettes are located at 74D00. each consists of
8 colors
bytes 01-02: unknown
byte 03: effect subroutine
There is some hard-coding affecting the call magic effects (4D to 5D); I don't
know exactly how this works.
Audio effects are not specified here. I don't know where they are.
The spell effect data follows
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
00 A0 00 63 7F 00 00
01 {40}Hold A1 00 D5 87 0D 05
02 {40}Mute E2 00 DA 86 12 06
03 {40}Charm A1 00 C1 86 0B 0A
04 {40}Blink 20 00 32 08 0B 08
05 Armor 60 01 42 8D 00 09
06 Shell 60 01 42 8E 00 0A
07 {40}Slow E1 08 46 0F 00 0E
08 {40}Fast 21 FD 32 0F 00 19
09 {40}Bersk 21 00 B2 06 0A 12
0A {40}Wall 20 00 4B 09 0D 1E
0B {40}White A3 55 63 01 85 2E
0C {40}Dummy A1 00 C6 10 00 0C
0D {40}Peep A0 00 E3 12 00 81
0E {40}Cure1 61 04 64 02 00 03
0F {40}Cure2 61 0C 64 02 00 09
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
10 {40}Cure3 61 24 64 02 00 12
11 {40}Cure4 60 48 64 02 00 28
12 {40}Heal 22 00 50 0B 00 14
13 {40}Life1 20 00 CB 8A 00 08
14 {40}Life2 22 00 D0 8A 00 34
15 {40}Size E4 00 B2 8C 14 06
16 {40}Exit 00 00 64 13 00 8A
17 {40}Sight 00 00 00 7F 00 02
18 {40}Float 41 00 64 06 0E 08
19 {3F}Toad E3 00 B2 8C 15 07
1A {3F}Piggy E6 00 8A 8C 13 01
1B {3F}Warp 00 00 64 7F 00 04
1C {3F}Venom E1 00 DA 17 90 02
1D {3F}Fire1 E1 04 64 00 81 05
1E {3F}Fire2 E3 10 64 00 81 0F
1F {3F}Fire3 E4 40 64 00 81 1E
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
20 {3F}Ice-1 E1 04 64 00 82 05
21 {3F}Ice-2 E3 10 64 00 82 0F
22 {3F}Ice-3 E4 40 64 00 82 1E
23 {3F}Lit-1 E1 04 64 00 83 05
24 {3F}Lit-2 E3 10 64 00 83 0F
25 {3F}Lit-3 E4 40 64 00 83 1E
26 {3F}Virus E0 20 64 01 80 14
27 {3F}Weak A2 00 CB 83 80 19
28 {3F}Quake C2 32 64 00 00 9E
29 {3F}Sleep E3 00 B2 87 0C 0C
2A {3F}Stone E2 00 9E 86 16 0F
2B {3F}Fatal A5 00 BC 86 17 23
2C {3F}Stop A2 0A D0 91 15 0F
2D {3F}Drain A3 05 64 04 87 12
2E {3F}Psych A5 04 64 05 87 00
2F {3F}Meteo CA C8 64 00 05 E3
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
30 {3F}Nuke A0 64 64 00 80 32
31 {41}Imp A0 00 00 7E 00 81
32 {41}Bomb A0 00 00 7E 00 8A
33 {41}Dummy A2 00 00 7E 00 8F
34 {41}Mage A0 00 00 7E 00 92
35 {41}Chocb A3 00 00 7E 00 87
36 {41}Shiva C4 00 00 7E 00 9E
37 {41}Indra C4 00 00 7E 00 9E
38 {41}Jinn C4 00 00 7E 00 9E
39 {41}Titan C5 00 00 7E 00 A8
3A {41}Mist C3 00 00 7E 00 94
3B {41}Sylph A1 00 00 7E 00 99
3C {41}Odin C2 00 00 7E 00 AD
3D {41}Levia C3 00 00 7E 00 B2
3E {41}Asura 41 00 00 7E 00 B2
3F {41}Baham C3 00 00 7E 00 BC
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
40 Comet C0 14 64 00 00 94
41 Flare A0 1E 64 00 00 0A
42 Flame C2 14 64 00 81 8F
43 Flood C2 1E 64 00 82 94
44 Blitz C2 28 64 00 83 99
45 Smoke 40 00 64 13 00 8A
46 Pin A0 00 CB 87 0D 05
47 Image 00 00 63 88 00 86
Enemy special attack names are 8 bytes long. Table is from 78CB0 to 78FE0.
They share the battle effects and visual effects table with normal spells
(coming immediately after the normal spells).
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
48 Dummy A0 07 5A 00 00 00 rod
49 Dummy 40 03 64 02 00 00 cure staff
4A Dummy 20 00 4B 8B 19 00 silver staff
4B Dummy 20 00 4B 8B 21 00 staff
4C Dummy A0 0A 5A 00 00 80 dancing knife
4D Imp 80 01 32 00 00 81
4E Bomb 80 01 64 94 80 8A
4F Dummy 80 00 B2 18 16 8F
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
50 Mage 80 0C E4 19 0D 92
51 Chocobo 80 05 64 00 00 87
52 Shiva C0 0A 64 00 02 9E
53 Indra C0 0A 64 00 03 9E
54 Jinn C0 0A 64 00 01 9E
55 Titan C0 14 64 00 00 A8
56 Mist C0 01 64 94 00 94
57 Sylph 80 0F 64 1A 00 99
58 Odin C0 00 80 1B 00 AD
59 Leviatan C0 23 64 00 80 B2
5A Asura 40 14 64 02 00 B2
5B Asura 40 1E 64 02 00 B2
5C Asura 40 00 E4 8A 00 B2
5D Bahamut C0 3C 64 00 00 BC
5E W.Meteo C0 C8 64 00 05 80
5F Dummy 00 00 00 00 00 00
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
60 Dummy 00 00 00 00 00 00
61 Gaze A0 00 E4 20 00 00
62 Bluster A0 00 E4 21 80 00
63 Slap A0 00 E4 22 80 80
64 Powder A0 00 E4 06 91 80
65 Glance A0 00 E4 06 8B 80
66 Charm A0 00 E4 06 0B 80
67 Tongue A0 00 E4 07 0C 80
68 Curse A0 00 E4 06 0F 80
69 Ray A0 00 E4 1F 16 80
6A Count A0 0A E4 1D 00 00
6B Beak A0 00 E4 06 96 00
6C Petrify A0 00 E4 1F 16 80
6D Blast A0 00 E4 23 8D 00
6E Hug A0 00 E4 24 16 00
6F Breath A0 00 E4 06 38 00
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
70 Whisper A0 00 E4 0C 13 80
71 Entangle A0 00 E4 07 0D 80
72 Weak A0 00 E4 03 00 80
73 Disrupt C0 00 64 2A 00 80 same effect as Blk.Hole; name not shown. used
by Zeromus until you use the Crystal on him.
74 ColdMist C0 02 E4 00 82 80
75 Explode C0 08 E4 00 81 80
76 DullSong C0 08 E4 0F 80 80 name not shown
77 Hold Gas C0 00 E4 06 0D 80
78 Gas A0 00 E4 07 0C 80
79 Poison C0 02 E4 17 90 80
7A Maser A0 0A E4 1E 80 80
7B Vanish A0 00 64 06 17 80 instant kill
7C Demolish A0 00 E4 06 97 80 instant kill
7D Blk.Hole C0 00 64 2A 00 80
7E Dancing A0 00 E4 06 0A 00 name not shown
7F Disrupt A0 00 64 06 97 00 instant kill
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
80 Storm C0 00 E4 03 00 80
81 Magnet A0 32 E4 11 15 00
82 Reaction 00 00 64 26 00 80
83 Hatch 00 00 64 34 00 80
84 Remedy 20 00 64 27 00 80
85 Absorb 00 00 64 2C 00 80
86 Heal 40 00 00 0B 18 80
87 Big Bang C0 32 E4 01 00 80
88 Vampire A0 06 64 01 00 80
89 Digest A0 0F 64 01 00 00
8A Pollen C0 03 E4 01 00 80
8B Crush A0 00 E4 06 97 80
8C Alert 00 00 64 29 00 80
8D Call 00 00 64 29 00 80
8E Dummy 00 00 00 2D 00 80 order other monsters to do something
8F Vanish 00 00 64 30 00 80 recover all own HP
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
90 Search A0 00 64 33 00 80
91 Fission C0 00 64 25 80 80
92 Retreat 00 00 64 06 17 80
93 Heal C0 00 64 0B 33 80
94 Beam A0 0A 64 1E 80 00
95 Globe199 A0 FF E4 00 80 80
96 Fire C0 05 64 1E 81 80
97 Blaze C0 04 64 1E 82 80
98 Blitz A0 02 64 1E 83 80
99 Thunder C0 04 64 1E 83 80
9A D.Breath C0 04 64 1E 81 80
9B Big Wave C0 04 64 1E 80 80
9C Blizzard C0 19 64 14 82 80
9D Wave C0 19 64 14 80 80
9E Tornado C0 14 64 14 80 80
9F Laser A0 05 E4 14 80 00
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
A0 Explode A0 01 64 25 80 80
A1 Quake C0 14 64 00 00 80
A2 Emission C0 05 64 00 81 00
A3 Heat Ray C0 0F 64 00 81 80
A4 Glare A0 5A E4 00 81 80
A5 Odin C0 28 E4 00 80 80
A6 MegaNuke C0 FF 64 00 80 00
A7 Needle A0 00 E4 2B 80 80
A8 Counter A0 00 E4 2B 80 80
A9 Dummy 00 00 64 2E 00 80 increment invincibility counter
AA Dummy 00 00 64 2F 00 80 decrement invincibility counter
AB Recover 00 00 00 30 00 80
AC Remedy 00 00 64 30 00 80
AD Dummy 00 00 00 31 00 80 user dies, next monster is brought in
AE Dummy 00 00 00 32 00 80 end a battle
AF Dummy 00 00 00 7E 00 80
S# Spell name 00 01 02 03 04 05 Notes
-- ---------- -- -- -- -- -- -- -----
B0 y 00 00 64 35 00 80
B1 00 00 00 7E 00 80
B2 00 00 00 7E 00 80
B3 00 00 00 7E 00 80 Anna appears
B4 00 00 00 7E 00 80 Edward/Tellah appear
B5 00 00 00 7E 00 80 Palom/Porom appear
B6 00 00 00 7E 00 80 Yang/Cid appear
B7 00 00 00 7E 00 80 Golbez/FuSoYa appear
B8 00 00 00 7E 00 80 images disappear
B9 00 00 00 7E 00 80
BA C1 00 64 0A 00 80 Life on all enemies; used in final battle to
revive party
BB 00 00 00 7E 00 80
BC 40 14 64 00 00 80 Some damage to all allies
BD C1 F8 64 0F 00 80 Super-haste on all enemies
BE C0 00 64 16 00 80 Restore all HP/MP to all enemies
BF 00 00 64 7E 00 80
For all entries past BF, all six bytes of the effect table are 0 (and the name
all FFs/spaces). However, these "spells" aren't unused (and therefore
available for the creation of new spells); bytes greater than BF have special
meaning to the attack sequence executor.