Difference between revisions of "FF7/Weapon data"

From Final Fantasy Inside
< FF7
Jump to navigation Jump to search
my_wiki>Halkun
(Weapon data format)
m (KERNEL.BIN - Section 6: Weapon data format: Added switch to usage restriction mask)
 
(52 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
== KERNEL.BIN - Section 6: Weapon data format ==
 
== KERNEL.BIN - Section 6: Weapon data format ==
  
This contains the weapon data. Each weapon attribute is 44 bytes long.  
+
This section contains the weapon data. Each weapon attribute is 44 bytes long.  
  
 
{| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="center"
 
{| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="center"
Line 10: Line 10:
 
|style="background:rgb(255,255,255);" align="center" | 0x00
 
|style="background:rgb(255,255,255);" align="center" | 0x00
 
|style="background:rgb(255,255,255);" | 1 byte
 
|style="background:rgb(255,255,255);" | 1 byte
|style="background:rgb(255,255,255);" colspan="2" | Weapon Range
+
|style="background:rgb(255,255,255);" colspan="2" | [[FF7/Battle/Targeting Data|Target Flags]]
 
|-
 
|-
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="2" | &nbsp;
+
|style="background:rgb(255,255,255);" align="center" | 0x01
|style="background:rgb(255,255,255); width: 50px;" | 0x03
+
|style="background:rgb(255,255,255);" | 1 byte
|style="background:rgb(255,255,255);" | Long Range
+
|style="background:rgb(255,255,255);" colspan="2" | [[FF7/Battle/Attack Effect Id List|Attack Effect Id]]. Always 0xFF. Isn't used for weapon in game.
|-
 
|style="background:rgb(255,255,255);" | 0x23
 
|style="background:rgb(255,255,255);" | Normal Range
 
|-
 
|style="background:rgb(255,255,204);" align="center" | 0x01
 
|style="background:rgb(255,255,204);" | 1 byte
 
|style="background:rgb(255,255,204);" colspan="2" | Unknown [Always 0xFF]
 
 
|-
 
|-
 
|style="background:rgb(255,255,255);" align="center" | 0x02
 
|style="background:rgb(255,255,255);" align="center" | 0x02
 
|style="background:rgb(255,255,255);" | 1 byte
 
|style="background:rgb(255,255,255);" | 1 byte
|style="background:rgb(255,255,255);" colspan="2" | Special Options (Attack Modifiers)
+
|style="background:rgb(255,255,255);" colspan="2" | [[FF7/Battle/Damage Calculation|Damage Calculation]]
 
|-
 
|-
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="10" | &nbsp;
+
|style="background:rgb(255,255,255);" align="center" | 0x03
|style="background:rgb(255,255,255);" | 0x11
+
|style="background:rgb(255,255,255);" | 1 byte
|style="background:rgb(255,255,255);" | Normal
+
|style="background:rgb(255,255,255);" colspan="2" | Not used. Always 0xFF.
 
|-
 
|-
|style="background:rgb(255,255,255);" | 0xA0
+
|style="background:rgb(255,255,255);" align="center" | 0x04
|style="background:rgb(255,255,255);" | 1 + Number of Status Effects Tifa has out of following:
+
|style="background:rgb(255,255,255);" | 1 byte
Near-death, Poison, Sadness, Silence, Slow, Darkness + 2<br /> * Number of Status Effects Tifa has out of following:<br />Death-sentence, Slow-numb
+
|style="background:rgb(255,255,255);" colspan="2" | Weapon attack strength for damage formula.
 
|-
 
|-
|style="background:rgb(255,255,255);" | 0xA1
+
|style="background:rgb(255,255,255);" align="center" | 0x05
|style="background:rgb(255,255,255);" | Power up when near death
+
|style="background:rgb(255,255,255);" | 1 byte
 +
|style="background:rgb(255,255,255);" colspan="2" | [[FF7/Battle/Status Effects|Status Attack]]. This is index of status bit.
 
|-
 
|-
|style="background:rgb(255,255,255);" | 0xA2
+
|style="background:rgb(255,255,255);" align="center" | 0x06
|style="background:rgb(255,255,255);" | 1 + Number of Allies in Death Status
+
|style="background:rgb(255,255,255);" | 1 byte
 +
|style="background:rgb(255,255,255);" colspan="2" | Materia growth rate (0, 1, 2, 3 for None, Normal, Double, Triple. All other values are "Normal" Growth)
 
|-
 
|-
|style="background:rgb(255,255,255);" | 0xA3
+
|style="background:rgb(255,255,255);" align="center" | 0x07
|style="background:rgb(255,255,255);" | (Target's Level / 16) When used against allies, the weapon<br />will act like a physical hit, but will cause not damage (not<br />even a Miss or a 0). The Weapon has no Morph modifier;<br />it does the same damage with or without Morph.<br />(Conformer)  
+
|style="background:rgb(255,255,255);" | 1 byte
 +
|style="background:rgb(255,255,255);" colspan="2" | Critical hit chance (%)
 
|-
 
|-
|style="background:rgb(255,255,255);" | 0xA4
+
|style="background:rgb(255,255,255);" align="center" | 0x08
|style="background:rgb(255,255,255);" | (1 + [48 * Player's HP / Player's Max HP]) / 16
+
|style="background:rgb(255,255,255);" | 1 byte
 +
|style="background:rgb(255,255,255);" colspan="2" | Weapon hit chance (%)
 
|-
 
|-
|style="background:rgb(255,255,255);" | 0xA5
+
|style="background:rgb(255,255,255);" align="center" | 0x09
|style="background:rgb(255,255,255);" | (1 + [48 * Player's MP / Player's Max MP]) / 16
 
|-
 
|style="background:rgb(255,255,255);" | 0xA6
 
|style="background:rgb(255,255,255);" | (1 + [Total AP on Weapon / 10000]) / 16
 
|-
 
|style="background:rgb(255,255,255);" | 0xA7
 
|style="background:rgb(255,255,255);" | (10 + [Player's Kills / 128]) / 16
 
|-
 
|style="background:rgb(255,255,255);" | 0xA8
 
|style="background:rgb(255,255,255);" | (1 + [Player's Limit Level * Player's Limit Units / 16]) / 16
 
|-
 
|style="background:rgb(255,255,204);" align="center" | 0x03
 
|style="background:rgb(255,255,204);" | 1 byte
 
|style="background:rgb(255,255,204);" colspan="2" | Unknown [Always 0xFF]
 
|-
 
|style="background:rgb(255,255,255);" align="center" | 0x04
 
 
|style="background:rgb(255,255,255);" | 1 byte
 
|style="background:rgb(255,255,255);" | 1 byte
|style="background:rgb(255,255,255);" colspan="2" | Weapon Attack
+
|style="background:rgb(255,255,255);" colspan="2" | Weapon model
 
|-
 
|-
|style="background:rgb(255,255,204);" align="center" | 0x05
+
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="2" | &nbsp;
|style="background:rgb(255,255,204);" | 1 byte
+
|style="background:rgb(255,255,255);" | Upper nybble
|style="background:rgb(255,255,204);" colspan="2" | Unknown [Always 0xFF]
+
|style="background:rgb(255,255,255);" | Attack animation modifier (For Barret and Vincent only)
 
|-
 
|-
|style="background:rgb(255,255,255);" align="center" | 0x06
+
|style="background:rgb(255,255,255);" | Lower nybble
|style="background:rgb(255,255,255);" | 1 byte
+
|style="background:rgb(255,255,255);" | Weapon model index
|style="background:rgb(255,255,255);" colspan="2" | Materia growth rate
 
 
|-
 
|-
|style="background:rgb(255,255,204);" align="center" | 0x07
+
|style="background:rgb(255,255,204);" align="center" | 0x0A
 
|style="background:rgb(255,255,204);" | 1 byte
 
|style="background:rgb(255,255,204);" | 1 byte
|style="background:rgb(255,255,204);" colspan="2" | Unknown
+
|style="background:rgb(255,255,204);" colspan="2" | Alignment. Always 0xFF.
 
|-
 
|-
|style="background:rgb(255,255,255);" align="center" | 0x08
+
|style="background:rgb(255,255,255);" align="center" | 0x0B
 
|style="background:rgb(255,255,255);" | 1 byte
 
|style="background:rgb(255,255,255);" | 1 byte
|style="background:rgb(255,255,255);" colspan="2" | Weapon attack percentage
+
|style="background:rgb(255,255,255);" colspan="2" | Mask for access high sound id (0x100+).
|-
 
|style="background:rgb(255,255,255);" align="center" | 0x09
 
|style="background:rgb(255,255,255);" | 3 bytes
 
|style="background:rgb(255,255,255);" colspan="2" | Weapon Model ID
 
 
|-
 
|-
 
|style="background:rgb(255,255,255);" align="center" | 0x0C
 
|style="background:rgb(255,255,255);" align="center" | 0x0C
 
|style="background:rgb(255,255,255);" | 2 bytes
 
|style="background:rgb(255,255,255);" | 2 bytes
|style="background:rgb(255,255,255);" colspan="2" | Unknown [Aways 0xFFFF]
+
|style="background:rgb(255,255,255);" colspan="2" | [[FF7/Battle/Camera Movement Id List|Camera Movement Id]]. Used for both single and multiple targeted attacks with this weapon. Always 0xFFFF.
 
|-
 
|-
 
|style="background:rgb(255,255,255);" align="center" | 0x0E
 
|style="background:rgb(255,255,255);" align="center" | 0x0E
Line 131: Line 107:
 
|style="background:rgb(255,255,255);" align="center" | 0x10
 
|style="background:rgb(255,255,255);" align="center" | 0x10
 
|style="background:rgb(255,255,255);" | 2 bytes
 
|style="background:rgb(255,255,255);" | 2 bytes
|style="background:rgb(255,255,255);" colspan="2" | Attack Type
+
|style="background:rgb(255,255,255);" colspan="2" | [[FF7/Battle/Elemental_Data|Attack Element]]
|-
 
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="4" | &nbsp;
 
|style="background:rgb(255,255,255);" | 0x0004
 
|style="background:rgb(255,255,255);" | Cut
 
|-
 
|style="background:rgb(255,255,255);" | 0x0008
 
|style="background:rgb(255,255,255);" | Hit
 
|-
 
|style="background:rgb(255,255,255);" | 0x0010
 
|style="background:rgb(255,255,255);" | Punch
 
|-
 
|style="background:rgb(255,255,255);" | 0x0020
 
|style="background:rgb(255,255,255);" | Hit
 
 
|-
 
|-
 
|style="background:rgb(255,255,204);" align="center" | 0x12
 
|style="background:rgb(255,255,204);" align="center" | 0x12
Line 178: Line 141:
 
|style="background:rgb(255,255,255);" align="center" | 0x18
 
|style="background:rgb(255,255,255);" align="center" | 0x18
 
|style="background:rgb(255,255,255);" | 4 bytes
 
|style="background:rgb(255,255,255);" | 4 bytes
|style="background:rgb(255,255,255);" colspan="2" | Stat Amount Increased (Based on IT)
+
|style="background:rgb(255,255,255);" colspan="2" | Stat Amount Increased (Based on above)
 
|-
 
|-
 
|style="background:rgb(255,255,255);" align="center" | 0x1C
 
|style="background:rgb(255,255,255);" align="center" | 0x1C
Line 184: Line 147:
 
|style="background:rgb(255,255,255);" colspan="2" | Materia Slots  
 
|style="background:rgb(255,255,255);" colspan="2" | Materia Slots  
 
|-
 
|-
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="4" | &nbsp;
+
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="7" | &nbsp;
 
|style="background:rgb(255,255,255);" | 0x00
 
|style="background:rgb(255,255,255);" | 0x00
 
|style="background:rgb(255,255,255);" | No Slot
 
|style="background:rgb(255,255,255);" | No Slot
 +
|-
 +
|style="background:rgb(255,255,255);" | 0x01
 +
|style="background:rgb(255,255,255);" | Empty Unlinked Slot (no growth-equips)
 +
|-
 +
|style="background:rgb(255,255,255);" | 0x02
 +
|style="background:rgb(255,255,255);" | Empty Left Linked Slot (no growth-equips)
 +
|-
 +
|style="background:rgb(255,255,255);" | 0x03
 +
|style="background:rgb(255,255,255);" | Empty Right Linked Slot (no growth-equips)
 
|-
 
|-
 
|style="background:rgb(255,255,255);" | 0x05
 
|style="background:rgb(255,255,255);" | 0x05
Line 197: Line 169:
 
|style="background:rgb(255,255,255);" | Right Linked Slot
 
|style="background:rgb(255,255,255);" | Right Linked Slot
 
|-
 
|-
|style="background:rgb(255,255,204);" align="center" | 0x24
+
|style="background:rgb(255,255,255);" align="center" | 0x24
|style="background:rgb(255,255,204);" | 3 bytes
+
|style="background:rgb(255,255,255);" | 1 bytes
|style="background:rgb(255,255,204);" colspan="2" | Unknown
+
|style="background:rgb(255,255,255);" colspan="2" | [[FF7/Battle/Sound Effect Id List|Sound Effect Id]] for normal hit.
 +
|-
 +
|style="background:rgb(255,255,255);" align="center" | 0x25
 +
|style="background:rgb(255,255,255);" | 1 bytes
 +
|style="background:rgb(255,255,255);" colspan="2" | [[FF7/Battle/Sound Effect Id List|Sound Effect Id]] for critical hit.
 +
|-
 +
|style="background:rgb(255,255,255);" align="center" | 0x26
 +
|style="background:rgb(255,255,255);" | 1 bytes
 +
|style="background:rgb(255,255,255);" colspan="2" | [[FF7/Battle/Sound Effect Id List|Sound Effect Id]] for missed attack.
 
|-
 
|-
 
|style="background:rgb(255,255,255);" align="center" | 0x27
 
|style="background:rgb(255,255,255);" align="center" | 0x27
 
|style="background:rgb(255,255,255);" | 1 byte
 
|style="background:rgb(255,255,255);" | 1 byte
|style="background:rgb(255,255,255);" colspan="2" | Attack texture graphic
+
|style="background:rgb(255,255,255);" colspan="2" | [[FF7/Battle/Impact Effect Id List|Impact Effect Id]]
 
|-
 
|-
|style="background:rgb(255,255,204);" align="center" | 0x28
+
|style="background:rgb(255,255,255);" align="center" | 0x28
|style="background:rgb(255,255,204);" | 2 bytes
+
|style="background:rgb(255,255,255);" | 2 bytes
|style="background:rgb(255,255,204);" colspan="2" | [Always 0xFFFF]
+
|style="background:rgb(255,255,255);" colspan="2" | [[FF7/Battle/Special Attack Flags|Special Attack Flags]]. Always 0xFFFF.
 
|-
 
|-
 
|style="background:rgb(255,255,255);" align="center" | 0x2A
 
|style="background:rgb(255,255,255);" align="center" | 0x2A
|style="background:rgb(255,255,255);" | 1 byte
+
|style="background:rgb(255,255,255);" | 2 bytes
|style="background:rgb(255,255,255);" colspan="2" | Restriction Mask
+
|style="background:rgb(255,255,255);" colspan="2" | Restriction Mask (If the following bits are 0)
|-
 
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="10" | &nbsp;
 
|style="background:rgb(255,255,255);" | 0xFF
 
|style="background:rgb(255,255,255);" | Appears in Item Menu. Does not appear in Battle Menu<br />(Not usable at all)
 
|-
 
|style="background:rgb(255,255,255);" | 0xFE
 
|style="background:rgb(255,255,255);" | Appears in Battle Menu & Item Menu (Not usable at all)
 
|-
 
|style="background:rgb(255,255,255);" | 0xFD
 
|style="background:rgb(255,255,255);" | Appears in Item Menu. Does not appear in Battle Menu <br />(Usable in Battle Menu)
 
 
|-
 
|-
|style="background:rgb(255,255,255);" | 0xFC
+
|style="background:rgb(204,204,255);" colspan="2" rowspan="5" | &nbsp;
|style="background:rgb(255,255,255);" | Appears in Battle Menu & Item Menu (Usable in Battle<br />Menu)
+
|style="background:rgb(255,255,255);" | 01h
 +
|style="background:rgb(255,255,255);" | Can be sold
 
|-
 
|-
|style="background:rgb(255,255,255);" | 0xFB
+
|style="background:rgb(255,255,255);" | 02h
|style="background:rgb(255,255,255);" | Appears in Item Menu. Does not appear in Battle Menu <br />(Usable in Item Menu)
+
|style="background:rgb(255,255,255);" | Can be used in Battle
 
|-
 
|-
|style="background:rgb(255,255,255);" | 0xFA
+
|style="background:rgb(255,255,255);" | 04h
|style="background:rgb(255,255,255);" | Appears in Battle Menu & Item Menu (Usable in Item <br />Menu)
+
|style="background:rgb(255,255,255);" | Can be used in Menu Out of Battle
 
|-
 
|-
|style="background:rgb(255,255,255);" | 0xF9
+
|style="background:rgb(255,255,255);" | 08h
|style="background:rgb(255,255,255);" | Appears in Item Menu. Does not appear in Battle Menu <br />(Usable in Item Menu & Battle Menu)
+
|style="background:rgb(255,255,255);" | Can be thrown in Battle
 
|-
 
|-
|style="background:rgb(255,255,255);" | 0xF8
+
|style="background:rgb(255,255,255);" colspan="2" | Other values have no effect
|style="background:rgb(255,255,255);" | Appears in Battle Menu & Item <br />Menu (Usable in Item Menu & Battle Menu)
 
|-
 
|style="background:rgb(255,255,255);" | 0xF7
 
|style="background:rgb(255,255,255);" | Appears in Item Menu. Does not appear in Battle Menu <br />(Usable in Battle Menu)
 
|-
 
|style="background:rgb(255,255,255);" | 0xF6
 
|style="background:rgb(255,255,255);" | Appears in Battle Menu & Item Menu (Usable in Battle <br />Menu)
 
|-
 
|style="background:rgb(255,255,204);" align="center" | 0x2B
 
|style="background:rgb(255,255,204);" | 1 byte
 
|style="background:rgb(255,255,204);" colspan="2" | Unknown [Always 0xFF]
 
 
|}
 
|}

Latest revision as of 02:42, 9 December 2020

KERNEL.BIN - Section 6: Weapon data format

This section contains the weapon data. Each weapon attribute is 44 bytes long.

Offset Length Description
0x00 1 byte Target Flags
0x01 1 byte Attack Effect Id. Always 0xFF. Isn't used for weapon in game.
0x02 1 byte Damage Calculation
0x03 1 byte Not used. Always 0xFF.
0x04 1 byte Weapon attack strength for damage formula.
0x05 1 byte Status Attack. This is index of status bit.
0x06 1 byte Materia growth rate (0, 1, 2, 3 for None, Normal, Double, Triple. All other values are "Normal" Growth)
0x07 1 byte Critical hit chance (%)
0x08 1 byte Weapon hit chance (%)
0x09 1 byte Weapon model
  Upper nybble Attack animation modifier (For Barret and Vincent only)
Lower nybble Weapon model index
0x0A 1 byte Alignment. Always 0xFF.
0x0B 1 byte Mask for access high sound id (0x100+).
0x0C 2 bytes Camera Movement Id. Used for both single and multiple targeted attacks with this weapon. Always 0xFFFF.
0x0E 2 bytes Equip Mask
  0x0001 Equipable on Cloud
0x0002 Equipable on Barret
0x0004 Equipable on Tifa
0x0008 Equipable on Aeris
0x0010 Equipable on Red XIII
0x0020 Equipable on Yuffie
0x0040 Equipable on Cait Sith
0x0080 Equipable on Vincent
0x0100 Equipable on Cid
0x0200 Equipable on Young Cloud
0x0400 Equipable on Sephiroth
0x10 2 bytes Attack Element
0x12 2 bytes Unknown [Always 0xFFFF]
0x14 4 bytes Increase Stat Type
  0xFF None
0x00 Strength
0x01 Vitality
0x02 Magic
0x03 Spirit
0x04 Dexterity
0x05 Luck
0x18 4 bytes Stat Amount Increased (Based on above)
0x1C 8 bytes Materia Slots
  0x00 No Slot
0x01 Empty Unlinked Slot (no growth-equips)
0x02 Empty Left Linked Slot (no growth-equips)
0x03 Empty Right Linked Slot (no growth-equips)
0x05 Unlinked Slot
0x06 Left Linked Slot
0x07 Right Linked Slot
0x24 1 bytes Sound Effect Id for normal hit.
0x25 1 bytes Sound Effect Id for critical hit.
0x26 1 bytes Sound Effect Id for missed attack.
0x27 1 byte Impact Effect Id
0x28 2 bytes Special Attack Flags. Always 0xFFFF.
0x2A 2 bytes Restriction Mask (If the following bits are 0)
  01h Can be sold
02h Can be used in Battle
04h Can be used in Menu Out of Battle
08h Can be thrown in Battle
Other values have no effect