Код:
dd
"clinkz_as_attack"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_AUTOCAST | DOTA_ABILITY_BEHAVIOR_ATTACK"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_BUILDING"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL"
"AbilityTextureName" "clinkz_searing_arrows"
// Precache
//-------------------------------------------------------------------------------------------------------------
"precache"
{
"soundfile" "soundevents/game_sounds_heroes/game_sounds_silencer.vsndevts"
}
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityDuration" "0.0 0.0 0.0 0.0"
"AbilityCastRange" "650"
// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "6 8 10 12"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"intellect_damage_pct" "20 30 40 60"
}
"02"
{
"var_type" "FIELD_INTEGER"
"steal_range" "0"
}
}
"Modifiers"
{
"modifier_glaives_of_wisdom_datadriven"
{
"Passive" "1"
"IsHidden" "1"
"Orb"
{
"Priority" "DOTA_ORB_PRIORITY_DEFAULT"
"ProjectileName" "particles/units/heroes/hero_clinkz/clinkz_searing_arrow.vpcf"
"CastAttack" "1"
}
}
"OnOrbFire"
{
"SpendMana"
{
"Mana" "%AbilityManaCost"
}
"FireSound"
{
"EffectName" "Hero_Clinkz.SearingArrows"
"Target" "CASTER"
}
}
"OnOrbImpact"
{
"FireSound"
{
"EffectName" "Hero_Clinkz.SearingArrows.Impact"
"Target" "CASTER"
}
"RunScript"
{
"ScriptFile" "dd/glaives_of_wisdom.lua"
"Function" "IntToDamage"
"Target" "TARGET"
}
}
}
}
Lua:
lua
function IntToDamage( keys )
local ability = keys.ability
local caster = keys.caster
local target = keys.target
local int_caster = caster:GetAttackSpeed()
local mul_damage = ability:GetLevelSpecialValueFor("intellect_damage_pct", (ability:GetLevel() -1))
local damage_table = {}
damage_table.attacker = caster
damage_table.damage_type = ability:GetAbilityDamageType()
damage_table.ability = ability
damage_table.victim = target
damage_table.damage = int_caster * mul_damage / 100
ApplyDamage(damage_table)
end
что делать?