//----------------------------------------------------------------------------- // // $Logfile:: /Quake 2 Engine/Sin/code/game/bullet.h $ // $Revision:: 22 $ // $Author:: Markd $ // $Date:: 2/26/99 5:54p $ // // Copyright (C) 1997 by Ritual Entertainment, Inc. // All rights reserved. // // This source is may not be distributed and/or modified without // expressly written permission by Ritual Entertainment, Inc. // // $Log:: /Quake 2 Engine/Sin/code/game/bullet.h $ // // 22 2/26/99 5:54p Markd // Re-arranged for better sub-classing // // 21 8/06/98 10:53p Aldie // Added weapon tweaks and kickback. Also modified blast radius damage and // rocket jumping. // // 20 8/01/98 3:24p Aldie // Added server effects flag for specific weapons // // 19 7/22/98 10:41p Aldie // Fixed tracers // // 18 7/21/98 1:10p Aldie // Added meansofdeath to obituaries // // 17 6/10/98 2:10p Aldie // Updated damage function. // // 16 5/05/98 7:38p Markd // Got rid of RicochetSound from header // // 15 5/02/98 8:44p Markd // Got rid of RicochetSound, modified TraceAttack // // 14 4/02/98 4:51p Jimdose // Changed TraceAttack // // 13 3/30/98 2:38p Jimdose // Moved firing to BulletWeapon to make more general // Added Ammo // Added world models // // 12 3/26/98 8:10p Jimdose // Added constructor // // 11 3/23/98 1:33p Jimdose // Revamped event and command system // // 10 3/05/98 6:06p Aldie // Added ricochet sounds. // // 9 3/02/98 8:49p Jimdose // Changed CLASS_PROTOTYPE to only take the classname // // 8 2/19/98 2:35p Jimdose // Updated to work with Q2 based progs // // 6 12/11/97 3:31p Markd // Removed SpawnBlood // // 5 11/18/97 5:27p Markd // Commented out ShotGun // // 4 10/31/97 7:18p Markd // Added bloodspray // // 3 10/27/97 2:48p Jimdose // Removed dependency on quakedef.h // // 2 9/26/97 4:44p Jimdose // Added standard Ritual header // // DESCRIPTION: // Base class for all bullet (hitscan) weapons. Includes definition for shotgun. // #ifndef __BULLET_H__ #define __BULLET_H__ #include "g_local.h" #include "item.h" #include "weapon.h" #define MAX_RICOCHETS 10 class EXPORT_FROM_DLL BulletWeapon : public Weapon { protected: qboolean damagedtarget; //### virtual void TraceAttack( Vector start, Vector end, int damage, trace_t *trace, int numricochets, int kick, int dflags, int meansofdeath, qboolean server_effects ); virtual void FireTracer( void ); public: CLASS_PROTOTYPE( BulletWeapon ); BulletWeapon(); virtual void FireBullets( int numbullets, Vector spread, int mindamage, int maxdamage, int dflags, int meansofdeath, qboolean server_effects ); //### virtual void Archive(Archiver &arc); virtual void Unarchive(Archiver &arc); //### }; //### inline EXPORT_FROM_DLL void BulletWeapon::Archive (Archiver &arc) { Weapon::Archive( arc ); arc.WriteBoolean(damagedtarget); } inline EXPORT_FROM_DLL void BulletWeapon::Unarchive (Archiver &arc) { Weapon::Unarchive( arc ); arc.ReadBoolean(&damagedtarget); } //### #endif /* BULLET.h */