





-- Called when the weapon is created.

	

	function onInit( )

		

		_SWEPSetSound( MyIndex, "single_shot", "Weapon_StunStick.Swing" )

		

	end



	

-- Called every frame



	function onThink( )

			

	end

	

	

	function onPrimaryAttack( )

		

            if ( _PlayerInfo( Owner, "alive" ) == false ) then return; end

		

		local iBolt = _EntCreate( "rpg_missile" );

		

		if (iBolt > 0) then

			

			_EntSetKeyValue( iBolt, "damage", "100");

			_EntSetPos( iBolt, _PlayerGetShootPos( Owner ) );

			_EntSetAng( iBolt, _PlayerGetShootAng( Owner ) );

			_EntSetOwner( iBolt, Owner );

			

			local vVelocity = vecMul( _PlayerGetShootAng( Owner ), vector3(1500, 1500, 1500) );

			_EntSetVelocity( iBolt, vVelocity );

				

			_EntSpawn( iBolt );

			

		end	

		

		

		_SWEPUseAmmo( MyIndex, 1, 1 );

			

	end

	

	

	function onReload( )

			

		return true;

			

	end


	

	

	function onSecondaryAttack( )		

		

		if ( _PlayerInfo( Owner, "alive" ) == false ) then return; end

		

		local iBolt = _EntCreate( "rpg_missile" );

		

		if (iBolt > 0) then

			

			_EntSetKeyValue( iBolt, "damage", "100");

			_EntSetPos( iBolt, _PlayerGetShootPos( Owner ) );

			_EntSetAng( iBolt, _PlayerGetShootAng( Owner ) );

			_EntSetOwner( iBolt, Owner );

			

			local vVelocity = vecMul( _PlayerGetShootAng( Owner ), vector3(1500, 1500, 1500) );

			_EntSetVelocity( iBolt, vVelocity );

				

			_EntSpawn( iBolt );

			

		end	

		

		

		_SWEPUseAmmo( MyIndex, 1, 1 );

			

	end

	

	

	function onReload( )

			

		return true;

			

	end

	

	

	

-- Weapon settings.

-- These are only accessed once when setting the weapon up

	

	function getWeaponSwapHands()

		return false;	

	end

	

	function getWeaponFOV()

		return 100;	

	end

	

	function getWeaponSlot()

		return 4;	

	end

	

	function getWeaponSlotPos()

		return 4;	

	end

	

	function getFiresUnderwater()

		return true;

	end

	

	function getReloadsSingly()

		return false;

	end

	

	function getDamage()

		return 30;

	end

	

	function getPrimaryShotDelay()

		return 0.1;

	end

	

	function getSecondaryShotDelay()

		return 0.2;

	end

	

	function getPrimaryIsAutomatic()

		return true;

	end

	

	function getSecondaryIsAutomatic()

		return false;

	end

	

	function getSecondaryIsAutomatic()

		return false;

	end

	

	function getBulletSpread()

		return vector3( 0.01, 0.01, 0.01 );

	end

	

	function getViewKick()

		return vector3( 0, 0.0, 0.0);

	end

	

	function getViewKickRandom()

		return vector3( 2.0, 1.0, 1.0 );

	end



	function getViewModel( )

		return "models/weapons/v_stunstick.mdl";

	end

	

	function getWorldModel( )

		return "models/weapons/w_stunbaton.mdl";

	end

	

	function getClassName()

		return "weapon_rocketstunbaton";

	end



	function getPrimaryAmmoType()

		return "pistol";

	end

		

	function getSecondaryAmmoType()

		return "RPG_Round";

	end

	

	-- return -1 if it doesn't use clips

	function getMaxClipPrimary()

		return 250;

	end

	

	function getMaxClipSecondary()

		return -1;

	end

	

	-- ammo in gun by default

	function getDefClipPrimary()

		return 200;

	end

	

	function getDefClipSecondary()

		return -1;

	end



	-- pistol, smg, ar2, shotgun, rpg, phys, crossbow, melee, slam, grenade

	function getAnimPrefix()

		return "ar2";

	end



	function getPrintName()

		return "Slim's Rocket Stunbaton";

	end

	

	

	-- 0 = Don't override, shoot bullets, make sound and flash

	-- 1 = Don't shoot bullets but do make flash/sounds

	-- 2 = Only play animations

	-- 3 = Don't do anything

	

	function getPrimaryScriptOverride()

		return 0;

	end



	function getSecondaryScriptOverride()

		return 2;

	end



