initial commit
This commit is contained in:
75
aghanim_singleplayer/scripts/vscripts/abilities/creatures/aghanim_blink.lua
Executable file
75
aghanim_singleplayer/scripts/vscripts/abilities/creatures/aghanim_blink.lua
Executable file
@@ -0,0 +1,75 @@
|
||||
aghanim_blink = class{}
|
||||
|
||||
----------------------------------------------------------------------------------------
|
||||
|
||||
function aghanim_blink:Precache( context )
|
||||
PrecacheResource( "particle", "particles/creatures/aghanim/aghanim_preimage.vpcf", context )
|
||||
PrecacheResource( "soundfile", "soundevents/game_sounds_heroes/game_sounds_faceless_void.vsndevts", context )
|
||||
end
|
||||
|
||||
----------------------------------------------------------------------------------------
|
||||
|
||||
function aghanim_blink:OnSpellStart()
|
||||
if IsServer() == false then
|
||||
return
|
||||
end
|
||||
|
||||
local vPos = self:GetCursorPosition()
|
||||
local vDirection = vPos - self:GetCaster():GetOrigin()
|
||||
local flDist = vDirection:Length2D()
|
||||
vDirection.z = 0.0
|
||||
vDirection = vDirection:Normalized()
|
||||
|
||||
--local nFXIndex = ParticleManager:CreateParticle( "particles/creatures/aghanim/aghanim_preimage.vpcf", PATTACH_CUSTOMORIGIN, nil )--
|
||||
--ParticleManager:SetParticleControl( nFXIndex, 0, self:GetCaster():GetAbsOrigin() )
|
||||
--ParticleManager:SetParticleControl( nFXIndex, 1, vPos )
|
||||
--ParticleManager:SetParticleControlEnt( nFXIndex, 2, self:GetCaster(), PATTACH_ABSORIGIN_FOLLOW, nil, self:GetCaster():GetAbsOrigin(), true )
|
||||
--ParticleManager:SetParticleFoWProperties( nFXIndex, 0, 2, 64.0 )
|
||||
--ParticleManager:ReleaseParticleIndex( nFXIndex )
|
||||
|
||||
self.vStartLocation = self:GetCaster():GetAbsOrigin()
|
||||
|
||||
local info =
|
||||
{
|
||||
Ability = self,
|
||||
vSpawnOrigin = self:GetCaster():GetOrigin(),
|
||||
fStartRadius = 0,
|
||||
fEndRadius = 0,
|
||||
vVelocity = vDirection * flDist,
|
||||
fDistance = flDist,
|
||||
Source = self:GetCaster(),
|
||||
--iUnitTargetTeam = DOTA_UNIT_TARGET_TEAM_NONE,
|
||||
--iUnitTargetType = DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC + DOTA_UNIT_TARGET_BUILDING,
|
||||
}
|
||||
|
||||
ProjectileManager:CreateLinearProjectile( info )
|
||||
EmitSoundOn( "Hero_FacelessVoid.TimeWalk", self:GetCaster() )
|
||||
end
|
||||
|
||||
----------------------------------------------------------------------------------------
|
||||
|
||||
function aghanim_blink:OnProjectileHit( hTarget, vLocation )
|
||||
if IsServer() then
|
||||
local vDirection = vLocation - self:GetCaster():GetAbsOrigin()
|
||||
vDirection.z = 0.0
|
||||
vDirection = vDirection:Normalized()
|
||||
|
||||
EmitSoundOn( "Hero_FacelessVoid.TimeWalk", self:GetCaster() )
|
||||
|
||||
FindClearSpaceForUnit( self:GetCaster(), vLocation, true )
|
||||
--self:GetCaster():FaceTowards( self:GetCaster().vHomePosition )
|
||||
|
||||
ProjectileManager:ProjectileDodge( self:GetCaster() )
|
||||
|
||||
local nFXIndex = ParticleManager:CreateParticle( "particles/creatures/aghanim/aghanim_preimage.vpcf", PATTACH_CUSTOMORIGIN, nil )
|
||||
ParticleManager:SetParticleControl( nFXIndex, 0, self.vStartLocation )
|
||||
ParticleManager:SetParticleControl( nFXIndex, 1, self:GetCaster():GetAbsOrigin() )
|
||||
ParticleManager:SetParticleControlEnt( nFXIndex, 2, self:GetCaster(), PATTACH_ABSORIGIN_FOLLOW, nil, self.vStartLocation, true )
|
||||
ParticleManager:SetParticleFoWProperties( nFXIndex, 0, 2, 64.0 )
|
||||
ParticleManager:ReleaseParticleIndex( nFXIndex )
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
----------------------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user