33 lines
858 B
Lua
33 lines
858 B
Lua
|
ENT.Type = "anim"
|
||
|
|
||
|
ENT.MaxHealth = 1000
|
||
|
ENT.HealthRegen = 10
|
||
|
ENT.RegenDelay = 10
|
||
|
|
||
|
ENT.ModelScale = 1 --ENT.ModelScale = 0.5
|
||
|
|
||
|
ENT.m_NoNailUnfreeze = true
|
||
|
ENT.NoNails = true
|
||
|
ENT.IsBarricadeObject = true
|
||
|
|
||
|
AccessorFuncDT(ENT, "SigilHealthBase", "Float", 0)
|
||
|
AccessorFuncDT(ENT, "SigilHealthRegen", "Float", 1)
|
||
|
AccessorFuncDT(ENT, "SigilLastDamaged", "Float", 2)
|
||
|
|
||
|
function ENT:SetSigilHealth(health)
|
||
|
self:SetSigilHealthBase(health)
|
||
|
|
||
|
self:SetSigilLastDamaged(math.max(self:GetSigilLastDamaged(), self:GetSigilHealthRegen() - self.RegenDelay))
|
||
|
end
|
||
|
|
||
|
function ENT:GetSigilHealth()
|
||
|
local base = self:GetSigilHealthBase()
|
||
|
if base == 0 then return 0 end
|
||
|
|
||
|
return math.Clamp(base + self:GetSigilHealthRegen() * math.max(0, CurTime() - (self:GetSigilLastDamaged() + self.RegenDelay)), 0, self.MaxHealth)
|
||
|
end
|
||
|
|
||
|
function ENT:GetSigilMaxHealth()
|
||
|
return self.MaxHealth
|
||
|
end
|