128 lines
3.3 KiB
C++
128 lines
3.3 KiB
C++
//-----------------------------------------------------------------------------
|
|
//
|
|
// $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 */
|