Filter in trigger_zombieclass now takes lists
Seperate multiple classes with commas in the onlywhenclass keyvalue.
This commit is contained in:
parent
7f6861a126
commit
3df834895c
2 changed files with 15 additions and 14 deletions
|
@ -5,7 +5,10 @@ function ENT:Initialize()
|
||||||
|
|
||||||
if self.On == nil then self.On = true end
|
if self.On == nil then self.On = true end
|
||||||
if self.InstantChange == nil then self.InstantChange = true end
|
if self.InstantChange == nil then self.InstantChange = true end
|
||||||
if self.OnlyWhenClass == nil then self.OnlyWhenClass = -1 end
|
if self.OnlyWhenClass == nil then
|
||||||
|
self.OnlyWhenClass = {}
|
||||||
|
self.OnlyWhenClass[1] = -1
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function ENT:Think()
|
function ENT:Think()
|
||||||
|
@ -34,15 +37,17 @@ function ENT:KeyValue(key, value)
|
||||||
elseif key == "touchclass" then
|
elseif key == "touchclass" then
|
||||||
self.TouchClass = string.lower(value)
|
self.TouchClass = string.lower(value)
|
||||||
elseif key == "onlywhenclass" then
|
elseif key == "onlywhenclass" then
|
||||||
|
self.OnlyWhenClass = {}
|
||||||
if value == "disabled" then
|
if value == "disabled" then
|
||||||
self.OnlyWhenClass = -1
|
self.OnlyWhenClass[1] = -1
|
||||||
else
|
else
|
||||||
for k, v in ipairs(GAMEMODE.ZombieClasses) do
|
self.OnlyWhenClass[1] = -1
|
||||||
if string.lower(v.Name) == value then
|
for i, allowed_class in pairs(string.Explode(",", string.lower(value))) do
|
||||||
self.OnlyWhenClass = k
|
for k, v in ipairs(GAMEMODE.ZombieClasses) do
|
||||||
break
|
if string.lower(v.Name) == allowed_class then
|
||||||
else
|
self.OnlyWhenClass[i] = k
|
||||||
self.OnlyWhenClass = -1
|
break
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -65,7 +70,7 @@ function ENT:DoTouch(ent, class_name, death_class_name)
|
||||||
for k, v in ipairs(GAMEMODE.ZombieClasses) do
|
for k, v in ipairs(GAMEMODE.ZombieClasses) do
|
||||||
if string.lower(v.Name) == class_name then
|
if string.lower(v.Name) == class_name then
|
||||||
local prev = ent:GetZombieClass()
|
local prev = ent:GetZombieClass()
|
||||||
if self.OnlyWhenClass == prev or self.OnlyWhenClass == -1 then
|
if table.HasValue( self.OnlyWhenClass, prev ) or self.OnlyWhenClass[1] == -1 then
|
||||||
local prevpos = ent:GetPos()
|
local prevpos = ent:GetPos()
|
||||||
local prevang = ent:EyeAngles()
|
local prevang = ent:EyeAngles()
|
||||||
ent:SetZombieClass(k)
|
ent:SetZombieClass(k)
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
]
|
]
|
||||||
touchclass(choices) : "On Touch Class" : "zombie" : "Any living zombie touching the brush will be set to this class name." =
|
touchclass(choices) : "On Touch Class" : "zombie" : "Any living zombie touching the brush will be set to this class name." =
|
||||||
[
|
[
|
||||||
"crow" : "Crow"
|
|
||||||
"will o' wisp" : "Will O' Wisp"
|
"will o' wisp" : "Will O' Wisp"
|
||||||
"zombie" : "Zombie"
|
"zombie" : "Zombie"
|
||||||
"classic Zombie" : "Classic Zombie"
|
"classic Zombie" : "Classic Zombie"
|
||||||
|
@ -66,7 +65,6 @@
|
||||||
]
|
]
|
||||||
endtouchclass(choices) : "On Leaving Class" : "zombie" : "Same as Touching Class but for when leaving the brush." =
|
endtouchclass(choices) : "On Leaving Class" : "zombie" : "Same as Touching Class but for when leaving the brush." =
|
||||||
[
|
[
|
||||||
"crow" : "Crow"
|
|
||||||
"will o' wisp" : "Will O' Wisp"
|
"will o' wisp" : "Will O' Wisp"
|
||||||
"zombie" : "Zombie"
|
"zombie" : "Zombie"
|
||||||
"classic Zombie" : "Classic Zombie"
|
"classic Zombie" : "Classic Zombie"
|
||||||
|
@ -96,7 +94,6 @@
|
||||||
]
|
]
|
||||||
touchdeathclass(choices) : "On Touch Respawn Class" : "zombie" : "Any living zombie touching the brush will be set to this class name on death." =
|
touchdeathclass(choices) : "On Touch Respawn Class" : "zombie" : "Any living zombie touching the brush will be set to this class name on death." =
|
||||||
[
|
[
|
||||||
"crow" : "Crow"
|
|
||||||
"will o' wisp" : "Will O' Wisp"
|
"will o' wisp" : "Will O' Wisp"
|
||||||
"zombie" : "Zombie"
|
"zombie" : "Zombie"
|
||||||
"classic Zombie" : "Classic Zombie"
|
"classic Zombie" : "Classic Zombie"
|
||||||
|
@ -126,7 +123,6 @@
|
||||||
]
|
]
|
||||||
endtouchdeathclass(choices) : "On Leaving Respawn Class" : "zombie" : "Same as Touching Respawn Class but for when leaving the brush." =
|
endtouchdeathclass(choices) : "On Leaving Respawn Class" : "zombie" : "Same as Touching Respawn Class but for when leaving the brush." =
|
||||||
[
|
[
|
||||||
"crow" : "Crow"
|
|
||||||
"will o' wisp" : "Will O' Wisp"
|
"will o' wisp" : "Will O' Wisp"
|
||||||
"zombie" : "Zombie"
|
"zombie" : "Zombie"
|
||||||
"classic Zombie" : "Classic Zombie"
|
"classic Zombie" : "Classic Zombie"
|
||||||
|
@ -154,7 +150,7 @@
|
||||||
"gore child" : "Gore Child"
|
"gore child" : "Gore Child"
|
||||||
"giga gore child" : "Giga Gore Child"
|
"giga gore child" : "Giga Gore Child"
|
||||||
]
|
]
|
||||||
onlywhenclass(choices) : "Player Must Be This Class" : "disabled" : "Set this to a specific class to change only these zombie types." =
|
onlywhenclass(choices) : "Player Must Be This Class" : "disabled" : "Set this to a specific class to change only these zombie types, separate multiple classes with commas." =
|
||||||
[
|
[
|
||||||
"disabled" : "Disabled"
|
"disabled" : "Disabled"
|
||||||
"will o' wisp" : "Will O' Wisp"
|
"will o' wisp" : "Will O' Wisp"
|
||||||
|
|
Loading…
Reference in a new issue