V-Gears 0
Free Final Fantasy VII engine.
KernelDataInstaller::WeaponData Struct Reference

Data for each weapon. More...

Collaboration diagram for KernelDataInstaller::WeaponData:

Public Attributes

u8 target_raw
 Targeting mode. More...
 
u8 unused_0
 Effect ID, unused (Always 0XFF). More...
 
u8 damage_raw
 Damage formula. More...
 
u8 unused_1
 Unused data (Always 0XFF). More...
 
u8 power
 The weapon power. More...
 
u8 status
 The status effect the weapon induces. More...
 
u8 growth
 Weapon materia growth multiplier. More...
 
u8 critical
 Weapon critical chance. More...
 
u8 accuracy
 Weapon accuracy. More...
 
u8 model_raw
 Weapon battle model. More...
 
u8 unused_2
 Unused data (Always 0XFF). More...
 
u8 high_sound
 Consider it unused. More...
 
u16 camera
 Camera movement ID. More...
 
u16 equip_raw
 Characters that can equip the weapon. More...
 
u16 element_raw
 Weapon element ids. More...
 
u8 unused_3
 Unused data (Always 0XFFFF). More...
 
u8 stat_raw [4]
 Stat the weapon raises. More...
 
u8 stat_bonus_raw [4]
 The amount the raised stats are raised by. More...
 
u8 slots_raw [8]
 Materia slots. More...
 
u8 sound
 Sound effect id for normal hit. More...
 
u8 sound_critical
 Sound effect id for critical hit. More...
 
u8 sound_miss
 Sound effect id for miss hit. More...
 
u8 effect
 Impcat effect ID. More...
 
u16 special_raw
 Special flags. More...
 
u16 restrict_raw
 Weapon restrictions. More...
 
int id
 Weapon ID. More...
 
std::string name
 Weapon name. More...
 
std::string description
 Weapon description. More...
 
bool sellable
 Indicates if the weapon can be sold. More...
 
bool useable_battle
 Indicates if the weapon can be used in battle. More...
 
bool useable_menu
 Indicates if the weapon can be used in the menu. More...
 
bool throwable
 Indicates if the weapon can be sold. More...
 
Target target
 Target selection mode. More...
 
u8 damage_formula
 The damage formula. More...
 
u8 damage_modifier
 The damage modifier. More...
 
u8 animation_index
 Attack animation ID. More...
 
u8 model
 Weapon model ID. More...
 
std::vector< u8equip
 The weapon battle model index. More...
 
std::vector< StatBonusstat_bonus
 Bonus in stats. More...
 
std::vector< u8materia_slots
 Materia slots. More...
 
std::vector< int > elements
 Elements of the weapon. More...
 

Detailed Description

Data for each weapon.

As found in KERNEL.BIN, file 5, in order, up to special. Members after special are not found literally in KERNEL.BIN, but are derived from other members or found in other files of the kernel (text files).

Member Data Documentation

◆ accuracy

u8 KernelDataInstaller::WeaponData::accuracy

Weapon accuracy.

1 byte.

◆ animation_index

u8 KernelDataInstaller::WeaponData::animation_index

Attack animation ID.

It's the upper nybble in {

See also
model_raw}. It's only used for Barret and Vincent.

◆ camera

u16 KernelDataInstaller::WeaponData::camera

Camera movement ID.

2 bytes.

Used for both single and multiple targeted attacks with this weapon. Always 0xFFFF.

◆ critical

u8 KernelDataInstaller::WeaponData::critical

Weapon critical chance.

1 byte.

◆ damage_formula

u8 KernelDataInstaller::WeaponData::damage_formula

The damage formula.

It's the upper nybble in {

See also
damage_raw}.

◆ damage_modifier

u8 KernelDataInstaller::WeaponData::damage_modifier

The damage modifier.

It's the lower nybble in {

See also
damage_raw}.

◆ damage_raw

u8 KernelDataInstaller::WeaponData::damage_raw

Damage formula.

1 byte.

This byte is divided into two nybbles (four bits). Upper nybble determines what considerations are made in calculating damage such as physical/magical, allowing criticals, how to calculate accuracy, etc. There are also three sets of known formulae that are paired with the upper nybble values. These are selected in the Lower Nybble and determine how to calculate pre-defense damage

◆ description

std::string KernelDataInstaller::WeaponData::description

Weapon description.

Not found in the same file as the rest of the data, but on file 12.

◆ effect

u8 KernelDataInstaller::WeaponData::effect

Impcat effect ID.

1 byte.

Used for animation in battle.

◆ element_raw

u16 KernelDataInstaller::WeaponData::element_raw

Weapon element ids.

◆ elements

std::vector<int> KernelDataInstaller::WeaponData::elements

Elements of the weapon.

Derived from {

See also
element_raw}.

◆ equip

std::vector<u8> KernelDataInstaller::WeaponData::equip

The weapon battle model index.

It's the lower nybble in {

See also
model_raw}.

◆ equip_raw

u16 KernelDataInstaller::WeaponData::equip_raw

Characters that can equip the weapon.

2 bytes.

Contains bits indicating the characters that can equip the weapon {

See also
character} for more info.

◆ growth

u8 KernelDataInstaller::WeaponData::growth

Weapon materia growth multiplier.

1 byte.

◆ high_sound

u8 KernelDataInstaller::WeaponData::high_sound

Consider it unused.

Todo:
Verify.

◆ id

int KernelDataInstaller::WeaponData::id

Weapon ID.

Not actually in the item file data, it's the order at which it appears.

◆ materia_slots

std::vector<u8> KernelDataInstaller::WeaponData::materia_slots

Materia slots.

Derived and simplified from {

See also
slots_raw}.

◆ model

u8 KernelDataInstaller::WeaponData::model

Weapon model ID.

It's the lower nybble in {

See also
model_raw}.

◆ model_raw

u8 KernelDataInstaller::WeaponData::model_raw

Weapon battle model.

1 byte.

This byte is divided into two nybbles (four bits). Upper nybble determines the attack animation modifier, and it's only used for Barret and Vincent. The lower nybble is actually the index of the weapon model.

◆ name

std::string KernelDataInstaller::WeaponData::name

Weapon name.

Not found in the same file as the rest of the data, but on file 20.

◆ power

u8 KernelDataInstaller::WeaponData::power

The weapon power.

1 byte.

Used for damage calculation.

◆ restrict_raw

u16 KernelDataInstaller::WeaponData::restrict_raw

Weapon restrictions.

2 bytes.

Contains bits indicating if the item is {

See also
selleable}, {
useable_battle} and {
useable_menu}and {
throwable}.

◆ sellable

bool KernelDataInstaller::WeaponData::sellable

Indicates if the weapon can be sold.

True if the bit 0 in {

See also
restrict_raw} is 0.

◆ slots_raw

u8 KernelDataInstaller::WeaponData::slots_raw[8]

Materia slots.

{

See also
slots} for more info.

◆ sound

u8 KernelDataInstaller::WeaponData::sound

Sound effect id for normal hit.

◆ sound_critical

u8 KernelDataInstaller::WeaponData::sound_critical

Sound effect id for critical hit.

◆ sound_miss

u8 KernelDataInstaller::WeaponData::sound_miss

Sound effect id for miss hit.

◆ special_raw

u16 KernelDataInstaller::WeaponData::special_raw

Special flags.

2 bytes.

Todo:
document and parse with info from https://wiki.ffrtt.ru/index.php?title=FF7/Battle/Special_Attack_Flags

◆ stat_bonus

std::vector<StatBonus> KernelDataInstaller::WeaponData::stat_bonus

Bonus in stats.

Derived from {

See also
stat_raw} and {
stat_bonus_raw}.

◆ stat_bonus_raw

u8 KernelDataInstaller::WeaponData::stat_bonus_raw[4]

The amount the raised stats are raised by.

{

See also
stat_bonus} for more info.

◆ stat_raw

u8 KernelDataInstaller::WeaponData::stat_raw[4]

Stat the weapon raises.

{

See also
stat_bonus} for more info.

◆ status

u8 KernelDataInstaller::WeaponData::status

The status effect the weapon induces.

1 byte.

◆ target

Target KernelDataInstaller::WeaponData::target

Target selection mode.

Derived from {

See also
target_raw}.

◆ target_raw

u8 KernelDataInstaller::WeaponData::target_raw

Targeting mode.

1 byte.

See {

See also
target} and {
TargetModes} for more information.

◆ throwable

bool KernelDataInstaller::WeaponData::throwable

Indicates if the weapon can be sold.

True if the bit 8 in {

See also
restrict_raw} is 0.

◆ unused_0

u8 KernelDataInstaller::WeaponData::unused_0

Effect ID, unused (Always 0XFF).

1 byte.

◆ unused_1

u8 KernelDataInstaller::WeaponData::unused_1

Unused data (Always 0XFF).

1 byte.

◆ unused_2

u8 KernelDataInstaller::WeaponData::unused_2

Unused data (Always 0XFF).

1 byte.

◆ unused_3

u8 KernelDataInstaller::WeaponData::unused_3

Unused data (Always 0XFFFF).

1 byte.

◆ useable_battle

bool KernelDataInstaller::WeaponData::useable_battle

Indicates if the weapon can be used in battle.

True if the bit 2 in {

See also
restrict_raw} is 0.

◆ useable_menu

bool KernelDataInstaller::WeaponData::useable_menu

Indicates if the weapon can be used in the menu.

True if the bit 4 in {

See also
restrict_raw} is 0.

The documentation for this struct was generated from the following file: