fixenergy_usage;// How much fuel is consumed to fire this weapon.
fixfire_wait;// Time until this weapon can be fired again.
bitmap_indexbitmap;// Pointer to bitmap if rendertype==0 or 1.
fixblob_size;// Size of blob if blob type
fixflash_size;// How big to draw the flash
fiximpact_size;// How big of an impact
fixstrength[NDL];// How much damage it can inflict
fixspeed[NDL];// How fast it can move, difficulty level based.
fixmass;// How much mass it has
fixdrag;// How much drag it has
fixthrust;// How much thrust it has
fixpo_len_to_width_ratio;// For polyobjects, the ratio of len/width. (10 maybe?)
fixlight;// Amount of light this weapon casts.
fixlifetime;// Lifetime in seconds of this weapon.
fixdamage_radius;// Radius of damage caused by weapon, used for missiles (not lasers) to apply to damage to things it did not hit
//-- unused-- fix damage_force; // Force of damage caused by weapon, used for missiles (not lasers) to apply to damage to things it did not hit
// damage_force was a real mess. Wasn't Difficulty_level based, and was being applied instead of weapon's actual strength. Now use 2*strength instead. --MK, 01/19/95
bitmap_indexpicture;// a picture of the weapon for the cockpit
}__pack__weapon_info;
#define REARM_TIME (F1_0)
#define WEAPON_DEFAULT_LIFETIME (F1_0*12) // Lifetime of an object if a bozo forgets to define it.
#define WEAPON_TYPE_WEAK_LASER 0
#define WEAPON_TYPE_STRONG_LASER 1
#define WEAPON_TYPE_CANNON_BALL 2
#define WEAPON_TYPE_MISSILE 3
#define MAX_WEAPON_TYPES 30
#define WEAPON_RENDER_NONE -1
#define WEAPON_RENDER_LASER 0
#define WEAPON_RENDER_BLOB 1
#define WEAPON_RENDER_POLYMODEL 2
#define WEAPON_RENDER_VCLIP 3
#define MAX_PRIMARY_WEAPONS 5
#define MAX_SECONDARY_WEAPONS 5
// Weapon flags, if player->weapon_flags & WEAPON_FLAG is set, then the player has this weapon
#define HAS_LASER_FLAG 0x001
#define HAS_VULCAN_FLAG 0x002
#define HAS_SPREADFIRE_FLAG 0x004
#define HAS_PLASMA_FLAG 0x008
#define HAS_FUSION_FLAG 0x010
#define HAS_CONCUSSION_FLAG 0x001
#define HAS_HOMING_FLAG 0x002
#define HAS_PROXIMITY_FLAG 0x004
#define HAS_SMART_FLAG 0x008
#define HAS_MEGA_FLAG 0x010
#define CLASS_PRIMARY 0
#define CLASS_SECONDARY 1
#define LASER_INDEX 0
#define VULCAN_INDEX 1
#define SPREADFIRE_INDEX 2
#define PLASMA_INDEX 3
#define FUSION_INDEX 4
#define CONCUSSION_INDEX 0
#define HOMING_INDEX 1
#define PROXIMITY_INDEX 2
#define SMART_INDEX 3
#define MEGA_INDEX 4
#define NUM_SHAREWARE_WEAPONS 3 //in shareware, old get first 3 of each
#define VULCAN_AMMO_SCALE (0x198300/2) //multiply ammo by this before displaying