aboutsummaryrefslogtreecommitdiff
path: root/gamemode/core/clienteffects/cl_effects.lua
diff options
context:
space:
mode:
Diffstat (limited to 'gamemode/core/clienteffects/cl_effects.lua')
-rw-r--r--gamemode/core/clienteffects/cl_effects.lua23
1 files changed, 17 insertions, 6 deletions
diff --git a/gamemode/core/clienteffects/cl_effects.lua b/gamemode/core/clienteffects/cl_effects.lua
index d51cf7d..368c34a 100644
--- a/gamemode/core/clienteffects/cl_effects.lua
+++ b/gamemode/core/clienteffects/cl_effects.lua
@@ -1,12 +1,23 @@
-
+local log = nrequire("log.lua")
+local er = {} --master table of effects
local effects = {}
-effects["weapon_blocked"] = function()
- util.ScreenShake( LocalPlayer():GetPos(), 3, 3, 0.25, 100 )
+
+function er.RegisterEffect(name,func)
+ if effects[name] ~= nil then
+ log.warn("Effect \"" .. name .. "\" already registered, replaceing...")
+ end
+ effects[name] = func
end
+er.RegisterEffect("weapon_blocked",function(data)
+ util.ScreenShake( LocalPlayer():GetPos(), 3, 3, 0.25, 100 )
+end)
+
net.Receive("art_clienteffect",function()
- local effectid = net.ReadUInt(32)
- local effectname = ART.screen_effect_ids[effectid]
+ local effectname = net.ReadString()
+ local effectdata = net.ReadData(net.ReadUInt(32))
print("Got effect name",effectname)
- effects[effectname]()
+ effects[effectname](effectdata)
end)
+
+return er