Files
wnsrc/lua/entities/logic_weather_relay.lua
lifestorm 6a58f406b1 Upload
2024-08-04 23:54:45 +03:00

65 lines
1.5 KiB
Lua

--[[
| 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/
--]]
--[[-------------------------------------------------------------------------
A weather relay
---------------------------------------------------------------------------]]
ENT.Type = "point"
ENT.Base = "base_point"
ENT.PrintName = "logic_weather_relay"
ENT.Author = "Nak"
ENT.Information = "Gets fired when weather turned on"
ENT.Category = "StormFox2"
ENT.Editable = false
ENT.Spawnable = false
ENT.AdminOnly = false
function ENT:Initialize()
self.triggered = false
end
function ENT:HasRequredAmount()
if self.weather_type == "clear" then return true end -- Doesn't matter when it is 'Clear'.
local a = self.weather_amount or 1
local p = StormFox2.Data.GetFinal("w_Percentage") or 0
if a == 0 then
return p > 0
elseif a == 1 then
return p >= 0.1
elseif a == 2 then
return p >= 0.25
elseif a == 3 then
return p >= 0.50
elseif a == 4 then
return p >= 0.75
else
return p >= 1
end
end
function ENT:GetRequiredWeather()
return self.weather_type or "clear"
end
function ENT:Trigger()
self:TriggerOutput("OnTrigger")
end
function ENT:KeyValue( k, v )
if k == "OnTrigger" then
self:StoreOutput( k, v )
elseif k == "weather_type" then
self.weather_type = string.lower(v)
elseif k == "weather_amount" then
self.weather_amount = tonumber(v)
end
end