Files
questshock/modding/ss-specs/levelObjects/00_Gun/gunProperties.md
T

2.3 KiB

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