Difference between revisions of "FF7/Materia data"

From Final Fantasy Inside
< FF7
Jump to navigation Jump to search
my_wiki>Akari
(KERNEL.BIN - Section 9: Materia data format)
m (30 revisions imported)
 
(12 intermediate revisions by 3 users not shown)
Line 20: Line 20:
 
|style="background:rgb(255,255,255);" | 0x09
 
|style="background:rgb(255,255,255);" | 0x09
 
|style="background:rgb(255,255,255);" | 3 bytes
 
|style="background:rgb(255,255,255);" | 3 bytes
|style="background:rgb(255,255,255);" colspan="3" | Status Bitmask
+
|style="background:rgb(255,255,255);" colspan="3" |[[FF7/Battle/Status Effects|Status Effects]]. Only first 24.
 
|-
 
|-
 
|style="background:rgb(255,255,255);" | 0x0C
 
|style="background:rgb(255,255,255);" | 0x0C
 
|style="background:rgb(255,255,255);" | 1 byte
 
|style="background:rgb(255,255,255);" | 1 byte
|style="background:rgb(255,255,255);" colspan="3" | Element
+
|style="background:rgb(255,255,255);" colspan="3" | [[FF7/Battle/Elemental Data|Element Index]]
 
|-
 
|-
 
|style="background:rgb(255,255,255);" | 0x0D
 
|style="background:rgb(255,255,255);" | 0x0D
 
|style="background:rgb(255,255,255);" | 1 byte
 
|style="background:rgb(255,255,255);" | 1 byte
|style="background:rgb(255,255,255);" colspan="3" | Materia Type
+
|style="background:rgb(255,255,255);" colspan="3" | [[FF7/Materia Types|Materia Type]]
|-
 
|style="background:rgb(204,204,255);" colspan="2" rowspan="18" | &nbsp;
 
|style="background:rgb(245,255,255);" | Byte
 
|style="background:rgb(245,255,255);" | Action in Battle
 
|style="background:rgb(245,255,255);" | Action in Menu
 
|-
 
|style="background:rgb(255,255,255);" | 0x00
 
|style="background:rgb(255,255,255);" | Unknown
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0x20
 
|style="background:rgb(255,255,255);" | Booster%:  0x0E is boosted by offset 0x0F to <br />0x13 depending on AP level
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0x30
 
|style="background:rgb(255,255,255);" | Unknown
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0x21
 
|style="background:rgb(255,255,255);" | Add value from 0x0F-0x13 acording to number of stars to preemptive value. If materia has id 0x10 then clamp max preemptive value to 0x00-0x55. Do something in additional if this materia is mastered.
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0x41
 
|style="background:rgb(255,255,255);" | Unknown
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0x12
 
|style="background:rgb(255,255,255);" | Replace "Attack" command with command at offset 0x0E-0x12 acording to current number of stars.
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0xX3
 
|style="background:rgb(255,255,255);" | Add W-commands at 0x0E (only 0x15:W-Magic, 0x16:W-Summon, 0x17:W-Item).
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0xX4
 
|style="background:rgb(255,255,255);" | Has no influence in battle as itself.
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0xX5
 
|style="background:rgb(255,255,255);" | Type 0x51 (All) paired with 0xX9 and 0xXa type materia. Add number of "all" use to paired magic.
 
 
 
Type 0x54 (Counter) paired with 0xX6 and 0xX8 type materia. Add given command to counter (if materia has 2 command add both).
 
 
 
Type 0x55 (Magic Counter) paired with 0xX9, 0xXa, 0xXb and 0xXc type materia. Add highest attack to counter.
 
 
 
Type 0x56 (Sneak Attack) paired with 0xX6, 0xX8, 0xX9, 0xXa, 0xXb and 0xXc type materia. Add given command, magic or summon to first attack.
 
 
 
Type 0x57 (Final Attack) paired with 0xX6, 0xX8, 0xX9, 0xXa, 0xXb and 0xXc type materia. Add given command, magic or summon to first attack.
 
 
 
Note: counter first and final attacks are placed in one array. So there can be only 8 additional actions per unit.
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0x35
 
|style="background:rgb(255,255,255);" | Has no influence in battle.
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0xX6
 
|style="background:rgb(255,255,255);" | Add last command from 0x0E-0x12 acording to current number of stars.
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0xX7
 
|style="background:rgb(255,255,255);" | Add skills acording to active bits in AP part of materia description and enables "enemy skill" command.
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0xX8
 
|style="background:rgb(255,255,255);" | Add commands "steal", "sense", "coin", "morph", "deathblow", "manipulate", "mime".
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0xX9
 
|style="background:rgb(255,255,255);" | Add spells from 0x0E-0x12 acording to current number of stars and enable "magic" command.
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0xXA
 
|style="background:rgb(255,255,255);" | Add all spells and enable "magic" command.
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0xXB
 
|style="background:rgb(255,255,255);" | Add summon from 0x0E, which can be used 0x0F-0x13 times acording to number of stars and enable "summon" command.
 
|style="background:rgb(255,255,255);" | Unknown
 
|-
 
|style="background:rgb(255,255,255);" | 0xXC
 
|style="background:rgb(255,255,255);" | Add all summons and enable "summon" command.
 
|style="background:rgb(255,255,255);" | Unknown
 
 
|-
 
|-
 
|style="background:rgb(255,255,255);" | 0x0E
 
|style="background:rgb(255,255,255);" | 0x0E
Line 151: Line 68:
 
! style="background:rgb(204,204,204);" align="center" | VIT
 
! style="background:rgb(204,204,204);" align="center" | VIT
 
! style="background:rgb(204,204,204);" align="center" | MAG
 
! style="background:rgb(204,204,204);" align="center" | MAG
! style="background:rgb(204,204,204);" align="center" | MDEF
+
! style="background:rgb(204,204,204);" align="center" | MDEF*
 +
! style="background:rgb(204,204,204);" align="center" | DEX
 
! style="background:rgb(204,204,204);" align="center" | LUCK
 
! style="background:rgb(204,204,204);" align="center" | LUCK
! style="background:rgb(204,204,204);" align="center" | DEX
 
 
! style="background:rgb(204,204,204);" align="center" | MAXHP
 
! style="background:rgb(204,204,204);" align="center" | MAXHP
 
! style="background:rgb(204,204,204);" align="center" | MAXMP
 
! style="background:rgb(204,204,204);" align="center" | MAXMP
Line 327: Line 244:
 
|style="background:rgb(255,255,255);" align="center" | -10%
 
|style="background:rgb(255,255,255);" align="center" | -10%
 
|style="background:rgb(255,255,255);" align="center" | +20%
 
|style="background:rgb(255,255,255);" align="center" | +20%
 +
|-
 +
! style="background:rgb(204,204,204);" align="center" | 0x11<sup>+</sup>
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|-
 +
! style="background:rgb(204,204,204);" align="center" | 0x12<sup>+</sup>
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|-
 +
! style="background:rgb(204,204,204);" align="center" | 0x13<sup>+</sup>
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|-
 +
! style="background:rgb(204,204,204);" align="center" | 0x14<sup>+</sup>
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 +
|-
 +
! style="background:rgb(204,204,204);" align="center" | 0x15<sup>++</sup>
 +
|style="background:rgb(255,255,255);" align="center" | +1
 +
|style="background:rgb(255,255,255);" align="center" | +2
 +
|style="background:rgb(255,255,255);" align="center" | +4
 +
|style="background:rgb(255,255,255);" align="center" | +8
 +
|style="background:rgb(255,255,255);" align="center" | +16
 +
|style="background:rgb(255,255,255);" align="center" | +32
 +
|style="background:rgb(255,255,255);" align="center" | +64%
 +
|style="background:rgb(255,255,255);" align="center" | +128%
 
|}
 
|}
 +
&nbsp;
 +
''*'' Although the Materia equip menu will claim that certain materia increase the Magic Def stat, they really increase Spirit.<br/>
 +
&nbsp;
 +
<sup>+</sup> These are valid bonus values in the PC version, but they're unused.<br/>
 +
&nbsp;
 +
<sup>++</sup> This value is allowable in the PC version although technically a memory leak.

Latest revision as of 05:19, 23 May 2019

KERNEL.BIN - Section 9: Materia data format

This section contains the Materia data. Each record is 20 bytes long.

Offset Length Description
0x00 8 bytes Level-up AP limits Multiples of 100 (4x WORD)
0x08 1 byte Equip Effect [See table below]
0x09 3 bytes Status Effects. Only first 24.
0x0C 1 byte Element Index
0x0D 1 byte Materia Type
0x0E 1 byte Materia attributes [See Above]
0x0F 1 byte Materia attributes [See Above]
0x10 1 byte Materia attributes [See Above]
0x11 1 byte Materia attributes [See Above]
0x12 1 byte Materia attributes [See Above]
0x13 1 byte Materia attributes [See Above]

Equip Effects

Byte STR VIT MAG MDEF* DEX LUCK MAXHP MAXMP
0x00                
0x01 -02 -01 +02 +01     -05% +05%
0x02 -04 -02 +04 +02     -10% +10%
0x03         +02 -02    
0x04 -01 -01 +01 +01        
0x05 +01 +01 -01 -01        
0x06   +01            
0x07           +01    
0x08           -01    
0x09         -02      
0x0A         +02      
0x0B -01   +01       -02% +02%
0x0C     +01       -02% +02%
0x0D     +01 +01     -05% +05%
0x0E     +02 +02     -10% +10%
0x0F     +04 +04     -10% +15%
0x10     +08 +08     -10% +20%
0x11+                
0x12+                
0x13+                
0x14+                
0x15++ +1 +2 +4 +8 +16 +32 +64% +128%

  * Although the Materia equip menu will claim that certain materia increase the Magic Def stat, they really increase Spirit.
  + These are valid bonus values in the PC version, but they're unused.
  ++ This value is allowable in the PC version although technically a memory leak.