function shotgun_shoot:OnSpellStart()
--print("shotgun_shoot OnSpellStart")
local caster = self:GetCaster()
local point = self:GetCaster():GetAbsOrigin() + (self:GetCaster():GetForwardVector() * 200)
vDirection = point - caster:GetAbsOrigin()
vDirection = Vector(vDirection.x, vDirection.y, 0) --LIMIT MOTION TO ONLY ONE PLANE
vDirection = vDirection:Normalized()
local id1 = ParticleManager:CreateParticle("particles/econ/events/league_teleport_2014/teleport_end_dust_league.vpcf", PATTACH_ABSORIGIN, caster)
Timers:CreateTimer(3,function()
ParticleManager:DestroyParticle(id1, false)
return nil
end)
local info = {
EffectName = "particles/units/heroes/hero_lina/lina_spell_dragon_slave.vpcf",
Ability = self,
Source = caster,
vSpawnOrigin = caster:GetAbsOrigin(),
vVelocity = vDirection * 3000 * 0.7, -- EFFECT TRAVELS TOO FUCKING FAST
fStartRadius = 70,
fEndRadius = 100,
fDistance = 300,
Source = caster,
iUnitTargetTeams = DOTA_UNIT_TARGET_TEAM_ENEMY,
iUnitTargetTypes = DOTA_UNIT_TARGET_BASIC + DOTA_UNIT_TARGET_HERO,
iUnitTargetFlags = DOTA_UNIT_TARGET_FLAG_NONE,
iVisionTeamNumber = caster:GetTeamNumber(),
iVisionRadius = 65
}
first = 0
ProjectileManager:CreateLinearProjectile( info )
StartSoundEvent("Hero_Sniper.MKG_attack", self:GetCaster())
self:GetCaster():Stop()
end
LinkLuaModifier("modifier_movespeed_slow", "modifiers/modifier_movespeed_slow.lua", LUA_MODIFIER_MOTION_NONE )
ice_arrow = class({})
function ice_arrow:OnSpellStart()
local caster = self:GetCaster()
local info = {
EffectName = "particles/units/heroes/hero_drow/drow_frost_arrow.vpcf",
Ability = self,
Target = self:GetCursorTarget(),
Source = caster,
bDodgeable = true,
bProvidesVision = false,
vSpawnOrigin = caster:GetAbsOrigin(),
iMoveSpeed = 1200,
iVisionRadius = 0,
iVisionTeamNumber = caster:GetTeamNumber(),
iSourceAttachment = DOTA_PROJECTILE_ATTACHMENT_ATTACK_1
}
ProjectileManager:CreateTrackingProjectile(info)
end
function ice_arrow:Animation(self,target)
local id1 = ParticleManager:CreateParticle("particles/units/heroes/hero_ancient_apparition/ice_temp.vpcf", PATTACH_ABSORIGIN_FOLLOW, target)
GameRules:GetGameModeEntity():SetContextThink(string.format("CreatureThink_%d", RandomInt(1, 99999)),
function()
ParticleManager:DestroyParticle(id1, false)
return nil
end,
0.2)
end
function ice_arrow:OnProjectileHit( target, location )
ice_arrow:Animation(self,target)
ice_arrow:Damage(self,target)
end
function ice_arrow:Damage(self,target)
local caster = self:GetCaster()
local dmg = caster:GetAgility()/2
EmitSoundOn("MU.ice", caster)
local damage = {
victim = target,
attacker = caster,
damage = dmg,
damage_type = DAMAGE_TYPE_MAGICAL,
ability = this,
}
ApplyDamage( damage )
target:AddNewModifier( caster, self, "modifier_movespeed_slow", {duration = 3} )
end
"phantom_assassin_stifling_dagger_ult" // Есть
"phantom_assassin_stifling_dagger" // Есть
"OnToggleOn"
{
"ApplyModifier"
{
"ModifierName" "modifier_coup_de_grace_1"
"Target" "CASTER"
}
"RunScript"
{
"ScriptFile" "heroes/modifier_coup_de_grace_1.lua"
"Function" "modifier_coup_de_grace_toogle"
}
"RunScript"
{
"ScriptFile" "heroes/modifier_coup_de_grace_1.lua"
"Function" "swap"
}
}
"OnToggleOff"
{
"RemoveModifier"
{
"ModifierName" "modifier_coup_de_grace_1"
"Target" "CASTER"
}
"RemoveModifier"
{
"ModifierName" "modifier_coup_de_grace_crit_1"
"Target" "CASTER"
}
"RunScript"
{
"ScriptFile" "heroes/modifier_coup_de_grace_1.lua"
"Function" "ult_swap"
}
}
function swap(keys)
local caster = keys.caster
local ability = keys.ability
caster:SwapAbilities( keys.phantom_assassin_stifling_dagger, keys.phantom_assassin_stifling_dagger_ult, false, true )
end
function ult_swap(keys)
local caster = keys.caster
local ability = keys.ability
caster:SwapAbilities( keys.phantom_assassin_stifling_dagger_ult, keys.phantom_assassin_stifling_dagger, false, true )
end
"RunScript"
{
"ScriptFile" "heroes/modifier_coup_de_grace_1.lua"
"Function" "swap"
"blabla" "phantom_assassin_stifling_dagger"
}
caster:SwapAbilities( "phantom_assassin_stifling_dagger", "phantom_assassin_stifling_dagger_ult", false, true )
"OnToggleOn"
{
"RunScript"
{
"ScriptFile" "heroes/modifier_coup_de_grace_1.lua"
"Function" "swap"
"skill_normal" "phantom_assassin_stifling_dagger"
"skill_ult" "phantom_assassin_stifling_dagger_ult"
}
}
"OnToggleOff"
{
"RunScript"
{
"ScriptFile" "heroes/modifier_coup_de_grace_1.lua"
"Function" "ult_swap"
"skill_normal" "phantom_assassin_stifling_dagger"
"skill_ult" "phantom_assassin_stifling_dagger_ult"
}
}
function swap(keys)
local caster = keys.caster
caster:SwapAbilities( keys.skill_normal, keys.skill_ult, true, false )
end
function ult_swap(keys)
local caster = keys.caster
caster:SwapAbilities( keys.skill_ult, keys.skill_normal, true, false )
end
"OnToggleOn"
{
"RunScript"
{
"ScriptFile" "heroes/modifier_coup_de_grace_1.lua"
"Function" "swap"
}
}
"OnToggleOff"
{
"RunScript"
{
"ScriptFile" "heroes/modifier_coup_de_grace_1.lua"
"Function" "ult_swap"
}
}
function swap(keys)
local caster = keys.caster
caster:SwapAbilities( "phantom_assassin_stifling_dagger", "phantom_assassin_stifling_dagger_ult", true, false )
end
function ult_swap(keys)
local caster = keys.caster
caster:SwapAbilities( "phantom_assassin_stifling_dagger_ult", "phantom_assassin_stifling_dagger", true, false )
end