//-----------------------------------------------------------------------------
//
//  $Logfile:: /Quake 2 Engine/Sin/code/game/shotgun.cpp                      $
// $Revision:: 25                                                             $
//   $Author:: Markd                                                          $
//     $Date:: 11/13/98 3:30p                                                 $
//
// Copyright (C) 1998 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/shotgun.cpp                           $
// 
// 25    11/13/98 3:30p Markd
// put in more precaching on weapons
// 
// 24    10/27/98 3:44a Aldie
// Tweak damage
// 
// 23    10/16/98 10:22p Aldie
// Updated single player damage settings
// 
// 22    10/05/98 10:19p Aldie
// Changed rank
// 
// 21    8/19/98 8:50p Aldie
// Decrease attack time
// 
// 20    8/06/98 10:53p Aldie
// Added weapon tweaks and kickback.  Also modified blast radius damage and
// rocket jumping.
// 
// 19    8/01/98 3:24p Aldie
// Added server effects flag for specific weapons
// 
// 18    8/01/98 3:03p Aldie
// Client side muzzle flash (dynamic light)
// 
// 17    7/22/98 9:57p Markd
// Defined weapon type
// 
// 16    7/22/98 8:40p Aldie
// Tweak damage and spread
// 
// 15    7/21/98 1:10p Aldie
// Added meansofdeath to obituaries
// 
// 14    7/07/98 4:11p Aldie
// Increased damage and spread
// 
// 13    6/19/98 9:30p Jimdose
// Moved gun orientation code to Weapon
// 
// 12    6/10/98 2:10p Aldie
// Updated damage function.
// 
// 11    4/20/98 1:56p Markd
// SINED decelration is now in def file
// 
// 10    4/18/98 3:28p Markd
// Fixed shotgun ammo
// 
// 9     4/18/98 3:13p Markd
// Changed view weapon naming convention
// 
// 8     4/18/98 2:35p Jimdose
// Changed spread and number of bullets on the shotgun
// 
// 7     4/15/98 11:02p Jimdose
// Changed ammo requirement to 1 shell
// 
// 6     4/09/98 3:28p Jimdose
// Removed sound from shoot since anim plays it
// 
// 5     4/07/98 6:43p Jimdose
// Rewrote weapon code.
// Added order to rank
// 
// 4     4/04/98 6:07p Jimdose
// Created file
// 
// DESCRIPTION:
// Shotgun
// 

#include "g_local.h"
#include "bullet.h"
#include "shotgun.h"


CLASS_DECLARATION( BulletWeapon, Shotgun, "weapon_shotgun" );

ResponseDef Shotgun::Responses[] =
	{
	   { &EV_Weapon_Shoot, ( Response )&Shotgun::Shoot },
		{ NULL, NULL }
	};

Shotgun::Shotgun()
	{
	SetModels( "shotgun.def", "view_shotgun.def" );
	SetAmmo( "ShotgunClip", 1, 10 );
	SetRank( 30, 30 );
   SetType( WEAPON_2HANDED_HI );
   modelIndex( "shotgunclip.def" );
	}

void Shotgun::Shoot
	(
	Event *ev
	)

	{
	// Non clients use a toned down version of the shotgun
   if ( owner->isClient() )
      FireBullets( 10, "375 375 375", 8, 16, DAMAGE_BULLET, MOD_SHOTGUN, false );	
   else
      FireBullets( 5, "100 100 100", 5, 10, DAMAGE_BULLET, MOD_SHOTGUN, false );	
   
   NextAttack( 0.95f );
	}
