Там же добавляешь. Если используешь barebones, то примеры как минимум одной абилки и айтема там должны быть.С названиями разобрался а как добавить описание?
Последнее редактирование модератором:
Там же добавляешь. Если используешь barebones, то примеры как минимум одной абилки и айтема там должны быть.С названиями разобрался а как добавить описание?
"axe_battle_hunger"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "5008" // unique ID number for this ability. Do not change this once established or it will invalidate collected stats.
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_AOE" // DOTA_ABILITY_BEHAVIOR_AOE для аое применения.
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
"FightRecapLevel" "1"
// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.3 0.3 0.3 0.3"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "20.0 15.0 10.0 5.0"
// Damage.
//-------------------------------------------------------------------------------------------------------------
"AbilityDamage" "16 24 32 40"
// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "75"
// Cast Range
//-------------------------------------------------------------------------------------------------------------
"AbilityCastRange" "750"
// Stats
//-------------------------------------------------------------------------------------------------------------
"AbilityModifierSupportValue" "0.1" // Primarily about the damage
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_FLOAT"
"duration" "10.0"
}
"02"
{
"var_type" "FIELD_INTEGER"
"slow" "-12"
}
"03"
{
"var_type" "FIELD_INTEGER"
"speed_bonus" "12"
}
"04"
{
"var_type" "FIELD_FLOAT"
"splash_radius" "10"
}
"05"
{
"var_type" "FIELD_FLOAT"
"splash_radius_scepter" "450" // Радиус с аганимом.
}
}
}
Все верно. Если надо изменить механику скила, то его надо переписывать. Но в данной ситуации есть еще один выход: отлов приказа -> проверка на аганим -> применение существующего модификатора от абилки в радиусе от цели -> PROFIT!!!Кроме того, на сколько я знаю, нельзя вводить свои параметры в уже существующую абилку, а только изменять те, что доступны. Поэтому ты не сможешь так легко добавить поддержку аганима к умению. Надо с нуля писать абилку.
Что за BaseClass?) И как заменить ID на BaseClass?Заменить ID на base class: "BaseClass" "axe_battle_hunger"
Саму абилку назвать иначе, например axe_battle_hunger_custom
//=================================================================================================================
// Ability: Axe Battle Hunger
//=================================================================================================================
"axe_battle_hunger_modif"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "BaseClass" "axe_battle_hunger_modif" // Как по мне выглядит тупо -_-
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
"FightRecapLevel" "1"
//=================================================================================================================
// Ability: Axe Battle Hunger
//=================================================================================================================
"axe_battle_hunger_modif"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "ability_datadriven" // И с BaseClass'ом пробывал и без.
"ID" "7001" // Вроде такой ID не используется в доте.
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
"FightRecapLevel" "1"
//=================================================================================================================
// Ability: Axe Battle Hunger
//=================================================================================================================
"axe_battle_hunger_modif"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "BaseClass" "axe_battle_hunger_modif" // Как по мне выглядит тупо -_-
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
"FightRecapLevel" "1"
//=================================================================================================================
// Ability: Axe Battle Hunger
//=================================================================================================================
"axe_battle_hunger_modif"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "ability_datadriven" // И с BaseClass'ом пробывал и без.
"ID" "7001" // Вроде такой ID не используется в доте.
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
"FightRecapLevel" "1"
"ID" "5001"
"BaseClass" "datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
"axe_battle_hunger_modif"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "axe_battle_hunger"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
"FightRecapLevel" "1"
// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.3 0.3 0.3 0.3"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "20.0 15.0 10.0 5.0"
// Damage.
//-------------------------------------------------------------------------------------------------------------
"AbilityDamage" "16 24 32 40"
// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "75"
// Cast Range
//-------------------------------------------------------------------------------------------------------------
"AbilityCastRange" "750"
// Stats
//-------------------------------------------------------------------------------------------------------------
"AbilityModifierSupportValue" "0.1" // Primarily about the damage
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_FLOAT"
"duration" "10.0"
}
"02"
{
"var_type" "FIELD_INTEGER"
"slow" "-12"
}
"03"
{
"var_type" "FIELD_INTEGER"
"speed_bonus" "12"
}
}
}
"Ability1" "faceless_void_time_walk"
"Ability2" "faceless_void_time_dilation"
"Ability3" "faceless_void_time_lock"
"Ability4" "faceless_void_chronosphere"
"AbilityLayout" "5"
"Ability1" "faceless_void_time_walk"
"Ability2" "faceless_void_time_dilation"
"Ability3" "faceless_void_time_lock"
"ability4" "faceless_void_backtrack"
"Ability5" "faceless_void_chronosphere"
"axe_battle_hunger_modif"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "axe_battle_hunger"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
"FightRecapLevel" "1"
// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.3 0.3 0.3 0.3"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "20.0 15.0 10.0 5.0"
// Damage.
//-------------------------------------------------------------------------------------------------------------
"AbilityDamage" "16 24 32 40"
// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "75"
// Cast Range
//-------------------------------------------------------------------------------------------------------------
"AbilityCastRange" "750"
// Stats
//-------------------------------------------------------------------------------------------------------------
"AbilityModifierSupportValue" "0.1" // Primarily about the damage
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_FLOAT"
"duration" "10.0"
}
"02"
{
"var_type" "FIELD_INTEGER"
"slow" "-12"
}
"03"
{
"var_type" "FIELD_INTEGER"
"speed_bonus" "12"
}
}
}
"Ability1" "axe_berserkers_call_modif"
"Ability2" "axe_battle_hunger_modif"
"Ability3" "axe_counter_helix_modif"
"Ability4" "axe_culling_blade"
"AbilityLayout" "5"
Даже если делать без аганима, то у акса отсутствует данная абилка.Эмм, про аганим тебе уже говорили - не выйдет сделать абилку, которая изначально аганим не поддерживала, аганимоподдерживаемой. Для этого надо умения с нуля писать или хитрить.
"AbilityLayout" "5"
//=================================================================================================================
// Faceless Void: Time Walk
//=================================================================================================================
"faceless_void_time_walk"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "5182" // unique ID number for this ability. Do not change this once established or it will invalidate collected stats.
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_DIRECTIONAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastRange" "0"
"AbilityCastPoint" "0.2"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "24 18 12 6"
// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "40"
// Stats
//-------------------------------------------------------------------------------------------------------------
"AbilityModifierSupportValue" "0.25" // mostly about the blink
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"speed" "3000"
}
"02"
{
"var_type" "FIELD_INTEGER"
"range" "625"
}
"03"
{
"var_type" "FIELD_FLOAT"
"backtrack_duration" "2.0"
}
"04"
{
"var_type" "FIELD_INTEGER"
"radius" "300"
}
}
}
//=================================================================================================================
// Faceless Void: Backtrack
//=================================================================================================================
"faceless_void_backtrack"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "5183" // unique ID number for this ability. Do not change this once established or it will invalidate collected stats.
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"dodge_chance_pct" "15 25 30 35"
}
}
}
//=================================================================================================================
// Faceless Void: Time Lock
//=================================================================================================================
"faceless_void_time_lock"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "5184" // unique ID number for this ability. Do not change this once established or it will invalidate collected stats.
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
// Stats
//-------------------------------------------------------------------------------------------------------------
"AbilityModifierSupportBonus" "25"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_FLOAT"
"duration" "1.0"
}
"02"
{
"var_type" "FIELD_FLOAT"
"duration_creep" "2.0"
}
"03"
{
"var_type" "FIELD_INTEGER"
"chance_pct" "15 25 30 35"
}
"04"
{
"var_type" "FIELD_INTEGER"
"bonus_damage" "50 65 80 95"
}
}
}
//=================================================================================================================
// Faceless Void: Time Dilation
//=================================================================================================================
"faceless_void_time_dilation"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "5691" // unique ID number for this ability. Do not change this once established or it will invalidate collected stats.
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET"
"AbilityCastPoint" "0.1"
"AbilityCooldown" "36 30 24 18"
"AbilityManaCost" "50"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"radius" "725"
}
"02"
{
"var_type" "FIELD_FLOAT"
"duration" "6 8 10 12"
}
"03"
{
"var_type" "FIELD_INTEGER"
"slow" "10 12 14 16"
}
}
}
//=================================================================================================================
// Faceless Void: Chronosphere
//=================================================================================================================
"faceless_void_chronosphere"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "5185" // unique ID number for this ability. Do not change this once established or it will invalidate collected stats.
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT"
"AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"FightRecapLevel" "2"
// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastRange" "600"
"AbilityCastPoint" "0.35 0.35 0.35"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "130.0 115.0 100.0"
// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "150 225 300"
// Stats
//-------------------------------------------------------------------------------------------------------------
"AbilityModifierSupportBonus" "50"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"radius" "525"
}
"02"
{
"var_type" "FIELD_FLOAT"
"duration" "4.5 5.0 5.5"
}
"03"
{
"var_type" "FIELD_FLOAT"
"duration_scepter" "6.0 7.0 8.0"
}
"04"
{
"var_type" "FIELD_FLOAT"
"cooldown_scepter" "60.0 60.0 60.0"
}
"05"
{
"var_type" "FIELD_INTEGER"
"vision_radius" "575"
}
}
}
"npc_dota_hero_faceless_void"
{
"Model" "models/heroes/faceless_void/faceless_void.vmdl"
"Portrait" "vgui/hud/heroportraits/portrait_faceless_void"
"IdleExpression" "scenes/faceless_void/faceless_void_exp_idle_01.vcd"
"SoundSet" "Hero_FacelessVoid"
"Enabled" "1"
"HeroUnlockOrder" "0"
"Role" "Carry,Initiator,Disabler,Escape,Durable"
"Rolelevels" "2,3,2,1,1"
"Team" "Bad"
"HeroID" "41"
"ModelScale" "0.840000"
"LoadoutScale" "0.950000"
"HeroGlowColor" "217 160 255"
"PickSound" "faceless_void_face_spawn_01"
"BanSound" "faceless_void_face_anger_02"
"CMEnabled" "1"
"NameAliases" "fv"
"url" "Faceless_Void"
"LastHitChallengeRival" "npc_dota_hero_bounty_hunter"
"HeroSelectSoundEffect" "Hero_FacelessVoid.Pick"
"AbilityLayout" "5"
"Ability1" "faceless_void_time_walk"
"Ability2" "faceless_void_time_dilation"
"Ability3" "faceless_void_time_lock"
"ability4" "faceless_void_backtrack"
"Ability5" "faceless_void_chronosphere"
"ArmorPhysical" "1"
"AttackCapabilities" "DOTA_UNIT_CAP_MELEE_ATTACK"
"AttackDamageMin" "37"
"AttackDamageMax" "43"
"AttackRate" "1.700000"
"AttackAnimationPoint" "0.500000"
"AttackAcquisitionRange" "600"
"AttackRange" "128"
"AttributePrimary" "DOTA_ATTRIBUTE_AGILITY"
"AttributeBaseStrength" "23"
"AttributeStrengthGain" "1.800000"
"AttributeBaseAgility" "23"
"AttributeAgilityGain" "2.65000"
"AttributeBaseIntelligence" "15"
"AttributeIntelligenceGain" "1.500000"
"StatusHealthRegen" "0.750000"
"MovementSpeed" "300"
"MovementTurnRate" "1.000000"
"BoundsHullName" "DOTA_HULL_SIZE_HERO"
"HealthBarOffset" "150"
"ItemSlots"
{
"0"
{
"SlotIndex" "0"
"SlotName" "weapon"
"SlotText" "#LoadoutSlot_Weapon"
"TextureWidth" "256"
"TextureHeight" "256"
"MaxPolygonsLOD0" "750"
"MaxPolygonsLOD1" "400"
}
"1"
{
"SlotIndex" "1"
"SlotName" "arms"
"SlotText" "#LoadoutSlot_Arms"
"TextureWidth" "256"
"TextureHeight" "128"
"MaxPolygonsLOD0" "400"
"MaxPolygonsLOD1" "350"
}
"2"
{
"SlotIndex" "2"
"SlotName" "body_head"
"SlotText" "#LoadoutSlot_Head"
"TextureWidth" "256"
"TextureHeight" "256"
"MaxPolygonsLOD0" "700"
"MaxPolygonsLOD1" "400"
}
"3"
{
"SlotIndex" "3"
"SlotName" "belt"
"SlotText" "#LoadoutSlot_Belt"
"TextureWidth" "256"
"TextureHeight" "128"
"MaxPolygonsLOD0" "600"
"MaxPolygonsLOD1" "350"
}
"4"
{
"SlotIndex" "4"
"SlotName" "shoulder"
"SlotText" "#LoadoutSlot_Shoulder"
"TextureWidth" "256"
"TextureHeight" "256"
"MaxPolygonsLOD0" "800"
"MaxPolygonsLOD1" "400"
}
"5"
{
"SlotIndex" "5"
"SlotName" "taunt"
"SlotText" "#LoadoutSlot_Taunt"
"DisplayInLoadout" "0"
}
}
"particle_folder" "particles/units/heroes/hero_faceless_void"
"GameSoundsFile" "soundevents/game_sounds_heroes/game_sounds_faceless_void.vsndevts"
"VoiceFile" "soundevents/voscripts/game_sounds_vo_faceless_void.vsndevts"
"RenderablePortrait"
{
"Particles"
{
"particles/units/heroes/hero_faceless_void/faceless_void_loadout.vpcf"
{
"0"
{
"type" "follow_origin"
"location" "attach_hitloc"
}
}
}
}
"Bot"
{
"Loadout"
{
"item_tango" "ITEM_CONSUMABLE | ITEM_SELLABLE"
"item_flask" "ITEM_CONSUMABLE | ITEM_SELLABLE"
"item_branches" "ITEM_CORE"
"item_branches" "ITEM_CORE"
"item_quelling_blade" "ITEM_CORE | ITEM_SELLABLE"
"item_magic_stick" "ITEM_CORE"
"item_boots" "ITEM_CORE"
"item_boots_of_elves" "ITEM_CORE"
"item_gloves" "ITEM_CORE"
"item_circlet" "ITEM_CORE"
"item_magic_wand" "ITEM_DERIVED | ITEM_SELLABLE"
"item_javelin" "ITEM_EXTENSION"
"item_javelin" "ITEM_EXTENSION"
"item_demon_edge" "ITEM_EXTENSION"
"item_monkey_king_bar" "ITEM_DERIVED"
"item_blade_of_alacrity" "ITEM_EXTENSION"
"item_boots_of_elves" "ITEM_EXTENSION"
"item_recipe_yasha" "ITEM_EXTENSION"
"item_yasha" "ITEM_DERIVED"
"item_ultimate_orb" "ITEM_EXTENSION"
"item_recipe_manta" "ITEM_EXTENSION"
"item_manta" "ITEM_DERIVED"
}
"Build"
{
"1" "faceless_void_time_walk"
"2" "faceless_void_backtrack"
"3" "faceless_void_time_walk"
"4" "faceless_void_backtrack"
"5" "faceless_void_time_walk"
"6" "faceless_void_chronosphere"
"7" "faceless_void_time_walk"
"8" "faceless_void_backtrack"
"9" "faceless_void_backtrack"
"10" "faceless_void_time_lock"
"11" "faceless_void_chronosphere"
"12" "faceless_void_time_lock"
"13" "faceless_void_time_lock"
"14" "faceless_void_time_lock"
"15" "attribute_bonus"
"16" "faceless_void_chronosphere"
"17" "attribute_bonus"
"18" "attribute_bonus"
"19" "attribute_bonus"
"20" "attribute_bonus"
"21" "attribute_bonus"
"22" "attribute_bonus"
"23" "attribute_bonus"
"24" "attribute_bonus"
"25" "attribute_bonus"
}
"HeroType" "DOTA_BOT_HARD_CARRY"
"LaningInfo"
{
"SoloDesire" "0"
"RequiresBabysit" "2"
"ProvidesBabysit" "0"
"SurvivalRating" "1"
"RequiresFarm" "2"
"ProvidesSetup" "0"
"RequiresSetup" "2"
}
}
}
//=================================================================================================================
// Ability: Axe Berserker's Call
//=================================================================================================================
"axe_berserkers_call"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "5007" // unique ID number for this ability. Do not change this once established or it will invalidate collected stats.
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_MOVEMENT"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"FightRecapLevel" "1"
// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.4"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "16 14 12 10"
// Damage.
//-------------------------------------------------------------------------------------------------------------
"AbilityDamage" "0 0 0 0"
// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "80 90 100 110"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"radius" "385"
}
"02"
{
"var_type" "FIELD_INTEGER"
"bonus_armor" "20 60 100 140"
}
"03"
{
"var_type" "FIELD_FLOAT"
"duration" "2.0 2.5 3.0 3.5"
}
"04"
{
"var_type" "FIELD_FLOAT"
"duration_scepter" "2.5 3.0 3.5 5"
}
}
}
//=================================================================================================================
// Ability: Axe Battle Hunger
//=================================================================================================================
"axe_battle_hunger_modif" // В файле npc_abilities_custom есть и оригинал данной абилки.
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "axe_battle_hunger"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
"FightRecapLevel" "1"
// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.3 0.3 0.3 0.3"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "20.0 15.0 10.0 5.0"
// Damage.
//-------------------------------------------------------------------------------------------------------------
"AbilityDamage" "16 24 32 40"
// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "75"
// Cast Range
//-------------------------------------------------------------------------------------------------------------
"AbilityCastRange" "750"
// Stats
//-------------------------------------------------------------------------------------------------------------
"AbilityModifierSupportValue" "0.1" // Primarily about the damage
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_FLOAT"
"duration" "10.0"
}
"02"
{
"var_type" "FIELD_INTEGER"
"slow" "-12"
}
"03"
{
"var_type" "FIELD_INTEGER"
"speed_bonus" "12"
}
}
}
//=================================================================================================================
// Ability: Axe Counter Helix
//=================================================================================================================
"axe_counter_helix"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "5009" // unique ID number for this ability. Do not change this once established or it will invalidate collected stats.
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "0.45 0.4 0.35 0.3"
// Damage.
//-------------------------------------------------------------------------------------------------------------
"AbilityDamage" "100 135 170 205"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"radius" "375"
}
"02"
{
"var_type" "FIELD_INTEGER"
"trigger_chance" "10 20 30 40"
}
"03"
{
"var_type" "FIELD_FLOAT"
"cooldown" "0.3 0.25 0.2 0.1"
}
"04"
{
"var_type" "FIELD_FLOAT"
"cooldown_scepter" "0"
}
}
}
//=================================================================================================================
// Ability: Axe Culling Blade
//=================================================================================================================
"axe_culling_blade"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "5010" // unique ID number for this ability. Do not change this once established or it will invalidate collected stats.
"AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"FightRecapLevel" "2"
// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.2"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "75.0 65.0 55.0"
// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "60 120 180"
// Cast Range
//-------------------------------------------------------------------------------------------------------------
"AbilityCastRange" "150"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"kill_threshold" "250 325 400"
}
"02"
{
"var_type" "FIELD_INTEGER"
"damage" "150 250 300"
}
"03"
{
"var_type" "FIELD_INTEGER"
"speed_bonus" "60"
}
"04"
{
"var_type" "FIELD_INTEGER"
"atk_speed_bonus_tooltip" "60"
}
"05"
{
"var_type" "FIELD_FLOAT"
"speed_duration" "12"
}
"06"
{
"var_type" "FIELD_INTEGER"
"speed_aoe" "900"
}
"07"
{
"var_type" "FIELD_FLOAT"
"cooldown_scepter" "6.0 6.0 6.0"
}
"08"
{
"var_type" "FIELD_INTEGER"
"kill_threshold_scepter" "400 525 700"
}
"09"
{
"var_type" "FIELD_FLOAT"
"speed_duration_scepter" "15"
}
}
//=================================================================================================================
// HERO: Axe
//=================================================================================================================
"npc_dota_hero_axe"
{
// General
//-------------------------------------------------------------------------------------------------------------
"Model" "models/heroes/axe/axe.vmdl"
"Portrait" "vgui/hud/heroportraits/portrait_axe"
"SoundSet" "Hero_Axe"
"PickSound" "axe_axe_spawn_01"
"BanSound" "axe_axe_anger_01"
"Enabled" "1"
"HeroUnlockOrder" "2"
"Role" "Initiator,Durable,Disabler,Jungler"
"Rolelevels" "3,3,2,2"
"Team" "Bad"
"HeroID" "2"
"BotImplemented" "1"
"ModelScale" "1.000000"
"LoadoutScale" "0.950000"
"HeroGlowColor" "222 60 36"
"CMEnabled" "1"
"url" "Axe"
"new_player_enable" "1"
"LastHitChallengeRival" "npc_dota_hero_juggernaut"
"HeroSelectSoundEffect" "Hero_Axe.Pick"
"Ability1" "axe_berserkers_call"
"Ability2" "axe_battle_hunger_modif"
"Ability3" "axe_counter_helix"
"Ability4" "axe_culling_blade"
"ArmorPhysical" "-1"
"AttackCapabilities" "DOTA_UNIT_CAP_MELEE_ATTACK"
"AttackDamageMin" "24"
"AttackDamageMax" "28"
"AttackRate" "1.700000"
"AttackAnimationPoint" "0.500000"
"AttackAcquisitionRange" "600"
"AttackRange" "128"
"AttributePrimary" "DOTA_ATTRIBUTE_STRENGTH"
"AttributeBaseStrength" "25"
"AttributeStrengthGain" "2.500000"
"AttributeBaseIntelligence" "18"
"AttributeIntelligenceGain" "1.600000"
"AttributeBaseAgility" "20"
"AttributeAgilityGain" "2.200000"
"StatusHealthRegen" "3.000000"
"MovementSpeed" "290"
"MovementTurnRate" "0.600000"
"BoundsHullName" "DOTA_HULL_SIZE_HERO"
"HealthBarOffset" "160"
"ItemSlots"
{
"0"
{
"SlotIndex" "0"
"SlotName" "weapon"
"SlotText" "#LoadoutSlot_Weapon"
"TextureWidth" "256"
"TextureHeight" "256"
"MaxPolygonsLOD0" "700"
"MaxPolygonsLOD1" "400"
}
"1"
{
"SlotIndex" "1"
"SlotName" "head"
"SlotText" "#LoadoutSlot_Head_Accessory"
"TextureWidth" "256"
"TextureHeight" "256"
"MaxPolygonsLOD0" "600"
"MaxPolygonsLOD1" "400"
}
"2"
{
"SlotIndex" "2"
"SlotName" "armor"
"SlotText" "#LoadoutSlot_Armor"
"TextureWidth" "256"
"TextureHeight" "256"
"MaxPolygonsLOD0" "600"
"MaxPolygonsLOD1" "400"
}
"3"
{
"SlotIndex" "3"
"SlotName" "belt"
"SlotText" "#LoadoutSlot_Belt"
"TextureWidth" "256"
"TextureHeight" "256"
"MaxPolygonsLOD0" "500"
"MaxPolygonsLOD1" "200"
}
"4"
{
"SlotIndex" "4"
"SlotName" "taunt"
"SlotText" "#LoadoutSlot_Taunt"
}
"5"
{
"SlotIndex" "5"
"SlotName" "misc"
"SlotText" "#LoadoutSlot_Misc"
"TextureWidth" "256"
"TextureHeight" "256"
"MaxPolygonsLOD0" "500"
"MaxPolygonsLOD1" "300"
}
"6"
{
"SlotIndex" "6"
"SlotName" "summon"
"SlotText" "#LoadoutSlot_Pet"
"ShowItemOnGeneratedUnits" "1"
"GeneratesUnits"
{
"0" "npc_dota_companion"
}
}
}
"particle_folder" "particles/units/heroes/hero_axe"
"GameSoundsFile" "soundevents/game_sounds_heroes/game_sounds_axe.vsndevts"
"VoiceFile" "soundevents/voscripts/game_sounds_vo_axe.vsndevts"
"RenderablePortrait"
{
"Particles"
{
"particles/units/heroes/hero_axe/axe_loadout.vpcf"
{
"0"
{
"type" "follow_attachment"
"location" "attach_attack1"
}
}
}
}
"Bot"
{
"Loadout"
{
"item_stout_shield" "ITEM_CORE"
"item_tango" "ITEM_CONSUMABLE | ITEM_SELLABLE"
"item_tango" "ITEM_CONSUMABLE | ITEM_SELLABLE"
"item_branches" "ITEM_CORE"
"item_branches" "ITEM_CORE"
"item_circlet" "ITEM_CORE"
"item_boots" "ITEM_CORE"
"item_magic_stick" "ITEM_CORE"
"item_magic_wand" "ITEM_DERIVED | ITEM_SELLABLE"
"item_ring_of_health" "ITEM_CORE"
"item_vitality_booster" "ITEM_CORE"
"item_vanguard" "ITEM_DERIVED"
"item_blades_of_attack" "ITEM_CORE"
"item_blades_of_attack" "ITEM_CORE"
"item_phase_boots" "ITEM_DERIVED"
"item_blink" "ITEM_EXTENSION"
"item_mithril_hammer" "ITEM_LUXURY"
"item_ogre_axe" "ITEM_LUXURY"
"item_recipe_black_king_bar" "ITEM_LUXURY"
"item_black_king_bar" "ITEM_DERIVED"
"item_reaver" "ITEM_LUXURY"
"item_vitality_booster" "ITEM_LUXURY"
"item_recipe_heart" "ITEM_LUXURY"
"item_heart" "ITEM_DERIVED"
"item_platemail" "ITEM_LUXURY"
"item_mystic_staff" "ITEM_LUXURY"
"item_recipe_shivas_guard" "ITEM_LUXURY"
"item_shivas_guard" "ITEM_DERIVED"
}
"Build"
{
"1" "axe_counter_helix"
"2" "axe_battle_hunger"
"3" "axe_battle_hunger"
"4" "axe_counter_helix"
"5" "axe_battle_hunger"
"6" "axe_culling_blade"
"7" "axe_battle_hunger"
"8" "axe_counter_helix"
"9" "axe_counter_helix"
"10" "axe_berserkers_call"
"11" "axe_culling_blade"
"12" "axe_berserkers_call"
"13" "axe_berserkers_call"
"14" "axe_berserkers_call"
"15" "attribute_bonus"
"16" "axe_culling_blade"
"17" "attribute_bonus"
"18" "attribute_bonus"
"19" "attribute_bonus"
"20" "attribute_bonus"
"21" "attribute_bonus"
"22" "attribute_bonus"
"23" "attribute_bonus"
"24" "attribute_bonus"
"25" "attribute_bonus"
}
"HeroType" "DOTA_BOT_TANK | DOTA_BOT_STUN_SUPPORT"
"LaningInfo"
{
"SoloDesire" "1"
"RequiresBabysit" "0"
"ProvidesBabysit" "1"
"SurvivalRating" "2"
"RequiresFarm" "1"
"ProvidesSetup" "0"
"RequiresSetup" "1"
}
}
}
Он поставил войду 5 умений, так что нормЧто-то ты явно не так делаешь. Без "AbilityLayout" все верно отображается, если умений всего 4 у персонажа. Войд один из таких.
Если аксу пихнешь мой варинт, он тоже будет работать. Скинь свой npc_heroes_custom.txt и npc_abilities_custom.txt
"npc_dota_hero_axe"
{
"override_hero" "npc_dota_hero_axe" // Hero to override
"Ability4" "axe_culling_blade_custom" // Ability 4
}
"axe_culling_blade_custom"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "axe_culling_blade"
"AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_CREEP | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"FightRecapLevel" "2"
// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.3"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "5.0 5.0 5.0"
// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "10 10 10"
// Cast Range
//-------------------------------------------------------------------------------------------------------------
"AbilityCastRange" "150"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"kill_threshold" "250 325 400"
}
"02"
{
"var_type" "FIELD_INTEGER"
"damage" "150 250 300"
}
"03"
{
"var_type" "FIELD_INTEGER"
"speed_bonus" "50"
}
"04"
{
"var_type" "FIELD_INTEGER"
"atk_speed_bonus_tooltip" "50"
}
"05"
{
"var_type" "FIELD_FLOAT"
"speed_duration" "6"
}
"06"
{
"var_type" "FIELD_INTEGER"
"speed_aoe" "900"
}
"07"
{
"var_type" "FIELD_FLOAT"
"cooldown_scepter" "1.0 1.0 1.0"
}
"08"
{
"var_type" "FIELD_INTEGER"
"kill_threshold_scepter" "300 450 600"
}
"09"
{
"var_type" "FIELD_FLOAT"
"speed_duration_scepter" "12"
}
}
}
Он поставил войду 5 умений, так что норм
"npc_dota_hero_spectre"
{
"override_hero" "npc_dota_hero_spectre"
"AbilityLayout" "4"
"Ability1" "spectre_spectral_dagger"
"Ability2" "spectre_desolate"
"Ability3" "spectre_dispersion_custom"
"Ability4" "spectre_time_lapse"
"Ability5" "attribute_bonus"
}
"spectre_dispersion_custom"
{
// General
//---------------------------------------------------------------------------------
"BaseClass" "spectre_dispersion"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
// Special
//---------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"damage_reflection_pct" "10 15 20 25"
}
"02"
{
"var_type" "FIELD_INTEGER"
"min_radius" "100 100 100 100"
}
"03"
{
"var_type" "FIELD_INTEGER"
"max_radius" "1000 1000 1000 1000"
}
}
}
"spectre_time_lapse"
{
// General
//------------------------------------------------------------------------------------------
"BaseClass" "weaver_time_lapse"
"AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_MOVEMENT | DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO"
"AbilityCastRange" "1000"
"AbilityTextureName" "spectre_haunt"
"FightRecapLevel" "2"
"AbilityCastPoint" "0.3 0.3 0.3 0.3"
"AbilityCooldown" "80 60 40"
"AbilityManaCost" "150 75 0"
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"cooldown_scepter" "20"
}
"02"
{
"var_type" "FIELD_INTEGER"
"cast_range_tooltip_scepter" "1000"
}
}
}
"npc_dota_hero_axe"
{
"override_hero" "npc_dota_hero_axe" // Hero to override
"Ability4" "axe_culling_blade_custom" // Ability 4
}
"axe_culling_blade_custom"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "axe_culling_blade"
"AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_CREEP | DOTA_UNIT_TARGET_BASIC"
"AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"FightRecapLevel" "2"
// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.3"
// Time
//-------------------------------------------------------------------------------------------------------------
"AbilityCooldown" "5.0 5.0 5.0"
// Cost
//-------------------------------------------------------------------------------------------------------------
"AbilityManaCost" "10 10 10"
// Cast Range
//-------------------------------------------------------------------------------------------------------------
"AbilityCastRange" "150"
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"kill_threshold" "250 325 400"
}
"02"
{
"var_type" "FIELD_INTEGER"
"damage" "150 250 300"
}
"03"
{
"var_type" "FIELD_INTEGER"
"speed_bonus" "50"
}
"04"
{
"var_type" "FIELD_INTEGER"
"atk_speed_bonus_tooltip" "50"
}
"05"
{
"var_type" "FIELD_FLOAT"
"speed_duration" "6"
}
"06"
{
"var_type" "FIELD_INTEGER"
"speed_aoe" "900"
}
"07"
{
"var_type" "FIELD_FLOAT"
"cooldown_scepter" "1.0 1.0 1.0"
}
"08"
{
"var_type" "FIELD_INTEGER"
"kill_threshold_scepter" "300 450 600"
}
"09"
{
"var_type" "FIELD_FLOAT"
"speed_duration_scepter" "12"
}
}
}
"AbilityCastPoint" "0.0 0.0 0.0 0.0" // Что-то из того, чего я не знаю