initial commit
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
modifier_brewmaster_split = class({})
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_brewmaster_split:IsHidden()
|
||||
return true
|
||||
end
|
||||
|
||||
-----------------------------------------------------------------------------------------
|
||||
|
||||
function modifier_brewmaster_split:IsPurgable()
|
||||
return false
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_brewmaster_split:GetPriority()
|
||||
return MODIFIER_PRIORITY_ULTRA + 10001
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_brewmaster_split:CheckState()
|
||||
local state =
|
||||
{
|
||||
[MODIFIER_STATE_INVULNERABLE] = true,
|
||||
[MODIFIER_STATE_NO_HEALTH_BAR] = true,
|
||||
[MODIFIER_STATE_STUNNED] = true,
|
||||
}
|
||||
|
||||
return state
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_brewmaster_split:GetEffectName()
|
||||
return "particles/units/heroes/hero_brewmaster/brewmaster_primal_split.vpcf"
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_brewmaster_split:GetEffectAttachType()
|
||||
return PATTACH_ABSORIGIN
|
||||
end
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_brewmaster_split:OnCreated( kv )
|
||||
if IsServer() then
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_brewmaster_split:OnDestroy()
|
||||
if IsServer() then
|
||||
EmitSoundOn( "Hero_Brewmaster.PrimalSplit.Spawn", self:GetParent() )
|
||||
|
||||
local vPos = self:GetParent():GetAbsOrigin()
|
||||
|
||||
local enemies = FindUnitsInRadius( DOTA_TEAM_BADGUYS, vPos, nil, FIND_UNITS_EVERYWHERE, DOTA_UNIT_TARGET_TEAM_ENEMY, DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC, DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES + DOTA_UNIT_TARGET_FLAG_FOW_VISIBLE, FIND_CLOSEST, false )
|
||||
local target = enemies[RandomInt(1,#enemies)]
|
||||
|
||||
local earthspirit_name = "npc_dota_brewmaster_earth_unit"
|
||||
local earthspirit_origin = vPos
|
||||
local earthspirit = CreateUnitByName(earthspirit_name, earthspirit_origin, true, self:GetParent(), nil, DOTA_TEAM_BADGUYS)
|
||||
local earthspiritfx_name = "particles/units/heroes/hero_brewmaster/brewmaster_earth_ambient.vpcf"
|
||||
local earthspiritfx = ParticleManager:CreateParticle( earthspiritfx_name, PATTACH_ABSORIGIN_FOLLOW, earthspirit )
|
||||
ParticleManager:SetParticleControlEnt( earthspiritfx, 0, earthspirit, PATTACH_ABSORIGIN_FOLLOW, nil, earthspirit:GetOrigin(), true )
|
||||
earthspirit:SetInitialGoalEntity( target )
|
||||
|
||||
local stormspirit_name = "npc_dota_brewmaster_storm_unit"
|
||||
local stormspirit_origin = vPos
|
||||
local stormspirit = CreateUnitByName(stormspirit_name, stormspirit_origin, true, self:GetParent(), nil, DOTA_TEAM_BADGUYS)
|
||||
local stormspiritfx_name = "particles/units/heroes/hero_brewmaster/brewmaster_storm_ambient.vpcf"
|
||||
local stormspiritfx = ParticleManager:CreateParticle( stormspiritfx_name, PATTACH_ABSORIGIN_FOLLOW, stormspirit )
|
||||
ParticleManager:SetParticleControlEnt( stormspiritfx, 0, stormspirit, PATTACH_ABSORIGIN_FOLLOW, nil, stormspirit:GetOrigin(), true )
|
||||
stormspirit:SetInitialGoalEntity( target )
|
||||
|
||||
local firespirit_name = "npc_dota_brewmaster_fire_unit"
|
||||
local firespirit_origin = vPos
|
||||
local firespirit = CreateUnitByName(firespirit_name, firespirit_origin, true, self:GetParent(), nil, DOTA_TEAM_BADGUYS)
|
||||
local firespiritfx_name = "particles/units/heroes/hero_brewmaster/brewmaster_fire_ambient.vpcf"
|
||||
local firespiritfx = ParticleManager:CreateParticle( firespiritfx_name, PATTACH_ABSORIGIN_FOLLOW, firespirit )
|
||||
ParticleManager:SetParticleControlEnt( firespiritfx, 0, firespirit, PATTACH_ABSORIGIN_FOLLOW, nil, firespirit:GetOrigin(), true )
|
||||
firespirit:SetInitialGoalEntity( target )
|
||||
|
||||
self:GetParent():AddEffects( EF_NODRAW )
|
||||
self:GetParent():ForceKill( false )
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user