Anonymous

Changes

From Final Fantasy Inside

FF7/Materia Types

3,425 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:
<br/>
Each of these Base Types have a set of sub-types that provide different functions. They are used to determine what function to provide, usually based on the Materia's attribute list. These sub-types have the following functions when equipped: <br />(If Subtype sub-type is listed as 'X' then any subtype sub-type will produce that effect. Other subtypes sub-types have no function. Battle effects not mentioned.)
{| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="center"
! style="background:rgb(204,204,204);" colspan="34" |Independent Types:
|-
|style="background:rgb(255,255,255);" | 00
|style="background:rgb(255,255,255);" colspan="23"|Function based on Attribute 1
|-
|style="background:rgb(204,204,255);" rowspan="2"|&nbsp;
|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="23"|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>3</sup>
|style="background:rgb(255,255,255);" colspan="23" |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="23"|Has a functionSame 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>4</sup>
|style="background:rgb(255,255,255);" colspan="23"|Enables effect Attribute 1 with a magnitude based on attribute list and AP Level
|-
|style="background:rgb(255,255,255);" |41<sup>5</sup>|style="background:rgb(255,255,255);" colspan="23"|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="23"|If 0xC06914 is non-0 after getting AP level then set 0xC068B4 MateriaHandler to 0Bh (Mega-All)
|-
|style="background:rgb(255,255,255);" colspan = "34"| &nbsp;
|-
! style="background:rgb(204,204,204);" colspan="34" |Command Types:
|-
|style="background:rgb(255,255,255);" |12
|style="background:rgb(255,255,255);" colspan="23" |Replace first command (Attack) based on attribute list and AP Level
|-
|style="background:rgb(255,255,255);" |X3
|style="background:rgb(255,255,255);" colspan="23" |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
|-
|style="background:rgb(255,255,255); width=50pt;" |16h
|style="background:rgb(255,255,255);" colspan="2" |Replaces Summon with WSummon
|-
|style="background:rgb(255,255,255); 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="23"|Add Command based on attribute list and AP Level
|-
|style="background:rgb(255,255,255);" |X7
|style="background:rgb(255,255,255);" colspan="23"|Add Command 0Dh (E.Skill)
|-
|style="background:rgb(255,255,255);" |X8
|style="background:rgb(255,255,255);" colspan="23"|Add Command 5 (Steal), 6 (Sense), 7 (Coin), 9 (Morph), Ah (D.Blow), Bh (Manip), Ch (Mime)
|-
|style="background:rgb(255,255,255);" colspan = "34"| &nbsp;
|-
! style="background:rgb(204,204,204);" colspan="34" |Support Types:
|-
|style="background:rgb(255,255,255);" |25
|style="background:rgb(255,255,255);" colspan="23"|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"|&nbsp;
! 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
|-
|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="23" |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 = "34"| &nbsp;
|-
! style="background:rgb(204,204,204);" colspan="34" |Magic Types:
|-
|style="background:rgb(255,255,255);" |X9
|style="background:rgb(255,255,255);" colspan = "23"|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 = "23"|Add Command 2 (Magic) and Enable magics with index 0-37h inclusive<sup>65</sup>
|-
|style="background:rgb(255,255,255);" colspan = "34"| &nbsp;
|-
! style="background:rgb(204,204,204);" colspan="34" |Summon Types:
|-
|style="background:rgb(255,255,255);" |XB
|style="background:rgb(255,255,255);" colspan = "23"|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 = "23" |Add Command 3 (Summon) and enables attacks with index 38h - 47h inclusive
|}
: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 - 0=Strength; 1=Vitality; 2=Magic; 3=Spirit; 4=Speed; 5=Luck; 6=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 Enemy Away's first attribute shares a type 21 value with Enemy Lure (and the only one1), there it is specific code handled differently based on index to limit its magnitude in 41<br/>alter a different memory address from Enemy Lure.: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.