initial commit
This commit is contained in:
117
aghanim_singleplayer/scripts/vscripts/modifiers/modifier_ride_morty.lua
Executable file
117
aghanim_singleplayer/scripts/vscripts/modifiers/modifier_ride_morty.lua
Executable file
@@ -0,0 +1,117 @@
|
||||
|
||||
modifier_ride_morty = class({})
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
function modifier_ride_morty:IsHidden()
|
||||
return true
|
||||
end
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
function modifier_ride_morty:IsPurgable()
|
||||
return false
|
||||
end
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
function modifier_ride_morty:GetOverrideAnimation( params )
|
||||
return ACT_DOTA_FLAIL
|
||||
end
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
function modifier_ride_morty:OnCreated( kv )
|
||||
if IsServer() then
|
||||
if self:ApplyHorizontalMotionController() == false or self:ApplyVerticalMotionController() == false then
|
||||
self:Destroy()
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_ride_morty:DeclareFunctions()
|
||||
local funcs =
|
||||
{
|
||||
MODIFIER_PROPERTY_OVERRIDE_ANIMATION,
|
||||
}
|
||||
|
||||
return funcs
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_ride_morty:CheckState()
|
||||
local state =
|
||||
{
|
||||
[ MODIFIER_STATE_INVULNERABLE ] = true,
|
||||
[ MODIFIER_STATE_NO_HEALTH_BAR ] = true,
|
||||
[ MODIFIER_STATE_SILENCED ] = true,
|
||||
[ MODIFIER_STATE_UNSELECTABLE ] = true,
|
||||
[ MODIFIER_STATE_COMMAND_RESTRICTED ] = true,
|
||||
}
|
||||
|
||||
return state
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_ride_morty:UpdateHorizontalMotion( me, dt )
|
||||
if IsServer() then
|
||||
if self:GetCaster() then
|
||||
me:SetAbsOrigin( self:GetCaster():GetAbsOrigin() )
|
||||
|
||||
local MortyAngles = self:GetCaster():GetAngles()
|
||||
me:SetAbsAngles( MortyAngles.x, MortyAngles.y, MortyAngles.z )
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_ride_morty:UpdateVerticalMotion( me, dt )
|
||||
if IsServer() then
|
||||
if self:GetCaster() then
|
||||
|
||||
local vPos = self:GetCaster():GetAbsOrigin()
|
||||
vPos.z = vPos.z + 50
|
||||
me:SetAbsOrigin( vPos )
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_ride_morty:OnDestroy()
|
||||
if IsServer() then
|
||||
self:GetParent():RemoveHorizontalMotionController( self )
|
||||
self:GetParent():RemoveVerticalMotionController( self )
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_ride_morty:OnHorizontalMotionInterrupted()
|
||||
if IsServer() then
|
||||
self:Destroy()
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_ride_morty:OnVerticalMotionInterrupted()
|
||||
if IsServer() then
|
||||
self:Destroy()
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user