sin-2015/magnum.h
1999-04-22 00:00:00 +00:00

100 lines
2.6 KiB
C++

//-----------------------------------------------------------------------------
//
// $Logfile:: /Quake 2 Engine/Sin/code/game/magnum.h $
// $Revision:: 13 $
// $Author:: Jimdose $
// $Date:: 10/19/98 12:06a $
//
// 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/magnum.h $
//
// 13 10/19/98 12:06a Jimdose
// made all code use fast checks for inheritance (no text lookups when
// possible)
// isSubclassOf no longer requires ::_classinfo()
// added Drop
//
// 12 10/05/98 10:38p Aldie
// Converted over to new silencer methods
//
// 11 6/17/98 10:56a Aldie
// Moved some functions to silenced bulletweapon.
//
// 10 6/15/98 9:12p Aldie
// Updated to silenced bullet
//
// 9 3/30/98 2:36p Jimdose
// Changed from subclass of Magnum to subclass of BulletWeapon
//
// 8 3/23/98 1:33p Jimdose
// Revamped event and command system
//
// 7 3/02/98 8:49p Jimdose
// Changed CLASS_PROTOTYPE to only take the classname
//
// 6 2/19/98 2:35p Jimdose
// Updated to work with Q2 based progs
//
// 4 11/18/97 5:30p Markd
// Changed Fire to Shoot
// got rid off a few thinking functions
//
// 3 10/27/97 2:59p Jimdose
// Removed dependency on quakedef.h
//
// 2 10/24/97 8:13p Jimdose
// Created file.
//
// DESCRIPTION:
// Magnum.
//
#ifndef __MAGNUM_H__
#define __MAGNUM_H__
#include "g_local.h"
#include "item.h"
#include "weapon.h"
#include "bullet.h"
class EXPORT_FROM_DLL Magnum : public BulletWeapon
{
public:
CLASS_PROTOTYPE( Magnum );
Magnum::Magnum();
virtual void Shoot( Event *ev );
virtual qboolean Drop( void );
//### for dual magnum
virtual void SecondaryUse(Event *ev);
virtual void ReadyWeapon(void);
qboolean ammosynced; // for syncing ammo with dual magnums
virtual void Archive( Archiver &arc );
virtual void Unarchive( Archiver &arc );
//###
};
//###
inline EXPORT_FROM_DLL void Magnum::Archive (Archiver &arc)
{
BulletWeapon::Archive(arc);
arc.WriteBoolean(ammosynced);
}
inline EXPORT_FROM_DLL void Magnum::Unarchive (Archiver &arc)
{
BulletWeapon::Unarchive(arc);
arc.ReadBoolean(&ammosynced);
}
//###
#endif /* magnum.h */