The current URL is datacrystal.tcrf.net.
Final Fantasy I & II: Dawn of Souls/Spell Data Table
This is a sub-page of Final Fantasy I & II: Dawn of Souls.
FF1 Spell Data Table | |
Game | Final Fantasy I & II: Dawn of Souls |
Start Address | 0x1A1980 |
End Address | 0x1A20BF |
# of Entries | 116 |
Entry Length | 16 (0x10) |
Total Length | 1856 bytes (0x740) |
Back to the ROM map |
The FF1 Spell Data Table stores the basic properties of normal spells, monster abilities and in-battle item effects. What classes may use which spells is defined in a separate table.
The spells Exit and Teleport have special-case coding attached to them, and ignore several of the parameters of their entries in this table; in the field, they may only be cast in certain maps, and will always warp the party regardless of their stated spell effect.
Format
Usage
- Length: 1 byte
- Offset within entry: 0x0
- Range of values: 0,1,2,4 (0x0,0x1,0x2,0x4)
Indicates when this spell may be cast:
0x0 = Never 0x1 = Battle Only 0x2 = Field Only 0x4 = Anytime
Exit and Teleport have special-case coding attached to their spell IDs which allow them to be used only in certain dungeon maps outside of battle.
Targeting
- Length: 1 byte
- Offset within entry: 0x1
- Range of values: 0,1,2,4,8,16 (0x0,0x1,0x2,0x4,0x8,0x10)
Indicates which units this spell will target inside and outside of battle; see the list of targeting parameters.
Power
- Length: 2 bytes
- Offset within entry: 0x2-0x3
- Range of values: 0-65535 (0x0-0xFFFF)
The exact purpose of this value depends on the spell type. Damage spells treat it as a multiplier for INT/10; status ailment spells treat it as a bitfield of status effects to set; stat buffing spells as how much to increase the chosen stat by, etc.
Element
- Length: 2 bytes
- Offset within entry: 0x4-0x5
- Range of values: 0x0-0x3FFF (bitwise field)
Each bit corresponds to an element, though the top two bits are unused. A spell's elemental affinity influences its accuracy for offensive spells as well as damaging spells' base damage depending on whether the targets are weak or resistant to the spell's element(s).
Spell Type
- Length: 1 byte
- Offset within entry: 0x6
- Range of values: 0-23 (0x0-0x17)
Determines what sort of spell this is in the first place, which in turn determines how the Power and Accuracy parameters are read.
Animation Index
- Length: 1 byte
- Offset within entry: 0x7
- Range of values: 0-115 (0x0-0x73)
Determines what animation this spell uses, but only when cast by a party member. Monsters will instead use the spell's ID to index to the spell animation settings table.
Accuracy
- Length: 1 byte
- Offset within entry: 0x8
- Range of values: 0-255 (0x0-0xFF)
For offensive spells, this is the chance out of 200 for the spell to hit (or add small bonus damage). Some spell types use it as a secondary Power byte.
Spell Level (unused)
- Length: 1 byte
- Offset within entry: 0x9
- Range of values: 0-8 (0x0-0x8)
This corresponds to the spell's spell level, but it is never read. Instead, the spell's ID or position in the caster's spell list is usually used to determine what its level is.
MP Cost
- Length: 2 bytes
- Offset within entry: 0xA-0xB
- Range of values: 0-999 (0x0-0x03E7)
How much MP must be consumed to cast this spell.
Price
- Length: 4 bytes
- Offset within entry: 0xC-0xF
- Range of values: 0-999999 (0x0-0x0F423F)
Gil cost of buying this spell.
See Also
- Bitfields and IDs - parameters for spell types, elements, targeting