хелп, автоатака глевов. не за интелект а за скорость атаки.

dEN5

Пользователь
10 Фев 2019
25
0
steamcommunity.com
Проект
MADNESS: PROJECT ABADDON
Код:
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


что делать?
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
возможно не работает (а скорее всего работает, но урон мизерный) потому, что caster:GetAttackSpeed() получает атак в сек, а значит например не 600 а 0,25 атаки в секунду.
но могу быть не прав
 
Реклама: