FF7/Materia 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:
| Base | Materia Type |
|---|---|
| X0 | Independent |
| X1 | Independent |
| X2 | Command |
| X3 | Command |
| X4 | Independent |
| X5 | Support |
| X6 | Command |
| X7 | Command |
| X8 | Command |
| X9 | Magic |
| XA | Magic |
| XB | Summon |
| XC | Summon |
| XD | Independent1 |
| XE | Independent1 |
| XF | Independent1 |
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 are: (If sub-type is listed as 'X' then any sub-type will produce that effect. Other sub-types have no function)
| Independent Types: | ||
|---|---|---|
| 00 | Function based on Attribute 1 | |
| 0Ch | 0xC068B0 ORd with 1 and 0xC068B4 set to 11 (Underwater) | |
| 62h | 0xC068B0 ORd with 8 and 0xC068B4 set to 11 (HP<->MP) | |
| 202 | Increases value at 0xC06898 + [Attribute_1 * 2] based on attribute list and AP level | |
| 303 | 0xC068B0 ORd with 4 and 0xC068B4 set to 12 | |
| 40 | Has a function, but is blacklisted at the beginning of the X0 type handler (handled elsewhere) | |
| 214 | Enables effect Attribute 1 with a magnitude based on attribute list and AP Level | |
| 415 | Enables effect Attribute 1 with a magnitude based on attribute list and AP Level | |
| X4 | If 0xC06914 is non-0 after getting AP level then set 0xC068B4 to 0Bh (Mega-All) | |
| 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 | |
| 15h | Replaces Magic with WMagic | |
| 16h | Replaces Summon with WSummon | |
| 17h | 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 inclusive. Just sets 0xC068B4 to a specific value | |
| Attribute 1 Value | 0xC068B4 | |
| 54h | 0Fh (Command Counter) | |
| 55h | 0Fh (Magic Counter) | |
| 56h | 10h | |
| 57h | Ignored | |
| 58h | 10h | |
| 59h | 10h | |
| 5Ah | 10h | |
| 5Bh | Ignored | |
| 5Ch | 10h | |
| 5Dh | 10h | |
| 5Eh | 10h | |
| 5Fh | 10h | |
| 60h | Ignored | |
| 61h | Ignored | |
| 62h | Ignored | |
| 63h | Ignored | |
| 64h | 10h | |
| 35 | Like 25, but only Attribute 1 values 51h, 57h, and 63h are used. | |
| 51h | 0Fh (All) | |
| 57h | 10h (Final Attack) | |
| 63h | 0Fh (Quadra Magic) | |
| 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 inclusive6 | |
| Summon Types: | ||
| XB | Add Command 3 (Summon) and enables attack at Attribute 1 for use 'AP Level' times (Ignores other Attributes) | |
| XC | 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.
2 - Various in-battle conditions (Cover/Counter) and stat increases
3 - ONLY works with Materia Index 0Ch (Long Range). Attribute List is ignored
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
5 - Although Materia Index 07h (Enemy Away) is a type 41, there is code for that index in 21
6 - Shield is the last magic attack with an index of 35h. The Magic menu prevents access to attacks 36h & 37h