initial commit
This commit is contained in:
68
aghanim_singleplayer/scripts/vscripts/abilities/creatures/storegga_grab.lua
Executable file
68
aghanim_singleplayer/scripts/vscripts/abilities/creatures/storegga_grab.lua
Executable file
@@ -0,0 +1,68 @@
|
||||
|
||||
storegga_grab = class({})
|
||||
LinkLuaModifier( "modifier_storegga_grab", "modifiers/creatures/modifier_storegga_grab", LUA_MODIFIER_MOTION_NONE )
|
||||
LinkLuaModifier( "modifier_storegga_grabbed_buff", "modifiers/creatures/modifier_storegga_grabbed_buff", LUA_MODIFIER_MOTION_NONE )
|
||||
LinkLuaModifier( "modifier_storegga_grabbed_debuff", "modifiers/creatures/modifier_storegga_grabbed_debuff", LUA_MODIFIER_MOTION_BOTH )
|
||||
|
||||
----------------------------------------------------------------------------------------
|
||||
|
||||
function storegga_grab:Precache( context )
|
||||
|
||||
PrecacheResource( "particle", "particles/test_particle/generic_attack_crit_blur.vpcf", context )
|
||||
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function storegga_grab:ProcsMagicStick()
|
||||
return false
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function storegga_grab:OnAbilityPhaseStart()
|
||||
if IsServer() then
|
||||
if self:GetCaster():FindModifierByName( "modifier_storegga_grabbed_buff" ) ~= nil then
|
||||
return false
|
||||
end
|
||||
self.animation_time = self:GetSpecialValueFor( "animation_time" )
|
||||
self.initial_delay = self:GetSpecialValueFor( "initial_delay" )
|
||||
|
||||
local kv = {}
|
||||
kv["duration"] = self.animation_time
|
||||
kv["initial_delay"] = self.initial_delay
|
||||
local hBuff = self:GetCaster():AddNewModifier( self:GetCaster(), self, "modifier_storegga_grab", kv )
|
||||
if hBuff ~= nil then
|
||||
hBuff.hTarget = self:GetCursorTarget()
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function storegga_grab:OnAbilityPhaseInterrupted()
|
||||
if IsServer() then
|
||||
self:GetCaster():RemoveModifierByName( "modifier_storegga_grab" )
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--[[
|
||||
function storegga_grab:GetPlaybackRateOverride()
|
||||
return 0.35
|
||||
end
|
||||
]]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function storegga_grab:GetCastRange( vLocation, hTarget )
|
||||
if IsServer() then
|
||||
if self:GetCaster():FindModifierByName( "modifier_storegga_grab" ) ~= nil then
|
||||
return 99999
|
||||
end
|
||||
end
|
||||
|
||||
return self.BaseClass.GetCastRange( self, vLocation, hTarget )
|
||||
end
|
||||
Reference in New Issue
Block a user