initial commit
This commit is contained in:
68
scripts/vscripts/modifiers/bosses/modifier_bosses_keine.lua
Executable file
68
scripts/vscripts/modifiers/bosses/modifier_bosses_keine.lua
Executable file
@@ -0,0 +1,68 @@
|
||||
modifier_bosses_keine = class({})
|
||||
|
||||
local public = modifier_bosses_keine
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function public:IsDebuff()
|
||||
return false
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function public:IsHidden()
|
||||
return true
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function public:IsPurgable()
|
||||
return false
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function public:OnCreated(kv)
|
||||
if IsServer() then
|
||||
local caster = self:GetParent()
|
||||
local max_health = caster:GetMaxHealth()
|
||||
caster:SetContextThink(DoUniqueString("thtd_bosses_keine_buff"),
|
||||
function()
|
||||
if GameRules:IsGamePaused() then return 0.1 end
|
||||
if caster==nil or caster:IsNull() or caster:IsAlive()==false then return nil end
|
||||
if caster:GetHealth() < max_health * 0.7 then
|
||||
local count = 50
|
||||
caster:SetContextThink(DoUniqueString("thtd_bosses_keine_back_buff"),
|
||||
function()
|
||||
if GameRules:IsGamePaused() then return 0.1 end
|
||||
if caster==nil or caster:IsNull() or caster:IsAlive()==false then return nil end
|
||||
|
||||
count = count - 1
|
||||
if count > 0 then return 0.1 end
|
||||
|
||||
caster:SetHealth(max_health * 0.7)
|
||||
local effectIndex = ParticleManager:CreateParticle("particles/bosses/thtd_keine/ability_bosses_keine.vpcf", PATTACH_CUSTOMORIGIN, caster)
|
||||
ParticleManager:SetParticleControl(effectIndex, 0, caster:GetOrigin())
|
||||
ParticleManager:SetParticleControl(effectIndex, 1, caster:GetOrigin())
|
||||
ParticleManager:SetParticleControl(effectIndex, 2, caster:GetOrigin())
|
||||
ParticleManager:DestroyParticleSystem(effectIndex,false)
|
||||
return nil
|
||||
end,
|
||||
0.1)
|
||||
|
||||
return nil
|
||||
end
|
||||
return 0.1
|
||||
end,
|
||||
0.1)
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function public:OnDestroy(kv)
|
||||
if IsServer() then
|
||||
local caster = self:GetParent()
|
||||
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user