Как сделать регенерацию здоровья через способность для башни

  • Автор темы Автор темы Qewqq
  • Дата начала Дата начала

Qewqq

Новичок
18 Авг 2022
3
0
Проект
Qewqq
(Уже задал похожий вопрос, но лично у меня он не отображается сорян если повторяюсь)
Пытаюсь сделать способность для башни которая будет регенерировать здоровье, но где-то у меня ошибка поскольку способность не работает, а вот где не вижу помогите пожалуйста.
Код:
"DOTAAbilities"
{
    "Version"        "1"

    "healt_aura"
    {
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_AURA"
        "AbilityUnitTargetTeam"            "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
        "AbilityUnitTargetType"            "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
        "AbilityUnitDamageType"            "DAMAGE_TYPE_PHYSICAL"
        "BaseClass"                     "ability_datadriven"
        "AbilityTextureName"            "witch_doctor_voodoo_restoration"
        "MaxLevel"                         "0"

        "AbilityCastRange"                "700"
        "AbilityCastPoint"                "0"
        
        "AbilitySpecial"
        {
            "01"
            {
                "var_type"            "FIELD_INTEGER"
                "Range"            "700"
            }   
        }
        
        "Modifiers"
        {
        "Health_Aura_Mod"
        {
            "Passive"            "1"
            "IsHidden"            "1"
            "IsDebuff"            "0"
        
            "EffectName"        "witch_doctor_voodoo_restoration"
            "EffectAttachType"    "follow_origin"
            "Aura"              "Health_Aura_Mod_Regen"
            "Aura_Radius"       "%range"
            "Aura_Teams"        "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
            "Aura_Types"        "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
            "Aura_Flags"        "DOTA_UNIT_TARGET_FLAG_NONE"
        }
        "Health_Aura_Mod_Regen"
        {
        "IsPurgable"        "0"
        "IsBuff"            "1"
        "IsDebuff"            "0"
        "IsStunDebuff"        "0"
        
        "Properties"
        {
            "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE" "%6"
        }
    }
}

Код:
"npc_dota_goodguys_tower1"
        {
            // General
            //
            "BaseClass"                    "npc_dota_tower"    // Class of entity of link to.
            "Model"                        "models/props_structures/tower_good.vmdl"// Model.
            "SoundSet"                    "Tower.Water"                    // Name of sound set.
            "MinimapIcon"                "minimap_tower90"
            "MinimapIconSize"            "320"
            "Level"                        "1"
            
            // Abilities
            //----------------------------------------------------------------
            
            "Ability1"                    "healt_aura"            // Ability 1.
            "Ability2"                    ""            // Ability 2.
            "Ability3"                    ""            // Ability 3.
            "Ability4"                    ""            // Ability 4.
            "Ability5"                    ""            // Ability5ility 5.
            "Ability6"                    ""            // Ability 6 - Extra.
            "Ability7"                    ""            // Ability 7 - Extra.
            "Ability8"                    ""            // Ability 8 - Extra.

            // Armor
            //----------------------------------------------------------------
            "ArmorPhysical"                "15"        // Physical protection.
            "MagicalResistance"            "0"            // Magical protection.

            // Attack
            //----------------------------------------------------------------
            "AttackCapabilities"        "DOTA_UNIT_CAP_RANGED_ATTACK"
            "AttackDamageMin"            "200"        // Damage range min.
            "AttackDamageMax"            "200"        // Damage range max.
            "AttackDamageType"            "DAMAGE_TYPE_ArmorPhysical"
            "AttackRate"                "0.7"            // Speed of attack.
            "AttackAnimationPoint"        "0.5"        // Normalized time in animation cycle to attack.
            "AttackAcquisitionRange"    "700"        // Range within a target can be acquired.
            "AttackRange"                "700"        // Range within a target can be attacked.
            "ProjectileModel"            "particles/base_attacks/ranged_tower_good.vpcf"        // Particle system model for projectile.
            "ProjectileSpeed"            "750"        // Speed of projectile.

            // Attributes
            //----------------------------------------------------------------
            "AttributePrimary"            "DOTA_ATTRIBUTE_STRENGTH"
            "AttributeBaseStrength"        "0"            // Base strength
            "AttributeStrengthGain"        "0"            // Strength bonus per level.
            "AttributeBaseIntelligence"    "0"            // Base intelligence
            "AttributeIntelligenceGain"    "0"            // Intelligence bonus per level.
            "AttributeBaseAgility"        "0"            // Base agility
            "AttributeAgilityGain"        "0"            // Agility bonus per level.

            // Bounty
            //----------------------------------------------------------------
            "BountyGoldMin"                "650"        // Gold earned min.
            "BountyGoldMax"                "950"        // Gold earned max.

            // Bounds
            //----------------------------------------------------------------
            "BoundsHullName"            "DOTA_HULL_SIZE_TOWER"            // Hull type used for navigation/locomotion.
            "ProjectileCollisionSize"    "50"
            "RingRadius"                "130"
            "HealthBarOffset"            "350"

            // Movement
            //----------------------------------------------------------------
            "MovementCapabilities"        "DOTA_UNIT_CAP_MOVE_NONE"            // Type of locomotion - ground, air
            "MovementSpeed"                "0"            // Speed
            "MovementTurnRate"            "1.0"            // Turning rate.

            // Status
            //----------------------------------------------------------------
            "StatusHealth"                "4500"        // Base health.
            "StatusHealthRegen"            "5"            // Health regeneration rate.
            "StatusMana"                "0"            // Base mana.
            "StatusManaRegen"            "0"            // Mana regeneration rate.

            // Team
            //----------------------------------------------------------------
            "TeamName"                    "DOTA_TEAM_GOODGUYS"            // Team name.
            "CombatClassAttack"            "DOTA_COMBAT_CLASS_ATTACK_SIEGE"
            "CombatClassDefend"            "DOTA_COMBAT_CLASS_DEFEND_STRUCTURE"
            "UnitRelationshipClass"        "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_BUILDING"
            
            // Vision
            //----------------------------------------------------------------
            "VisionDaytimeRange"        "900"        // Range of vision during day light.
            "VisionNighttimeRange"        "800"        // Range of vision at night time.   
        }
 
если хочешь её протестить, то дай её герою и проверь как она работает

либо лвл макс 0
либо реген в % указан неверно
 
"EffectName" "witch_doctor_voodoo_restoration"

Здесь должен быть указан путь к эффекту
"MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE" "%6"
замени на
"MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE" "6"






Лично у меня так
Код:
"creature_aura_health_regen"
    {
        // General
        //-------------------------------------------------------------------------------------------------------------
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "BaseClass"                        "ability_datadriven"
        "AbilityTextureName"            "witch_doctor_voodoo_restoration"


        // Modifiers
        //-------------------------------------------------------------------------------------------------------------
        "Modifiers"
        {
            "fx_heal_aura"
            {
                "Passive"                "1"
                "IsHidden"                "1"
                "OnCreated"
                {
                    "AttachEffect"
                    {
                        "Target"            "CASTER"
                        "EffectName"        "particles/units/heroes/hero_witchdoctor/witchdoctor_voodoo_restoration.vpcf"
                        "EffectAttachType"    "follow_origin"

                        "ControlPoints"
                        {
                            "00"    "0 0 0"
                            "01"    "%health_radius 0 0"
                            "02"    "0 0 -200"
                        }
                    }
                }
            }

            "aura_health_regen"
            {
                "IsHidden"                "0"
                "Passive"                "1"

                "Aura"                    "health_regen"
                "Aura_Radius"            "%health_radius"
                "Aura_Teams"            "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
                "Aura_Types"            "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
                "Aura_ApplyToCaster"    "1"
            }

            "health_regen"
            {
                "Properties"
                {
                    "MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT"    "%health_regen_amount"
                    "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS"    "%armor_buff"
                    "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE"    "%health_regen_percent"
                }
            }
        }

        // Special
        //-------------------------------------------------------------------------------------------------------------
        "AbilitySpecial"
        {
            "01"
            {
                "var_type"                    "FIELD_INTEGER"
                "health_radius"                "450"
            }
            "02"
            {
                "var_type"                    "FIELD_FLOAT"
                "health_regen_amount"        "15"
            }
            "03"
            {
                "var_type"                    "FIELD_INTEGER"
                "health_regen_percent"                "2"
            }
        }
    }
 
"EffectName" "witch_doctor_voodoo_restoration"

Здесь должен быть указан путь к эффекту
"MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE" "%6"
замени на
"MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE" "6"






Лично у меня так
Код:
"creature_aura_health_regen"
    {
        // General
        //-------------------------------------------------------------------------------------------------------------
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_PASSIVE"
        "BaseClass"                        "ability_datadriven"
        "AbilityTextureName"            "witch_doctor_voodoo_restoration"


        // Modifiers
        //-------------------------------------------------------------------------------------------------------------
        "Modifiers"
        {
            "fx_heal_aura"
            {
                "Passive"                "1"
                "IsHidden"                "1"
                "OnCreated"
                {
                    "AttachEffect"
                    {
                        "Target"            "CASTER"
                        "EffectName"        "particles/units/heroes/hero_witchdoctor/witchdoctor_voodoo_restoration.vpcf"
                        "EffectAttachType"    "follow_origin"

                        "ControlPoints"
                        {
                            "00"    "0 0 0"
                            "01"    "%health_radius 0 0"
                            "02"    "0 0 -200"
                        }
                    }
                }
            }

            "aura_health_regen"
            {
                "IsHidden"                "0"
                "Passive"                "1"

                "Aura"                    "health_regen"
                "Aura_Radius"            "%health_radius"
                "Aura_Teams"            "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
                "Aura_Types"            "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
                "Aura_ApplyToCaster"    "1"
            }

            "health_regen"
            {
                "Properties"
                {
                    "MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT"    "%health_regen_amount"
                    "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS"    "%armor_buff"
                    "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE"    "%health_regen_percent"
                }
            }
        }

        // Special
        //-------------------------------------------------------------------------------------------------------------
        "AbilitySpecial"
        {
            "01"
            {
                "var_type"                    "FIELD_INTEGER"
                "health_radius"                "450"
            }
            "02"
            {
                "var_type"                    "FIELD_FLOAT"
                "health_regen_amount"        "15"
            }
            "03"
            {
                "var_type"                    "FIELD_INTEGER"
                "health_regen_percent"                "2"
            }
        }
    }
Проблема решена, у меня в коде была проблема с синтаксисом или как он там называется, помог 1 человек.
 
Реклама: