mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 21:53:46 +03:00
Upload
This commit is contained in:
87
lua/includes/modules/effects.lua
Normal file
87
lua/includes/modules/effects.lua
Normal file
@@ -0,0 +1,87 @@
|
||||
--[[
|
||||
| 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 ents = ents
|
||||
local pairs = pairs
|
||||
local ipairs = ipairs
|
||||
local string = string
|
||||
local table = table
|
||||
|
||||
--[[---------------------------------------------------------
|
||||
Name: effects
|
||||
Desc: Engine effects hooking
|
||||
-----------------------------------------------------------]]
|
||||
module( "effects" )
|
||||
|
||||
local EffectList = {}
|
||||
|
||||
function Register( t, name )
|
||||
|
||||
name = string.lower( name )
|
||||
|
||||
local old = EffectList[ name ]
|
||||
|
||||
EffectList[ name ] = t
|
||||
|
||||
--
|
||||
-- If we're reloading this entity class
|
||||
-- then refresh all the existing entities.
|
||||
--
|
||||
if ( old != nil ) then
|
||||
|
||||
--
|
||||
-- For each entity using this class
|
||||
--
|
||||
for _, entity in ipairs( ents.FindByClass( name ) ) do
|
||||
|
||||
--
|
||||
-- Replace the contents with this entity table
|
||||
--
|
||||
table.Merge( entity, t )
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function Create( name, retval )
|
||||
|
||||
name = string.lower( name )
|
||||
|
||||
--Msg( "Create.. ".. name .. "\n" )
|
||||
|
||||
if ( EffectList[ name ] == nil ) then return nil end
|
||||
|
||||
local NewEffect = retval or {}
|
||||
|
||||
for k, v in pairs( EffectList[ name ] ) do
|
||||
|
||||
NewEffect[ k ] = v
|
||||
|
||||
end
|
||||
|
||||
table.Merge( NewEffect, EffectList[ "base" ] )
|
||||
|
||||
return NewEffect
|
||||
|
||||
end
|
||||
|
||||
function GetList()
|
||||
|
||||
local result = {}
|
||||
|
||||
for k, v in pairs( EffectList ) do
|
||||
table.insert( result, v )
|
||||
end
|
||||
|
||||
return result
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user