AddCSLuaFile()



SWEP.Base = "weapon_zs_stubber"



SWEP.Primary.Damage = 750

SWEP.Primary.ClipSize = 5



SWEP.WalkSpeed = SPEED_ZOMBIEESCAPE_SLOW



SWEP.Primary.KnockbackScale = ZE_KNOCKBACKSCALE

SWEP.Primary.DefaultClip = 99999



if CLIENT then

	local ghostlerp = 0

	function SWEP:GetViewModelPosition(pos, ang)

		if self:IsScoped() then

			return pos + ang:Up() * 256

		end



		local bIron = self:GetIronsights()



		if bIron ~= self.bLastIron then

			self.bLastIron = bIron 

			self.fIronTime = CurTime()



			if bIron then 

				self.SwayScale = 0.3

				self.BobScale = 0.1

			else 

				self.SwayScale = 2.0

				self.BobScale = 1.5

			end

		end



		local Mul = math.Clamp((CurTime() - (self.fIronTime or 0)) * 4, 0, 1)

		if not bIron then Mul = 1 - Mul end



		if Mul > 0 then

			local Offset = self.IronSightsPos

			if self.IronSightsAng then

				ang = Angle(ang.p, ang.y, ang.r)

				ang:RotateAroundAxis(ang:Right(), self.IronSightsAng.x * Mul)

				ang:RotateAroundAxis(ang:Up(), self.IronSightsAng.y * Mul)

				ang:RotateAroundAxis(ang:Forward(), self.IronSightsAng.z * Mul)

			end



			pos = pos + Offset.x * Mul * ang:Right() + Offset.y * Mul * ang:Forward() + Offset.z * Mul * ang:Up()

		end



		if self.Owner:GetBarricadeGhosting() then

			ghostlerp = math.min(1, ghostlerp + FrameTime() * 4)

		elseif ghostlerp > 0 then

			ghostlerp = math.max(0, ghostlerp - FrameTime() * 5)

		end



		if ghostlerp > 0 then

			pos = pos + 3.5 * ghostlerp * ang:Up()

			ang:RotateAroundAxis(ang:Right(), -30 * ghostlerp)

		end



		return pos, ang

	end

end

