aboutsummaryrefslogtreecommitdiff
path: root/gamemode/core/combat/cl_weaponswing.lua
diff options
context:
space:
mode:
Diffstat (limited to 'gamemode/core/combat/cl_weaponswing.lua')
-rw-r--r--gamemode/core/combat/cl_weaponswing.lua25
1 files changed, 20 insertions, 5 deletions
diff --git a/gamemode/core/combat/cl_weaponswing.lua b/gamemode/core/combat/cl_weaponswing.lua
index 8ed9637..46603ba 100644
--- a/gamemode/core/combat/cl_weaponswing.lua
+++ b/gamemode/core/combat/cl_weaponswing.lua
@@ -1,5 +1,5 @@
local CLIENT_PAC_DIR = "artery/client/pacs"
-
+local itm = nrequire("item.lua")
local ball
function finddmgpoint(name)
local filepath = string.format(CLIENT_PAC_DIR .. "/%s.txt",name)
@@ -8,6 +8,16 @@ function finddmgpoint(name)
ball = LocalPlayer():FindPACPart(outfit, "wep_point")
print("point is",ball,type(ball))
end
+function finddmgbox(who,name)
+ local filepath = string.format(CLIENT_PAC_DIR .. "/%s.txt",name)
+ local filetext = file.Read(filepath,"DATA")
+ assert(filetext ~= nil, string.format("Could not find a pac file for name %q (%s)",name,filepath))
+ local outfit = CompileString(string.format("return {%s}",filetext),name)()
+ assert(outfit ~= nil, string.format("Failed to compile %q",filetext))
+ ball = who:FindPACPart(outfit, "wep_box")
+ print("box is", ball,type(ball))
+ assert(ball ~= pac.NULL, string.format("Could not find a prop called %q on pac %q","web_box",name))
+end
local swingtbl = {}
local tracking = false
@@ -16,16 +26,19 @@ net.Receive("artery_doanimation",function()
local animname = net.ReadString()
local animtime = net.ReadDouble()
local wepname = net.ReadString()
+ local pacname = net.ReadString()
local animdir = net.ReadString()
+ local who = net.ReadEntity()
swingtbl = {}
+ --pac.SetupENT(who)
+ finddmgbox(who,pacname)
tracking = true
- finddmgpoint(wepname)
print("Doing animation:",animname,animtime,echoname)
- LocalPlayer():SetLuaAnimation(animname)
+ who:SetLuaAnimation(animname)
timer.Simple(animtime,function()
tracking = false
- LocalPlayer():StopLuaAnimation(animname)
+ who:StopLuaAnimation(animname)
net.Start("artery_notifyserverofswing")
net.WriteString(wepname)
net.WriteString(animdir)
@@ -44,9 +57,10 @@ concommand.Add("artery_startanimation",function(ply,cmd,args)
end)
end)
+--[[
local lastpos
hook.Add("Tick","trace_weppos",function()
- if not ball then return end
+ if not ball or not ball.Entity then return end
if lastpos == nil then lastpos = ball.Entity:GetPos() end
--`print("Distance between ", ball.Entity:GetPos(), "and", lastpos, " is" ,ball.Entity:GetPos():Distance(lastpos))
if ball.Entity:GetPos():Distance(lastpos) > 2 and tracking then
@@ -55,3 +69,4 @@ hook.Add("Tick","trace_weppos",function()
end
lastpos = ball.Entity:GetPos()
end)
+]]