Anonymous

Changes

From Final Fantasy Inside

FF7/Materia Types

9,911 bytes added, 05:19, 23 May 2019
m
13 revisions imported
(This is a temporary page. It will be linked to from the Materia Data page when I'm done with it)== 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:
{| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="center"! style="background:rgb(204,204,204);" | Base ! style="background:rgb(204,204,204);" | Materia Type |-|style="background:rgb(255,255,255);" | X0 |style="background:rgb(255,255,255);" | Independent |-|style="background:rgb(255,255,255);" | X1 |style="background:rgb(255,255,255);" | Independent |-|style="background:rgb(255,255,255);" | X2 |style="background:rgb(255,255,255);" | Command |-|style="background:rgb(255,255,255);" | X3 |style="background:rgb(255,255,255);" | Command |-|style="background:rgb(255,255,255);" | X4 |style="background:rgb(255,255,255);" | Independent |-|style="background:rgb(255,255,255);" | X5 |style="background:rgb(255,255,255);" | Support |-|style="background:rgb(255,255,255);" | X6 |style="background:rgb(255,255,255);" | Command |-|style="background:rgb(255,255,255);" | X7 |style="background:rgb(255,255,255);" | Command |-|style="background:rgb(255,255,255);" | X8 |style="background:rgb(255,255,255);" | Command |-|style="background:rgb(255,255,255);" | X9 |style="background:rgb(255,255,255);" | Magic |-|style="background:rgb(255,255,255);" | XA |style="background:rgb(255,255,255);" | Magic |-|style="background:rgb(255,255,255);" | XB |style="background:rgb(255,255,255);" | Summon |-|style="background:rgb(255,255,255);" | XC |style="background:rgb(255,255,255);" | Summon |-|style="background:rgb(255,255,255);" | XD |style="background:rgb(255,255,255);" | Independent*<sup>1</sup>|- |style="background:rgb(255,255,255);" | XE |style="background:rgb(255,255,255);" | Independent*<sup>1</sup>|- |style="background:rgb(255,255,255);" | XF |style="background:rgb(255,255,255);" | Independent*<sup>1</sup>|}
* <br/>Each of these Base Types have a set of sub- There types that provide different functions. They are no XDused to determine what function to provide, XE or XF type materias in usually based on the gameMateria's attribute list. They are graphically represented These sub-types have the following functions when equipped:<br />(If sub-type is listed as Independent but 'X' then any sub-type will produce that effect. Other sub-types have no effectfunction. Battle effects not mentioned.)
Each of these Base {| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="center"! style="background:rgb(204,204,204);" colspan="4" |Independent Types have a set of sub:|- |style="background:rgb(255,255,255);" | 00|style="background:rgb(255,255,255);" colspan="3"|Function based on Attribute 1|-types that provide different functions|style="background: rgb(If Subtype is listed as 204,204,255);" rowspan="2"|&nbsp;|style="background:rgb(255,255,255); width=50pt;"|0Ch|style="background:rgb(255,255,255);" colspan="2" |Character'X' then any subtype will produce that effect. Other subtypes have no functions flags ORd with 1 and MateriaHandler set to 11 (Underwater)|-
Independent Types|style="background:rgb(255,255,255); width=50pt;" |62h 00 Function based on Attribute 1 0Ch 0xC068B0 ORd with 1 and 0xC068B4 set to 11 |style="background:rgb(Underwater255,255,255) 62h 0xC068B0 ;" colspan="2" |Character's flags ORd with 8 and 0xC068B4 MateriaHandler set to 11 (HP<->MP) |-|style="background:rgb(255,255,255);" |20<sup>12</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> and AP leveland sets MateriaHandler to 4 |-|style="background:rgb(255,255,255);" |30<sup>23</sup> 0xC068B0 |style="background:rgb(255,255,255);" colspan="3" |Character's flags ORd with 4 and 0xC068B4 MateriaHandler set to 12 |-|style="background:rgb(255,255,255);" |40 Has a function|style="background:rgb(255,255,255);" colspan="3"|Same as 20, but is blacklisted at the beginning of the X0 type handler sets MateriaHandler to 0Dh (handled elsewhereEXP Plus) |- |style="background:rgb(255,255,255);" |21<sup>34</sup> |style="background:rgb(255,255,255);" colspan="3"|Enables effect Attribute 1 with a magnitude based on attribute list and AP Level |-|style="background:rgb(255,255,255);" |41<sup>4</sup> |style="background:rgb(255,255,255);" colspan="3"|Enables effect Attribute 1 with a magnitude based on attribute list and AP Level |- |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"| &nbsp; 1 |- Various in! style="background:rgb(204,204,204);" colspan="4" |Command Types:|-battle conditions |style="background:rgb(Cover/Counter255,255,255);" |12|style="background:rgb(255,255,255);" colspan="3" |Replace first command (Attack) based on attribute list and stat increasesAP Level|-|style="background:rgb(255,255,255);" |X3|style="background:rgb(255,255,255);" colspan="3" |Subtype not important. Only Primary Attributes allowed are 15h, 16h, 17h|-|style="background:rgb(204,204,255);" rowspan="3"|&nbsp;|style="background:rgb(255,255,255); width=50pt;" |15h|style="background:rgb(255,255,255);" colspan="2 " |Replaces Magic with WMagic|- ONLY works |style="background:rgb(255,255,255); width=50pt;" |16h|style="background:rgb(255,255,255);" colspan="2" |Replaces Summon with Materia Index 0Ch WSummon|-|style="background:rgb(Long Range255,255,255). Attribute List is ignored; width=50pt;" |17h|style="background:rgb(255,255,255);" colspan="2" |Replaces Item with WItem|-|style="background:rgb(255,255,255);" |X6|style="background:rgb(255,255,255);" colspan="3 "|Add Command based on attribute list and AP Level|- Although Pre|style="background:rgb(255,255,255);" |X7|style="background:rgb(255,255,255);" colspan="3"|Add Command 0Dh (E.Skill)|-Emp is a 21 type materia |style="background:rgb(255,255,255);" |X8|style="background:rgb(255,255,255);" colspan="3"|Add Command 5 (Steal), 6 (Sense), 7 (Coin), 9 (and the only oneMorph), there is specific code to limit its magnitude in 41 as wellAh (D.Blow), Bh (Manip), Ch (Mime)|- |style="background:rgb(255,255,255);" colspan = "4 "| &nbsp;|- Enemy Away MUST ! style="background:rgb(204,204,204);" colspan="4" |Support Types:|-|style="background:rgb(255,255,255);" |25|style="background:rgb(255,255,255);" colspan="3"|Attribute 1 must be type 41 between 54h - 64h inclusive. Just sets the MateriaHandler to work properlya specific value|-|style="background:rgb(204,204,255);" rowspan="18"|&nbsp;! style="background:rgb(204,204,204); width=50pt;"|Attribute 1 Value! style="background:rgb(204,204,204); width=10pt;"|MateriaHandler! style="background:rgb(204,204,204);"|Materia|-|style="background:rgb(255,255,255); width=50pt;" |54h|style="background:rgb(255,255,255);" |0Fh|style="background:rgb(255,255,255);" |Command Counter|-|style="background:rgb(255,255,255); width=50pt;" |55h|style="background:rgb(255,255,255);" |0Fh|style="background:rgb(255,255,255);" |Magic Counter|-|style="background:rgb(255,255,255); width=50pt;" |56h|style="background:rgb(255,255,255);" |10h|style="background:rgb(255,255,255);" |Sneak Attack|-|style="background:rgb(255,255,255); width=50pt;" |57h|style="background:rgb(255,255,255);" colspan="2" |Ignored|-|style="background:rgb(255,255,255); width=50pt;" |58h|style="background:rgb(255,255,255);" |10h|style="background:rgb(255,255,255);" |MP Turbo|-|style="background:rgb(255,255,255); width=50pt;" |59h|style="background:rgb(255,255,255);" |10h|style="background:rgb(255,255,255);" |MP Absorb|-|style="background:rgb(255,255,255); width=50pt;" |5Ah|style="background:rgb(255,255,255);" |10h|style="background:rgb(255,255,255);" |HP Absorb|-|style="background:rgb(255,255,255); width=50pt;" |5Bh|style="background:rgb(255,255,255);" colspan="2" |Ignored|-|style="background:rgb(255,255,255); width=50pt;" |5Ch|style="background:rgb(255,255,255);" |10h|style="background:rgb(255,255,255);" |Added Cut|-|style="background:rgb(255,255,255); width=50pt;" |5Dh|style="background:rgb(255,255,255);" |10h|style="background:rgb(255,255,255);" |Steal As Well|-|style="background:rgb(255,255,255); width=50pt;" |5Eh|style="background:rgb(255,255,255);" |10h|style="background:rgb(255,255,255);" |Elemental|-|style="background:rgb(255,255,255); width=50pt;" |5Fh|style="background:rgb(255,255,255);" |10h|style="background:rgb(255,255,255);" |Added Effect|-|style="background:rgb(255,255,255); width=50pt;" |60h|style="background:rgb(255,255,255);" colspan="2" |Ignored|-|style="background:rgb(255,255,255); width=50pt;" |61h|style="background:rgb(255,255,255);" colspan="2" |Ignored|-|style="background:rgb(255,255,255); width=50pt;" |62h|style="background:rgb(255,255,255);" colspan="2" |Ignored|-|style="background:rgb(255,255,255); width=50pt;" |63h|style="background:rgb(255,255,255);" colspan="2" |Ignored|-|style="background:rgb(255,255,255); width=50pt;" |64h|style="background:rgb(255,255,255);" |10h|style="background:rgb(255,255,255);" |(Unused)|-|style="background:rgb(255,255,255);" |35|style="background:rgb(255,255,255);" colspan="3" |Like 25, but only Attribute 1 values 51h, 57h, and 63h are used.|-|style="background:rgb(204,204,255);" rowspan="3"|&nbsp;|style="background:rgb(255,255,255); width=50pt;" |51h|style="background:rgb(255,255,255);" |0Fh|style="background:rgb(255,255,255);" |All|-|style="background:rgb(255,255,255); width=50pt;" |57h|style="background:rgb(255,255,255);" |10h|style="background:rgb(255,255,255);" |Final Attack|-|style="background:rgb(255,255,255); width=50pt;" |63h|style="background:rgb(255,255,255);" |0Fh|style="background:rgb(255,255,255);" |Quadra Magic|-|style="background:rgb(255,255,255);" colspan = "4"| &nbsp;|-! style="background:rgb(204,204,204);" colspan="4" |Magic Types:|-|style="background:rgb(255,255,255);" |X9|style="background:rgb(255,255,255);" colspan = "3"|Add Command 2 (Magic) and Enable magics based on attribute list and AP Level|-|style="background:rgb(255,255,255);" |XA|style="background:rgb(255,255,255);" colspan = "3"|Add Command 2 (Magic) and Enable magics with index 0-37h inclusive<sup>5</sup>|-|style="background:rgb(255,255,255);" colspan = "4"| &nbsp;|-! style="background:rgb(204,204,204);" colspan="4" |Summon Types:|-|style="background:rgb(255,255,255);" |XB|style="background:rgb(255,255,255);" colspan = "3"|Add Command 3 (Summon) and enables attack at Attribute 1 for use 'AP Level' times (Ignores other Attributes)|-|style="background:rgb(255,255,255);" |XC|style="background:rgb(255,255,255);" colspan = "3" |Add Command 3 (Summon) and enables attacks with index 38h - 47h inclusive|}
Command Types:
12 Replace first command (Attack) based on attribute list and AP Level
X3 Subtype not important. Only Primary Attributes allowed are 15h, 16h, 17h
15 Replaces Magic with WMagic
16 Replaces Summon with WSummon
17 Replaces Item with WItem
X6 Add Command based on attribute list and AP Level
X7 Add Command 0Dh (E.Skill)
X8 Add Command 5 (Steal), 6 (Sense), 7 (Coin), 9 (Morph), Ah (D.Blow), Bh (Manip), Ch (Mime)
Support Types: 25 Attribute 1 must be between 54h - 64h inclusiveThere are no XD, XE or XF type materias in the game. Just sets 0xC068B4 to a specific valueThey are graphically represented as Independent but have no effect.<br/> 54 0Fh :2 - Various in-battle conditions (Command Cover/Counter)and stat increases<br/> 55 0Fh (::2A - 0=Strength; 1=Vitality; 2=Magic Counter); 3=Spirit; 4=Speed; 5=Luck; 6=Attack; 7=Defense; 8=MHP; 9=MMP; 10=EXP; higher than 10 results in memory leaks 56 10h 57 Ignored 58 10h 59 10h 5A 10h 5B Ignored 5C 10h 5D 10h 5E 10h 5F 10h 60 Ignored 61 Ignored 62 Ignored 63 Ignored 64 10h 35 Like 25, but only Attribute 1 values 51h, 57h, and 63h are used. 51 0Fh :3 - ONLY works with Materia Index 0Ch (AllLong Range). Attribute List is ignored<br/> 57 10h :4 - Although Enemy Away's first attribute shares a value with Enemy Lure (Final Attack1), it is handled differently based on index to alter a different memory address from Enemy Lure. 63 0Fh (Quadra :5 - Shield is the last magic attack with an index of 35h. The Magic)menu prevents access to attacks 36h & 37h<br/>
Magic Types: X9 Add Command 2 (Magic) and Enable magics based on attribute list and AP Level XA Add Command 2 (Magic) and Enable magics with index 0-37h inclusive<sup>*</sup>== Materia Handler == * - Shield is These are the last magic attack with an index of 35h. The Magic menu prevents access values assigned to attacks 36h & 37heach 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 TypesMateria (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 XB Add |style="background:rgb(255,255,255);" | Master Command 3 |-|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) and enables attack at Attribute 1 for use 'AP Level' times ;" | 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(Ignores other Attributes255,255,255);" | 12 XC Add Command 3 |style="background:rgb(Summon255,255,255) ;" | Specifically CounterAttack and enables attacks with index 38h Long Range|- 47h inclusive|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.