82 lines
1.9 KiB
Lua
Executable File
82 lines
1.9 KiB
Lua
Executable File
|
|
require( "blessings" )
|
|
|
|
modifier_blessing_base = class({})
|
|
|
|
-----------------------------------------------------------------------------------------
|
|
|
|
function modifier_blessing_base:IsHidden()
|
|
return true
|
|
end
|
|
|
|
-----------------------------------------------------------------------------------------
|
|
|
|
function modifier_blessing_base:IsPermanent()
|
|
return true
|
|
end
|
|
|
|
-----------------------------------------------------------------------------------------
|
|
|
|
function modifier_blessing_base:IsBlessing()
|
|
return true
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function modifier_blessing_base:GetTexture()
|
|
return self:GetName()
|
|
end
|
|
|
|
----------------------------------------
|
|
|
|
function modifier_blessing_base:OnCreated( kv )
|
|
self:SetHasCustomTransmitterData( true )
|
|
if IsServer() == true then
|
|
self.nBlessingLevel = kv.blessing_level
|
|
self:InvokeBlessingOnCreated()
|
|
end
|
|
end
|
|
|
|
----------------------------------------
|
|
|
|
function modifier_blessing_base:InvokeBlessingOnCreated( )
|
|
|
|
local kv = BLESSING_MODIFIERS[ self:GetName() ].keys
|
|
|
|
-- Allow you to specify different keys for each claim level
|
|
if #kv > 0 then
|
|
local nIndex = self.nBlessingLevel
|
|
if nIndex > #kv then
|
|
nIndex = #kv
|
|
end
|
|
kv = kv[ nIndex ]
|
|
end
|
|
|
|
self:OnBlessingCreated( kv )
|
|
|
|
end
|
|
|
|
----------------------------------------
|
|
|
|
function modifier_blessing_base:OnBlessingCreated( kv )
|
|
-- Derived classes should modify this
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function modifier_blessing_base:AddCustomTransmitterData( )
|
|
return
|
|
{
|
|
armor = self.nBlessingLevel
|
|
}
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function modifier_blessing_base:HandleCustomTransmitterData( data )
|
|
if data.armor ~= nil and self.nBlessingLevel ~= data.armor then
|
|
self.nBlessingLevel = data.armor
|
|
self:InvokeBlessingOnCreated()
|
|
end
|
|
end
|