	function onInit()
		_SWEPSetSound( MyIndex, "single_shot", "Weapon_AR2.Reload_Push" )
	end

	function onThink()
	end

	function onDrop()
	end
	
	function onPrimaryAttack( )
		local vecpos = _PlayerGetShootPos(Owner)
		local plyang = _PlayerGetShootAng(Owner)
		
		_TraceLine(vecpos, plyang, 8000, Owner)
		
		vecpos = vecAdd(vecpos, vector3(0, 0, -20 ))
		
		local hitpos = _TraceEndPos()
		
		_EffectInit()
			_EffectSetEnt( Owner )
			_EffectSetOrigin( hitpos )
			_EffectSetStart( vecpos )
			_EffectSetScale( 40 )
			_EffectSetMagnitude( 0.5 )
		_EffectDispatch( "FadingLineTeamSolid" )
		
		if _TraceHit()  then 
			if _TraceHitNonWorld() and _TraceGetEnt() > _MaxPlayers() then 
				if _EntGetType(_TraceGetEnt()) == "prop_physics" then
					_RunString("removeProp(" .. Owner .. ", " .. _TraceGetEnt() .. ")")
				end
			end
		end	
	end
	
	function onSecondaryAttack( )
	end

	function onReload( )
		return false
	end

-- Weapon settings.
-- These are only accessed once when setting the weapon up
	
	function getWeaponSwapHands()
		return false	
	end
	
	function getWeaponFOV()
		return 60	
	end
	
	function getWeaponSlot()
		return 1	
	end
	
	function getWeaponSlotPos()
		return 5	
	end
	
	function getFiresUnderwater()
		return true
	end
	
	function getReloadsSingly()
		return false
	end
	
	function getDamage()
		return 5
	end
	
	function getPrimaryShotDelay()
		return 0.3
	end
	
	function getSecondaryShotDelay()
		return 0.25
	end
	
	function getPrimaryIsAutomatic()
		return false
	end
	
	function getSecondaryIsAutomatic()
		return false
	end
	
	function getBulletSpread()
		return vector3( 0.00, 0.00, 0.00 )
	end
	
	function getViewKick()
		return vector3( 0.0, 0.0, 0.0)
	end
	
	function getViewKickRandom()
		return vector3( 0.0, 0.0, 0.0 )
	end

	function getViewModel( )
		return "models/weapons/v_crossbow.mdl"
	end
	
	function getWorldModel( )
		return "models/weapons/w_crossbow.mdl"
	end
	
	function getClassName()
		return "weapon_propremover"
	end

	function getPrimaryAmmoType()
		return
	end
		
	function getSecondaryAmmoType()
		return
	end
	
	function getMaxClipPrimary()
		return 1
	end
	
	function getMaxClipSecondary()
		return -1
	end

	function getDefClipPrimary()
		return 1
	end
	
	function getDefClipSecondary()
		return 1
	end

	function getAnimPrefix()
		return "pistol"
	end

	function getPrintName()
		return "Prop Remover Gun"
	end
	
	function getPrimaryScriptOverride()
		return 1
	end

	function getSecondaryScriptOverride()
		return 3
	end

	function getBulletSpreadSecondary()
		return vector3( 0.0, 0.0, 0.0 )
	end
	
	function getViewKickSecondary()
		return vector3( 0.0, 0.0, 0.0)
	end
	
	function getViewKickRandomSecondary()
		return vector3( 0.0, 0.0, 0.0 )
	end
