mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 21:53:46 +03:00
Upload
This commit is contained in:
47
lua/arccw/client/cl_sway.lua
Normal file
47
lua/arccw/client/cl_sway.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
local enabled = ArcCW.ConVars["enable_sway"]
|
||||
local mult = ArcCW.ConVars["mult_sway"]
|
||||
|
||||
ArcCW.SwayDir = 0
|
||||
|
||||
function ArcCW.Sway(cmd)
|
||||
|
||||
local ply = LocalPlayer()
|
||||
local wpn = ply:GetActiveWeapon()
|
||||
|
||||
if !wpn.ArcCW then return end
|
||||
|
||||
local ang = cmd:GetViewAngles()
|
||||
|
||||
if wpn:GetState() == ArcCW.STATE_SIGHTS and !wpn.NoSway and enabled:GetBool() then
|
||||
local sway = mult:GetFloat() * wpn:GetBuff("Sway")
|
||||
--sway = sway * math.Clamp(1 / (wpn:GetActiveSights().ScopeMagnification or 1), 0.1, 1)
|
||||
if wpn:InBipod() then
|
||||
sway = sway * (wpn.BipodDispersion * wpn:GetBuff_Mult("Mult_BipodDispersion"))
|
||||
end
|
||||
if sway > 0.05 then
|
||||
ang.p = math.Clamp(ang.p + math.sin(CurTime() * 1.25) * FrameTime() * sway, -89, 89)
|
||||
|
||||
ArcCW.SwayDir = ArcCW.SwayDir + math.Rand(-360, 360) * FrameTime() / math.min(sway, 1)
|
||||
|
||||
ang.p = ang.p + math.sin(ArcCW.SwayDir) * FrameTime() * sway
|
||||
ang.y = ang.y + math.cos(ArcCW.SwayDir) * FrameTime() * sway
|
||||
|
||||
-- ang.p = ang.p + math.Rand(-1, 1) * FrameTime() * sway
|
||||
-- ang.y = ang.y + math.Rand(-1, 1) * FrameTime() * sway
|
||||
|
||||
cmd:SetViewAngles(ang)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
hook.Add("CreateMove", "ArcCW_Sway", ArcCW.Sway)
|
||||
Reference in New Issue
Block a user