Changes
Jump to navigation
Jump to search
m
I don't like memory addresses on a page like this.
== Types ==
Materia is separated into five categories of functions in the game: "Command", "Magic", "Summon", "Independent", and "Support". Graphically they are yellow, green, red, blue, and purple respectively. The materia type is determined by a single byte value that is separated into two parts. The upper nybble will be considered the sub-type and the lower nybble is the base type. For base types the values will yield the following results:
|style="background:rgb(204,204,255);" rowspan="2"|
|style="background:rgb(255,255,255); width=50pt;"|0Ch
|style="background:rgb(255,255,255);" colspan="2" |0xC068B0 Character's flags ORd with 1 and 0xC068B4 MateriaHandler set to 11 (Underwater)
|-
|style="background:rgb(255,255,255); width=50pt;" |62h
|style="background:rgb(255,255,255);" colspan="2" |0xC068B0 Character's flags ORd with 8 and 0xC068B4 MateriaHandler set to 11 (HP<->MP)
|-
|style="background:rgb(255,255,255);" |20<sup>2</sup>
|style="background:rgb(255,255,255);" colspan="3"|Increases Stat Bonus value at 0xC06898 + [Attribute_1 * 2]based on attribute list<sup>2A</sup> based on attribute list and AP level and sets 0xC068B4 MateriaHandler to 4
|-
|style="background:rgb(255,255,255);" |30<sup>3</sup>
|style="background:rgb(255,255,255);" colspan="3" |0xC068B0 Character's flags ORd with 4 and 0xC068B4 MateriaHandler set to 12
|-
|style="background:rgb(255,255,255);" |40
|style="background:rgb(255,255,255);" colspan="3"|Same as 20, but sets 0xC068B4 MateriaHandler to 0Dh (EXP Plus)
|-
|style="background:rgb(255,255,255);" |21<sup>4</sup>
|-
|style="background:rgb(255,255,255);" |X4
|style="background:rgb(255,255,255);" colspan="3"|If 0xC06914 is non-0 after getting AP level then set 0xC068B4 MateriaHandler to 0Bh (Mega-All)
|-
|style="background:rgb(255,255,255);" colspan = "4"|
|-
|style="background:rgb(255,255,255);" |25
|style="background:rgb(255,255,255);" colspan="3"|Attribute 1 must be between 54h - 64h inclusive. Just sets 0xC068B4 the MateriaHandler to a specific value
|-
|style="background:rgb(204,204,255);" rowspan="18"|
! style="background:rgb(204,204,204); width=50pt;"|Attribute 1 Value
! style="background:rgb(204,204,204); width=10pt;"|0xC068B4MateriaHandler
! style="background:rgb(204,204,204);"|Materia
|-
:1 - There are no XD, XE or XF type materias in the game. They are graphically represented as Independent but have no effect.<br/>
:2 - Various in-battle conditions (Cover/Counter) and stat increases<br/>
::2A - Counter 0=Strength; 1=Vitality; 2=Magic; 3=Spirit; 4=Speed; 5=Luck; 6=Attack Independent Materia does not affect 0xC06898 or 0xC068B4. It is instead handled as if Command Counter was linked to "Attack".; 7=Defense; 8=MHP; 9=MMP; 10=EXP; higher than 10 results in memory leaks
:3 - ONLY works with Materia Index 0Ch (Long Range). Attribute List is ignored<br/>
:4 - Although Materia Index 0Ah (Pre-Emp) is a type 21 (and the only one), there is specific code to limit its magnitude in 41<br/>
:5 - Although Materia Index 07h (Enemy Away) is a type 41, there is code for that index in 21<br/>
:6 - Shield is the last magic attack with an index of 35h. The Magic menu prevents access to attacks 36h & 37h<br/>
== Materia Handler ==
These are the values assigned to each materia type:
{| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="center"
! style="background:rgb(204,204,204);" |Handler Value
! style="background:rgb(204,204,204);" |Type
|-
|style="background:rgb(255,255,255);" | 00
|style="background:rgb(255,255,255);" | None
|-
|style="background:rgb(255,255,255);" | 01
|style="background:rgb(255,255,255);" | Magic Materia (excluding Master Magic)
|-
|style="background:rgb(255,255,255);" | 02
|style="background:rgb(255,255,255);" | Summon Materia (excluding Master Summon)
|-
|style="background:rgb(255,255,255);" | 03
|style="background:rgb(255,255,255);" | Base 6
|-
|style="background:rgb(255,255,255);" | 04
|style="background:rgb(255,255,255);" | 20
|-
|style="background:rgb(255,255,255);" | 05
|style="background:rgb(255,255,255);" | Master Command
|-
|style="background:rgb(255,255,255);" | 06
|style="background:rgb(255,255,255);" | Master Magic
|-
|style="background:rgb(255,255,255);" | 07
|style="background:rgb(255,255,255);" | Master Summon
|-
|style="background:rgb(255,255,255);" | 08
|style="background:rgb(255,255,255);" | E.Skill
|-
|style="background:rgb(255,255,255);" | 09
|style="background:rgb(255,255,255);" | 41
|-
|style="background:rgb(255,255,255);" | 0A
|style="background:rgb(255,255,255);" | 21
|-
|style="background:rgb(255,255,255);" | 0B
|style="background:rgb(255,255,255);" | Mega-All
|-
|style="background:rgb(255,255,255);" | 0C
|style="background:rgb(255,255,255);" | None
|-
|style="background:rgb(255,255,255);" | 0D
|style="background:rgb(255,255,255);" | EXP Plus
|-
|style="background:rgb(255,255,255);" | 0E
|style="background:rgb(255,255,255);" | W-Materia
|-
|style="background:rgb(255,255,255);" | 0F
|style="background:rgb(255,255,255);" | some 25 & 35
|-
|style="background:rgb(255,255,255);" | 10
|style="background:rgb(255,255,255);" | some 25 & 35
|-
|style="background:rgb(255,255,255);" | 11
|style="background:rgb(255,255,255);" | 00
|-
|style="background:rgb(255,255,255);" | 12
|style="background:rgb(255,255,255);" | Specifically CounterAttack and Long Range
|-
|style="background:rgb(255,255,255);" | 13
|style="background:rgb(255,255,255);" | Base 2
|}
It primarily (exclusively?) tells the menu loader which texts to bring up when a menu is loaded.