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)
my_wiki>Akari
(Equip Effects)
Line 142: Line 142:
 
! 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" | 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
! 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" | 0x00
 
! style="background:rgb(204,204,204);" align="center" | 0x00
Line 162: Line 162:
 
|style="background:rgb(255,255,255);" align="center" | +02
 
|style="background:rgb(255,255,255);" align="center" | +02
 
|style="background:rgb(255,255,255);" align="center" | +01
 
|style="background:rgb(255,255,255);" align="center" | +01
 +
|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" | -05%
 
|style="background:rgb(255,255,255);" align="center" | -05%
 
|style="background:rgb(255,255,255);" align="center" | +05%
 
|style="background:rgb(255,255,255);" align="center" | +05%
|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" | 0x02
 
! style="background:rgb(204,204,204);" align="center" | 0x02
 
|style="background:rgb(255,255,255);" align="center" | -04
 
|style="background:rgb(255,255,255);" align="center" | -04
|style="background:rgb(255,255,255);" align="center" | -04
+
|style="background:rgb(255,255,255);" align="center" | -02
 
|style="background:rgb(255,255,255);" align="center" | +04
 
|style="background:rgb(255,255,255);" align="center" | +04
 
|style="background:rgb(255,255,255);" align="center" | +02
 
|style="background:rgb(255,255,255);" align="center" | +02
 +
|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" | -10%
 
|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" | +10%
 +
|-
 +
! style="background:rgb(204,204,204);" align="center" | 0x03
 +
|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" | +02
 +
|style="background:rgb(255,255,255);" align="center" | -02
 +
|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" | 0x04
 +
|style="background:rgb(255,255,255);" align="center" | -01
 +
|style="background:rgb(255,255,255);" align="center" | -01
 +
|style="background:rgb(255,255,255);" align="center" | +01
 +
|style="background:rgb(255,255,255);" align="center" | +01
 +
|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" | 0x05
 +
|style="background:rgb(255,255,255);" align="center" | +01
 +
|style="background:rgb(255,255,255);" align="center" | +01
 +
|style="background:rgb(255,255,255);" align="center" | -01
 +
|style="background:rgb(255,255,255);" align="center" | -01
 +
|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" | 0x06
 
! style="background:rgb(204,204,204);" align="center" | 0x06
 +
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 
|style="background:rgb(255,255,255);" align="center" | +01
 
|style="background:rgb(255,255,255);" align="center" | +01
|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;
Line 193: Line 223:
 
|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" | +01
 
|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" | +01
 
 
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 
|-
 
|-
Line 202: Line 232:
 
|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" | -01
 +
|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" | 0x09
 +
|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" | -02
 
|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" | +01
 
 
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 
|-
 
|-
Line 212: Line 252:
 
|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" | +02
 
|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" | +02
 
 
|-
 
|-
 
! style="background:rgb(204,204,204);" align="center" | 0x0B
 
! style="background:rgb(204,204,204);" align="center" | 0x0B
Line 221: Line 261:
 
|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" | +01
 
|style="background:rgb(255,255,255);" align="center" | +01
 +
|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" | -02%
 
|style="background:rgb(255,255,255);" align="center" | -02%
 
|style="background:rgb(255,255,255);" align="center" | +02%
 
|style="background:rgb(255,255,255);" align="center" | +02%
|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" | 0x0C
 
! style="background:rgb(204,204,204);" align="center" | 0x0C
Line 231: Line 271:
 
|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" | +01
 
|style="background:rgb(255,255,255);" align="center" | +01
 +
|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" | -02%
 
|style="background:rgb(255,255,255);" align="center" | -02%
 
|style="background:rgb(255,255,255);" align="center" | +02%
 
|style="background:rgb(255,255,255);" align="center" | +02%
|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" | 0x0D
 
! style="background:rgb(204,204,204);" align="center" | 0x0D
Line 242: Line 282:
 
|style="background:rgb(255,255,255);" align="center" | +01
 
|style="background:rgb(255,255,255);" align="center" | +01
 
|style="background:rgb(255,255,255);" align="center" | +01
 
|style="background:rgb(255,255,255);" align="center" | +01
 +
|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" | -05%
 
|style="background:rgb(255,255,255);" align="center" | -05%
 
|style="background:rgb(255,255,255);" align="center" | +05%
 
|style="background:rgb(255,255,255);" align="center" | +05%
|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" | 0x0E
 
! style="background:rgb(204,204,204);" align="center" | 0x0E
Line 252: Line 292:
 
|style="background:rgb(255,255,255);" align="center" | +02
 
|style="background:rgb(255,255,255);" align="center" | +02
 
|style="background:rgb(255,255,255);" align="center" | +02
 
|style="background:rgb(255,255,255);" align="center" | +02
 +
|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" | -10%
 
|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" | +10%
|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" | 0x0F
 
! style="background:rgb(204,204,204);" align="center" | 0x0F
Line 262: Line 303:
 
|style="background:rgb(255,255,255);" align="center" | +04
 
|style="background:rgb(255,255,255);" align="center" | +04
 
|style="background:rgb(255,255,255);" align="center" | +04
 
|style="background:rgb(255,255,255);" align="center" | +04
 +
|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" | -10%
 
|style="background:rgb(255,255,255);" align="center" | -10%
 
|style="background:rgb(255,255,255);" align="center" | +15%
 
|style="background:rgb(255,255,255);" align="center" | +15%
|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" | 0x10
 
! style="background:rgb(204,204,204);" align="center" | 0x10
Line 272: Line 313:
 
|style="background:rgb(255,255,255);" align="center" | +08
 
|style="background:rgb(255,255,255);" align="center" | +08
 
|style="background:rgb(255,255,255);" align="center" | +08
 
|style="background:rgb(255,255,255);" align="center" | +08
 +
|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" | -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(255,255,255);" align="center" | &nbsp;
 
|style="background:rgb(255,255,255);" align="center" | &nbsp;
 
 
|}
 
|}

Revision as of 21:17, 4 April 2008

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 Bitmask
0x0C 1 byte Element
0x0D 1 byte Materia Type
  Byte Action in Battle Action in Menu
0x00 Unknown Unknown
0x20 Booster%: 0x0E is boosted by offset 0x0F to
0x13 depending on AP level
Unknown
0x30 Unknown Unknown
0x21 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. Unknown
0x41 Unknown Unknown
0x12 Replace "Attack" command with command at offset 0x0E-0x12 acording to current number of stars. Unknown
0xX3 Add W-commands at 0x0E (only 0x15:W-Magic, 0x16:W-Summon, 0x17:W-Item). Unknown
0xX4 Has no influence in battle. Unknown
0x25 Has no influence in battle. Unknown
0x35 Has no influence in battle. Unknown
0xX6 Add last command from 0x0E-0x12 acording to current number of stars. Unknown
0xX7 Add skills acording to active bits in AP part of materia description and enables "enemy skill" command. Unknown
0xX8 Add commands "steal", "sense", "coin", "morph", "deathblow", "manipulate", "mime". Unknown
0xX9 Add spells from 0x0E-0x12 acording to current number of stars and enable "magic" command. Unknown
0xXA Add all spells and enable "magic" command. Unknown
0xXB Add summon from 0x0E, which can be used 0x0F-0x13 times acording to number of stars and enable "summon" command. Unknown
0xXC Add all summons and enable "summon" command. Unknown
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 LUCK DEX 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%