#base "abilities/tower_abilities.kv" #base "abilities/effect_abilities.kv" // Dota Heroes File "DOTAAbilities" { "Version" "1" "ability_dummy_unit" { "ID" "9001" "BaseClass" "ability_datadriven" "AbilityTextureName" "custom/rubick_empty1" "Modifiers" { "dummy_unit" { "Passive" "1" "IsHidden" "1" "States" { "MODIFIER_STATE_ATTACK_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_MAGIC_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_UNSELECTABLE" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NOT_ON_MINIMAP" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_UNIT_COLLISION" "MODIFIER_STATE_VALUE_ENABLED" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" } } } } "ability_shop" { "ID" "9002" "BaseClass" "ability_datadriven" "AbilityTextureName" "custom/rubick_empty1" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_HIDDEN" "AbilityType" "DOTA_ABILITY_TYPE_HIDDEN" "MaxLevel" "1" // "Modifiers" // { // "shop_unit" // { // "Passive" "1" // "IsHidden" "1" // "States" // { // "MODIFIER_STATE_NOT_ON_MINIMAP" "MODIFIER_STATE_VALUE_ENABLED" // "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" // "MODIFIER_STATE_NO_UNIT_COLLISION" "MODIFIER_STATE_VALUE_ENABLED" // "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" // } // } // } } "ability_touhoutd_release_tower" { "ID" "9003" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/release_tower" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" "AbilityCooldown" "0" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/econ/items/clockwerk/clockwerk_paraflare/clockwerk_para_rocket_flare_explosion.vpcf" "particle" "particles/heroes/alice/ability_alice_ex_release.vpcf" "soundfile" "soundevents/thdots_hero_sounds/thdots_alice_sounds.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Sound_THTD.ability_touhoutd_release_tower" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnTouhouReleaseTowerSpellStart" "Target" "TARGET" } } } "ability_touhoutd_blink" { "ID" "9004" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/blink" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityManaCost" "0" "MaxLevel" "1" "AbilityCooldown" "0" "OnSpellStart" { "FireSound" { "EffectName" "Sound_THTD.ability_touhoutd_blink.Start" "Target" "CASTER" } "FireSound" { "EffectName" "Sound_THTD.ability_touhoutd_blink" "Target" "CASTER" } "RunScript" { "Target" "POINT" "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "BlinkToPoint" } } } "ability_touhoutd_kill" { "ID" "9005" "BaseClass" "ability_datadriven" "AbilityTextureName" "ability_collection_power" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" "AbilityCooldown" "50.0" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnKillUnitSpellStart" "Target" "TARGET" } } } "ability_touhoutd_ex_up" { "ID" "9006" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/power_buff" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" "AbilityCooldown" "0" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/econ/items/clockwerk/clockwerk_paraflare/clockwerk_para_rocket_flare_explosion.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnTouhoutdExUp" "Target" "TARGET" } } "Modifiers" { "modifier_hero_effect_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "9.0" "States" { //"MODIFIER_STATE_NOT_ON_MINIMAP" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" } "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnIntervalThinkHeroEffect" } } } } } "ability_touhoutd_buy_normal_card" { "ID" "9008" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/buy_normal_card" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCooldown" "0.3" "MaxLevel" "1" "AbilityManaCost" "0" "AbilityGoldCost" "500" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "DrawNormalCard" } } } "ability_touhoutd_buy_senior_card" { "ID" "9009" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/buy_senior_card" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCooldown" "0.3" "MaxLevel" "1" "AbilityManaCost" "0" "AbilityGoldCost" "2500" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "DrawSeniorCard" } } } "ability_touhoutd_sort_item" { "ID" "9509" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/sort_item" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityCooldown" "5.0" "MaxLevel" "1" "AbilityManaCost" "0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "SortItem" } } } "ability_touhoutd_shop_wave_1" { "ID" "9010" "BaseClass" "ability_datadriven" "AbilityTextureName" "item_3018" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityCooldown" "2.0" "MaxLevel" "1" "AbilityManaCost" "0" "AbilityGoldCost" "10000" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "SkipWave" "AddWave" "%add_wave" "ItemName" "初级异变" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "cost" "10000" } "02" { "var_type" "FIELD_INTEGER" "add_wave" "20" } } } "ability_touhoutd_shop_wave_2" { "ID" "9510" "BaseClass" "ability_datadriven" "AbilityTextureName" "item_3031" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_AUTOCAST" "AbilityCooldown" "2.0" "MaxLevel" "2" "AbilityManaCost" "0" "AbilityGoldCost" "30000 0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "SkipWave" "AddWave" "%add_wave" "ItemName" "高级异变" } } "Modifiers" { "modifier_shop_wave_2_autocast_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.15" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnIntervalThinkAutoCast" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "cost" "30000 0" } "02" { "var_type" "FIELD_INTEGER" "count" "0 1" } "03" { "var_type" "FIELD_INTEGER" "add_wave" "100" } } } "ability_touhoutd_shop_wave_3" { "ID" "9610" "BaseClass" "ability_datadriven" "AbilityTextureName" "item_3011" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_AUTOCAST" "AbilityCooldown" "2.0" "MaxLevel" "2" "AbilityManaCost" "0" "AbilityGoldCost" "90000 0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "SkipWave" "AddWave" "%add_wave" "ItemName" "终级异变" } } "Modifiers" { "modifier_shop_wave_3_autocast_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.15" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnIntervalThinkAutoCast" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "cost" "90000 0" } "02" { "var_type" "FIELD_INTEGER" "count" "0 3" } "03" { "var_type" "FIELD_INTEGER" "add_wave" "500" } } } "ability_touhoutd_shop_roll" { "ID" "9511" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/shop_roll" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCooldown" "5.0" "MaxLevel" "3" "AbilityManaCost" "0" "AbilityGoldCost" "2000" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "RollCard" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "card_count" "3 4 5" } "02" { "var_type" "FIELD_INTEGER" "cost" "2000" } } } "ability_touhoutd_shop_buy_egg_level_1" { "ID" "9012" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/buy_egg_level_1" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCooldown" "0.3" "MaxLevel" "1" "AbilityManaCost" "0" "AbilityGoldCost" "1000" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "BuyEgg" "item_name" "item_1003" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "cost" "1000" } } } "ability_touhoutd_shop_buy_egg_level_2" { "ID" "9013" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/buy_egg_level_2" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCooldown" "0.3" "MaxLevel" "1" "AbilityManaCost" "0" "AbilityGoldCost" "1800" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "BuyEgg" "item_name" "item_1004" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "cost" "1800" } } } "ability_touhoutd_shop_buy_egg_level_3" { "ID" "9014" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/buy_egg_level_3" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCooldown" "0.3" "MaxLevel" "1" "AbilityManaCost" "0" "AbilityGoldCost" "7200" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "BuyEgg" "item_name" "item_1005" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "cost" "7200" } } } "ability_touhoutd_shop_buy_egg_level_4" { "ID" "9015" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/buy_egg_level_4" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCooldown" "0.3" "MaxLevel" "1" "AbilityManaCost" "0" "AbilityGoldCost" "35000" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "BuyEgg" "item_name" "item_1006" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "cost" "35000" } } } "ability_touhoutd_close_star" { "ID" "9016" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/close_star" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCooldown" "1" "MaxLevel" "1" "AbilityManaCost" "0" "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "CloseStar" } } } "ability_touhoutd_star_up" { "ID" "9017" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/star_up" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCooldown" "1" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "StarUp" } } } "ability_touhoutd_exp_up" { "ID" "9018" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/exp_up" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCooldown" "1" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "ExpUp" } } } "tt1" { "ID" "9032" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityType" "DOTA_ABILITY_TYPE_ATTRIBUTES" } "tt2" { "ID" "9033" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityType" "DOTA_ABILITY_TYPE_ATTRIBUTES" } "tt3" { "ID" "9034" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityType" "DOTA_ABILITY_TYPE_ATTRIBUTES" } "tt4" { "ID" "9035" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityType" "DOTA_ABILITY_TYPE_ATTRIBUTES" } "tt5" { "ID" "9036" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityType" "DOTA_ABILITY_TYPE_ATTRIBUTES" } "tt6" { "ID" "9037" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityType" "DOTA_ABILITY_TYPE_ATTRIBUTES" } "tt7" { "ID" "9038" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityType" "DOTA_ABILITY_TYPE_ATTRIBUTES" } "tt8" { "ID" "9039" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityType" "DOTA_ABILITY_TYPE_ATTRIBUTES" } }