Ru/Dota 2 Workshop Tools/Scripting/Abilities Examples: Difference between revisions
< Ru | Dota 2 Workshop Tools | Scripting
		
		
		
		Jump to navigation
		Jump to search
		| Blood Hunter (talk | contribs)  (Created page with "== АОЕ Урон == Данная способность после смерти игрока оставляет под ним лужу которая наносит урон...") | Blood Hunter (talk | contribs)  mNo edit summary | ||
| Line 100: | Line 100: | ||
| } | } | ||
| </source> | </source> | ||
| == Пример Orb-атак == | |||
| Способность имеет автокаст (подобный ледяным стрелам траксы), атакующий герой нанесет 95 ед. чистого урона и будет давать мини баши на 2 секунды. | |||
| <source> | |||
| "orb_ability_example" | |||
| { | |||
|     "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_ALL" | |||
|     "AbilityCastPoint"          "0.0" | |||
|     "AbilityCastRange"          "900" | |||
|     "AbilityCooldown"           "0" | |||
|     "AbilityManaCost"           "10" | |||
|     "AbilitySpecial" | |||
|     { | |||
|         "01" | |||
|         { | |||
|             "var_type"          "FIELD_INTEGER" | |||
|             "RangeDamage"       "75" | |||
|         } | |||
|     } | |||
|     "Modifiers" | |||
|     { | |||
|         "TestOrb_Modifier" | |||
|         { | |||
|             "Passive"     "1" | |||
|             "IsHidden"    "1" | |||
|             "Orb" | |||
|             { | |||
|                 "Priority"          "DOTA_ORB_PRIORITY_ABILITY" | |||
|                 "ProjectileName"    "particles/units/heroes/hero_sven/sven_spell_storm_bolt.vpcf" | |||
|                 "CastAttack"        "1" | |||
|             } | |||
|             "OnOrbFire" | |||
|             { | |||
|                 "SpendMana" | |||
|                 { | |||
|                     "Mana"    "%AbilityManaCost" | |||
|                 } | |||
|             } | |||
|             "OnOrbImpact" | |||
|             { | |||
|                 "FireEffect" | |||
|                 { | |||
|                     "EffectName"            "particles/units/heroes/hero_sven/sven_spell_warcry.vpcf" | |||
|                     "EffectAttachType"      "attach_hitloc" | |||
|                     "Target"                "TARGET" | |||
|                 } | |||
|                 "Damage" | |||
|                 { | |||
|                     "Type"          "DAMAGE_TYPE_PURE" | |||
|                     "Damage"        "%RangeDamage" | |||
|                     "Target" | |||
|                     { | |||
|                         "Center"    "TARGET" | |||
|                         "Teams"     "DOTA_UNIT_TARGET_TEAM_ENEMY" | |||
|                         "Type"      "DOTA_UNIT_TARGET_ALL" | |||
|                         "Radius"    "275" | |||
|                     } | |||
|                 } | |||
|                 "Stun" | |||
|                 { | |||
|                     "Duration"      "2" | |||
|                     "Target" | |||
|                     { | |||
|                         "Center"    "TARGET" | |||
|                         "Teams"     "DOTA_UNIT_TARGET_TEAM_ENEMY" | |||
|                         "Type"      "DOTA_UNIT_TARGET_ALL" | |||
|                         "Radius"    "275" | |||
|                     } | |||
|                 } | |||
|             } | |||
|         } | |||
|     } | |||
| } | |||
| </source> | |||
| == Простая аура == | |||
| Простая аура, которая в радиусе 900 вокруг героя будет снижать противникам урон на 50% | |||
| <source> | |||
|  "TestSysAura" | |||
|  { | |||
|   "BaseClass" "ability_datadriven" | |||
|   "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AURA | DOTA_ABILITY_BEHAVIOR_PASSIVE" | |||
|   "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" | |||
|   "AbilityUnitTargetType" "DOTA_UNIT_TARGET_ALL" | |||
|   "AbilityTextureName" "alchemist_acid_spray" | |||
|   "MaxLevel" "1" | |||
|   "AbilityCastPoint"    "0.0" | |||
|   "AbilityCastRange"    "500" | |||
|   "AbilityCooldown"    "0" | |||
|   "AbilityManaCost"    "0" | |||
|   "AbilitySpecial" | |||
|   { | |||
|    "01" | |||
|    { | |||
|     "var_type" "FIELD_INTEGER" | |||
|     "Range" "500" | |||
|    } | |||
|   } | |||
|   "Modifiers" | |||
|   { | |||
|    "TestSysAura_Modifier" | |||
|    { | |||
|     "Passive" "1" | |||
|     "IsHidden" "1" | |||
|     "Aura" "TestSysAura_FixAttackPercent" | |||
|     "Aura_Radius" "%Range" | |||
|     "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" | |||
|     "Aura_Types" "DOTA_UNIT_TARGET_ALL" | |||
|    } | |||
|    "TestSysAura_FixAttackPercent" | |||
|    { | |||
|     "IsDebuff" "1" | |||
|     "IsPurgable" "0" | |||
|     "Properties" | |||
|     { | |||
|      "MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE" "-50" | |||
|     } | |||
|    } | |||
|   } | |||
|  } | |||
| </source> | |||
| --[[User:Blood Hunter|Blood_Hunter]] ([[User talk:Blood Hunter|talk]]) 21:14, 28 December 2015 (UTC) | |||
Revision as of 14:14, 28 December 2015
АОЕ Урон
Данная способность после смерти игрока оставляет под ним лужу которая наносит урон в секунду и вешает дебаф
"creature_acid_spray"
{
    // General
    //-------------------------------------------------------------------------------------------------------------
    "BaseClass"              "ability_datadriven"
    "AbilityBehavior"        "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_PASSIVE"         // тип способности - аое,пассивная
    "AbilityUnitDamageType"  "DAMAGE_TYPE_PHYSICAL"                                              // урон физический
    "AbilityTextureName"     "alchemist_acid_spray"                                              // текстура абилки
    // Casting
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCastPoint"  "0.2"                                    // время каста способности
    "AbilityCastRange"  "900"                                    // дистанция каста
    "OnOwnerDied"                                                // Событие - при смерти героя
    {
        "CreateThinker"                                          // создается лужа
        {
            "ModifierName" "creature_acid_spray_thinker"
            "Target" "CASTER"
        }
    }
    "Modifiers"
    {
        "creature_acid_spray_thinker"
        {
            "Aura" "create_acid_spray_armor_reduction_aura"
            "Aura_Radius" "%radius"
            "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY"
            "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_CREEP | DOTA_UNIT_TARGET_MECHANICAL"
            "Aura_Flags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
            "Duration" "%duration"
            "OnCreated"
            {
                "AttachEffect"
                {
                    "EffectName" "particles/units/heroes/hero_alchemist/alchemist_acid_spray.vpcf"
                    "EffectAttachType" "follow_origin"
                    "Target" "TARGET"
                    "ControlPoints"
                    {
                        "00" "0 0 0"
                        "01" "%radius 1 1"
                    }
                }
            }
        }
        "create_acid_spray_armor_reduction_aura"
        {
            "IsDebuff" "1"
            "IsPurgable" "0"
            "EffectName" "particles/units/heroes/hero_alchemist/alchemist_acid_spray_debuff.vpcf"                
            "ThinkInterval" "%tick_rate"
            "OnIntervalThink"
            {
                "Damage"
                {
                    "Type"   "DAMAGE_TYPE_PHYSICAL"
                    "Damage" "%damage"
                    "Target" "TARGET"
                }
            }
            "Properties"
            {
                "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS" "%armor_reduction"
            }
        }
    }
    // Special    
    //-------------------------------------------------------------------------------------------------------------
    "AbilitySpecial"
    {
        "01"
        {
            "var_type"                "FIELD_INTEGER"
            "radius"                "250"
        }
        "02"
        {
            "var_type"                "FIELD_FLOAT"
            "duration"                "16.0"
        }
        "03"
        {
            "var_type"                "FIELD_INTEGER"
            "damage"                "118 128 138 158"
        }
        "04"
        {
            "var_type"                "FIELD_INTEGER"
            "armor_reduction"                "-3 -4 -5 -6"
        }
        "05"
        {
            "var_type"                "FIELD_FLOAT"
            "tick_rate"                "1.0"
        }
    }
}Пример Orb-атак
Способность имеет автокаст (подобный ледяным стрелам траксы), атакующий герой нанесет 95 ед. чистого урона и будет давать мини баши на 2 секунды.
"orb_ability_example"
{
    "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_ALL"
    "AbilityCastPoint"          "0.0"
    "AbilityCastRange"          "900"
    "AbilityCooldown"           "0"
    "AbilityManaCost"           "10"
    "AbilitySpecial"
    {
        "01"
        {
            "var_type"          "FIELD_INTEGER"
            "RangeDamage"       "75"
        }
    }
 
    "Modifiers"
    {
        "TestOrb_Modifier"
        {
            "Passive"     "1"
            "IsHidden"    "1"
            "Orb"
            {
                "Priority"          "DOTA_ORB_PRIORITY_ABILITY"
                "ProjectileName"    "particles/units/heroes/hero_sven/sven_spell_storm_bolt.vpcf"
                "CastAttack"        "1"
            }
            "OnOrbFire"
            {
                "SpendMana"
                {
                    "Mana"    "%AbilityManaCost"
                }
            }
            "OnOrbImpact"
            {
                "FireEffect"
                {
                    "EffectName"            "particles/units/heroes/hero_sven/sven_spell_warcry.vpcf"
                    "EffectAttachType"      "attach_hitloc"
                    "Target"                "TARGET"
                }
                "Damage"
                {
                    "Type"          "DAMAGE_TYPE_PURE"
                    "Damage"        "%RangeDamage"
                    "Target"
                    {
                        "Center"    "TARGET"
                        "Teams"     "DOTA_UNIT_TARGET_TEAM_ENEMY"
                        "Type"      "DOTA_UNIT_TARGET_ALL"
                        "Radius"    "275"
                    }
                }
                "Stun"
                {
                    "Duration"      "2"
                    "Target"
                    {
                        "Center"    "TARGET"
                        "Teams"     "DOTA_UNIT_TARGET_TEAM_ENEMY"
                        "Type"      "DOTA_UNIT_TARGET_ALL"
                        "Radius"    "275"
                    }
                }
            }
        }
    }
}Простая аура
Простая аура, которая в радиусе 900 вокруг героя будет снижать противникам урон на 50%
 "TestSysAura"
 {
  "BaseClass" "ability_datadriven"
  "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AURA | DOTA_ABILITY_BEHAVIOR_PASSIVE"
  "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
  "AbilityUnitTargetType" "DOTA_UNIT_TARGET_ALL"
  "AbilityTextureName" "alchemist_acid_spray"
  "MaxLevel" "1"
 
  "AbilityCastPoint"    "0.0"
  "AbilityCastRange"    "500"
  "AbilityCooldown"    "0"
  "AbilityManaCost"    "0"
 
  "AbilitySpecial"
  {
   "01"
   {
    "var_type" "FIELD_INTEGER"
    "Range" "500"
   }
  }
 
  "Modifiers"
  {
   "TestSysAura_Modifier"
   {
    "Passive" "1"
    "IsHidden" "1"
    "Aura" "TestSysAura_FixAttackPercent"
    "Aura_Radius" "%Range"
    "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY"
    "Aura_Types" "DOTA_UNIT_TARGET_ALL"
   }
 
   "TestSysAura_FixAttackPercent"
   {
    "IsDebuff" "1"
    "IsPurgable" "0"
    "Properties"
    {
     "MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE" "-50"
    }
   }
  }
 }--Blood_Hunter (talk) 21:14, 28 December 2015 (UTC)