Difference between revisions of "FF7/Materia Types"
my_wiki>NFITC1 (Data is up, need to make more readable.) |
my_wiki>NFITC1 (Made pretty) |
||
Line 3: | Line 3: | ||
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: | 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-types that provide different functions: (If Subtype is listed as 'X' then any subtype will produce that effect. Other subtypes have no function) | Each of these Base Types have a set of sub-types that provide different functions: (If Subtype is listed as 'X' then any subtype will produce that effect. Other subtypes have no function) | ||
− | + | {| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="center" | |
− | + | ! style="background:rgb(204,204,204);" colspan="3" |Independent Types: | |
− | + | |- | |
− | + | |style="background:rgb(255,255,255);" | 00 | |
− | + | |style="background:rgb(255,255,255);" colspan="2"|Function based on Attribute 1 | |
− | + | |- | |
− | + | |style="background:rgb(204,204,255);" rowspan="2"| | |
− | + | |style="background:rgb(255,255,255); width=50pt;"|0Ch | |
− | + | |style="background:rgb(255,255,255);" |0xC068B0 ORd with 1 and 0xC068B4 set to 11 (Underwater) | |
− | + | |- | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | |style="background:rgb(255,255,255); width=50pt;" |62h | |
− | + | |style="background:rgb(255,255,255);" |0xC068B0 ORd with 8 and 0xC068B4 set to 11 (HP<->MP) | |
− | + | |- | |
− | + | |style="background:rgb(255,255,255);" |20<sup>2</sup> | |
− | + | |style="background:rgb(255,255,255);" colspan="2"|Increases value at 0xC06898 + [Attribute_1 * 2] based on attribute list and AP level | |
− | + | |- | |
− | + | |style="background:rgb(255,255,255);" |30<sup>3</sup> | |
− | + | |style="background:rgb(255,255,255);" colspan="2" |0xC068B0 ORd with 4 and 0xC068B4 set to 12 | |
− | + | |- | |
− | + | |style="background:rgb(255,255,255);" |40 | |
− | + | |style="background:rgb(255,255,255);" colspan="2"|Has a function, but is blacklisted at the beginning of the X0 type handler (handled elsewhere) | |
− | + | |- | |
− | + | |style="background:rgb(255,255,255);" |21<sup>4</sup> | |
− | + | |style="background:rgb(255,255,255);" colspan="2"|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="2"|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="2"|If 0xC06914 is non-0 after getting AP level then set 0xC068B4 to 0Bh (Mega-All) | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); colspan="3"| | ||
+ | |- | ||
+ | ! style="background:rgb(204,204,204);" colspan="3" |Command Types: | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255);" |12 | ||
+ | |style="background:rgb(255,255,255);" colspan="2" |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="2" |Subtype not important. Only Primary Attributes allowed are 15h, 16h, 17h | ||
+ | |- | ||
+ | |style="background:rgb(204,204,255);" rowspan="3"| | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |15h | ||
+ | |style="background:rgb(255,255,255);" |Replaces Magic with WMagic | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |16h | ||
+ | |style="background:rgb(255,255,255);" |Replaces Summon with WSummon | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |17h | ||
+ | |style="background:rgb(255,255,255);" |Replaces Item with WItem | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255);" |X6 | ||
+ | |style="background:rgb(255,255,255);" colspan="2"|Add Command based on attribute list and AP Level | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255);" |X7 | ||
+ | |style="background:rgb(255,255,255);" colspan="2"|Add Command 0Dh (E.Skill) | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255);" |X8 | ||
+ | |style="background:rgb(255,255,255);" colspan="2"|Add Command 5 (Steal), 6 (Sense), 7 (Coin), 9 (Morph), Ah (D.Blow), Bh (Manip), Ch (Mime) | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255);" colspan = "3"| | ||
+ | |- | ||
+ | ! style="background:rgb(204,204,204);" colspan="3" |Support Types: | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255);" |25 | ||
+ | |style="background:rgb(255,255,255);" colspan="2"|Attribute 1 must be between 54h - 64h inclusive. Just sets 0xC068B4 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);"|0xC068B4 | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |54h | ||
+ | |style="background:rgb(255,255,255);" |0Fh (Command Counter) | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |55h | ||
+ | |style="background:rgb(255,255,255);" |0Fh (Magic Counter) | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |56h | ||
+ | |style="background:rgb(255,255,255);" |10h | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |57h | ||
+ | |style="background:rgb(255,255,255);" |Ignored | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |58h | ||
+ | |style="background:rgb(255,255,255);" |10h | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |59h | ||
+ | |style="background:rgb(255,255,255);" |10h | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |5Ah | ||
+ | |style="background:rgb(255,255,255);" |10h | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |5Bh | ||
+ | |style="background:rgb(255,255,255);" |Ignored | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |5Ch | ||
+ | |style="background:rgb(255,255,255);" |10h | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |5Dh | ||
+ | |style="background:rgb(255,255,255);" |10h | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |5Eh | ||
+ | |style="background:rgb(255,255,255);" |10h | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |5Fh | ||
+ | |style="background:rgb(255,255,255);" |10h | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |60h | ||
+ | |style="background:rgb(255,255,255);" |Ignored | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |61h | ||
+ | |style="background:rgb(255,255,255);" |Ignored | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |62h | ||
+ | |style="background:rgb(255,255,255);" |Ignored | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |63h | ||
+ | |style="background:rgb(255,255,255);" |Ignored | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |64h | ||
+ | |style="background:rgb(255,255,255);" |10h | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255);" |35 | ||
+ | |style="background:rgb(255,255,255);" colspan="2" |Like 25, but only Attribute 1 values 51h, 57h, and 63h are used. | ||
+ | |- | ||
+ | |style="background:rgb(204,204,255);" rowspan="3"| | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |51h | ||
+ | |style="background:rgb(255,255,255);" |0Fh (All) | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |57h | ||
+ | |style="background:rgb(255,255,255);" |10h (Final Attack) | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255); width=50pt;" |63h | ||
+ | |style="background:rgb(255,255,255);" |0Fh (Quadra Magic) | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255);" colspan = "3"| | ||
+ | |- | ||
+ | ! style="background:rgb(204,204,204);" colspan="3" |Magic Types: | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255);" |X9 | ||
+ | |style="background:rgb(255,255,255);" colspan = "2"|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 = "2"|Add Command 2 (Magic) and Enable magics with index 0-37h inclusive<sup>6</sup> | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255);" colspan = "3"| | ||
+ | |- | ||
+ | ! style="background:rgb(204,204,204);" colspan="3" |Summon Types: | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255);" |XB | ||
+ | |style="background:rgb(255,255,255);" colspan = "2"|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 = "2" |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/> | |
− | + | 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/> | |
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 21:48, 26 August 2010
(This is a temporary page. It will be linked to from the Materia Data page when I'm done with it)
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: (If Subtype is listed as 'X' then any subtype will produce that effect. Other subtypes 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