//-----------------------------------------------------------------------------
//
//  $Logfile:: /game/magnum.h                                                 $
// $Revision:: 2                                                              $
//   $Author:: Burgermac                                                      $
//     $Date:: 12/27/00 6:57 PM                                               $
//
// 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.
//
// DESCRIPTION:
// Magnum.
//

#ifndef __MAGNUM_H__
#define __MAGNUM_H__

#include "g_local.h"
#include "item.h"
#include "weapon.h"
#include "bullet.h"

class 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 void Magnum::Archive( Archiver& arc )
{
	BulletWeapon::Archive( arc );

	arc.WriteBoolean( ammosynced );
}

inline void Magnum::Unarchive( Archiver& arc )
{
	BulletWeapon::Unarchive( arc );

	ammosynced = arc.ReadBoolean();
}
//###

#endif /* magnum.h */
