123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- // Filename:- weapons.h
- //
- // Note that this is now included from both server and game modules, so don't include any other header files
- // within this one that might break stuff...
- #ifndef __WEAPONS_H__
- #define __WEAPONS_H__
- typedef enum //# weapon_e
- {
- WP_NONE,
- // Player weapons
- WP_SABER, // player and NPC weapon
- WP_BLASTER_PISTOL, // player and NPC weapon
- WP_BLASTER, // player and NPC weapon
- WP_DISRUPTOR, // player and NPC weapon
- WP_BOWCASTER, // NPC weapon - player can pick this up, but never starts with them
- WP_REPEATER, // NPC weapon - player can pick this up, but never starts with them
- WP_DEMP2, // NPC weapon - player can pick this up, but never starts with them
- WP_FLECHETTE, // NPC weapon - player can pick this up, but never starts with them
- WP_ROCKET_LAUNCHER, // NPC weapon - player can pick this up, but never starts with them
- WP_THERMAL, // player and NPC weapon
- WP_TRIP_MINE, // NPC weapon - player can pick this up, but never starts with them
- WP_DET_PACK, // NPC weapon - player can pick this up, but never starts with them
- WP_CONCUSSION, // NPC weapon - player can pick this up, but never starts with them
- //extras
- WP_MELEE, // player and NPC weapon - Any ol' melee attack
- //when in atst
- WP_ATST_MAIN,
- WP_ATST_SIDE,
- // These can never be gotten directly by the player
- WP_STUN_BATON, // stupid weapon, should remove
-
- //NPC weapons
- WP_BRYAR_PISTOL, // NPC weapon - player can pick this up, but never starts with them
- WP_EMPLACED_GUN,
- WP_BOT_LASER, // Probe droid - Laser blast
- WP_TURRET, // turret guns
- WP_TIE_FIGHTER,
- WP_RAPID_FIRE_CONC,
- WP_JAWA,
- WP_TUSKEN_RIFLE,
- WP_TUSKEN_STAFF,
- WP_SCEPTER,
- WP_NOGHRI_STICK,
- //# #eol
- WP_NUM_WEAPONS
- } weapon_t;
- #define FIRST_WEAPON WP_SABER // this is the first weapon for next and prev weapon switching
- #define MAX_PLAYER_WEAPONS WP_STUN_BATON // this is the max you can switch to and get with the give all. - FIXME: it's actually this one *minus* one... why?
- // AMMO_NONE must be first and AMMO_MAX must be last, cause weapon load validates based off of these vals
- typedef enum //# ammo_e
- {
- AMMO_NONE,
- AMMO_FORCE, // AMMO_PHASER
- AMMO_BLASTER, // AMMO_STARFLEET,
- AMMO_POWERCELL, // AMMO_ALIEN,
- AMMO_METAL_BOLTS,
- AMMO_ROCKETS,
- AMMO_EMPLACED,
- AMMO_THERMAL,
- AMMO_TRIPMINE,
- AMMO_DETPACK,
- AMMO_MAX
- } ammo_t;
- typedef struct weaponData_s
- {
- char classname[32]; // Spawning name
- char weaponMdl[64]; // Weapon Model
- char firingSnd[64]; // Sound made when fired
- char altFiringSnd[64]; // Sound made when alt-fired
- // char flashSnd[64]; // Sound made by flash
- // char altFlashSnd[64]; // Sound made by an alt-flash
- char stopSnd[64]; // Sound made when weapon stops firing
- char chargeSnd[64]; // sound to start when the weapon initiates the charging sequence
- char altChargeSnd[64]; // alt sound to start when the weapon initiates the charging sequence
- char selectSnd[64]; // the sound to play when this weapon gets selected
- #ifdef _IMMERSION
- char firingFrc[64];
- char altFiringFrc[64];
- char stopFrc[64];
- char chargeFrc[64];
- char altChargeFrc[64];
- char selectFrc[64];
- #endif // _IMMERSION
- int ammoIndex; // Index to proper ammo slot
- int ammoLow; // Count when ammo is low
- int energyPerShot; // Amount of energy used per shot
- int fireTime; // Amount of time between firings
- int range; // Range of weapon
-
- int altEnergyPerShot; // Amount of energy used for alt-fire
- int altFireTime; // Amount of time between alt-firings
- int altRange; // Range of alt-fire
- char weaponIcon[64]; // Name of weapon icon file
- int numBarrels; // how many barrels should we expect for this weapon?
- char missileMdl[64]; // Missile Model
- char missileSound[64]; // Missile flight sound
- float missileDlight; // what is says
- vec3_t missileDlightColor; // ditto
- char alt_missileMdl[64]; // Missile Model
- char alt_missileSound[64]; // Missile sound
- float alt_missileDlight; // what is says
- vec3_t alt_missileDlightColor; // ditto
- char missileHitSound[64]; // Missile impact sound
- char altmissileHitSound[64]; // alt Missile impact sound
- #ifndef _USRDLL
- void *func;
- void *altfunc;
- char mMuzzleEffect[64];
- int mMuzzleEffectID;
- char mAltMuzzleEffect[64];
- int mAltMuzzleEffectID;
- #endif
- } weaponData_t;
- typedef struct ammoData_s
- {
- char icon[32]; // Name of ammo icon file
- int max; // Max amount player can hold of ammo
- } ammoData_t;
- #endif//#ifndef __WEAPONS_H__
|