Общий кулдаун способностей.

AlexInCube

Пользователь
31 Окт 2018
29
0
Есть персонаж с 5-ю способностями. Но AbilitySharedCooldown работает только с одной способностью, как сделать так чтобы был общий кулдаун сразу на 5-х способностях?
 
local ability = keys.ability
local caster = keys.caster
local ability1 = caster:FindAbilityByName("ability_name1")
local ability2 = caster:FindAbilityByName("ability_name2")
local ability3 = caster:FindAbilityByName("ability_name3")
local ability4 = caster:FindAbilityByName("ability_name4")
local ability5 = caster:FindAbilityByName("ability_name5")

if ability1 ~= ability then
ability1:UseResources(false,false,true)
end

if ability2 ~= ability then
ability2:UseResources(false,false,true)
end

if ability3 ~= ability then
ability3:UseResources(false,false,true)
end

if ability4 ~= ability then
ability4:UseResources(false,false,true)
end

if ability5 ~= ability then
ability5:UseResources(false,false,true)
end


void UseResources(bool bMana, bool bGold, bool bCooldown)
 
local ability = keys.ability
local caster = keys.caster
local ability1 = caster:FindAbilityByName("ability_name1")
local ability2 = caster:FindAbilityByName("ability_name2")
local ability3 = caster:FindAbilityByName("ability_name3")
local ability4 = caster:FindAbilityByName("ability_name4")
local ability5 = caster:FindAbilityByName("ability_name5")

if ability1 ~= ability then
ability1:UseResources(false,false,true)
end

if ability2 ~= ability then
ability2:UseResources(false,false,true)
end

if ability3 ~= ability then
ability3:UseResources(false,false,true)
end

if ability4 ~= ability then
ability4:UseResources(false,false,true)
end

if ability5 ~= ability then
ability5:UseResources(false,false,true)
end


void UseResources(bool bMana, bool bGold, bool bCooldown)

а куда это писать? я понимаю что в .lua скрипт, но в как его правильно включать?
 
Я сделал вот так, но общий кд от других скиллов не работает.
"lina_dragon_slave_datadriven"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_POINT"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
"FightRecapLevel" "1"
"AbilityTextureName" "gerald_igni"
"MaxLevel" "3"

// Precache
//-------------------------------------------------------------------------------------------------------------
"precache"
{
"soundfile" "soundevents/game_sounds_heroes/game_sounds_lina.vsndevts"
"particle" "particles/units/heroes/hero_lina/lina_spell_dragon_slave.vpcf"
}

// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastRange" "800"
"AbilityCastPoint" "0.45 0.45 0.45"

// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "10"
"AbilityDuration" "0.1"


// Damage.
//-------------------------------------------------------------------------------------------------------------
"AbilityDamage" "100 200 350"

// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "100"

// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"dragon_slave_speed" "1200 2400 3600"
}

"02"
{
"var_type" "FIELD_INTEGER"
"dragon_slave_width_initial" "275"
}
"03"
{
"var_type" "FIELD_INTEGER"
"dragon_slave_width_end" "200"
}

"04"
{
"var_type" "FIELD_INTEGER"
"dragon_slave_distance" "300 600 900"
}
"05"
{
"var_type" "FIELD_INTEGER"
"damage" "100"
}

}

"OnSpellStart"
{
"RunScript"
{
"ScriptFile" "heroes/hero_garald/cooldownznakov.lua"
}



"LinearProjectile"
{
"Target" "POINT"
"EffectName" "particles/units/heroes/hero_lina/lina_spell_dragon_slave.vpcf"
"MoveSpeed" "%dragon_slave_speed"
"StartRadius" "%dragon_slave_width_initial"
"StartPosition" "attach_origin"
"EndRadius" "%dragon_slave_width_end"
"FixedDistance" "%dragon_slave_distance"
"TargetTeams" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"TargetTypes" "DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_HERO"
"TargetFlags" "DOTA_UNIT_TARGET_FLAG_NONE"
"HasFrontalCone" "1"
"ProvidesVision" "0"

}

"FireSound"
{
"EffectName" "Hero_Lina.DragonSlave"
"Target" "CASTER"
}

}

"OnProjectileHitUnit"
{
"DeleteOnHit" "0"
"Damage"
{
"Target" "TARGET"
"Type" "DAMAGE_TYPE_MAGICAL"
"Damage" "%AbilityDamage"
}

}
}
 
Реклама: