Class Weapon Expands Inventory Intrinsic

EnumDef EWeaponType = WEAP_Projectile, WEAP_InstantHit, WEAP_Custom

' Weapon aiming and rendering:
Dim bAutoVTarget as Editable Boolean     ' Auto-seek targets vertically?
Dim bAutoHTarget as Editable Boolean     ' Auto-seek targets horizontally?
Dim bWasReleased As          Boolean     ' Was the weapon firing control "released"?
Dim MaxTargetRange as Editable Real      ' Maximum distance to target
Dim SeekDamping as Editable Real         ' Determines auto-seek speed

' Weapon ammo/firing information:
' Notes:
'   1. Two-element arrays here are defined for normal shot (element 0) and
'      secondary shot (element 1).
Dim AmmoType             As Editable EAmmoType    ' Type of ammo used.
Dim AmmoUsed(2)          As Editable Integer      ' Count of ammo used for each discharge.
Dim Discharges(2)        As Editable Byte         ' Number of discharges.
Dim ReloadCount          As Editable Byte         ' Amount of ammo depletion before reloading. 0 if no reloading is done.
Dim Noise(2)             As Editable(Sound) Real  ' Amount of noise per discharge
Dim ReusePeriod(2)       As Editable Byte         ' Minimum ticks between uses of weapon. 0 means no minimum.
Dim RecoilForce(2)       As Editable Real         ' Recoil force per discharge.
Dim RecoilPitch(2)       As Editable Byte         ' Recoil pitch (in 1/2 degrees) per discharge.
Dim MuzzleEffectClass(2) As Editable Class        ' Muzzle effect.
Dim DischargeSounds(2)   As Editable Sound        ' Sound used at discharge.
Dim bRepeatSounds(2)     As Editable Byte         ' True to repeat sound for each discharge.
Dim ReloadSound          As Editable Sound        ' Sound used during reload.
Dim CloseUpSound         As Editable Sound        ' Sound of close-up attack.
Dim PickupAmmoCount      As Editable Integer      ' Amount of ammo initially in pick-up item.

Dim CloseUpDamage        As Editable Byte         ' Basic damage caused by close-up attack.
Dim CloseUpStrengthFactor As Editable Real        ' Factors CloseUpDamage based on strength of holding actor.
               ' Close-up damage is decreased by CloseUpStrengthFactor*(100.0-Strength).

Dim UseTime      As Integer   ' How many ticks has the weapon been in continuous use.
Dim LastUseTime  As Integer   ' The time the weapon was last used.

Dim ProjectileClass(2)   As Editable Class        ' Projectile class to spawn for normal use (0) or special use (1)
Dim ProjStartDist        As Editable Real         ' Starting distance away from weapon
Dim Dispersion(2)        As Editable Real         ' Dispersion amount, 0=none, 1.0=45 degrees (instant-hit only)
 