80 lines
2.3 KiB
Markdown
80 lines
2.3 KiB
Markdown
### Gun Properties
|
|
|
|
#### Generic Gun Properties
|
|
|
|
**Generic Gun Propertes** (`GunProp` struct) (2 bytes)
|
|
|
|
0000 uint8 Fire rate
|
|
0001 byte Ammo type
|
|
|
|
For non-automatic guns, the `fire rate` specifies when the next bullet can be shot. For melee weapons it is the time until the next swing can be made.
|
|
It is measured in game time, with a unit for this value of about 36 milliseconds. A value of ```0x00``` means 'as fast as you can press fire'.
|
|
> Changing this value does not have any detectable effect for automatic guns (```0/1/x```).
|
|
|
|
|
|
**Ammo type** (1 byte)
|
|
|
|
0xF0 Ammo subclass identifier
|
|
0x0F Bitmask, which ammo types within the ammo subclass are compatible (0..3)
|
|
|
|
> Ammo type is ignored for beam and melee weapons.
|
|
|
|
|
|
#### Specific 2 Properties
|
|
|
|
This subclass describes special projectile weapons.
|
|
|
|
**Specific 2 Properties** (`SpecialGunProp` struct) (16 bytes)
|
|
|
|
0000 [8]byte [Generic Weapon Info](../GenericWeaponInfo.md)
|
|
0008 uint8 Projectile travel speed
|
|
0009 int32 Projectile triple (0x00CCSSTT)
|
|
000D uint8 Attack mass
|
|
000E sint16 Attack speed (kickback)
|
|
|
|
|
|
#### Specific 3 Properties
|
|
|
|
This subclass describes melee weapons.
|
|
|
|
**Specific 3 Properties** (`HandtohandGunProp` struct) (13 bytes)
|
|
|
|
0000 [8]byte [Generic Weapon Info](../GenericWeaponInfo.md)
|
|
0008 uint8 Energy usage
|
|
0009 uint8 Attack mass (impact force - pushback on hit)
|
|
000A uint8 Range
|
|
000B sint16 Attack speed (kickback; only applied if hitting something)
|
|
|
|
|
|
#### Specific 4 Properties
|
|
|
|
This subclass describes energy beam weapons.
|
|
|
|
**Specific 4 Properties** (`BeamGunProp` struct) (13 bytes)
|
|
|
|
0000 [8]byte [Generic Weapon Info](../GenericWeaponInfo.md)
|
|
0008 uint8 Max charge
|
|
0009 uint8 Attack mass (impact force - pushback on hit)
|
|
000A uint8 Range
|
|
000B sint16 Attack speed (kickback)
|
|
|
|
|
|
#### Specific 5 Properties
|
|
|
|
This subclass describes energy projectile weapons.
|
|
|
|
**Specific 5 Properties** (`BeamprojGunProp` struct) (18 bytes)
|
|
|
|
0000 [8]byte [Generic Weapon Info](../GenericWeaponInfo.md)
|
|
0008 uint8 Max charge
|
|
0009 byte Attack mass
|
|
000A sint16 Attack speed (kickback)
|
|
000C uint8 Projectile travel speed
|
|
000D int32 Projectile triple (0x00CCSSTT)
|
|
0011 byte Flags
|
|
|
|
|
|
**Energy Projectile Weapon Flags** (1 byte)
|
|
|
|
0x02 Stun effect
|