restructure
This commit is contained in:
76
game/scripts/vscripts/modifiers/bosses/modifier_bosses_alice.lua
Executable file
76
game/scripts/vscripts/modifiers/bosses/modifier_bosses_alice.lua
Executable file
@@ -0,0 +1,76 @@
|
||||
modifier_bosses_alice = class({})
|
||||
|
||||
local public = modifier_bosses_alice
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function public:IsDebuff()
|
||||
return false
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function public:IsHidden()
|
||||
return false
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function public:IsPurgable()
|
||||
return false
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
-- 分裂效果造成游戏卡顿崩溃,改为免死符
|
||||
function public:OnCreated(kv)
|
||||
if IsServer() then
|
||||
local caster = self:GetParent()
|
||||
if caster.left_death_count == nil then
|
||||
caster.left_death_count = 3
|
||||
end
|
||||
if caster.effect_index == nil then
|
||||
local effectName = "particles/units/heroes/hero_monkey_king/monkey_king_quad_tap_stack.vpcf"
|
||||
local effectIndex = ParticleManager:CreateParticle(effectName, PATTACH_OVERHEAD_FOLLOW, caster)
|
||||
ParticleManager:SetParticleControlEnt(effectIndex , 0, caster, PATTACH_OVERHEAD_FOLLOW, "attach_hitloc", Vector(0, 0, 0), true)
|
||||
ParticleManager:SetParticleControl(effectIndex, 1, Vector(0, caster.left_death_count, 0))
|
||||
caster.effect_index = effectIndex
|
||||
else
|
||||
ParticleManager:SetParticleControl(caster.effect_index, 1, Vector(0, caster.left_death_count, 1))
|
||||
end
|
||||
self:SetStackCount(caster.left_death_count)
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function public:OnDestroy(kv)
|
||||
if IsServer() then
|
||||
local caster = self:GetParent()
|
||||
if caster.diseble_buff == true then return end
|
||||
|
||||
caster.thtd_damage_lock = true
|
||||
|
||||
local health = caster:GetMaxHealth()
|
||||
if caster.left_death_count == 3 then
|
||||
health = health * 0.33
|
||||
end
|
||||
caster:SetBaseMaxHealth(health)
|
||||
caster:SetMaxHealth(health)
|
||||
caster:SetHealth(health)
|
||||
caster:SetModelScale(caster:GetModelScale() * 0.9)
|
||||
|
||||
local effectIndex = ParticleManager:CreateParticle("particles/econ/events/ti6/hero_levelup_ti6_godray.vpcf", PATTACH_CUSTOMORIGIN_FOLLOW, caster)
|
||||
ParticleManager:SetParticleControl(effectIndex, 0, caster:GetOrigin())
|
||||
ParticleManager:DestroyParticleSystem(effectIndex, false)
|
||||
|
||||
caster.left_death_count = caster.left_death_count - 1
|
||||
if caster.left_death_count <= 0 then
|
||||
ParticleManager:DestroyParticleSystem(caster.effect_index, true)
|
||||
else
|
||||
caster:AddNewModifier(caster, nil, "modifier_bosses_alice", {})
|
||||
end
|
||||
|
||||
caster.thtd_damage_lock = nil
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user