"DOTAAbilities" { "ability_common_ai" { "ID" "9296" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/attack_buff" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_TOGGLE" "MaxLevel" "1" "AbilityCooldown" "1" "precache" { "soundfile" "soundevents/game_sounds/thdots_tower_attack_sounds.vsndevts" "soundfile" "soundevents/game_sounds/thdots_tower_sounds.vsndevts" "soundfile" "soundevents/game_sounds/thdots_tower_sound_voice.vsndevts" } "OnToggleOn" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCloseAI" } } "OnToggleOff" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCloseAI" } } } "ability_common_power_buff" { "ID" "9291" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/power_buff" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "MaxLevel" "5" "OnUpgrade" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "AddPowerAttackPercentage" "power_up" "%power_up" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_up" "0 15 30 45 60" } } } "ability_common_attack_speed_buff" { "ID" "9297" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/power_buff" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "MaxLevel" "5" "OnUpgrade" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "AddAttackSpeed" "attack_speed" "%attack_speed" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "attack_speed" "0 20 40 60 80" } } } "ability_common_mana_regen_buff" { "ID" "9292" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/power_buff" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "MaxLevel" "5" "OnUpgrade" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "AddManaRegenPercentage" "mana_regen" "%mana_regen" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "mana_regen" "0 30 60 90 120" } } } "ability_common_star_up_speed" { "ID" "9293" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/power_buff" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "MaxLevel" "5" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "speed_tooltips" "0 10 20 30 40" } } } "ability_common_decrease_armor_buff" { "ID" "9294" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/power_buff" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "MaxLevel" "5" "Modifiers" { "modifier_decrease_armor_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_decrease_armor_buff" "Aura_Radius" "%radius" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_decrease_armor_buff" { "IsHidden" "1" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCreatedDecreaseArmor" "armor" "%armor" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnDestroyDecreaseArmor" "armor" "%armor" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "1200" } "02" { "var_type" "FIELD_INTEGER" "armor" "0 1 2 3 4" } } } "ability_common_decrease_magic_armor_buff" { "ID" "9295" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/power_buff" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "MaxLevel" "5" "Modifiers" { "modifier_decrease_magic_armor_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_decrease_magic_armor_buff" "Aura_Radius" "%radius" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_decrease_magic_armor_buff" { "IsHidden" "1" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCreatedDecreaseMagicArmor" "magic_armor" "%magic_armor" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnDestroyDecreaseMagicArmor" "magic_armor" "%magic_armor" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "1200" } "02" { "var_type" "FIELD_INTEGER" "magic_armor" "0 3 6 9 12" } } } "thtd_lily_01" { "ID" "9097" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_lily_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY | DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "5" "AbilityCooldown" "1" "AbilityManaCost" "100" "AbilityCastPoint" "0.0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "OnSpellStart" { "FireSound" { "EffectName" "Sound_THTD.thtd_lily_01" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLily.lua" "Function" "OnLily01SpellStart" "Target" "POINT" "radius" "%radius" "power_factor" "%power_factor" "hp_damage" "%hp_damage" } } "Modifiers" { "modifier_lily_01_effect_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.25" "Attributes" "MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLily.lua" "Function" "OnLily01EffectThink" "mana_down" "%mana_down" } } } } "precache" { "particle" "particles/heroes/lily/ability_lily_01_ready.vpcf" "particle" "particles/heroes/lily/ability_lily_01_a.vpcf" } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "600" } "02" { "var_type" "FIELD_INTEGER" "power_factor" "60 120 180 240 300" } "03" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "04" { "var_type" "FIELD_INTEGER" "hp_damage" "1 2 3 4 5" } "05" { "var_type" "FIELD_INTEGER" "mana_down" "90" } "06" { "var_type" "FIELD_FLOAT" "effect_tick" "0.5" } } } "thtd_lily_02" { "ID" "9098" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_lily_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "AbilityCooldown" "25 12.5" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "2" "AbilityCastRange" "600" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_omniknight.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Sound_THTD.thtd_lily_02" "Target" "CASTER" } "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityLily.lua" "Function" "OnLily02SpellStart" "radius" "%radius" "duration" "%duration" } } "Modifiers" { "modifier_lily_02_buff" { "Duration" "%duration" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLily.lua" "Function" "OnCreatedLily02Buff" "damage_up" "%damage_up" "self_crit" "%self_crit" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLily.lua" "Function" "OnDestroyLily02Buff" } } } } "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_omniknight.vsndevts" } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "600" } "02" { "var_type" "FIELD_INTEGER" "duration" "15" } "03" { "var_type" "FIELD_INTEGER" "damage_up" "25" } "04" { "var_type" "FIELD_INTEGER" "self_crit" "4" } } } "thtd_nazrin_01" { "ID" "9099" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_nazrin_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" // Stats // ---------------------------------------------------------------- "MaxLevel" "5" "Modifiers" { "passive_nazrin_attack_gold" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityNazrin.lua" "Function" "OnNazrin01AttackLanded" "BonusChance" "%bonus_chance" "BonusGold" "%bonus_gold" "PowerPercent" "%power_percent" "nazrin" "%nazrin" "damage_up" "%damage_up" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "bonus_chance" "50" } "02" { "var_type" "FIELD_INTEGER" "bonus_gold" "8 16 32 64 256" } "03" { "var_type" "FIELD_INTEGER" "power_percent" "20" } "04" { "var_type" "FIELD_INTEGER" "nazrin" "2" //与thtd_byakuren_03一致 } "05" { "var_type" "FIELD_INTEGER" "damage_up" "1" } } } "thtd_minoriko_01" { "ID" "9100" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_minoriko_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" // Stats // ---------------------------------------------------------------- "MaxLevel" "4" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "grow_time" "250 400 650 1000" } } } "thtd_minoriko_02" { "ID" "9101" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_minoriko_02" "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_1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "2000" "OnSpellStart" { "FireSound" { "EffectName" "Sound_THTD.thtd_minoriko_02" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMinoriko.lua" "Function" "OnMinoriko02StarChange" "Target" "TARGET" "max_count" "%max_count" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "max_count" "3" } } } "thtd_mugiyousei_01" { "ID" "9102" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_mugiyousei_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "Modifiers" { "passive_mugiyousei_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityMugiyousei.lua" "Function" "OnMugiyousei01AttackLanded" "damage_duration" "%damage_duration" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_FLOAT" "damage_duration" "5.0" } } } "thtd_shanghainingyou_01" { "ID" "9103" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_shanghainingyou_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "Modifiers" { "modifier_shanghainingyou_crit_chance" { "Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE" "Passive" "1" "IsHidden" "1" "OnAttackStart" { "RemoveModifier" { "ModifierName" "modifier_shanghainingyou_crit" "Target" "CASTER" } "Random" { "Chance" "%crit_chance" "OnSuccess" { "FireSound" { "EffectName" "Sound_THTD.thtd_shanghainingyou_01" "Target" "CASTER" } "ApplyModifier" { "ModifierName" "modifier_shanghainingyou_crit" "Target" "CASTER" } } } } } "modifier_shanghainingyou_crit" { "IsHidden" "1" "Properties" { "MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE" "%crit_mult" } "OnAttackLanded" { "RemoveModifier" { "ModifierName" "modifier_shanghainingyou_crit" "Target" "CASTER" } } } } // Special // ------------------------------------------------------------------------------------------------------------- "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "crit_mult" "300" } "02" { "var_type" "FIELD_INTEGER" "crit_chance" "40" } } } "thtd_hourainingyou_01" { "ID" "9104" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_hourainingyou_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "Modifiers" { "passive_hourainingyou_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityHourainingyou.lua" "Function" "OnHourainingyou01AttackLanded" "chance" "%chance" "stun_time" "%stun_time" "lock_time" "%lock_time" } } } "modifier_hourainingyou_01_stun_lock" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "chance" "40" } "03" { "var_type" "FIELD_FLOAT" "stun_time" "0.5" } "04" { "var_type" "FIELD_FLOAT" "lock_time" "2.0" } } } "thtd_hanadayousei_01" { "ID" "9105" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_hanadayousei_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "Modifiers" { "passive_hanadayousei_attack" { "Passive" "1" "IsHidden" "1" "OnAttack" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityHanadayousei.lua" "Function" "OnHanadayousei01Attack" } } } } } "thtd_cirno_01" { "ID" "9106" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_cirno_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilityCastRange" "%radius" "Modifiers" { "modifier_cirno_01_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_cirno_01_slow_buff" "Aura_Radius" "%radius" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_cirno_01_slow_buff" { "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } "modifier_cirno_suwako_aura" { "IsHidden" "1" "Aura" "modifier_cirno_suwako_buff" "Aura_Radius" "1200" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_cirno_suwako_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCirno.lua" "Function" "OnCreatedCirnoExBuff" "damage_up" "%damage_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCirno.lua" "Function" "OnDestroyCirnoExBuff" } } } } // Special // ------------------------------------------------------------------------------------------------------------- "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "1200" } "02" { "var_type" "FIELD_INTEGER" "move_slow" "-30 -50" } "03" { "var_type" "FIELD_INTEGER" "damage_up" "20" } } } "thtd_cirno_02" { "ID" "9107" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_cirno_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" "AbilityCooldown" "1" "AbilityManaCost" "50" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "800" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCirno.lua" "Function" "OnCirno02SpellStart" "Target" "TARGET" "unit_max_count" "%unit_max_count" "ice_count" "%ice_count" "radius" "%radius" } } "OnProjectileHitUnit" { "DeleteOnHit" "true" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCirno.lua" "Target" "TARGET" "Function" "OnCirno02SpellHit" "StunTime" "%stun_time" "chance" "%chance" "stun_up" "%stun_up" } } "Modifiers" { "modifier_cirno_frozen_unit" { "States" { "MODIFIER_STATE_FROZEN" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "unit_max_count" "25" } "03" { "var_type" "FIELD_INTEGER" "ice_count" "8" } "04" { "var_type" "FIELD_INTEGER" "chance" "33" } "05" { "var_type" "FIELD_FLOAT" "stun_time" "0.8" } "06" { "var_type" "FIELD_INTEGER" "radius" "380" } "07" { "var_type" "FIELD_INTEGER" "stun_up" "100" } } } "thtd_cirno_03" { "ID" "9108" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_cirno_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "Modifiers" { "passive_cirno_03_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityCirno.lua" "Function" "OnCirno03Attack" "range" "%range" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "3" } "02" { "var_type" "FIELD_INTEGER" "range" "250" } } } "thtd_cirno_04" { "ID" "9109" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_cirno_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/heroes/thtd_cirno/ability_cirno_04_circle.vpcf" } "Modifiers" { "passive_cirno_04_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityCirno.lua" "Function" "OnCirno04Attack" "range" "%range" "max_count" "%max_count" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "range" "300" } "03" { "var_type" "FIELD_INTEGER" "max_count" "5" } } } "thtd_letty_01" { "ID" "9110" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_letty_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "2" "AbilityCooldown" "1" "AbilityManaCost" "40" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLetty.lua" "Function" "OnLetty01SpellStart" "Target" "POINT" "radius" "%radius" "max_count" "%max_count" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "radius" "600" } "03" { "var_type" "FIELD_INTEGER" "max_count" "2 3" } } } "thtd_letty_02" { "ID" "9111" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_letty_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" // Stats // ---------------------------------------------------------------- "MaxLevel" "3" "AbilityCastRange" "%radius" "Modifiers" { "modifier_letty_02_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_letty_02_magic_armor_buff" "Aura_Radius" "%radius" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_letty_02_magic_armor_buff" { "IsHidden" "1" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLetty.lua" "Function" "OnCreatedLetty02Buff" "magic_armor" "%magic_armor" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLetty.lua" "Function" "OnDestroyLetty02Buff" "magic_armor" "%magic_armor" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "1200" } "02" { "var_type" "FIELD_INTEGER" "magic_armor" "9 18 36" } } } "thtd_kogasa_01" { "ID" "9112" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kogasa_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "20" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "precache" { "particle" "particles/heroes/kogasa/ability_kogasa_01_debuff.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKogasa.lua" "Function" "OnKogasa01SpellStart" "Target" "POINT" "radius" "%radius" "duration_time" "%duration_time" } } "Modifiers" { "modifier_kogasa_debuff" { "EffectName" "particles/heroes/kogasa/ability_kogasa_01_debuff.vpcf" "EffectAttachType" "follow_origin" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_INTEGER" "radius" "400" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "2.0" } } } "thtd_kogasa_02" { "ID" "9113" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kogasa_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" // Stats // ---------------------------------------------------------------- "MaxLevel" "3" "AbilityCastRange" "%radius" "Modifiers" { "modifier_kogasa_02_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_kogasa_02_armor_buff" "Aura_Radius" "%radius" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_kogasa_02_armor_buff" { // "Properties" // { // "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS" "-20" // } "IsHidden" "1" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKogasa.lua" "Function" "OnCreatedKogasa02Debuff" "armor" "%armor" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKogasa.lua" "Function" "OnDestroyKogasa02Debuff" "armor" "%armor" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "1200" } "02" { "var_type" "FIELD_INTEGER" "armor" "4 8 16" } } } "thtd_kogasa_03" { "ID" "9114" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } "thtd_lyrica_01" { "ID" "9115" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_lyrica_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "2" "AbilityCooldown" "1" "AbilityManaCost" "40" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLyrica.lua" "Function" "OnLyrica01SpellStart" "Target" "POINT" "radius" "%radius" "damage_up" "%damage_up" } } "Modifiers" { "modifier_thtd_lyrica_01_aura" { "IsHidden" "1" "Aura" "modifier_lyrica_lunasa_merlin_combo" "Aura_Radius" "2500" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_lyrica_lunasa_merlin_combo" { "IsHidden" "1" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage1" "4" } "02" { "var_type" "FIELD_INTEGER" "radius" "400" } "03" { "var_type" "FIELD_INTEGER" "damage_up" "50" } "04" { "var_type" "FIELD_INTEGER" "power_damage2" "2" } "05" { "var_type" "FIELD_INTEGER" "power_damage3" "4" } "06" { "var_type" "FIELD_INTEGER" "open_aura_level" "2" } } } "thtd_lyrica_02" { "ID" "9116" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_lyrica_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" } "thtd_lunasa_01" { "ID" "9117" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_lunasa_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "40" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLunasa.lua" "Function" "OnLunasa01SpellStart" "Target" "POINT" "radius" "%radius" "duration_time" "%duration_time" "stun_time1" "%stun_time1" "stun_time2" "%stun_time2" } } "Modifiers" { "modifier_lunasa_01_debuff" { "Duration" "%duration_time" "EffectName" "particles/heroes/lunasa/ability_lunasa_buff.vpcf" "EffectAttachType" "follow_origin" } "modifier_lunasa_01_pause" { "OverrideAnimation" "ACT_DOTA_FLAIL" "EffectName" "particles/heroes/lunasa/ability_lunasa_buff.vpcf" "EffectAttachType" "follow_origin" "States" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "01" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } "01" { "var_type" "FIELD_INTEGER" "radius" "400" } "01" { "var_type" "FIELD_FLOAT" "stun_time1" "1.0" } "01" { "var_type" "FIELD_FLOAT" "stun_time2" "0.5" } } } "thtd_lunasa_02" { "ID" "9118" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_lunasa_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "Modifiers" { "passive_lunasa_02_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityLunasa.lua" "Function" "OnLunasa02AttackLanded" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } } } "thtd_merlin_01" { "ID" "9119" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_merlin_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "5" "AbilityCooldown" "1" "AbilityManaCost" "40" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMerlin.lua" "Function" "OnMerlin01SpellStart" "Target" "POINT" "radius" "%radius" "mana_regen" "%mana_regen" } } "Modifiers" { "modifier_merlin_01_debuff" { "Duration" "%move_slow_duration" "EffectName" "particles/heroes/merlin/ability_merlin_buff.vpcf" "EffectAttachType" "follow_origin" "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } "modifier_merlin_01_buff" { "Duration" "%duation_time" "EffectName" "particles/heroes/merlin/ability_merlin_buff.vpcf" "EffectAttachType" "follow_origin" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMerlin.lua" "Function" "OnMerlin01Created" "outgoing_percent" "%outgoing_percent" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMerlin.lua" "Function" "OnMerlin01Destroy" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_INTEGER" "radius" "400" } "03" { "var_type" "FIELD_INTEGER" "move_slow" "-10 -20 -30 -40 -50" } "04" { "var_type" "FIELD_FLOAT" "move_slow_duration" "5.0" } "05" { "var_type" "FIELD_INTEGER" "outgoing_percent" "50" } "06" { "var_type" "FIELD_FLOAT" "duation_time" "10.0" } "07" { "var_type" "FIELD_INTEGER" "mana_regen" "40" } } } "thtd_merlin_02" { "ID" "9120" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_merlin_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { } "Modifiers" { "passive_merlin_02_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityMerlin.lua" "Function" "OnMerlin02AttackLanded" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } } } "thtd_rumia_01" { "ID" "9121" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_rumia_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "5" "Modifiers" { "passive_rumia_01_kill" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityRumia.lua" "Function" "OnRumia01AttackLanded" } } "OnKill" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityRumia.lua" "Function" "OnRumia01Kill" "max_bonus" "%max_bonus" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "max_bonus" "5 10 20 40 60" } } } "thtd_rumia_02" { "ID" "9122" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_rumia_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/heroes/rumia/ability_rumia_02_ex_projectile.vpcf" } "OnProjectileHitUnit" { "DeleteOnHit" "true" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityRumia.lua" "Target" "TARGET" "Function" "OnRumiaProjectileHit" } } "Modifiers" { "passive_rumia_02_attack_landed" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityRumia.lua" "Function" "OnRumia02AttackLanded" "max_count" "%max_count" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage1" "2" } "02" { "var_type" "FIELD_INTEGER" "power_damage2" "4" } "03" { "var_type" "FIELD_INTEGER" "max_count" "10" } } } "thtd_rumia_03" { "ID" "9123" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_rumia_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/heroes/thtd_rumia/ability_rumia_03.vpcf" } "Modifiers" { "passive_rumia_03_attack_landed" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityRumia.lua" "Function" "OnRumia03AttackLanded" "chance" "%chance" } } } "modifier_rumia_03_pause" { "Duration" "1.5" "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_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_UNIT_COLLISION" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "chance" "10" } } } "thtd_rumia_04" { "ID" "9124" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_rumia_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "precache" { "particle" "particles/heroes/thtd_rumia/ability_rumia_04.vpcf" "particle" "particles/heroes/thtd_rumia/ability_rumia_04_explosion.vpcf" } "Modifiers" { "passive_rumia_04_attack_landed" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityRumia.lua" "Function" "Rumia04AttackTargetPoint" "range" "%range" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2 3" } "02" { "var_type" "FIELD_FLOAT" "range" "300" } } } "thtd_satori_01" { "ID" "9125" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_satori_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "5" "AbilityCooldown" "1" "AbilityManaCost" "10" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "500" "AOERadius" "%radius" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySatori.lua" "Function" "OnSatori01SpellStart" "Target" "POINT" "radius" "%radius" "duration_time" "%duration_time" } } "Modifiers" { "modifier_satori_01_debuff" { "EffectName" "particles/heroes/satori/ability_satori_01.vpcf" "EffectAttachType" "follow_origin" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySatori.lua" "Function" "OnSatori01ModifierCreated" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySatori.lua" "Function" "OnSatori01ModifierDestroy" } } "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "800" } "02" { "var_type" "FIELD_INTEGER" "move_slow" "-35 -40 -45 -50 -55" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "3.0" } } } "thtd_satori_02" { "ID" "9126" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_satori_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "Modifiers" { "modifier_thtd_satori_02_combo_buff" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "damage_percent" "40 100" } "02" { "var_type" "FIELD_INTEGER" "damage_up" "20" } "03" { "var_type" "FIELD_INTEGER" "has_combo_buff" "1" } } } "thtd_iku_01" { "ID" "9127" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_iku_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "Modifiers" { "passive_iku_01_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityIku.lua" "Function" "OnIku01AttackLanded" "radius" "%radius" "stun_time" "%stun_time" "max_count" "%max_count" } } } "modifier_iku_01_debuff" { "EffectName" "particles/heroes/iku/ability_iku_lightning.vpcf" "EffectAttachType" "follow_origin" "States" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_iku_01_debuff_lock" { "IsHidden" "1" "Duration" "%lock_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "radius" "400" } "03" { "var_type" "FIELD_INTEGER" "max_count" "6" } "04" { "var_type" "FIELD_FLOAT" "stun_time" "0.5 1.0" } "05" { "var_type" "FIELD_FLOAT" "lock_time" "1.5" } } } "thtd_iku_02" { "ID" "9128" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_iku_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "30" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityIku.lua" "Function" "OnIku02SpellStart" "Target" "POINT" "radius" "%radius" "duration_time" "%duration_time" "tick_time" "%tick_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "01" { "var_type" "FIELD_INTEGER" "radius" "400" } "04" { "var_type" "FIELD_FLOAT" "duration_time" "3.0" } "05" { "var_type" "FIELD_FLOAT" "tick_time" "0.3" } } } "thtd_mystia_01" { "ID" "9129" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_mystia_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" // Stats // ---------------------------------------------------------------- "MaxLevel" "5" "AbilityCastRange" "%radius" "Modifiers" { "modifier_mystia_01_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_mystia_01_buff" "Aura_Radius" "%radius" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_mystia_01_buff" { "IsHidden" "1" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMystia.lua" "Function" "OnCreatedMystia01Debuff" "penetration" "%penetration" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMystia.lua" "Function" "OnDestroyMystia01Debuff" "penetration" "%penetration" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "1200" } "02" { "var_type" "FIELD_INTEGER" "penetration" "1 2 4 7 13" } } } "thtd_mystia_02" { "ID" "9130" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_mystia_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" // Stats // ---------------------------------------------------------------- "MaxLevel" "3" "AbilityCastRange" "1200" "Modifiers" { "modifier_mystia_02_aura" { "Passive" "1" "IsHidden" "1" // "Aura" "modifier_mystia_02_buff" // "Aura_Radius" "%radius" // "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" // "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "ThinkInterval" "0.2" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMystia.lua" "Function" "OnThinkMystia02Buff" "Target" "TARGET" "radius" "%radius" } } } "modifier_mystia_02_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMystia.lua" "Function" "OnCreatedMystia02Buff" "critdamage" "%critdamage" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMystia.lua" "Function" "OnDestroyMystia02Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "1200" } "02" { "var_type" "FIELD_INTEGER" "critdamage" "50 100 200" } } } "thtd_marisa_01" { "ID" "9131" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_marisa_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING | DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_CHANNELLED" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastPoint" "0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "AbilityCooldown" "1" "AbilityManaCost" "40" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilityCastRange" "1000" "AbilityChannelTime" "%channel_time" //类型必须为FIELD_FLOAT,否则施法动作无效 "precache" { "particle" "particles/thd2/heroes/marisa/marisa_04_spark.vpcf" "particle" "particles/thd2/heroes/marisa/marisa_04_spark_wind_b.vpcf" "particle" "particles/heroes/marisa/marisa_04_spark_circle.vpcf" } "OnProjectileHitUnit" { "DeleteOnHit" "true" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Target" "TARGET" "Function" "OnMarisa02SpellHit" } } "OnSpellStart" { "FireSound" { "EffectName" "Sound_THTD.thtd_marisa_01" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Function" "OnMarisa01SpellStart" "Caster" "CASTER" "Target" "POINT" "channel_time" "%channel_time" } "CreateThinker" { "ModifierName" "modifier_thdots_marisa01_think_interval" "Target" "POINT" } } "OnChannelInterrupted" { "RemoveModifier" { "Target" "CASTER" "ModifierName" "modifier_thdots_marisa01_think_interval" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Function" "OnMarisa01SpellRemove" "Caster" "CASTER" } } "OnChannelFinish" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Function" "OnMarisa01SpellRemove" "Caster" "CASTER" } } "Modifiers" { "modifier_thdots_marisa01_think_interval" { "Duration" "%channel_time" "ThinkInterval" "0.02" "Attributes" "MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Function" "OnMarisa01SpellThink" "Caster" "CASTER" "Target" "TARGET" "DamageWidth" "%damage_width" "DamageLenth" "%damage_lenth" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Function" "OnMarisa01SpellRemove" "Caster" "CASTER" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_FLOAT" "power_damage" "3.5" } "02" { "var_type" "FIELD_INTEGER" "damage_width" "320" } "03" { "var_type" "FIELD_INTEGER" "damage_lenth" "1440" } "04" { "var_type" "FIELD_FLOAT" "channel_time" "5.0 7.0" } } } "thtd_marisa_02" { "ID" "9132" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_marisa_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "precache" { "particle" "particles/heroes/thtd_marisa/ability_marisa_02.vpcf" "particle" "particles/heroes/thtd_marisa/ability_marisa_02_pink.vpcf" "particle" "particles/heroes/thtd_marisa/ability_marisa_02_blue.vpcf" "particle" "particles/heroes/thtd_marisa/ability_marisa_02_normal.vpcf" } "OnProjectileHitUnit" { "DeleteOnHit" "true" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Target" "TARGET" "Function" "OnMarisa02SpellHit" "mana" "%mana" } } "Modifiers" { "passive_marisa_02_attack" { "Passive" "1" "IsHidden" "1" "OnAttackStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Function" "OnMarisa02AttackLanded" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "mana" "1" } } } "thtd_marisa_03" { "ID" "9133" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_marisa_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING | DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_CHANNELLED" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastPoint" "0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "AbilityCooldown" "1" "AbilityManaCost" "60" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilityCastRange" "1000" "AbilityChannelTime" "%channel_time" //类型必须为FIELD_FLOAT,否则施法动作无效 "precache" { "particle" "particles/thd2/heroes/marisa/marisa_04_spark.vpcf" "particle" "particles/thd2/heroes/marisa/marisa_04_spark_wind_b.vpcf" "particle" "particles/heroes/marisa/marisa_04_spark_circle.vpcf" } "OnProjectileHitUnit" { "DeleteOnHit" "true" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Target" "TARGET" "Function" "OnMarisa02SpellHit" } } "OnSpellStart" { "FireSound" { "EffectName" "Sound_THTD.thtd_marisa_01" "Target" "CASTER" } "FireSound" { "EffectName" "Voice_THTD.marisa.ability_03" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Function" "OnMarisa01SpellStart" "Caster" "CASTER" "Target" "POINT" "channel_time" "%channel_time" } "CreateThinker" { "ModifierName" "modifier_thdots_marisa01_think_interval" "Target" "POINT" } } "OnChannelInterrupted" { "RemoveModifier" { "Target" "CASTER" "ModifierName" "modifier_thdots_marisa01_think_interval" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Function" "OnMarisa01SpellRemove" "Caster" "CASTER" } } "OnChannelFinish" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Function" "OnMarisa01SpellRemove" "Caster" "CASTER" } } "Modifiers" { "modifier_thdots_marisa01_think_interval" { "Duration" "%channel_time" "ThinkInterval" "0.02" "Attributes" "MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Function" "OnMarisa01SpellThink" "Caster" "CASTER" "Target" "TARGET" "DamageWidth" "%damage_width" "DamageLenth" "%damage_lenth" "power_up" "%power_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMarisa.lua" "Function" "OnMarisa01SpellRemove" "Caster" "CASTER" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "7" } "02" { "var_type" "FIELD_INTEGER" "power_up" "20" } "03" { "var_type" "FIELD_INTEGER" "damage_width" "320" } "04" { "var_type" "FIELD_INTEGER" "damage_lenth" "1440" } "05" { "var_type" "FIELD_FLOAT" "channel_time" "5.0 7.0" } } } "thtd_tenshi_01" { "ID" "9134" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_tenshi_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" "AbilityCooldown" "1" "AbilityManaCost" "45" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityTenshi.lua" "Function" "OnTenshi01SpellStart" "Target" "TARGET" "range" "%range" "bonus_attack_power" "%bonus_attack_power" "duration_time" "%duration_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } "02" { "var_type" "FIELD_INTEGER" "range" "400" } "03" { "var_type" "FIELD_INTEGER" "bonus_attack_power" "25" } "04" { "var_type" "FIELD_INTEGER" "duration_time" "5" } } } "thtd_tenshi_02" { "ID" "9135" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_tenshi_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "Modifiers" { "modifier_thtd_tenshi_02_aura" { "IsHidden" "1" "ThinkInterval" "0.6" "OnAttackLanded" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityTenshi.lua" "Function" "OnTenshi02AttackLanded" "Target" "TARGET" "range" "%range" } } "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityTenshi.lua" "Function" "OnThinkTenshi02Buff" "chance" "%chance" "crit" "%crit" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityTenshi.lua" "Function" "OnDestroyTenshi02Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "chance" "40" } "02" { "var_type" "FIELD_INTEGER" "crit" "400" } "03" { "var_type" "FIELD_INTEGER" "range" "200" } "04" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "05" { "var_type" "FIELD_INTEGER" "open_aura_level" "1" } } } "thtd_tenshi_03" { "ID" "9136" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_tenshi_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_4" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilityCastRange" "1200" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_magnataur.vsndevts" "particle" "particles/heroes/tenshi/ability_tenshi_03.vpcf" "particle" "particles/units/heroes/hero_elder_titan/elder_titan_earth_splitter.vpcf" } "OnProjectileHitUnit" { "DeleteOnHit" "false" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityTenshi.lua" "Target" "TARGET" "Function" "OnTenshiProjectileHit" } } "Modifiers" { "passive_tenshi_03_attack_landed" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityTenshi.lua" "Function" "OnTenshi03AttackLanded" "max_count" "%max_count" } } } "modifier_thtd_tenshi_03_aura" { "IsHidden" "1" // "Aura" "modifier_tenshi_03_attack_speed_buff" // "Aura_Radius" "%radius" // "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" // "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "ThinkInterval" "0.2" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityTenshi.lua" "Function" "OnThinkTenshi03Buff" "Target" "TARGET" "radius" "%radius" } } } "modifier_tenshi_03_attack_speed_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityTenshi.lua" "Function" "OnCreatedTenshi03Buff" "attack_speed" "%attack_speed" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityTenshi.lua" "Function" "OnDestroyTenshi03Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "max_count" "15 8" } "03" { "var_type" "FIELD_INTEGER" "radius" "1200" } "04" { "var_type" "FIELD_INTEGER" "attack_speed" "20" } "05" { "var_type" "FIELD_INTEGER" "open_aura_level" "1" } } } "thtd_patchouli_01" { "ID" "9137" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_patchouli_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" "MaxLevel" "5" "AbilityCooldown" "1" "AbilityManaCost" "50" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%range1" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_kunkka.vsndevts" "particle" "particles/econ/items/treant_protector/ti7_shoulder/treant_ti7_livingarmor.vpcf" "particle" "particles/econ/items/treant_protector/ti7_shoulder/treant_ti7_crimson_livingarmor.vpcf" "particle" "particles/econ/items/treant_protector/ti7_shoulder/treant_ti7_golden_livingarmor.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityPatchouli.lua" "Function" "OnPatchouli01SpellStart" "Target" "POINT" "range1" "%range1" "range2" "%range2" "duration_time2" "%duration_time2" "range3" "%range3" "duration_time3" "%duration_time3" } } "Modifiers" { "modifier_patchouli_01_mercury_poison_debuff" { "Duration" "%duration_time3" "ThinkInterval" "0.2" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityPatchouli.lua" "Function" "OnPatchouli01MercuryPoisonThink" "Target" "TARGET" } } "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityPatchouli.lua" "Function" "OnPatchouli01MercuryPoisonCreated" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityPatchouli.lua" "Function" "OnPatchouli01MercuryPoisonDestroy" } } } "modifier_patchouli_01_buff_fire" { } "modifier_patchouli_01_buff_water" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityPatchouli.lua" "Function" "OnPatchouli01BuffWaterCreated" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityPatchouli.lua" "Function" "OnPatchouli01BuffWaterDestroy" } } } "modifier_patchouli_01_debuff_gold" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage1" "8" } "02" { "var_type" "FIELD_INTEGER" "range1" "350" } "03" { "var_type" "FIELD_INTEGER" "power_damage2" "1" } "04" { "var_type" "FIELD_INTEGER" "range2" "300" } "05" { "var_type" "FIELD_FLOAT" "duration_time2" "10.0" } "06" { "var_type" "FIELD_INTEGER" "power_damage3" "4" } "07" { "var_type" "FIELD_INTEGER" "range3" "300" } "08" { "var_type" "FIELD_FLOAT" "duration_time3" "10.0" } } } "thtd_patchouli_02" { "ID" "9138" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_patchouli_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityCooldown" "1" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "1" "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityPatchouli.lua" "Function" "OnPatchouli02SpellStart" } } } "thtd_patchouli_03" { "ID" "9139" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_patchouli_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCastRange" "1200" "Modifiers" { "modifier_patchouli_03_aura" { "Passive" "1" "IsPurgable" "0" "IsHidden" "1" "Aura" "modifier_patchouli_03_buff" "Aura_Radius" "1200" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_patchouli_03_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityPatchouli.lua" "Function" "OnCreatedPatchouli03Buff" "magic_outgoing" "%magic_outgoing" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityPatchouli.lua" "Function" "OnDestroyPatchouli03Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "magic_outgoing" "30" } } } "thtd_patchouli_04" { "ID" "9140" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_patchouli_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "MaxLevel" "2" "AbilityCooldown" "20" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "800" "precache" { "particle" "particles/heroes/thtd_patchouli_04/ability_patchouli_04.vpcf" } "OnSpellStart" { "FireSound" { "EffectName" "Voice_THTD.patchouli.ability_04" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityPatchouli.lua" "Function" "OnPatchouli04SpellStart" "range" "%range" "duration_time" "%duration_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "10" } "02" { "var_type" "FIELD_INTEGER" "range" "1000" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "0 2.0" } } } "thtd_reisen_01" { "ID" "9141" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_reisen_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_sniper.vsndevts" } "Modifiers" { "passive_reisen_01_attack_landed" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityReisen.lua" "Function" "OnReisen01AttackLanded" } } } } } "thtd_reisen_02" { "ID" "9142" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_reisen_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "Modifiers" { "passive_reisen_02_create_illusion" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityReisen.lua" "Function" "OnReisen02AttackLanded" "max_count" "%max_count" "chance" "%chance" } } } "modifier_reisen_02_illusion" { "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" "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "chance" "60" } "02" { "var_type" "FIELD_INTEGER" "max_count" "3 5" } } } "thtd_reisen_03" { "ID" "9143" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_reisen_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCooldown" "1" "AbilityManaCost" "60" "AbilityCastRange" "1000" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityReisen.lua" "Function" "OnReisen03SpellStart" "range" "%range" "damage_up" "%damage_up" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "range" "450" } "03" { "var_type" "FIELD_INTEGER" "damage_up" "100" } } } "thtd_yuyuko_01" { "ID" "9144" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yuyuko_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCooldown" "1" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "30" "MaxLevel" "2" "AbilityCastRange" "1000" "OnProjectileHitUnit" { "DeleteOnHit" "1" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuyuko.lua" "Target" "TARGET" "Function" "OnYuyuko01SpellHit" } } "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityYuyuko.lua" "Function" "OnYuyuko01SpellStart" "max_count" "%max_count" "tick_time" "%tick_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "max_count" "1 2" } "03" { "var_type" "FIELD_FLOAT" "tick_time" "0.2" } } } "thtd_yuyuko_02" { "ID" "9145" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yuyuko_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "chance" "10 15" } } } "thtd_yuyuko_03" { "ID" "9146" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yuyuko_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastPoint" "0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "OverrideAnimation" "ACT_DOTA_CHANNEL_ABILITY_4" "AbilityCooldown" "20" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "AbilityChannelTime" "5.0" "AbilityCastRange" "1000" "AOERadius" "%damage_radius" "precache" { "particle" "particles/thd2/heroes/yuyuko/ability_yuyuko_04_effect.vpcf" "particle" "particles/thd2/heroes/yuyuko/ability_yuyuko_04_effect_a.vpcf" "particle" "particles/heroes/yuyuko/ability_yuyuko_04_effect_d.vpcf" "soundfile" "soundevents/thdots_hero_sounds/thdots_yuyuko_sounds.vsndevts" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuyuko.lua" "Function" "OnSpellStartYuyuko03" "Caster" "CASTER" "Target" "POINT" "damage_radius" "%damage_radius" } "ApplyModifier" { "ModifierName" "modifier_yuyuko_03_think" "Target" "CASTER" } } "OnChannelInterrupted" { "RemoveModifier" { "Target" "CASTER" "ModifierName" "modifier_yuyuko_03_think" } } "Modifiers" { "modifier_yuyuko_03_think" { "Duration" "%duration_time" "ThinkInterval" "0.25" "Attributes" "MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuyuko.lua" "Function" "OnThinkYuyuko03" "Target" "POINT" "damage_radius" "%damage_radius" "health_kill" "%health_kill" } } } "modifier_yuyuko04_killed" { "Duration" "1.0" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "health_kill" "30" } "02" { "var_type" "FIELD_INTEGER" "damage_radius" "550" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } "04" { "var_type" "FIELD_INTEGER" "power_bonus" "5" } "05" { "var_type" "FIELD_INTEGER" "max_count" "100" } } } "thtd_youmu_01" { "ID" "9147" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_youmu_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "precache" { "particle" "particles/thd2/heroes/yuyuko/ability_yuyuko_04_effect.vpcf" "particle" "particles/thd2/heroes/yuyuko/ability_yuyuko_04_effect_a.vpcf" "particle" "particles/heroes/yuyuko/ability_yuyuko_04_effect_d.vpcf" "soundfile" "soundevents/thdots_hero_sounds/thdots_yuyuko_sounds.vsndevts" } "Modifiers" { "passive_youmu_01_attack_landed" { "Passive" "1" "IsHidden" "1" "EffectName" "particles/thd2/heroes/youmu/ability_youmu_soul.vpcf" "EffectAttachType" "follow_origin" "Properties" { "MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT" "%attack_speed" } "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityYoumu.lua" "Function" "OnYoumu01AttackLanded" "max_count" "%max_count" "length" "%length" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "max_count" "8" } "03" { "var_type" "FIELD_INTEGER" "length" "1000" } "04" { "var_type" "FIELD_INTEGER" "attack_speed" "0 50" } } } "thtd_youmu_02" { "ID" "9148" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_youmu_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "chance" "40 70" } } } "thtd_youmu_03" { "ID" "9149" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_youmu_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityManaCost" "15" "AbilityCastRange" "1000" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/thd2/heroes/youmu/youmu_04_sword_effect.vpcf" "particle" "particles/heroes/youmu/youmu_04_circle.vpcf" "particle" "particles/heroes/youmu/youmu_02_effect_explosion.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYoumu.lua" "Function" "OnYoumu03SpellStart" "Target" "POINT" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } } } "thtd_rin_01" { "ID" "9150" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_rin_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityManaCost" "35" "AbilityCastRange" "1000" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "OnProjectileHitUnit" { "DeleteOnHit" "false" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityRin.lua" "Target" "TARGET" "Function" "OnRin01ProjectileHit" } } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityRin.lua" "Function" "OnRin01SpellStart" "Target" "TARGET" } } "Modifiers" { "modifier_rin_01_debuff" { "EffectName" "particles/heroes/rin/ability_rin_02_body_c.vpcf" "EffectAttachType" "follow_origin" "OnDeath" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityRin.lua" "Function" "OnRin01Death" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } } } "thtd_rin_02" { "ID" "9151" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_rin_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "3" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_nevermore.vsndevts" } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "hp_damage" "4 8 15" } "02" { "var_type" "FIELD_INTEGER" "power_damage" "48" } "03" { "var_type" "FIELD_INTEGER" "range" "300" } } } "thtd_utsuho_01" { "ID" "9152" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_utsuho_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilityCastRange" "1200" "Modifiers" { "modifier_thtd_utsuho_01_aura" { "IsHidden" "1" "Aura" "modifier_utsuho_rin_buff" "Aura_Radius" "1200" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_utsuho_rin_buff" { "EffectName" "particles/heroes/rin/ability_rin_utsuho_buff.vpcf" "EffectAttachType" "follow_origin" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityUtsuho.lua" "Function" "OnCreatedUtsuhoRinBuff" "damage_up" "%damage_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityUtsuho.lua" "Function" "OnDestroyUtsuhoRinBuff" } } } "passive_utsuho_01_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityUtsuho.lua" "Function" "OnUtsuho01Attack" "range" "%range" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "range" "180" } "03" { "var_type" "FIELD_INTEGER" "damage_up" "20" } "04" { "var_type" "FIELD_INTEGER" "open_aura_level" "2" } } } "thtd_utsuho_02" { "ID" "9153" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_utsuho_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_invoker.vsndevts" } "Modifiers" { "passive_utsuho_02_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityUtsuho.lua" "Function" "OnUtsuho02Attack" "range" "%range" "max_count" "%max_count" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "3" } "02" { "var_type" "FIELD_INTEGER" "range" "360" } "03" { "var_type" "FIELD_INTEGER" "max_count" "5" } } } "thtd_utsuho_03" { "ID" "9154" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_utsuho_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_CHANNELLED" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCastPoint" "0.1" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "AbilityCooldown" "30 15" "AbilityManaCost" "60 30" "MaxLevel" "2" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityChannelTime" "%duration_time" "AOERadius" "%radius" "precache" { "particle" "particles/thd2/heroes/utsuho/ability_utsuho04_effect.vpcf" "particle" "particles/units/heroes/hero_phoenix/phoenix_supernova_reborn.vpcf" "particle" "particles/thd2/heroes/utsuho/ability_utsuho04_end.vpcf" "soundfile" "soundevents/thdots_hero_sounds/thdots_utsuho_sounds.vsndevts" "soundfile" "soundevents/game_sounds_heroes/game_sounds_phoenix.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Voice_Thdots_Utsuho.AbilityUtsuho04" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityUtsuho.lua" "Function" "OnUtsuho03SpellStart" "Caster" "CASTER" "Target" "POINT" } "DelayedAction" { "Delay" "0" "Action" { "ApplyModifier" { "Target" "CASTER" "ModifierName" "modifier_thdots_Utsuho04_think_interval" } } } } "OnChannelInterrupted" { "RemoveModifier" { "Target" "CASTER" "ModifierName" "modifier_thdots_Utsuho04_think_interval" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityUtsuho.lua" "Function" "OnUtsuho03SpellRemove" "Target" { "Types" "DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_HERO" "Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Flags" "DOTA_UNIT_TARGET_FLAG_NOT_MAGIC_IMMUNE_ALLIES" "Center" "POINT" "Radius" "%radius" } } } "OnChannelFinish" { "RemoveModifier" { "Target" "CASTER" "ModifierName" "modifier_thdots_Utsuho04_think_interval" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityUtsuho.lua" "Function" "OnUtsuho03SpellRemove" "Target" { "Types" "DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_HERO" "Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Flags" "DOTA_UNIT_TARGET_FLAG_NOT_MAGIC_IMMUNE_ALLIES" "Center" "POINT" "Radius" "%radius" } } } "Modifiers" { "modifier_thdots_Utsuho04_think_interval" { "ThinkInterval" "%thinkInterval" "Duration" "%duration_time" "OverrideAnimation" "Act_DOTA_CAST_ABILITY_4" "Attributes" "MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE" "OnCreated" { "FireSound" { "EffectName" "Hero_Phoenix.SuperNova.Cast" "Target" "TARGET" } } "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityUtsuho.lua" "Function" "OnUtsuho03SpellThink" "Gravity" "%gravity" "radius" "%radius" } } "OnDestroy" { "RemoveModifier" { "Target" "CASTER" "ModifierName" "modifier_thdots_Utsuho04_think_interval" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityUtsuho.lua" "Function" "OnUtsuho03SpellRemove" "Target" { "Types" "DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_HERO" "Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Flags" "DOTA_UNIT_TARGET_FLAG_NOT_MAGIC_IMMUNE_ALLIES" "Center" "POINT" "Radius" "%radius" } } "FireSound" { "EffectName" "Hero_Phoenix.SuperNova.Explode" "Target" "TARGET" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "7" } "02" { "var_type" "FIELD_FLOAT" "thinkInterval" "0.05" } "03" { "var_type" "FIELD_INTEGER" "gravity" "200" } "04" { "var_type" "FIELD_INTEGER" "radius" "750" //与特效视觉匹配,不要改 } "05" { "var_type" "FIELD_FLOAT" "duration_time" "3.5" } } } "thtd_utsuho_04" { "ID" "9155" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } "thtd_reimu_01" { "ID" "9156" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_reimu_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "precache" { "particle" "particles/heroes/thtd_reimu/ability_reimu_01_projectile.vpcf" } "OnProjectileHitUnit" { "DeleteOnHit" "true" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityReimu.lua" "Target" "TARGET" "Function" "OnReimu01ProjectileHit" } } "Modifiers" { "passive_reimu_01_attack_landed" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityReimu.lua" "Function" "OnReimu01AttackLanded" "max_count" "%max_count" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "3" } "02" { "var_type" "FIELD_INTEGER" "max_count" "6 3" } } } "thtd_reimu_02" { "ID" "9157" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_reimu_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "chance" "25 50" } } } "thtd_reimu_03" { "ID" "9158" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_reimu_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_3" "AbilityManaCost" "30" "AbilityCastRange" "1000" "AbilityCooldown" "1" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/heroes/reimu/reimu_01_ball.vpcf" "particle" "particles/heroes/reimu/reimu_01_effect.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityReimu.lua" "Function" "OnReimu03SpellStart" "Target" "POINT" "range" "%range" "stun_time" "%stun_time" "max_count" "%max_count" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "6" } "02" { "var_type" "FIELD_FLOAT" "stun_time" "0.6" } "03" { "var_type" "FIELD_INTEGER" "max_count" "3" } "04" { "var_type" "FIELD_INTEGER" "range" "600" } } } "thtd_reimu_04" { "ID" "9159" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_reimu_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "precache" { "particle" "particles/heroes/thtd_reimu/ability_reimu_04_projectile.vpcf" "particle" "particles/heroes/thtd_reimu/ability_reimu_04_explosion.vpcf" "particle" "particles/heroes/thtd_reimu/ability_reimu_04.vpcf" } "Modifiers" { "modifier_reimu_04_think" { "ThinkInterval" "0.02" "Passive" "1" "IsHidden" "1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityReimu.lua" "Function" "OnReimu04SpellThink" "range" "%range" "power_up" "%power_up" } } "OnDeath" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityReimu.lua" "Function" "Reimu04ReleaseBall" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityReimu.lua" "Function" "Reimu04ReleaseBall" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "9 12" } "02" { "var_type" "FIELD_INTEGER" "range" "400" } "03" { "var_type" "FIELD_INTEGER" "power_up" "120" } } } "thtd_reimu_05" { "ID" "9160" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } "thtd_daiyousei_01" { "ID" "9161" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_daiyousei_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "5" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" "AbilityCooldown" "7.5" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1200" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_enchantress.vsndevts" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityDaiyousei.lua" "Function" "OnDaiyousei01SpellStart" "Target" "TARGET" "level_up" "%level_up" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "level_up" "1 2 3 4 5" } } } "thtd_daiyousei_02" { "ID" "9162" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_daiyousei_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "AbilityCooldown" "0" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "15" "MaxLevel" "1" "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityDaiyousei.lua" "Function" "OnDaiyousei02SpellStart" "mana_reg" "%mana_reg" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "mana_reg" "10" } } } "thtd_daiyousei_03" { "ID" "9163" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_daiyousei_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "3" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityDaiyousei.lua" "Function" "OnDaiyousei03SpellStart" "Target" "TARGET" } } "OnUpgrade" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityDaiyousei.lua" "Function" "OnUpgradeDaiyousei03Buff" "damage_up" "%damage_up" "crino_up" "%crino_up" } } "Modifiers" { "modifier_daiyousei_03" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityDaiyousei.lua" "Function" "OnCreatedDaiyousei03Buff" "damage_up" "%damage_up" "crino_up" "%crino_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityDaiyousei.lua" "Function" "OnDestroyDaiyousei03Buff" } } } "modifier_thtd_daiyousei_03_combo_buff" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "damage_up" "30 40 60" } "02" { "var_type" "FIELD_INTEGER" "crino_up" "45 60 90" } "03" { "var_type" "FIELD_INTEGER" "has_combo_buff" "1" } } } "thtd_daiyousei_04" { "ID" "9164" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_daiyousei_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/daiyousei/ability_daiyousei_03.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityDaiyousei.lua" "Function" "OnDaiyousei04SpellStart" "Target" "TARGET" } } } "thtd_remilia_01" { "ID" "9165" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_remilia_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" "AbilityCooldown" "1" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "30" "MaxLevel" "1" "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/moluo/ability_moluo01_explosion_vip.vpcf" "particle" "particles/heroes/moluo/abiilty_moluo_014.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_nightstalker.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Hero_Nightstalker.Void" "Target" "CASTER" } "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityRemilia.lua" "Function" "OnRemilia01SpellStart" "range" "%range" "power_bonus" "%power_bonus" "duration_time" "%duration_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } "02" { "var_type" "FIELD_INTEGER" "range" "800" } "03" { "var_type" "FIELD_INTEGER" "power_bonus" "1" } "04" { "var_type" "FIELD_FLOAT" "duration_time" "10.0" } } } "thtd_remilia_02" { "ID" "9166" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_remilia_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "damage_up" "1 2" } "02" { "var_type" "FIELD_INTEGER" "max_up" "50" } "03" { "var_type" "FIELD_INTEGER" "duration_time" "20" } } } "thtd_remilia_03" { "ID" "9167" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_remilia_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_3" "AbilityCooldown" "8" "AbilityManaCost" "0" "AbilityCastRange" "2000" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/heroes/remilia/ability_remilia_01.vpcf" "particle" "particles/heroes/thtd_remilia/ability_remilia_03_end.vpcf" "particle" "particles/heroes/remilia/ability_remilia_03_spark.vpcf" "particle" "particles/heroes/remilia/ability_remilia_04_laser.vpcf" "particle" "particles/heroes/remilia/ability_remilia_04_laser_rocket.vpcf" "particle" "particles/heroes/remilia/ability_remilia_01_explosion.vpcf" } "OnProjectileHitUnit" { "DeleteOnHit" "false" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityRemilia.lua" "Target" "TARGET" "Function" "OnRemilia03SpellHit" } } "OnSpellStart" { "FireSound" { "EffectName" "Sound_THTD.thtd_remilia_03" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityRemilia.lua" "Function" "OnRemilia03SpellStart" "Target" "POINT" "distance" "%distance" } } "Modifiers" { "modifier_remilia_03_debuff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityRemilia.lua" "Function" "OnRemilia03Created" } } "OnDeath" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityRemilia.lua" "Function" "OnRemilia03Destroy" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "distance" "2500" } } } "thtd_remilia_04" { "ID" "9168" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_remilia_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "chance" "8 15" } "02" { "var_type" "FIELD_INTEGER" "power_damage_03" "48" } "03" { "var_type" "FIELD_INTEGER" "damage_up" "60" } "04" { "var_type" "FIELD_INTEGER" "power_damage" "10" } "05" { "var_type" "FIELD_FLOAT" "tick_time" "0.5" } "06" { "var_type" "FIELD_FLOAT" "duration_time" "3.0" } "07" { "var_type" "FIELD_INTEGER" "range" "500" } } } "thtd_flandre_01" { "ID" "9169" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_flandre_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCooldown" "10" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "1" "AbilityCastRange" "1000" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_phantom_lancer.vsndevts" } "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityFlandre.lua" "Function" "OnFlandre01SpellStart" } } "Modifiers" { "modifier_flandre_01_illusion" { "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" "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" } } } } "thtd_flandre_02" { "ID" "9170" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_flandre_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/heroes/thtd_flandre/ability_flandre_02_fire.vpcf" "particle" "particles/heroes/thtd_flandre/abiilty_flandre_02_explosion.vpcf" "particle" "particles/units/heroes/hero_bounty_hunter/bounty_hunter_track_trail.vpcf" "particle" "particles/units/heroes/hero_bounty_hunter/bounty_hunter_track_shield.vpcf" } "Modifiers" { "modifier_flandre_02_attack_start" { "IsHidden" "1" "Passive" "1" "OnCreated" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityFlandre.lua" "Function" "OnFlandre02Created" } } "OnAttackStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityFlandre.lua" "Function" "OnFlandre02AttackStart" } } "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityFlandre.lua" "Function" "OnFlandre02AttackLanded" } } "OnDestroy" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityFlandre.lua" "Function" "OnFlandre02Destroy" } } } "modifier_flandre_damage_lock" { "IsHidden" "1" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityFlandre.lua" "Function" "OnCreatedFlandreLock" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityFlandre.lua" "Function" "OnDestroyFlandreLock" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "damage_up" "1 2" } "03" { "var_type" "FIELD_INTEGER" "max_up" "50" } "04" { "var_type" "FIELD_INTEGER" "duration_time" "20" } } } "thtd_flandre_03" { "ID" "9171" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_flandre_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "damage_up" "2" } } } "thtd_flandre_04" { "ID" "9172" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_flandre_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCooldown" "6.0" "AbilityCastPoint" "0.0" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "1" "AbilityCastRange" "2000" "precache" { "particle" "particles/heroes/thtd_flandre/ability_flandre_04_start.vpcf" } "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityFlandre.lua" "Function" "OnFlandre04SpellStart" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "10" } } } "thtd_sakuya_01" { "ID" "9173" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_sakuya_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" "AbilityCooldown" "0.2" "AbilityManaCost" "40" "AbilityCastRange" "1000" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/thd2/heroes/sakuya/ability_sakuya_01.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_bristleback.vsndevts" } "OnProjectileHitUnit" { "DeleteOnHit" "false" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySakuya.lua" "Target" "TARGET" "Function" "OnSakuya01ProjectileHit" } } "OnSpellStart" { "FireSound" { "EffectName" "Hero_Bristleback.QuillSpray.Cast" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySakuya.lua" "Function" "OnSakuya01SpellStart" "Target" "POINT" "max_count" "%max_count" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "max_count" "6" } } } "thtd_sakuya_02" { "ID" "9174" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_sakuya_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "2" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" "AbilityCooldown" "15" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/thd2/items/item_pocket_watch.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_faceless_void.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Hero_FacelessVoid.TimeDilation.Cast" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySakuya.lua" "Function" "OnSakuya02SpellStart" "Target" "TARGET" "mana_reg" "%mana_reg" } } "Modifiers" { "modifier_sakuya_02_buff" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "mana_reg" "300" } } } "thtd_sakuya_03" { "ID" "9175" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_sakuya_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" "AbilityCooldown" "20" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "2" "precache" { "particle" "particles/heroes/muyue/ability_muyue_014_aeons.vpcf" } "OnSpellStart" { "FireSound" { "EffectName" "Voice_THTD.sakuya.ability_03" "Target" "CASTER" } "FireSound" { "EffectName" "Hero_FacelessVoid.Chronosphere" "Target" "CASTER" } "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilitySakuya.lua" "Function" "OnSakuya03SpellStart" "duration_time" "%duration_time" "range" "%range" "damage_down" "%damage_down" } } "Modifiers" { "modifier_sakuya_03_time_pause_debuff" { "States" { "MODIFIER_STATE_FROZEN" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_FLOAT" "duration_time" "3.0" } "02" { "var_type" "FIELD_INTEGER" "range" "1000" } "03" { "var_type" "FIELD_INTEGER" "damage_down" "75 50" } } } "thtd_koishi_01" { "ID" "9176" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_koishi_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "precache" { "particle" "particles/units/heroes/hero_dark_willow/dark_willow_bramble.vpcf" } "Modifiers" { "passive_koishi_attack" { "Passive" "1" "IsHidden" "1" "OnAttack" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityKoishi.lua" "Function" "OnKoishi01Attack" "chance" "%chance" "range" "%range" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_INTEGER" "chance" "40 70" } "03" { "var_type" "FIELD_INTEGER" "range" "800" } } } "thtd_koishi_02" { "ID" "9177" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_koishi_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "Modifiers" { "passive_koishi_02_attack" { "Passive" "1" "IsHidden" "1" "OnAttack" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityKoishi.lua" "Function" "OnKoishi02AttackLanded" "max_count" "%max_count" "duration_time" "%duration_time" "count_bonus" "%count_bonus" } } } "modifier_koishi_02_attack_speed" { "Properties" { "MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT" "%attack_speed_bonus" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "attack_speed_bonus" "5" } "02" { "var_type" "FIELD_INTEGER" "max_count" "10" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } "04" { "var_type" "FIELD_INTEGER" "count_bonus" "20" //与四技能一致 } } } "thtd_koishi_03" { "ID" "9178" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_koishi_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "3" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" "AbilityCooldown" "25" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_ogre_magi.vsndevts" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKoishi.lua" "Function" "OnKoishi03SpellStart" "Target" "TARGET" "power_bonus" "%power_bonus" "duration_time" "%duration_time" "combo_time" "%combo_time" "self_crit" "%self_crit" } } "Modifiers" { "modifier_koishi_03_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKoishi.lua" "Function" "OnCreatedKoishi03Buff" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKoishi.lua" "Function" "OnDestroyKoishi03Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_bonus" "30 60 120" } "02" { "var_type" "FIELD_INTEGER" "self_crit" "2" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "9" } "04" { "var_type" "FIELD_FLOAT" "combo_time" "18" } } } "thtd_koishi_04" { "ID" "9179" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_koishi_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCooldown" "20" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "80" "MaxLevel" "1" "precache" { "particle" "particles/econ/events/fall_major_2015/teleport_end_fallmjr_2015_lvl2_black.vpcf" "particle" "particles/heroes/thtd_koishi/ability_koishi_04_attack_01.vpcf" "particle" "particles/heroes/thtd_koishi/ability_koishi_04_attack_02.vpcf" "particle" "particles/heroes/thtd_koishi/ability_koishi_04_attack_03.vpcf" "particle" "particles/heroes/thtd_koishi/ability_koishi_04_attack_04.vpcf" "particle" "particles/heroes/thtd_koishi/ability_koishi_04_attack_05.vpcf" "particle" "particles/heroes/thtd_koishi/ability_koishi_04_attack_06.vpcf" "particle" "particles/heroes/thtd_koishi/ability_koishi_04_attack_landed.vpcf" "particle" "particles/units/heroes/hero_axe/axe_beserkers_call_owner.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_vengefulspirit.vsndevts" "soundfile" "soundevents/thdots_hero_sounds/thdots_koishi_sounds.vsndevts" } "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityKoishi.lua" "Function" "OnKoishi04SpellStart" "duration_time" "%duration_time" } } "Modifiers" { "passive_koishi_04_attack" { "IsHidden" "1" "OnAttackStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityKoishi.lua" "Function" "OnKoishi04AttackStart" } } "OnKill" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKoishi.lua" "Function" "OnKoishi04Kill" } } "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKoishi.lua" "Function" "OnCreatedKoishi04Buff" "power_base" "%power_base" "power_up" "%power_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKoishi.lua" "Function" "OnDestroyKoishi04Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_base" "250" } "02" { "var_type" "FIELD_INTEGER" "power_up" "300" } "03" { "var_type" "FIELD_INTEGER" "count_bonus" "20" //与二技能一致 } "04" { "var_type" "FIELD_FLOAT" "duration_time" "12" } } } "thtd_koakuma_01" { "ID" "9180" "BaseClass" "ability_lua" "AbilityTextureName" "touhoutd/thtd_koakuma_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "2" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" "AbilityCooldown" "1" "AbilityManaCost" "35" "ScriptFile" "scripts/vscripts/abilities/abilityKoakuma" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "800" "precache" { "particle" "particles/units/heroes/hero_dragon_knight/dragon_knight_elder_dragon_fire.vpcf" } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } "02" { "var_type" "FIELD_INTEGER" "max_count" "25" } "03" { "var_type" "FIELD_INTEGER" "range1" "500" } "04" { "var_type" "FIELD_INTEGER" "range_damage" "0 35" } "05" { "var_type" "FIELD_INTEGER" "range2" "300" } } } "thtd_koakuma_02" { "ID" "9181" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_koakuma_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" // Stats // ---------------------------------------------------------------- "MaxLevel" "3" "AbilityCastRange" "%radius" "Modifiers" { "modifier_koakuma_02_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_koakuma_02_buff" "Aura_Radius" "%radius" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_koakuma_02_buff" { "IsHidden" "1" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKoakuma" "Function" "OnCreatedKoakuma02Buff" "penetration" "%penetration" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKoakuma" "Function" "OnDestroyKoakuma02Buff" "penetration" "%penetration" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "1200" } "02" { "var_type" "FIELD_INTEGER" "penetration" "6 10 18" } } } "thtd_meirin_01" { "ID" "9182" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_meirin_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "precache" { "particle" "particles/heroes/thtd_meirin/ability_meirin_01.vpcf" "particle" "particles/heroes/thtd_meirin/ability_meirin_01_step_1.vpcf" "particle" "particles/heroes/thtd_meirin/ability_meirin_01_step_2.vpcf" "particle" "particles/heroes/thtd_meirin/ability_meirin_01_step_3.vpcf" "particle" "particles/heroes/thtd_meirin/ability_meirin_01_step_4.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_keeper_of_the_light.vsndevts" "soundfile" "soundevents/game_sounds_heroes/game_sounds_tusk.vsndevts" "soundfile" "soundevents/game_sounds_heroes/game_sounds_earthshaker.vsndevts" "soundfile" "soundevents/game_sounds_heroes/game_sounds_elder_titan.vsndevts" } "Modifiers" { "passive_meirin_01_attack" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMeirin.lua" "Function" "OnMeirin01AttackThink" "damage_up" "%damage_up" } } } "modifier_meirin_01_pause" { "States" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_meirin_01_slow_buff" { "Duration" "%slow_time" "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%slow" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "damage_up" "1" } "03" { "var_type" "FIELD_INTEGER" "slow" "-50" } "04" { "var_type" "FIELD_FLOAT" "slow_time" "0.5" } } } "thtd_meirin_02" { "ID" "9183" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_meirin_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "2" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "level4_chance" "50 75" } "02" { "var_type" "FIELD_INTEGER" "level6_chance" "50 75" } "03" { "var_type" "FIELD_FLOAT" "level5_stun_time" "0.5" } "04" { "var_type" "FIELD_FLOAT" "level7_stun_time" "1.0" } } } "thtd_yuuka_01" { "ID" "9184" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yuuka_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCooldown" "5" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "800" "MaxLevel" "1" "precache" { "particle" "particles/heroes/thtd_yuuka/ability_yuuka_01_spawn.vpcf" } "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityYuuka.lua" "Function" "OnYuuka01SpellStart" "range" "%range" "power_damage" "%power_damage" "crit" "%crit" "radius" "%radius" } } "Modifiers" { "modifier_yuuka_02_flower" { "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" "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } "02" { "var_type" "FIELD_INTEGER" "range" "800" } "02" { "var_type" "FIELD_FLOAT" "crit" "1.5" } "02" { "var_type" "FIELD_INTEGER" "radius" "300" } } } "thtd_yuuka_02" { "ID" "9185" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yuuka_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "Modifiers" { "passive_yuuka_02_attack" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.5" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuuka.lua" "Function" "OnIntervalThinkYuuka02" } } } } } "thtd_yuuka_03" { "ID" "9186" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yuuka_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" "AbilityCooldown" "10" "AbilityManaCost" "0" "AbilityCastRange" "800" "MaxLevel" "3" "precache" { "particle" "particles/heroes/thtd_yuuka/ability_yuuka_03.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_treant.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Hero_Treant.Overgrowth.Cast" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuuka.lua" "Function" "OnSpellStartYuuka03" "Target" "POINT" } } "Modifiers" { "modifier_yuuka_03_illusion" { "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_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_COMMAND_RESTRICTED" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_yuuka_03_kill" { "Passive" "1" "ThinkInterval" "%tick" "IsHidden" "1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuuka.lua" "Function" "OnThinkYuuka03" "tick" "%tick" } } } "modifier_thtd_yuuka_03_death" { "OnDeath" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuuka.lua" "Function" "OnYuuka03Death" "max_count" "%max_count" "damage_up" "%damage_up" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_FLOAT" "tick" "0.3" } "03" { "var_type" "FIELD_INTEGER" "damage_up" "1" } "04" { "var_type" "FIELD_INTEGER" "max_count" "50 100 200" } } } "thtd_yuuka_04" { "ID" "9187" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yuuka_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING | DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_CHANNELLED" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCastPoint" "0.0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "AbilityCooldown" "15" "AbilityManaCost" "20" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1500" "AbilityChannelTime" "%channel_time" //类型必须为FIELD_FLOAT,否则施法动作无效 "precache" { "particle" "particles/heroes/thtd_yuuka/yuuka_04_spark_circle.vpcf" "particle" "particles/heroes/thtd_yuuka/yuuka_04_spark.vpcf" "particle" "particles/heroes/thtd_yuuka/ability_yuuka_04_spark_wind.vpcf" } "OnSpellStart" { "FireSound" { "EffectName" "Voice_THTD.yuuka.ability_04" "Target" "CASTER" } "FireSound" { "EffectName" "Sound_THTD.thtd_yuuka_04" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuuka.lua" "Function" "OnYuuka04SpellStart" "Caster" "CASTER" "Target" "POINT" } "CreateThinker" { "ModifierName" "modifier_thdots_yuuka04_think_interval" "Target" "POINT" } } "OnChannelInterrupted" { "RemoveModifier" { "Target" "CASTER" "ModifierName" "modifier_thdots_yuuka04_think_interval" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuuka.lua" "Function" "OnYuuka04SpellRemove" "Caster" "CASTER" } } "OnChannelFinish" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuuka.lua" "Function" "OnYuuka04SpellRemove" "Caster" "CASTER" } } "Modifiers" { "modifier_thdots_yuuka04_think_interval" { "Duration" "%channel_time" "ThinkInterval" "0.02" "Attributes" "MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuuka.lua" "Function" "OnYuuka04SpellThink" "Caster" "CASTER" "Target" "TARGET" "DamageWidth" "%damage_width" "DamageLenth" "%damage_lenth" "times" "%times" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuuka.lua" "Function" "OnYuuka04SpellRemove" "Caster" "CASTER" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "10" } "02" { "var_type" "FIELD_FLOAT" "channel_time" "5.0" } "03" { "var_type" "FIELD_INTEGER" "times" "5" } "04" { "var_type" "FIELD_INTEGER" "damage_width" "320" } "05" { "var_type" "FIELD_INTEGER" "damage_lenth" "1440" } } } "thtd_yukari_01" { "ID" "9188" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yukari_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "2" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" "AbilityCooldown" "1" "AbilityManaCost" "20" "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/yukari/ability_yukari_02_vortex_2.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYukari.lua" "Function" "OnYukari01SpellStart" "Target" "TARGET" "max_count" "%max_count" "limit_count" "%limit_count" "duration_time" "%duration_time" } } "Modifiers" { "modifier_yukari_01_hidden" { "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" "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "max_count" "3 5" } "02" { "var_type" "FIELD_INTEGER" "limit_count" "2" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "10.0" } } } "thtd_yukari_02" { "ID" "9189" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yukari_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_2" "AbilityCooldown" "1" "AbilityManaCost" "0" "AbilityCastRange" "1000" "MaxLevel" "1" "precache" { "particle" "particles/heroes/yukari/ability_yukari_02_body.vpcf" "particle" "particles/heroes/yukari/ability_yukari_02_down.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYukari.lua" "Function" "OnYukari02SpellStart" "Target" "POINT" "range" "%range" "stun_time" "%stun_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_INTEGER" "range" "300" } "03" { "var_type" "FIELD_FLOAT" "stun_time" "0.5" } } } "thtd_yukari_03" { "ID" "9190" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yukari_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_3" "AbilityCooldown" "10" "AbilityManaCost" "0" "AbilityCastRange" "99999" "MaxLevel" "1" "AbilityCastPoint" "0.0" "precache" { "particle" "particles/heroes/yukari/ability_yukari_04_magical.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_enigma.vsndevts" "particle" "particles/econ/items/clockwerk/clockwerk_paraflare/clockwerk_para_rocket_flare_parachute.vpcf" } "Modifiers" { "modifier_yukari_03_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "1.0" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYukari.lua" "Function" "OnThinkYukari03" "range" "%range" } } } } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYukari.lua" "Function" "OnYukari03SpellStart" "Target" "POINT" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "7" } "02" { "var_type" "FIELD_INTEGER" "range" "600" } } } "thtd_yukari_04" { "ID" "9191" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yukari_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_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_1" "AbilityCooldown" "20" "AbilityManaCost" "0" "precache" { "particle" "particles/heroes/thtd_yukari/ability_yukari_04_door.vpcf" "particle" "particles/heroes/yukari/ability_yukari_04_boom.vpcf" } "OnSpellStart" { "FireSound" { "EffectName" "Voice_THTD.yukari.ability_04" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYukari.lua" "Function" "OnYukari04SpellStart" "Target" "POINT" "max_count" "%max_count" "duration_time" "%duration_time" "stun_time" "%stun_time" "damage_up" "%damage_up" "tick" "%tick" } } "Modifiers" { "modifier_yukari_04_speed" { "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT" "2000" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "10" } "02" { "var_type" "FIELD_FLOAT" "tick" "0.2" } "03" { "var_type" "FIELD_INTEGER" "max_count" "5 10" } "04" { "var_type" "FIELD_INTEGER" "damage_up" "50" } "05" { "var_type" "FIELD_FLOAT" "stun_time" "0.5" } "06" { "var_type" "FIELD_INTEGER" "duration_time" "20" } } } "thtd_ran_01" { "ID" "9192" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_ran_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" "AbilityCooldown" "1" "AbilityManaCost" "20" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "%range" "precache" { "particle" "particles/heroes/ran/ability_ran_03_laser.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_tinker.vsndevts" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityRan.lua" "Function" "Ran01_OnSpellStart" "Caster" "CASTER" "Target" "TARGET" "JumpRadius" "%jump_radius" "JumpCount" "%jump_count" "JumpInterval" "%jump_interval" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "3" } "02" { "var_type" "FIELD_INTEGER" "jump_radius" "600" } "03" { "var_type" "FIELD_INTEGER" "jump_count" "25" } "04" { "var_type" "FIELD_FLOAT" "jump_interval" "0.2" } "05" { "var_type" "FIELD_INTEGER" "range" "1000" } } } "thtd_ran_02" { "ID" "9193" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_ran_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityCastPoint" "0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_2" "AbilityCooldown" "11" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "AbilityCooldown" "5" "AbilityCastRange" "%radius" "precache" { "particle" "particles/heroes/ran/ability_ran_02_new.vpcf" } "OnSpellStart" { "FireSound" { "EffectName" "Sound_THTD.thtd_ran_02" "Target" "CASTER" } "ApplyModifier" { "Target" "CASTER" "ModifierName" "aura_thdots_ran02_debuff" } } "Modifiers" { "modifier_thdots_ran02_debuff" { "IsDebuff" "1" "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%slow_movement_pct" } } "aura_thdots_ran02_debuff" { "IsHidden" "1" "IsBuff" "1" "Duration" "%duration" "Aura" "modifier_thdots_ran02_debuff" "Aura_Radius" "%radius" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "Aura_ApplyToCaster" "0" "EffectName" "particles/heroes/ran/ability_ran_02_new.vpcf" "EffectType" "attach_hitloc" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "800" } "02" { "var_type" "FIELD_FLOAT" "duration" "3.5" } "03" { "var_type" "FIELD_INTEGER" "slow_movement_pct" "-20 -35 -50 -65 -80" } } } "thtd_ran_03" { "ID" "9194" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_ran_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilityCastRange" "%radius" "precache" { "particle" "particles/heroes/ran/ability_ran_04_buff.vpcf" } "Modifiers" { "modifier_ran_03_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_ran_03_spell_buff" "Aura_Radius" "%radius" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_ran_03_spell_buff" { "OnAbilityExecuted" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityRan.lua" "Function" "OnRan03SpellStart" "mana_regen" "%mana_regen" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "mana_regen" "0 25" } "02" { "var_type" "FIELD_INTEGER" "radius" "1000" } } } "thtd_chen_01" { "ID" "9195" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_chen_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastRange" "800 900 1000 1100 1200" "MaxLevel" "5" "AbilityManaCost" "1" "AbilityCooldown" "5 4 3 2 1" "precache" { "particle" "particles/heroes/thtd_chen/ability_chen_01.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityChen.lua" "Function" "OnChen01SpellStart" "Target" "POINT" } } "Modifiers" { "modifier_chen_01_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.15" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityChen.lua" "Function" "OnChen01SpellThink" } } } "modifier_chen_01_pause" { "IsHidden" "1" "States" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } } } "thtd_eirin_01" { "ID" "9196" "BaseClass" "ability_lua" "AbilityTextureName" "touhoutd/thtd_eirin_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "2" "precache" { "particle" "particles/heroes/thtd_eirin/ability_eirin_03.vpcf" "particle" "particles/addons_gameplay/morokai_orb_overhead_counter.vpcf" "particle" "particles/units/heroes/hero_legion_commander/legion_commander_duel_victory.vpcf" } "ScriptFile" "scripts/vscripts/abilities/abilityEirin" // 要与 thtd_eirin_02 相同 "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1 2" } "02" { "var_type" "FIELD_INTEGER" "mana_cost" "10" } "03" { "var_type" "FIELD_INTEGER" "mana_chance" "5" } "04" { "var_type" "FIELD_INTEGER" "mana_bonus" "40" } "05" { "var_type" "FIELD_INTEGER" "power_bonus" "10" } "06" { "var_type" "FIELD_INTEGER" "crit_bonus" "5" } "07" { "var_type" "FIELD_INTEGER" "crit_chance" "1" } } } "thtd_eirin_02" { "ID" "9197" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_eirin_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCastRange" "1500" "Modifiers" { "modifier_eirin_02_aura" { "Passive" "1" "IsPurgable" "0" "IsHidden" "1" "Aura" "modifier_eirin_02_spell_buff" "Aura_Radius" "1500" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_eirin_02_spell_buff" { "OnAttackLanded" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityEirin.lua" "Function" "OnEirin02AttackLanded" "mana_cost" "%mana_cost" "mana_chance" "%mana_chance" "mana_bonus" "%mana_bonus" } } } "modifier_eirin_01_count" { "TextureName" "touhoutd/thtd_eirin_01" "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityEirin.lua" "Function" "OnDestroyEirin01Count" "power_bonus" "%power_bonus" "crit_bonus" "%crit_bonus" "crit_chance" "%crit_chance" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1 2" } "02" { "var_type" "FIELD_INTEGER" "mana_cost" "10" } "03" { "var_type" "FIELD_INTEGER" "mana_chance" "11" } "04" { "var_type" "FIELD_INTEGER" "mana_bonus" "40" } "05" { "var_type" "FIELD_INTEGER" "power_bonus" "10" //与一技能一致 } "06" { "var_type" "FIELD_INTEGER" "crit_bonus" "5" //与一技能一致 } "07" { "var_type" "FIELD_INTEGER" "crit_chance" "1" //与一技能一致 } } } "thtd_eirin_03" { "ID" "9198" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_eirin_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastRange" "1000" "MaxLevel" "1" "AbilityManaCost" "30" "AbilityCooldown" "10" "AOERadius" "400" "precache" { "particle" "particles/heroes/thtd_eirin/ability_eirin_03.vpcf" "particle" "particles/heroes/thtd_eirin/ability_eirin_03_aeons.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityEirin.lua" "Function" "OnEirin03SpellStart" "Target" "POINT" "duration_time" "%duration_time" "range" "%range" } } "AbilitySpecial" { "01" { "var_type" "FIELD_FLOAT" "duration_time" "3.5" } "02" { "var_type" "FIELD_INTEGER" "range" "400" } } } "thtd_eirin_04" { "ID" "9199" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_eirin_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastRange" "1000" "MaxLevel" "1" "AbilityManaCost" "0" "AbilityCooldown" "10" "precache" { "particle" "particles/heroes/thtd_eirin/ability_eirin_04.vpcf" "particle" "particles/heroes/thtd_eirin/ability_eirin_04_red.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityEirin.lua" "Function" "OnEirin04SpellStart" "Target" "POINT" "damage_up" "%damage_up" "up_count" "%up_count" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "damage_up" "20" } } } "thtd_eirin_05" { "ID" "9560" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } "thtd_mokou_01" { "ID" "9200" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_mokou_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "2" "precache" { "particle" "particles/thd2/heroes/mouko/ability_mokou_02_boom.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_ogre_magi.vsndevts" } "Modifiers" { "passive_mokou_01_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMokou.lua" "Function" "OnMokou01AttackLanded" "attack_damage" "%attack_damage" "base_chance" "%base_chance" "bonus_chance" "%bonus_chance" "max_chance" "%max_chance" "range" "%range" "duration_time" "%duration_time" } } } "passive_mokou_01_crit" { "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMokou.lua" "Function" "OnMokou01Remove" "base_chance" "%base_chance" } } } "modifier_mokou_crit_buff" { "TextureName" "touhoutd/thtd_mokou_02" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "base_chance" "10" } "02" { "var_type" "FIELD_INTEGER" "bonus_chance" "5" } "03" { "var_type" "FIELD_INTEGER" "max_chance" "70 85" } "04" { "var_type" "FIELD_FLOAT" "duration_time" "10.0" } "05" { "var_type" "FIELD_INTEGER" "range" "150" } } } "thtd_mokou_02" { "ID" "9201" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_mokou_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "5" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "base_crit" "2" } "02" { "var_type" "FIELD_INTEGER" "max_crit" "2 4 8 16 32" } } } "thtd_mokou_03" { "ID" "9202" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_mokou_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCooldown" "20" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "2" "precache" { "particle" "particles/heroes/mouko/ability_mokou_01_boom.vpcf" "particle" "particles/thd2/heroes/mouko/ability_mokou_04_wing.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_doombringer.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Hero_DoomBringer.ScorchedEarthAura" "Target" "CASTER" } "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityMokou.lua" "Function" "OnMokou03SpellStart" "duration_time" "%duration_time" } } "Modifiers" { "modifier_mokou_03_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMokou.lua" "Function" "OnCreatedMokou03Buff" "bonus_attack" "%bonus_attack" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMokou.lua" "Function" "OnDestroyMokou03Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "bonus_attack" "50 200" } "02" { "var_type" "FIELD_INTEGER" "bonus_range" "150" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "10.0" } } } "thtd_kaguya_01" { "ID" "9203" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kaguya_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityCastPoint" "0.0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" "AbilityCooldown" "1" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "50" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastRange" "1000" "MaxLevel" "2" "precache" { "particle" "particles/thd2/heroes/kaguya/ability_kaguya01_light.vpcf" "particle" "particles/thd2/heroes/kaguya/ability_kaguya01_light_green.vpcf" "particle" "particles/thd2/heroes/kaguya/ability_kaguya01_light_red.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnKaguya01SpellStart" "Target" "POINT" "max_count" "%max_count" "range" "%range" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "max_count" "3 4" } "03" { "var_type" "FIELD_INTEGER" "range" "150" } } } "thtd_kaguya_02" { "ID" "9204" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kaguya_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_2" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCastRange" "1000" "precache" { "particle" "particles/econ/items/windrunner/wr_ti8_immortal_shoulder/wr_ti8_shackleshot_pair_rope_target_glow.vpcf" } "Modifiers" { "modifier_kaguya_02_think" { "ThinkInterval" "0.2" "Passive" "1" "IsHidden" "1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnKaguya02SpellThink" } } } "modifier_kaguya_02_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnCreatedKaguya02_buff" "bonus_chance" "%bonus_chance" "bonus_crit" "%bonus_crit" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnRemoveKaguya02_buff" "bonus_chance" "%bonus_chance" "bonus_crit" "%bonus_crit" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "bonus_chance" "10" } "02" { "var_type" "FIELD_INTEGER" "bonus_crit" "100" } } } "thtd_kaguya_03" { "ID" "9205" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kaguya_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY | DOTA_UNIT_TARGET_TEAM_FRIENDLY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_3" "AbilityCooldown" "0.2" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_kaguya/thtd_kaguya_03_1.vpcf" "particle" "particles/heroes/thtd_kaguya/thtd_kaguya_03_2.vpcf" "particle" "particles/heroes/thtd_kaguya/thtd_kaguya_03_3.vpcf" "particle" "particles/heroes/thtd_kaguya/thtd_kaguya_03_4.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnKaguya03SpellStart" } } "OnUpgrade" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnUpgradeKaguya03" } } "Modifiers" { "modifier_kaguya_03_1_buff" { "Properties" { "MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT" "%attack_speed" } } "modifier_kaguya_03_2_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnCreatedKaguya03_2_buff" "attack_percent" "%attack_percent" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnDestroyKaguya03_2_buff" } } } "modifier_kaguya_03_3_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnCreatedKaguya03_3_buff" "outgoing_percent" "%outgoing_percent" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnDestroyKaguya03_3_buff" } } } "modifier_kaguya_03_4_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnCreatedKaguya03_4_buff" "penetration" "%penetration" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnDestroyKaguya03_4_buff" } } } "modifier_kaguya_03_1_debuff" { "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } "modifier_kaguya_03_3_debuff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnCreatedKaguya03_3_debuff" "incoming_percent" "%incoming_percent" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnRemoveKaguya03_3_debuff" } } } "modifier_kaguya_03_4_debuff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnCreatedKaguya03_4_debuff" "armor" "%armor" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnDestroyKaguya03_4_debuff" "armor" "%armor" } } } "modifier_kaguya_03_think" { "ThinkInterval" "0.02" "Passive" "1" "IsHidden" "1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnKaguya03SpellThink" "damage_up" "%damage_up" "range" "%range" } } "OnDeath" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnKaguya03ReleaseBall" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKaguya.lua" "Function" "OnKaguya03ReleaseBall" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "attack_speed" "10 20" } "03" { "var_type" "FIELD_INTEGER" "move_slow" "-10 -20" } "04" { "var_type" "FIELD_INTEGER" "attack_percent" "25 50" } "05" { "var_type" "FIELD_INTEGER" "damage_up" "25 50" } "06" { "var_type" "FIELD_INTEGER" "outgoing_percent" "10 20" } "07" { "var_type" "FIELD_INTEGER" "incoming_percent" "10 20" } "08" { "var_type" "FIELD_INTEGER" "penetration" "15 30" } "09" { "var_type" "FIELD_INTEGER" "armor" "7 13" } "10" { "var_type" "FIELD_INTEGER" "range" "200" } } } "thtd_aya_01" { "ID" "9206" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_aya_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" // Stats // ---------------------------------------------------------------- "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "precache" { "particle" "particles/econ/items/windrunner/windrunner_cape_cascade/windrunner_windrun_cascade.vpcf" "particle" "particles/thd2/heroes/aya/ability_aya_02_mark.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_brewmaster.vsndevts" "particle" "particles/heroes/thtd_aya/ability_aya_01_news.vpcf" "particle" "particles/heroes/thtd_aya/ability_aya_01.vpcf" } "Modifiers" { "passive_aya03_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityAya.lua" "Function" "OnAya01AttackLanded" "Target" "TARGET" } "Random" { "Chance" "%chance" "OnSuccess" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityAya.lua" "Function" "OnAya01RandomSuccess" "Target" "TARGET" } "ApplyModifier" { "ModifierName" "modifier_aya01_slow" "Target" { "Center" "TARGET" "Radius" "%range" "Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_CREEP | DOTA_UNIT_TARGET_MECHANICAL | DOTA_UNIT_TARGET_OTHER" } } } } } } "modifier_aya01_slow" { "Duration" "%duration_time" "IsDebuff" "1" "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } "modifier_aya01_news_buff" { "Duration" "%buff_time" "IsDebuff" "1" "EffectName" "particles/thd2/heroes/aya/ability_aya_02_mark.vpcf" "EffectAttachType" "follow_origin" } } "AbilitySpecial" { "01" { "var_type" "FIELD_FLOAT" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "chance" "20" } "03" { "var_type" "FIELD_INTEGER" "move_slow" "-10" } "04" { "var_type" "FIELD_FLOAT" "duration_time" "1.5" } "05" { "var_type" "FIELD_INTEGER" "range" "300" } "06" { "var_type" "FIELD_FLOAT" "buff_time" "10.0" } "07" { "var_type" "FIELD_INTEGER" "damage_up" "1" //与下面花果子念报一致 thtd_hatate_01 } } } "thtd_aya_02" { "ID" "9207" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_aya_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCastRange" "999999" "MaxLevel" "1" "AbilityManaCost" "0" "AbilityCooldown" "1" "precache" { "particle" "particles/heroes/aya/ability_aya_01.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityAya.lua" "Function" "OnAya02SpellStart" "Target" "POINT" } } "Modifiers" { "modifier_aya_02_pause" { "IsHidden" "1" "EffectName" "particles/heroes/aya/ability_aya_01.vpcf" "EffectAttachType" "follow_origin" "States" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } } } "thtd_aya_03" { "ID" "9208" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_aya_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "Modifiers" { "modifier_aya03_think_interval" { "ThinkInterval" "0.1" "Passive" "1" "IsHidden" "1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityAya.lua" "Function" "OnAya03WingsSpellThink" } } } } } "thtd_hatate_01" { "ID" "9209" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_hatate_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "10" "AOERadius" "%range" "AbilityCastRange" "1000" "AbilityCooldown" "1" "AbilityCastPoint" "0.0" "precache" { "particle" "particles/heroes/hatate/ability_hatate_01_mark.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityHatate.lua" "Function" "OnHatate01SpellStart" "Target" "POINT" "range" "%range" } } "Modifiers" { "passive_hatate01_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityHatate.lua" "Function" "OnHatate01AttackLanded" "Target" "TARGET" } } } "modifier_hatate01_news_buff" { "Duration" "%duration_time" "IsDebuff" "1" "EffectName" "particles/heroes/hatate/ability_hatate_01_mark.vpcf" "EffectAttachType" "follow_origin" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "range" "500" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "10.0" } "04" { "var_type" "FIELD_INTEGER" "damage_up" "1" //与上面文文新闻一致 thtd_aya_01 } } } "thtd_hatate_02" { "ID" "9210" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_hatate_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastPoint" "0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "OverrideAnimation" "Act_DOTA_CAST_ABILITY_4" "AbilityCooldown" "30" "AbilityManaCost" "0" "AbilityChannelTime" "5.0" "precache" { "particle" "particles/heroes/thtd_hatate/ability_hatate_02.vpcf" } "OnSpellStart" { "ApplyModifier" { "ModifierName" "modifier_thdots_hatate02_think_interval" "Target" "CASTER" } } "OnChannelInterrupted" { "RemoveModifier" { "Target" "CASTER" "ModifierName" "modifier_thdots_hatate02_think_interval" } } "Modifiers" { "modifier_thdots_hatate02_think_interval" { "Duration" "%duration_time" "ThinkInterval" "%tick_time" "EffectName" "particles/heroes/thtd_hatate/ability_hatate_02.vpcf" "EffectAttachType" "follow_origin" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityHatate.lua" "Function" "OnHatate02SpellStart" "tick_time" "%tick_time" } } } "modifier_hatate01_news_buff" { "Duration" "%news_duration_time" "IsDebuff" "1" "EffectName" "particles/thd2/heroes/aya/ability_aya_02_mark.vpcf" "EffectAttachType" "follow_origin" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } "03" { "var_type" "FIELD_FLOAT" "tick_time" "0.5" } "04" { "var_type" "FIELD_FLOAT" "news_duration_time" "10.0" } } } "thtd_momiji_01" { "ID" "9211" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_momiji_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCastPoint" "0.1" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" "AbilityCooldown" "30" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "precache" { "particle" "particles/units/heroes/hero_abaddon/abaddon_spawn.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_lycan.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Hero_Lycan.SummonWolves" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMomiji.lua" "Function" "OnMomiji01Spawn" "wolf_attack" "%wolf_attack" "max_count" "%max_count" "range" "%range" } } "Modifiers" { "modifier_momiji_01_buff" { "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" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "wolf_attack" "1" } "02" { "var_type" "FIELD_INTEGER" "range" "600" } "03" { "var_type" "FIELD_INTEGER" "max_count" "4" } } } "thtd_momiji_02" { "ID" "9212" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_momiji_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "3" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_momiji/ability_momiji_02.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMomiji.lua" "Function" "OnMomiji02SpellStart" "Target" "TARGET" } } "OnUpgrade" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMomiji.lua" "Function" "OnUpgradeMomiji02Buff" "damage_up" "%damage_up" "aya_damage_up" "%aya_damage_up" } } "Modifiers" { "modifier_momiji_02" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMomiji.lua" "Function" "OnCreatedMomiji02Buff" "damage_up" "%damage_up" "aya_damage_up" "%aya_damage_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMomiji.lua" "Function" "OnDestroyMomiji02Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "damage_up" "30 40 60" } "02" { "var_type" "FIELD_INTEGER" "aya_damage_up" "45 60 90" } } } "thtd_sanae_01" { "ID" "9213" "BaseClass" "ability_lua" "AbilityTextureName" "touhoutd/thtd_sanae_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "5" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" "AbilityCooldown" "1" "AbilityManaCost" "32" "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/sanae/ability_sanae_01.vpcf" "particle" "particles/heroes/sanae/ability_sanae_01_effect.vpcf" } "ScriptFile" "scripts/vscripts/abilities/abilitySanae" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_bonus" "10 20 30 40 60" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } "03" { "var_type" "FIELD_INTEGER" "down_percent" "50" } "04" { "var_type" "FIELD_INTEGER" "range" "400" } "05" { "var_type" "FIELD_INTEGER" "max_count" "4" } } } "thtd_sanae_02" { "ID" "9214" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_sanae_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "5" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "300" "precache" { "particle" "particles/heroes/thtd_sanae/ability_sanae_02.vpcf" "particle" "particles/heroes/thtd_sanae/ability_sanae_02_p.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySanae.lua" "Function" "OnSanae02SpellStart" "Target" "POINT" "duration_time" "%duration_time" "range" "%range" } } "Modifiers" { "modifier_sanae_debuff" { "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } "modifier_sanae_01_kill" { "Passive" "1" "IsHidden" "1" "OnKill" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySanae.lua" "Function" "OnSanaeKill" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } "02" { "var_type" "FIELD_INTEGER" "move_slow" "-15 -20 -25 -35 -50" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } "04" { "var_type" "FIELD_INTEGER" "range" "300" } } } "thtd_sanae_03" { "ID" "9215" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_sanae_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "10" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "precache" { "particle" "particles/heroes/thtd_sanae_03/ability_sanae_03.vpcf" "particle" "particles/thd2/items/item_tsundere.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySanae.lua" "Function" "OnSanae03SpellStart" "Target" "POINT" "duration_time" "%duration_time" "stun_time" "%stun_time" "range" "%range" "stun_up" "%stun_up" "damage_up" "%damage_up" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "2.0" } "03" { "var_type" "FIELD_FLOAT" "stun_time" "0.5" } "04" { "var_type" "FIELD_INTEGER" "range" "300" } "05" { "var_type" "FIELD_FLOAT" "stun_up" "0.4" } "06" { "var_type" "FIELD_FLOAT" "damage_up" "0.4" } } } "thtd_sanae_04" { "ID" "9216" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_sanae_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCastPoint" "0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "AbilityCooldown" "25" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "2" "precache" { "particle" "particles/heroes/sanae/ability_sanea_04_effect_b.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySanae.lua" "Function" "OnSanae04SpellStart" "duration_time" "%duration_time" } } "Modifiers" { "modifier_sanae_04_buff" { "Duration" "%duration_time" "EffectName" "particles/thd2/items/item_tsundere.vpcf" "EffectAttachType" "follow_origin" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySanae.lua" "Function" "OnCreatedSanae04Buff" "power_bonus" "%power_bonus" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySanae.lua" "Function" "OnDestroySanae04Buff" } } } "modifier_thtd_sanae_04_aura" { "IsHidden" "1" "Aura" "modifier_sanae_04_switch_buff" "Aura_Radius" "2500" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_sanae_04_switch_buff" { "IsHidden" "1" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySanae.lua" "Function" "OnSanae04Created" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySanae.lua" "Function" "OnSanae04Destroy" } } } "modifier_sanae_04_combo_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySanae.lua" "Function" "OnCreatedSanae04ComboBuff" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySanae.lua" "Function" "OnDestroySanae04ComboBuff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_FLOAT" "duration_time" "12.5" } "02" { "var_type" "FIELD_INTEGER" "open_aura_level" "2" } } } "thtd_kanako_01" { "ID" "9217" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kanako_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "7.0" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "precache" { "particle" "particles/heroes/kanako/ability_kanako_01.vpcf" "particle" "particles/heroes/thtd_kanako/ability_kanako_01_explosion.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKanako.lua" "Function" "OnKanako01SpellStart" "Target" "TARGET" "duration_time" "%duration_time" "tick" "%tick" } } "Modifiers" { "modifier_kanako_01_stun" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } "modifier_kanako_01_kill" { "Passive" "1" "IsHidden" "1" "OnKill" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKanako.lua" "Function" "OnKanakoKill" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "2.5" //与特效绑定 } "03" { "var_type" "FIELD_FLOAT" "tick" "0.2" //与特效绑定 } } } "thtd_kanako_02" { "ID" "9218" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kanako_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "3" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "2500" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKanako.lua" "Function" "OnKanako02SpellStart" "Target" "POINT" "max_count" "%max_count" } } "Modifiers" { "modifier_kanako_rooted" { "IsHidden" "1" "States" { "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_UNIT_COLLISION" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_kanako_03_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKanako.lua" "Function" "OnKanako03Think" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "max_count" "2 4 6" } } } "thtd_kanako_03" { "ID" "9219" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kanako_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_BUILDING" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_INVULNERABLE" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "2500" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKanako.lua" "Function" "OnKanako03SpellStart" "Target" "TARGET" } } } "thtd_kanako_03_unit" { "ID" "9220" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kanako_03_unit" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_BUILDING" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "AbilityUnitTargetFlags" "DOTA_UNIT_TARGET_FLAG_INVULNERABLE" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "2000" "precache" { "particle" "particles/heroes/thtd_kanako/ability_kanako_03_line.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKanako.lua" "Function" "OnKanako03UnitSpellStart" "Target" "TARGET" } } } "thtd_kanako_04" { "ID" "9221" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kanako_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastPoint" "0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "AbilityCooldown" "15" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "precache" { "particle" "particles/heroes/kanako/ability_kanako_04.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKanako.lua" "Function" "OnKanako04SpellStart" "range" "%range" "damage_up" "%damage_up" "tick" "%tick" "crit_chance" "%crit_chance" } } "Modifiers" { "modifier_kanako_04_effect" { "IsHidden" "1" "EffectName" "particles/heroes/kanako/ability_kanako_04.vpcf" "EffectAttachType" "follow_origin" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage1" "10" } "02" { "var_type" "FIELD_INTEGER" "power_damage2" "2" } "03" { "var_type" "FIELD_FLOAT" "tick" "0.3" } "04" { "var_type" "FIELD_INTEGER" "range" "600" //被特效绑定了不能修改 } "05" { "var_type" "FIELD_INTEGER" "crit_chance" "40" } "06" { "var_type" "FIELD_FLOAT" "damage_up" "0.2" } } } "thtd_suwako_01" { "ID" "9222" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_suwako_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "OnProjectileHitUnit" { "DeleteOnHit" "true" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySuwako.lua" "Target" "TARGET" "Function" "OnSuwako01SpellHit" "kick_distance" "%kick_distance" "up_percent" "%up_percent" } } "Modifiers" { "passive_suwako_01_attack" { "Passive" "1" "IsHidden" "1" "OnAttackStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilitySuwako.lua" "Function" "OnSuwako01AttackLanded" } } } "modifier_suwako_01_kill" { "Passive" "1" "IsHidden" "1" "OnKill" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySuwako.lua" "Function" "OnSuwakoKill" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "kick_distance" "150" } "03" { "var_type" "FIELD_FLOAT" "up_percent" "0.2" } } } "thtd_suwako_02" { "ID" "9223" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_suwako_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "5" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "precache" { "particle" "particles/heroes/thtd_suwako/ability_suwako_02.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySuwako.lua" "Function" "OnSuwako02SpellStart" "Target" "POINT" "range" "%range" } } "Modifiers" { "modifier_suwako_rooted" { "IsHidden" "1" "States" { "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_suwako_02_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.2" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySuwako.lua" "Function" "OnSuwako02Think" "range" "%range" "stay_time" "%stay_time" "root_time" "%root_time" "up_percent" "%up_percent" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "3" } "02" { "var_type" "FIELD_INTEGER" "range" "300" } "03" { "var_type" "FIELD_FLOAT" "stay_time" "2.0" } "04" { "var_type" "FIELD_FLOAT" "root_time" "1.0" } "05" { "var_type" "FIELD_FLOAT" "up_percent" "0.2" } } } "thtd_suwako_03" { "ID" "9224" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_suwako_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCastPoint" "0.1" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_3" "AbilityCooldown" "10" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "precache" { "particle" "particles/econ/items/kunkka/kunkka_torrent_base/kunkka_spell_torrent_splash_econ.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySuwako.lua" "Function" "OnSuwako03SpellStart" "up_percent" "%up_percent" } } "Modifiers" { "modifier_suwako_03_rooted" { "IsHidden" "1" "States" { "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_FLOAT" "up_percent" "0.2" } } } "thtd_suwako_04" { "ID" "9225" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_suwako_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" "AbilityCooldown" "25" "AbilityManaCost" "80" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/thd2/items/item_pocket_watch.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_faceless_void.vsndevts" "particle" "particles/econ/items/mirana/mirana_2021_immortal/mirana_2021_immortal_moonlight_recipient_golden.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySuwako.lua" "Function" "OnSuwako04SpellStart" "Target" "TARGET" "duration_time" "%duration_time" } } "Modifiers" { "modifier_suwako_04_buff" { "EffectName" "particles/econ/items/mirana/mirana_2021_immortal/mirana_2021_immortal_moonlight_recipient_golden.vpcf" "EffectAttachType" "follow_origin" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySuwako.lua" "Function" "OnCreatedSuwako04Buff" "crit" "%crit" "self_crit" "%self_crit" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySuwako.lua" "Function" "OnDestroySuwako04Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "crit" "100" } "02" { "var_type" "FIELD_INTEGER" "self_crit" "300" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "12.5" } } } "thtd_minamitsu_01" { "ID" "9226" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_minamitsu_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "5" "AbilityCastPoint" "0" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" "AbilityCooldown" "25" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "2000" "precache" { "particle" "particles/heroes/thtd_minamitsu/ability_minamitsu_01_ship.vpcf" "particle" "particles/heroes/thtd_minamitsu/ability_minamitsu_01_ship_water.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMinamitsu.lua" "Function" "OnMinamitsu01SpellStart" } } "Modifiers" { "modifier_minamitsu_01_debuff_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.1" "Attributes" "MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMinamitsu.lua" "Function" "OnMinamitsu01DebuffThink" } } } "modifier_minamitsu_01_slow_buff" { "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "move_slow" "-20 -25 -30 -40 -50" } } } "thtd_minamitsu_02" { "ID" "9227" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_minamitsu_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastPoint" "0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_3" "AbilityCooldown" "15" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "AbilityManaCost" "0" "precache" { "particle" "particles/heroes/minamitsu/ability_minamitsu_03.vpcf" "particle" "particles/heroes/minamitsu/ability_minamitsu_03_body.vpcf" "particle" "particles/econ/items/kunkka/divine_anchor/hero_kunkka_dafx_weapon/kunkka_spell_tidebringer_fxset.vpcf" } "OnSpellStart" { "FireSound" { "EffectName" "Voice_Thdots_Minamitsu.AbilityMinamitsu03" "Target" "CASTER" } "ApplyModifier" { "Target" "CASTER" "ModifierName" "modifier_thdots_minamitsu03_bonus" } } "Modifiers" { "modifier_thdots_minamitsu03_bonus" { "Duration" "%ability_duration" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMinamitsu.lua" "Function" "OnCreatedMinamitsu02Buff" "ability_duration" "%ability_duration" "power_bonus" "%power_bonus" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMinamitsu.lua" "Function" "OnDestroyMinamitsu02Buff" } } "OnAttackLanded" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMinamitsu.lua" "Function" "OnMinamitsu02AttackLanded" "Radius" "%radius" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "power_bonus" "50 75" } "03" { "var_type" "FIELD_FLOAT" "ability_duration" "7.0" } "04" { "var_type" "FIELD_INTEGER" "radius" "300" } } } "thtd_minamitsu_03" { "ID" "9228" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_minamitsu_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "AbilityCooldown" "10" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%range" "precache" { "particle" "particles/heroes/minamitsu/ability_minamitsu_02.vpcf" "particle" "particles/heroes/minamitsu/ability_minamitsu_02_body.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMinamitsu.lua" "Function" "OnMinamitsu03SpellStart" "Target" "POINT" "range" "%range" } } "Modifiers" { "modifier_minamitsu02_vortex_pause_target" { "IsHidden" "1" "States" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_UNIT_COLLISION" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_minamitsu02_vortex_target" { "IsHidden" "1" "States" { // "MODIFIER_STATE_ATTACK_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED" // "MODIFIER_STATE_MAGIC_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED" // "MODIFIER_STATE_OUT_OF_GAME" "MODIFIER_STATE_VALUE_ENABLED" // "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" // "MODIFIER_STATE_UNSELECTABLE" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "3" } "02" { "var_type" "FIELD_INTEGER" "range" "500" } } } "thtd_minamitsu_04" { "ID" "9229" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_minamitsu_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastPoint" "0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "AbilityCooldown" "15" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "precache" { } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMinamitsu.lua" "Function" "OnMinamitsu04SpellStart" "Target" "POINT" "damage_up" "%damage_up" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "10" } "02" { "var_type" "FIELD_INTEGER" "damage_up" "50" } } } "thtd_nue_01" { "ID" "9230" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityTextureName" "touhoutd/thtd_nue_01" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" // Stats //---------------------------------------------------------------- "AbilityManaCost" "0" "AbilityCastPoint" "0" "AbilityCooldown" "10" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "precache" { "particle" "particles/heroes/nue/ability_nue_01_ball.vpcf" "particle" "particles/units/heroes/hero_templar_assassin/templar_assassin_meld_hit.vpcf" "soundfile" "soundevents/thdots_hero_sounds/thdots_nue_sounds.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Nue.AbilityNue01" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityNue.lua" "Function" "OnNue01SpellStart" "max_count" "%max_count" } } "Modifiers" { "passive_nue01_attack" { "Passive" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityNue.lua" "Function" "OnNue01AttackLanded" "damage_up" "%damage_up" "attack_bonus" "%attack_bonus" } } } "modifier_nue_01_extradamage" { "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityNue.lua" "Function" "OnNue01Destroy" } } } "modifier_nue_killed" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_FLOAT" "power_damage" "0.2" } "02" { "var_type" "FIELD_INTEGER" "attack_bonus" "1" } "03" { "var_type" "FIELD_INTEGER" "spell_bonus" "3" } "04" { "var_type" "FIELD_INTEGER" "max_count" "999" } "04" { "var_type" "FIELD_INTEGER" "damage_up" "50" } } } "thtd_nue_02" { "ID" "9231" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_nue_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCastPoint" "0.2" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" "AbilityCooldown" "4" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1540" "precache" { "particle" "particles/heroes/nue/ability_nue_01.vpcf" "soundfile" "soundevents/thdots_hero_sounds/thdots_nue_sounds.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Nue.AbilityNue02" "Target" "CASTER" } "LinearProjectile" { "EffectName" "particles/heroes/nue/ability_nue_01.vpcf" "MoveSpeed" "%move_speed" "StartRadius" "%collision_radius" "EndRadius" "%collision_radius" "StartPosition" "attach_attack1" "FixedDistance" "%max_lenth" "TargetTeams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "TargetTypes" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "HasFrontalCone" "0" "ProvidesVision" "1" "VisionRadius" "300" } } "OnProjectileHitUnit" { "DeleteOnHit" "false" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityNue.lua" "Target" "TARGET" "Function" "OnNue02SpellHit" } } "Modifiers" { "modifier_nue_killed" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "move_speed" "3000" } "03" { "var_type" "FIELD_INTEGER" "collision_radius" "140" } "04" { "var_type" "FIELD_INTEGER" "max_lenth" "1540" } "05" { "var_type" "FIELD_INTEGER" "damage_crit" "3" } } } "thtd_nue_03" { "ID" "9232" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_nue_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "MaxLevel" "1" "precache" { } "Modifiers" { "modifier_thdots_nue_03" { "Passive" "1" "OnKill" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityNue.lua" "Function" "OnNue03Kill" } } } } } "thtd_sizuha_01" { "ID" "9233" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_sizuha_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" // Stats // ---------------------------------------------------------------- "MaxLevel" "4" "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "grow_time" "200 300 500 800" } } } "thtd_sizuha_02" { "ID" "9234" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_sizuha_02" "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_1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "2000" "precache" { } "OnSpellStart" { "FireSound" { "EffectName" "Sound_THTD.thtd_minoriko_02" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySizuha.lua" "Function" "OnSizuha02StarImprove" "Target" "TARGET" } } "Modifiers" { } } "thtd_toramaru_01" { "ID" "9235" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_toramaru_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "5" "AbilityCooldown" "5" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityToramaru.lua" "Function" "OnToramaru01SpellStart" "Target" "TARGET" "BonusGold" "%bonus_gold" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "bonus_gold" "30 60 120 240 960" } "03" { "var_type" "FIELD_INTEGER" "gold_damage_percent" "10" } } } "thtd_toramaru_02" { "ID" "9236" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_toramaru_02" "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" "AbilityCooldown" "2" "AbilityManaCost" "0" "AbilityGoldCost" "500" //不能使用变量,如 %cost_gold // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityToramaru.lua" "Function" "OnToramaru02SpellStart" "Target" "TARGET" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "48" } "02" { "var_type" "FIELD_INTEGER" "cost_gold" "500" // 仅显示用,需要更改 AbilityGoldCost } } } "thtd_toramaru_03" { "ID" "9237" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_toramaru_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCastPoint" "0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "AbilityCooldown" "2" "AbilityManaCost" "0" "AbilityGoldCost" "5000" //不能使用变量,如 %cost_gold "AbilityChannelTime" "0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityToramaru.lua" "Function" "OnToramaru03SpellStart" "Target" "TARGET" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "20" } "02" { "var_type" "FIELD_INTEGER" "cost_gold" "5000" // 仅显示用,需要更改 AbilityGoldCost } } } "thtd_toramaru_04" { "ID" "9238" // General //------------------------------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_toramaru_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCastRange" "1000" "AbilityCooldown" "1" "AbilityManaCost" "0" "precache" { "particle" "particles/heroes/sunny/ability_sunny_01_laser.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityToramaru.lua" "Function" "OnSpellStartToramaru04" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } } } "thtd_shinki_01" { "ID" "9239" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_shinki_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCastRange" "1200" "precache" { "particle" "particles/heroes/thtd_shinki/ability_shinki_01.vpcf" } "Modifiers" { "modifier_shinki_01_buff_kill" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShinki.lua" "Function" "OnCreatedShinki01Buff" "kill_bonus" "%kill_bonus" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShinki.lua" "Function" "OnDestroyShinki01Buff" } } } "modifier_shinki_01_think" { "ThinkInterval" "0.2" "IsHidden" "1" "Passive" "1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShinki.lua" "Function" "OnShinki01Think" "modifier" "modifier_shinki_01_buff_kill" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "kill_bonus" "1" //同步在damage.lua中更改 } "02" { "var_type" "FIELD_INTEGER" "max_count" "100" //同步在damage.lua中更改 } } } "thtd_shinki_02" { "ID" "9240" // General //------------------------------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_shinki_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "AbilityCooldown" "10" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1200" "AbilityCastPoint" "0.15" "precache" { "particle" "particles/econ/items/queen_of_pain/qop_arcana/qop_arcana_sonic_wave.vpcf" "particle" "particles/econ/items/queen_of_pain/qop_arcana/qop_arcana_sonic_wave_v2.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShinki.lua" "Function" "OnSpellStartShinki02" "duration_time" "%duration_time" "tick" "%tick" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "4.0" } "03" { "var_type" "FIELD_FLOAT" "tick" "0.25" } } } "thtd_shinki_03" { "ID" "9241" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_shinki_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "MaxLevel" "2" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" "AbilityCooldown" "20" "AbilityManaCost" "60" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1200" "AbilityCastPoint" "0.15" "precache" { "particle" "particles/econ/items/terrorblade/terrorblade_back_ti8/terrorblade_sunder_ti8.vpcf" "particle" "particles/units/heroes/heroes_underlord/abbysal_underlord_darkrift_ambient.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_nevermore.vsndevts" "soundfile" "soundevents/game_sounds_heroes/game_sounds_terrorblade.vsndevts" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShinki.lua" "Function" "OnSpellStartShinki03" "modifier" "modifier_shinki_03_buff_self" } } "Modifiers" { "modifier_shinki_03_buff_self" { "Duration" "%duration_time" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShinki.lua" "Function" "OnCreatedShinki03Buff" "power_bonus" "%power_bonus" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShinki.lua" "Function" "OnDestroyShinki03Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_bonus" "400" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "10.0" } } } "thtd_shinki_04" { "ID" "9242" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_shinki_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCastPoint" "0.1" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" "AbilityCooldown" "25" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "precache" { "particle" "particles/units/heroes/hero_abaddon/abaddon_spawn.vpcf" // "soundfile" "soundevents/game_sounds_heroes/game_sounds_lycan.vsndevts" } "OnSpellStart" { // "FireSound" // { // "EffectName" "Hero_Lycan.SummonWolves" // "Target" "CASTER" // } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShinki.lua" "Function" "OnShinki04Spawn" } } "Modifiers" { "modifier_shinki_04_buff" { "IsHidden" "1" "States" { "MODIFIER_STATE_ATTACK_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_MAGIC_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NOT_ON_MINIMAP" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" } } } } "thtd_byakuren_01" { "ID" "9243" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_byakuren_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCooldown" "0.2" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "1" "precache" { "particle" "particles/units/heroes/hero_abaddon/abaddon_aphotic_shield_explosion.vpcf" } "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnByakuren01SpellStartUp" "base_tick" "%base_tick" "min_tick" "%min_tick" "max_tick" "%max_tick" "extra_damage" "%extra_damage" "tick_step" "%tick_step" } } "Modifiers" { "passive_byakuren_01_attack_landed" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnByakuren01AttackLanded" "base_tick" "%base_tick" "damage_up" "%damage_up" "range" "%range" } } } "modifier_byakuren_attack_up" { "TextureName" "up" } "modifier_byakuren_attack_down" { "TextureName" "down" } "modifier_byakuren_attack_equal" { "TextureName" "equal" } "modifier_byakuren_damage_percent" { "TextureName" "touhoutd/thtd_byakuren_01" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_INTEGER" "damage_up" "20" } "03" { "var_type" "FIELD_FLOAT" "tick_step" "0.1" } "04" { "var_type" "FIELD_INTEGER" "extra_damage" "15" } "05" { "var_type" "FIELD_FLOAT" "min_tick" "0.7" } "06" { "var_type" "FIELD_FLOAT" "max_tick" "1.7" } "07" { "var_type" "FIELD_FLOAT" "base_tick" "1.2" } "08" { "var_type" "FIELD_INTEGER" "range" "400" } } } "thtd_byakuren_02" { "ID" "9244" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_byakuren_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityCooldown" "0.2" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "1" "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnByakuren01SpellStartDown" "base_tick" "%base_tick" "min_tick" "%min_tick" "max_tick" "%max_tick" "extra_damage" "%extra_damage" "tick_step" "%tick_step" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_INTEGER" "damage_up" "20" } "03" { "var_type" "FIELD_FLOAT" "tick_step" "0.1" } "04" { "var_type" "FIELD_INTEGER" "extra_damage" "15" } "05" { "var_type" "FIELD_FLOAT" "min_tick" "0.7" } "06" { "var_type" "FIELD_FLOAT" "max_tick" "1.7" } "07" { "var_type" "FIELD_FLOAT" "base_tick" "1.2" } "08" { "var_type" "FIELD_INTEGER" "range" "400" } } } "thtd_byakuren_03" { "ID" "9245" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_byakuren_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCastRange" "1500" "Modifiers" { "modifier_byakuren_03_aura" { "EffectName" "particles/heroes/byakuren/ability_byakuren_04_circle.vpcf" "EffectAttachType" "follow_origin" "Passive" "1" "ThinkInterval" "0.1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnByakuren03SpellThink" } } } "modifier_byakuren_03_buff" { "EffectName" "particles/heroes/byakuren/ability_byakuren_04_circle.vpcf" "EffectAttachType" "follow_origin" "ThinkInterval" "0.1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnByakuren03SpellThink" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "nazrin" "2" //与thtd_nazrin_01一致 } "02" { "var_type" "FIELD_INTEGER" "toramaru" "50" } "03" { "var_type" "FIELD_INTEGER" "kogasa" "2" } "04" { "var_type" "FIELD_INTEGER" "nue" "10" } "05" { "var_type" "FIELD_INTEGER" "minamitsu" "10" } "05" { "var_type" "FIELD_INTEGER" "kyouko" "50" } } } "thtd_byakuren_04" { "ID" "9246" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_byakuren_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "precache" { "particle" "particles/heroes/byakuren/ability_byakuren_04.vpcf" "particle" "particles/heroes/thtd_byakuren/ability_byakuren_04_phy.vpcf" "particle" "particles/heroes/byakuren/ability_byakuren_04_ult.vpcf" "particle" "particles/heroes/thtd_byakuren/ability_byakuren_04_laser.vpcf" "particle" "particles/heroes/thtd_byakuren/ability_byakuren_04_item.vpcf" } "Modifiers" { "passive_byakuren_04_attack_landed" { "Passive" "1" "IsHidden" "1" "EffectName" "particles/heroes/byakuren/ability_byakuren_04.vpcf" "EffectAttachType" "follow_origin" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnByakuren04AttackLanded" "chance" "%chance" "spell_time" "%spell_time" "duration_time" "%duration_time" "max_count" "%max_count" "range" "%range" "damage_count" "%damage_count" "power_bonus" "%power_bonus" } } } "modifier_byakuren_04_physical_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnCreatedByakuren04PhysicalBuff" "duration_time" "%duration_time" "attack_speed" "%attack_speed" "attack_bonus" "%attack_bonus" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnDestroyByakuren04PhysicalBuff" } } } "modifier_byakuren_04_pure_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnCreatedByakuren04PureBuff" "crit_damage" "%crit_damage" "crit_change" "%crit_change" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnDestroyByakuren04PureBuff" } } } "modifier_byakuren_04_magic_buff" { "EffectName" "particles/heroes/byakuren/ability_byakuren_04_ult.vpcf" "EffectAttachType" "follow_origin" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnCreatedByakuren04Buff" "penetration" "%penetration" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityByakuren.lua" "Function" "OnDestroyByakuren04Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_bonus" "40" } "02" { "var_type" "FIELD_INTEGER" "chance" "10" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "4.0" } "04" { "var_type" "FIELD_INTEGER" "attack_bonus" "1000" } "05" { "var_type" "FIELD_INTEGER" "attack_speed" "300" } "06" { "var_type" "FIELD_INTEGER" "max_count" "5" } "07" { "var_type" "FIELD_INTEGER" "crit_change" "50" } "08" { "var_type" "FIELD_INTEGER" "crit_damage" "500" } "09" { "var_type" "FIELD_INTEGER" "penetration" "50" } "10" { "var_type" "FIELD_INTEGER" "damage_count" "4" } "11" { "var_type" "FIELD_INTEGER" "power_damage" "10" } "12" { "var_type" "FIELD_INTEGER" "range" "1000" } } } "thtd_soga_01" { "ID" "9247" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_soga_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "5" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_soga/ability_soga_01.vpcf" "particle" "particles/heroes/thtd_soga/ability_thtd_soga_lightning.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySoga.lua" "Function" "OnSoga01SpellStart" "Target" "POINT" "stun_time" "%stun_time" "length" "%length" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_FLOAT" "stun_time" "1.0" } "03" { "var_type" "FIELD_FLOAT" "length" "1000" } } } "thtd_soga_02" { "ID" "9248" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_soga_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "20" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%range" "precache" { "particle" "particles/heroes/thtd_soga/ability_soga_02.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySoga.lua" "Function" "OnSoga02SpellStart" "Target" "POINT" "range" "%range" "damage_down" "%damage_down" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "3" } "02" { "var_type" "FIELD_INTEGER" "range" "300" } "03" { "var_type" "FIELD_INTEGER" "damage_down" "50" } } } "thtd_soga_03" { "ID" "9249" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_soga_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "2" "AbilityCooldown" "20" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%range" "precache" { "particle" "particles/heroes/thtd_soga/ability_soga_02.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySoga.lua" "Function" "OnSoga03SpellStart" "Target" "POINT" "range" "%range" "damage_down" "%damage_down" "duration_time" "%duration_time" "damage_up" "%damage_up" } } "Modifiers" { "modifier_soga_03_debuff" { "IsHidden" "1" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySoga.lua" "Function" "OnCreatedSogaComboBuff" "damage_up" "%damage_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySoga.lua" "Function" "OnDestroySogaComboBuff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "10" } "02" { "var_type" "FIELD_INTEGER" "range" "500" } "03" { "var_type" "FIELD_INTEGER" "damage_down" "50" } "04" { "var_type" "FIELD_INTEGER" "damage_up" "0 45" } "05" { "var_type" "FIELD_FLOAT" "duration_time" "10" } } } "thtd_futo_01" { "ID" "9250" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_futo_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/heroes/thtd_futo/ability_thtd_futo_01_fire.vpcf" "particle" "particles/heroes/thtd_futo/ability_futo_base_attack_1.vpcf" "particle" "particles/heroes/thtd_futo/ability_futo_base_attack_2.vpcf" "particle" "particles/heroes/thtd_futo/ability_futo_base_attack_3.vpcf" "particle" "particles/heroes/thtd_futo/ability_futo_base_attack_4.vpcf" "particle" "particles/heroes/thtd_futo/ability_futo_base_attack_5.vpcf" "particle" "particles/heroes/thtd_futo/ability_futo_base_attack_6.vpcf" } "Modifiers" { "passive_futo_01_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityFuto.lua" "Function" "OnFuto01AttackLanded" "attack_damage" "%attack_damage" "damage1" "%damage1" "damage2" "%damage2" "damage3" "%damage3" "damage4" "%damage4" "duration_time" "%duration_time" "stun_time" "%stun_time" "crit" "%crit" "range" "%range" } } } "modifier_futo_01_lock" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "damage1" "1" } "02" { "var_type" "FIELD_INTEGER" "damage2" "1" } "03" { "var_type" "FIELD_INTEGER" "damage3" "2" } "04" { "var_type" "FIELD_FLOAT" "duration_time" "3.0" } "05" { "var_type" "FIELD_INTEGER" "damage4" "4" } "06" { "var_type" "FIELD_FLOAT" "stun_time" "0.5" } "07" { "var_type" "FIELD_INTEGER" "crit" "32" } "08" { "var_type" "FIELD_INTEGER" "range" "300" } } } "thtd_futo_02" { "ID" "9251" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_futo_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" // Stats // ---------------------------------------------------------------- "MaxLevel" "2" "Modifiers" { "passive_futo_02_kill" { "Passive" "1" "IsHidden" "1" "OnKill" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityFuto.lua" "Function" "OnFuto02Kill" "duration_time" "%duration_time" "max_count" "%max_count" } } } "modifier_futo_02_buff" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "damage_up" "10" } "02" { "var_type" "FIELD_INTEGER" "max_count" "10 15" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "10" } } } "thtd_futo_03" { "ID" "9252" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_futo_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "20" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "500" "precache" { "particle" "particles/heroes/thtd_futo/ability_thtd_futo_03.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityFuto.lua" "Function" "OnFuto03SpellStart" "Target" "POINT" "range" "%range" "duration_time" "%duration_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "range" "500" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "4.0" } } } "thtd_miko_01" { "ID" "9253" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_miko_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "8.0" "AbilityManaCost" "0" "AbilityCastAnimation" "ACT_DOTA_CHANNEL_ABILITY_1" "precache" { "particle" "particles/heroes/thtd_miko/ability_miko_01.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMiko.lua" "Function" "OnMiko01SpellStart" "range" "%range" "power_damage2" "%power_damage2" "duration_time" "%duration_time" } } "Modifiers" { "modifier_miko_01_pose" { "Duration" "%spell_time" "OverrideAnimation" "ACT_DOTA_CAST_ABILITY_1_END" "States" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_miko_01_debuff" { "Duration" "%duration_time" "EffectName" "particles/heroes/thtd_miko/ability_miko_01.vpcf" "EffectAttachType" "follow_origin" "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMiko.lua" "Function" "OnDestroyMiko01DeBuff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage1" "3" } "02" { "var_type" "FIELD_INTEGER" "power_damage2" "1" } "03" { "var_type" "FIELD_INTEGER" "range" "800" } "04" { "var_type" "FIELD_FLOAT" "duration_time" "8.0" } "05" { "var_type" "FIELD_FLOAT" "spell_time" "0.2" } } } "thtd_miko_02" { "ID" "9254" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_miko_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1500" "precache" { "particle" "particles/heroes/thtd_miko/ability_miko_02_buff.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMiko.lua" "Function" "OnMiko02SpellStart" "Target" "TARGET" "soga01_cd" "%soga01_cd" "soga03_cd" "%soga03_cd" "futo03_up" "%futo03_up" "yoshika" "%yoshika" "seiga" "%seiga" } } "Modifiers" { "modifier_miko_02_aura" { "Passive" "1" "ThinkInterval" "0.1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMiko.lua" "Function" "OnMiko02SpellThink" "bonus_power" "%bonus_power" "bonus_chance" "%bonus_chance" "bonus_crit" "%bonus_crit" } } } "modifier_miko_02_buff" { "EffectName" "particles/heroes/thtd_miko/ability_miko_02_buff.vpcf" "EffectAttachType" "follow_origin" } "modifier_miko_02_ready" { "EffectName" "particles/heroes/thtd_miko/ability_miko_02_buff.vpcf" "EffectAttachType" "follow_origin" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "soga01_cd" "2" } "02" { "var_type" "FIELD_INTEGER" "soga03_cd" "10" } "03" { "var_type" "FIELD_INTEGER" "futo03_up" "100" } "04" { "var_type" "FIELD_INTEGER" "yoshika" "1" } "05" { "var_type" "FIELD_FLOAT" "seiga" "0.5" } "06" { "var_type" "FIELD_INTEGER" "bonus_power" "100" } "07" { "var_type" "FIELD_INTEGER" "bonus_chance" "5" } "08" { "var_type" "FIELD_INTEGER" "bonus_crit" "50" } } } "thtd_miko_03" { "ID" "9255" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_miko_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1200" "precache" { "particle" "particles/heroes/thtd_miko/ability_miko_03.vpcf" } "OnProjectileHitUnit" { "DeleteOnHit" "true" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMiko.lua" "Target" "TARGET" "Function" "OnMiko03SpellHit" } } "Modifiers" { "passive_miko_03_damage" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "%tick" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMiko.lua" "Function" "OnMiko03SpellThink" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_FLOAT" "tick" "0.3" } } } "thtd_miko_04" { "ID" "9256" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_miko_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastPoint" "0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "OverrideAnimation" "Act_DOTA_CAST_ABILITY_4" "AbilityCooldown" "20" "AbilityManaCost" "60" "AbilityChannelTime" "8.0" "precache" { "particle" "particles/heroes/thtd_miko/ability_thtd_miko_04_starfall.vpcf" "particle" "particles/heroes/thtd_miko/ability_thtd_miko_04_start.vpcf" } "OnSpellStart" { "ApplyModifier" { "ModifierName" "modifier_thdots_miko04_think_interval" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMiko.lua" "Function" "OnCreatedMiko04" } } "OnChannelInterrupted" { "RemoveModifier" { "Target" "CASTER" "ModifierName" "modifier_thdots_miko04_think_interval" } } "Modifiers" { "modifier_thdots_miko04_think_interval" { "Duration" "8" "ThinkInterval" "0.4" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMiko.lua" "Function" "OnMiko04SpellThink" "damage_up" "%damage_up" "max_damage_up" "%max_damage_up" } } } "modifier_miko_04_pose" { "OverrideAnimation" "ACT_DOTA_CAST_ABILITY_4" "EffectName" "particles/heroes/thtd_miko/ability_thtd_miko_04_start.vpcf" "EffectAttachType" "follow_origin" } "modifier_miko_04_pose_other" { "IsHidden" "1" "States" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "10" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "8.0" } } } "thtd_yoshika_01" { "ID" "9257" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yoshika_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" // Stats // ---------------------------------------------------------------- "MaxLevel" "5" "precache" { "particle" "particles/heroes/thtd_yoshika/ability_yoshika_01.vpcf" "particle" "particles/heroes/thtd_yoshika/ability_yoshika_01_debuff.vpcf" } "Modifiers" { "passive_yoshika_01_attack_landed" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityYoshika.lua" "Function" "OnYoshika01AttackLanded" "duration_time" "%duration_time" "range" "%range" } } } "modifier_yoshika_01_slow" { "Duration" "%duration_time" "IsDebuff" "1" "EffectName" "particles/heroes/thtd_yoshika/ability_yoshika_01_debuff.vpcf" "EffectAttachType" "follow_origin" "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } "modifier_thtd_yoshika_01_combo_buff" { "Properties" { "MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT" "%attack_speed" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "move_slow" "-20 -25 -30 -40 -50" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } "04" { "var_type" "FIELD_INTEGER" "range" "300" } "05" { "var_type" "FIELD_INTEGER" "attack_speed" "50" } "06" { "var_type" "FIELD_INTEGER" "has_combo_buff" "1" } } } "thtd_yoshika_02" { "ID" "9258" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yoshika_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "5" "AbilityManaCost" "0" "AbilityCastAnimation" "ACT_DOTA_CHANNEL_ABILITY_2" "precache" { "particle" "particles/heroes/thtd_yoshika/ability_yoshika_02.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYoshika.lua" "Function" "OnYoshika02SpellStart" } } "AbilitySpecial" { "01" { "var_type" "FIELD_FLOAT" "power_damage" "0.5" } } } "thtd_seiga_01" { "ID" "9259" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_seiga_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCastRange" "1500" "Modifiers" { "modifier_seiga_01_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_seiga_01_destroy_buff" "Aura_Radius" "1500" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_seiga_01_destroy_buff" { "IsHidden" "1" "OnDeath" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySeiga.lua" "Function" "OnSeiga01Death" } } } } } "thtd_seiga_02" { "ID" "9260" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_seiga_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" "AbilityCooldown" "10" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySeiga.lua" "Function" "OnSeiga02SpellStart" "Target" "TARGET" } } "Modifiers" { "modifier_seiga_02_attack_speed_buff" { "Duration" "%duration_time" "Properties" { "MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT" "%attack_speed" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "attack_speed" "20 30 40 60 80" } "01" { "var_type" "FIELD_FLOAT" "duration_time" "10" } } } "thtd_seiga_03" { "ID" "9261" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_seiga_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE | DOTA_ABILITY_BEHAVIOR_AURA" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCastRange" "1500" "precache" { "particle" "particles/heroes/thtd_seiga/ability_seiga_03.vpcf" } "Modifiers" { "modifier_seiga_03_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_seiga_03_destroy_buff" "Aura_Radius" "1500" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_seiga_03_destroy_buff" { "IsHidden" "1" "OnDeath" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySeiga.lua" "Function" "OnSeiga03Death" "range" "%range" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_FLOAT" "power_damage" "0.5" } "02" { "var_type" "FIELD_INTEGER" "range" "300" } } } "thtd_keine_01" { "ID" "9262" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_keine_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "5" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" "AbilityCooldown" "15" "AbilityManaCost" "0" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "soundfile" "particles/heroes/thtd_keine/ability_keine_01_buff.vpcf" "soundfile" "particles/heroes/thtd_keine/ability_keine_01_stun.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKeine.lua" "Function" "OnKeine01SpellStart" "Target" "TARGET" "bonus_time" "%bonus_time" } } "Modifiers" { "modifier_keine_01_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityKeine.lua" "Function" "OnKeine01AttackLanded" "chance" "%chance" "stun_time" "%stun_time" "lock_time" "%lock_time" "range" "%range" } } } "modifier_keine_01_lock" { } "modifier_keine_01_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKeine.lua" "Function" "OnCreatedKeine01Buff" "attack_bonus" "%attack_bonus" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKeine.lua" "Function" "OnDestroyKeine01Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "attack_bonus" "10 20 40 80 200" } "02" { "var_type" "FIELD_FLOAT" "bonus_time" "10.0" } "03" { "var_type" "FIELD_INTEGER" "power_damage" "2" } "04" { "var_type" "FIELD_INTEGER" "chance" "40" } "05" { "var_type" "FIELD_FLOAT" "stun_time" "1.0" } "06" { "var_type" "FIELD_FLOAT" "lock_time" "1.5" } "07" { "var_type" "FIELD_FLOAT" "range" "300" } } } "thtd_keine_02" { "ID" "9263" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_keine_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityCooldown" "10" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "1" "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityKeine.lua" "Function" "OnKeine02SpellStart" } } } "thtd_keine_03" { "ID" "9264" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_keine_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "2" "AbilityCooldown" "10" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%range" "precache" { "particle" "particles/heroes/thtd_keine/ability_keine_03.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKeine.lua" "Function" "OnKeine03SpellStart" "Target" "POINT" "range1" "%range1" "max_count" "%max_count" } } "OnProjectileHitUnit" { "DeleteOnHit" "true" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKeine.lua" "Target" "TARGET" "Function" "OnKeine04SwordHit" } } "Modifiers" { "thtd_keine_03_debuff" { "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKeine.lua" "Function" "OnKeine03Destroy" } } } "modifier_keine_03_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityKeine.lua" "Function" "OnKeine03AttackLanded" "range2" "%range2" "chance" "%chance" "max_count" "%max_count" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "chance" "25 50" } "02" { "var_type" "FIELD_INTEGER" "range1" "1000" } "03" { "var_type" "FIELD_INTEGER" "range2" "300" } "04" { "var_type" "FIELD_INTEGER" "max_count" "2" } } } "thtd_keine_04" { "ID" "9265" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_keine_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCooldown" "1" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "1" "precache" { "particle" "particles/heroes/thtd_keine/ability_keine_04_sword.vpcf" "particle" "particles/heroes/thtd_keine/ability_keine_04_mirror.vpcf" } "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityKeine.lua" "Function" "OnKeine04SpellStart" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "distance_damage" "1" } "03" { "var_type" "FIELD_FLOAT" "hp_percent" "0.5" } } } "thtd_medicine_01" { "ID" "9266" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_medicine_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "5" "Modifiers" { "passive_medicine_01_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityMedicine.lua" "Function" "OnMedicine01AttackLanded" "duration_time" "%duration_time" "fear_time" "%fear_time" "tick_time" "%tick_time" } } } "modifier_medicine_01_slow" { "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "move_slow" "-20 -30 -40 -50 -70" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } "04" { "var_type" "FIELD_FLOAT" "tick_time" "0.2" } } } "thtd_medicine_02" { "ID" "9267" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_medicine_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "AbilityCooldown" "10" "AbilityManaCost" "15" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%range" "precache" { "particle" "particles/heroes/thtd_medicine/ability_medicine_02.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityMedicine.lua" "Function" "OnMedicine02SpellStart" "Target" "POINT" "range" "%range" "duration_time" "%duration_time" "tick_time" "%tick_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_INTEGER" "range" "400" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "2.8" } "04" { "var_type" "FIELD_FLOAT" "tick_time" "0.2" } } } "thtd_medicine_03" { "ID" "9268" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } "thtd_star_01" { "ID" "9269" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_star_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "5" "AbilityCooldown" "1" "AbilityManaCost" "10" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%range" "precache" { "particle" "particles/heroes/thtd_star/ability_star_01.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityStar.lua" "Function" "OnStar01SpellStart" "Target" "POINT" "range" "%range" "duration_time" "%duration_time" } } "Modifiers" { "modifier_star_01_slow" { "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "range" "300" } "03" { "var_type" "FIELD_INTEGER" "move_slow" "-20 -30 -40 -50 -70" } "04" { "var_type" "FIELD_FLOAT" "duration_time" "3.5" } } } "thtd_star_02" { "ID" "9270" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_star_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCooldown" "5" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "300" "precache" { "particle" "particles/heroes/thtd_star/ability_star_01.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityStar.lua" "Function" "OnStar02SpellStart" "Target" "POINT" "range" "%range" "max_count" "%max_count" "damage_up" "%damage_up" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "range" "300" } "03" { "var_type" "FIELD_INTEGER" "max_count" "20" } "04" { "var_type" "FIELD_INTEGER" "damage_up" "5" } } } "thtd_sunny_01" { "ID" "9271" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_sunny_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" "AbilityCooldown" "5" "AbilityManaCost" "10" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/sunny/ability_sunny_01_laser.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySunny.lua" "Function" "OnSunny01SpellStart" "Target" "TARGET" "range" "%range" "max_count" "%max_count" "damage_up" "%damage_up" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "range" "1000" } "03" { "var_type" "FIELD_INTEGER" "max_count" "2" } "04" { "var_type" "FIELD_INTEGER" "damage_up" "100" } } } "thtd_sunny_02" { "ID" "9272" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_sunny_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "3" "AbilityCooldown" "10" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%range" "precache" { "particle" "particles/heroes/sunny/ability_sunny_02.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySunny.lua" "Function" "OnSunny02SpellStart" "Target" "POINT" "range" "%range" "duration_time" "%duration_time" } } "Modifiers" { "modifier_sunny_02_debuff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySunny.lua" "Function" "OnCreatedSunny02Buff" "damage_up" "%damage_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySunny.lua" "Function" "OnDestroySunny02Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "range" "400" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "10" } "03" { "var_type" "FIELD_INTEGER" "damage_up" "10 15 25" } } } "thtd_sunny_03" { "ID" "9273" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } "thtd_luna_01" { "ID" "9274" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_luna_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/heroes/thtd_luna/ability_luna_01.vpcf" } "Modifiers" { "passive_luna_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityLuna.lua" "Function" "OnLuna01Attack" "max_count" "%max_count" "range" "%range" "damage_up" "%damage_up" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "max_count" "2" } "03" { "var_type" "FIELD_INTEGER" "range" "1000" } "04" { "var_type" "FIELD_INTEGER" "damage_up" "100" } } } "thtd_luna_02" { "ID" "9275" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_luna_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "3" "AbilityCooldown" "20" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_luna/ability_luna_02_laser.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLuna.lua" "Function" "OnLuna02SpellStart" "Target" "POINT" "bonus_power" "%bonus_power" "duration_time" "%duration_time" } } "Modifiers" { "modifier_luna_02_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLuna.lua" "Function" "OnCreatedLuna02Buff" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityLuna.lua" "Function" "OnDestroyLuna02Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "bonus_power" "10 25 50" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "7.0" } } } "thtd_suika_01" { "ID" "9276" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_suika_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCooldown" "0.2" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "5" "precache" { "particle" "particles/heroes/thtd_suika/ability_suika_01.vpcf" "particle" "particles/heroes/thtd_suika/ability_suika_01_smoke.vpcf" } "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilitySuika.lua" "Function" "OnSuika01SpellStartUp" } } "Modifiers" { "modifier_suika_02_illusion" { "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" "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" } } "passive_suika_01_attack_landed" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilitySuika.lua" "Function" "OnSuika01AttackLanded" } } } "modifier_suika_01_slow_debuff" { "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } "modifier_suika_01_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.1" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySuika.lua" "Function" "OnSuika01Think" } } } } // Special // ------------------------------------------------------------------------------------------------------------- "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } "02" { "var_type" "FIELD_INTEGER" "move_slow" "-25 -30 -35 -40 -60" } } } "thtd_suika_02" { "ID" "9277" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_suika_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "AbilityCooldown" "0.2" // Stats // ---------------------------------------------------------------- "AbilityManaCost" "0" "MaxLevel" "1" "OnSpellStart" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilitySuika.lua" "Function" "OnSuika01SpellStartDown" } } "Modifiers" { "modifier_suika_02_illusion" { "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" "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" } } } } "thtd_suika_03" { "ID" "9278" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_suika_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_suika/ability_suika_03.vpcf" "particle" "particles/thd2/heroes/suika/ability_suika_04_effect.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySuika.lua" "Function" "OnSuika03SpellStart" "Target" "POINT" } } "Modifiers" { } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } } } "thtd_suika_04" { "ID" "9279" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_suika_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" "AbilityCooldown" "15" "AbilityManaCost" "0" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_suika/ability_suika_04.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilitySuika.lua" "Function" "OnSuika04SpellStart" "Target" "TARGET" "range" "%range" "duration_time" "%duration_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "7" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "4.0" } "03" { "var_type" "FIELD_INTEGER" "range" "800" } } } "thtd_yuugi_01" { "ID" "9280" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yuugi_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "AbilityCooldown" "5" "AbilityManaCost" "0" "precache" { "particle" "particles/heroes/thtd_yuugi/ability_yuugi_01.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuugi.lua" "Function" "OnYuugi01SpellStart" "Target" "POINT" "power_damage1" "%power_damage1" "power_damage2" "%power_damage2" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage1" "5" } "02" { "var_type" "FIELD_INTEGER" "power_damage2" "15" } } } "thtd_yuugi_02" { "ID" "9281" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yuugi_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/heroes/thtd_yuugi/ability_yuugi_02.vpcf" } "Modifiers" { "passive_yuugi_attack" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityYuugi.lua" "Function" "OnYuugi02AttackLanded" "chance" "%chance" "range" "%range" } } } "modifier_yuugi_02_pause_unit" { "States" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } "02" { "var_type" "FIELD_INTEGER" "chance" "45" } "03" { "var_type" "FIELD_INTEGER" "range" "250" } } } "thtd_yuugi_03" { "ID" "9282" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_yuugi_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "AbilityCooldown" "15" "AbilityManaCost" "50" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_yuggi/ability_yuugi_03.vpcf" "particle" "particles/thd2/heroes/yugi/yugi_slam.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityYuugi.lua" "Function" "OnYuugi03SpellStart" "Target" "POINT" "duration_time" "%duration_time" "range" "%range" } } "Modifiers" { "modifier_yuugi_03_pause_unit" { "States" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_FLOAT" "duration_time" "3.0" } "02" { "var_type" "FIELD_INTEGER" "range" "500" } } } "thtd_junko_01" { "ID" "9283" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_junko_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "5" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_junko/ability_junko_01_buff.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityJunko.lua" "Function" "OnJunko01SpellStart" "Target" "TARGET" "max_count" "%max_count" } } "OnUpgrade" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityJunko.lua" "Function" "OnUpgradeJunko01Buff" "damage_up" "%damage_up" "hecatia_up" "%hecatia_up" } } "Modifiers" { "modifier_junko_01" { // "EffectName" "particles/heroes/thtd_junko/ability_junko_01_buff.vpcf" // "EffectAttachType" "follow_origin" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityJunko.lua" "Function" "OnCreatedJunko01Buff" "damage_up" "%damage_up" "hecatia_up" "%hecatia_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityJunko.lua" "Function" "OnDestroyJunko01Buff" } } } "modifier_thtd_junko_01_combo_buff" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "damage_up" "10 20 30 40 60" } "02" { "var_type" "FIELD_INTEGER" "hecatia_up" "15 30 45 60 90" } "03" { "var_type" "FIELD_INTEGER" "has_combo_buff" "1" } } } "thtd_junko_02" { "ID" "9284" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_junko_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "AbilityCooldown" "10.0" "AbilityManaCost" "0" "precache" { "particle" "particles/heroes/thtd_junko/ability_junko_02.vpcf" } // "OnProjectileHitUnit" // { // "DeleteOnHit" "true" // "RunScript" // { // "ScriptFile" "scripts/vscripts/abilities/abilityJunko.lua" // "Target" "TARGET" // "Function" "OnJunkoProjectileHit" // "max_count" "%max_count" // } // } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityJunko.lua" "Function" "OnJunko02SpellStart" "duration_time" "%duration_time" "tick" "%tick" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_FLOAT" "tick" "0.25" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } } } "thtd_junko_03" { "ID" "9285" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_junko_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_AUTOCAST" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "2" "AbilityCooldown" "10.0" "AbilityManaCost" "20" "precache" { "particle" "particles/heroes/thtd_junko/ability_junko_03.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityJunko.lua" "Function" "OnJunko03SpellStart" "duration_time" "%duration_time" "power_suck" "%power_suck" } } "Modifiers" { "modifier_junko_03_buff" { "Duration" "%duration_time" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityJunko.lua" "Function" "OnCreatedJunko03Buff" "damage_up" "%damage_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityJunko.lua" "Function" "OnDestroyJunko03Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "damage_up" "150 300" } "02" { "var_type" "FIELD_INTEGER" "power_suck" "50 100" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "7.0" } } } "thtd_junko_04" { "ID" "9286" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_junko_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "AbilityCooldown" "5" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_junko/ability_junko_04.vpcf" "particle" "particles/heroes/thtd_junko/ability_junko_04_debuff.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityJunko.lua" "Function" "OnJunko04SpellStart" "Target" "POINT" "range" "%range" } } "Modifiers" { "modifier_junko_04_debuff" { "EffectName" "particles/heroes/thtd_junko/ability_junko_04_debuff.vpcf" "EffectAttachType" "attach_hitloc" "ThinkInterval" "%tick" "Duration" "%duration_time" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityJunko.lua" "Function" "OnThinkJunko04Debuff" "Target" "TARGET" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage1" "20" } "02" { "var_type" "FIELD_INTEGER" "power_damage2" "4" } "03" { "var_type" "FIELD_FLOAT" "tick" "0.3" } "04" { "var_type" "FIELD_FLOAT" "duration_time" "3.0" } "05" { "var_type" "FIELD_INTEGER" "range" "500" } } } "thtd_hecatia_01" { "ID" "9287" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_hecatia_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "AbilityCooldown" "10" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_hecatia/ability_hecatia_01_earth.vpcf" "particle" "particles/heroes/thtd_hecatia/ability_hecatia_earth_rain.vpcf" } // "OnProjectileHitUnit" // { // "DeleteOnHit" "false" // "RunScript" // { // "ScriptFile" "scripts/vscripts/abilities/abilityHecatia.lua" // "Target" "TARGET" // "Function" "OnHecatiaProjectileHit" // } // } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityHecatia.lua" "Function" "OnHecatia01SpellStart" "Target" "POINT" } } "Modifiers" { "modifier_hecatia_01_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.03" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityHecatia.lua" "Function" "OnHecatia01Think" } } } "modifier_thtd_hecatia_01_debuff" { "EffectName" "particles/heroes/thtd_hecatia/ability_hecatia_earth_debuff.vpcf" "EffectAttachType" "attach_hitloc" "Duration" "%root_time" "States" { "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_hecatia_01_earth_lock" { "Duration" "%lock_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_up" "20" } "02" { "var_type" "FIELD_INTEGER" "power_damage1" "2" } "03" { "var_type" "FIELD_INTEGER" "range1" "400" } "04" { "var_type" "FIELD_FLOAT" "root_time" "1.0" } "05" { "var_type" "FIELD_FLOAT" "lock_time" "2.0" } "06" { "var_type" "FIELD_INTEGER" "power_damage2" "3" } "07" { "var_type" "FIELD_INTEGER" "range2" "600" } } } "thtd_hecatia_02" { "ID" "9288" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_hecatia_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "AbilityCooldown" "10" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_hecatia/ability_hecatia_01_moon.vpcf" "particle" "particles/heroes/thtd_hecatia/ability_hecatia_moon_reflex.vpcf" "particle" "particles/heroes/thtd_hecatia/ability_hecatia_moon_hit.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityHecatia.lua" "Function" "OnHecatia02SpellStart" "Target" "POINT" } } "Modifiers" { "modifier_hecatia_01_moon_lock" { "Duration" "%lock_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "chance" "10" } "02" { "var_type" "FIELD_INTEGER" "crit" "100" } "03" { "var_type" "FIELD_INTEGER" "power_damage1" "1" } "04" { "var_type" "FIELD_INTEGER" "range1" "350" } "05" { "var_type" "FIELD_INTEGER" "back_distance" "100" } "06" { "var_type" "FIELD_FLOAT" "lock_time" "2.0" } "07" { "var_type" "FIELD_INTEGER" "power_damage2" "2" } "08" { "var_type" "FIELD_INTEGER" "range2" "550" } } } "thtd_hecatia_03" { "ID" "9289" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_hecatia_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "AbilityCooldown" "10" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/thtd_hecatia/ability_hecatia_01_otherworld.vpcf" "particle" "particles/heroes/thtd_hecatia/ability_hecatia_otherworld.vpcf" "particle" "particles/heroes/thtd_hecatia/ability_hecatia_otherworld_projectile.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityHecatia.lua" "Function" "OnHecatia03SpellStart" "Target" "POINT" } } "Modifiers" { "modifier_thtd_hecatia_03_combo_buff" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "damage_up" "30" } "02" { "var_type" "FIELD_INTEGER" "power_damage1" "3" } "03" { "var_type" "FIELD_INTEGER" "active_range" "400" } "04" { "var_type" "FIELD_INTEGER" "full_range" "700" } "05" { "var_type" "FIELD_FLOAT" "suck_duration" "3.0" } "06" { "var_type" "FIELD_INTEGER" "power_damage2" "5" } "07" { "var_type" "FIELD_INTEGER" "range2" "700" } "08" { "var_type" "FIELD_INTEGER" "has_combo_buff" "1" } } } "thtd_hecatia_04" { "ID" "9290" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_hecatia_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_PASSIVE" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "precache" { "particle" "particles/heroes/thtd_hecatia/ability_hecatia_04_triangle.vpcf" "particle" "particles/heroes/thtd_hecatia/ability_hecatia_04_laser.vpcf" } "Modifiers" { "modifier_hecatia_04_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "1.0" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityHecatia.lua" "Function" "OnHecatia04Think" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "10" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "10.0" } "03" { "var_type" "FIELD_INTEGER" "power_bonus" "200" } } } //================================================================================================================= // Doom Bringer: Devour //================================================================================================================= "shinki_dragon_01" { "ID" "9298" // General //------------------------------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING | DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "AbilityTextureName" "doom_bringer_devour" "AbilityCastPoint" "0" "AbilityCooldown" "0" "AbilityManaCost" "0" "MaxLevel" "1" "AbilityCastRange" "300" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_doombringer.vsndevts" "particle" "particles/units/heroes/hero_doom_bringer/doom_bringer_devour.vpcf" } "Modifiers" { "modifier_shinki_dragon_01_cooldown" { "IsHidden" "1" } } "OnSpellStart" { "FireSound" { "Target" "CASTER" "EffectName" "Hero_DoomBringer.Devour" } "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityShinki.lua" "Function" "OnShinkiDragon01SpellStart" "damage_up" "%damage_up" "max_count" "%max_count" } } "Modifiers" { "modifier_shinki_dragon_01_buff" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "damage_up" "5" } "02" { "var_type" "FIELD_INTEGER" "max_count" "100" } } } "shinki_dragon_02" { "ID" "9299" // General //------------------------------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" "AbilityTextureName" "slardar_bash" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2" // Precache //------------------------------------------------------------------------------------------------------------- "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_slardar.vsndevts" "particle" "particles/generic_gameplay/generic_stunned.vpcf" } // Stats //------------------------------------------------------------------------------------------------------------- "AbilityModifierSupportBonus" "25" // Special //------------------------------------------------------------------------------------------------------------- "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "chance" "50" } "02" { "var_type" "FIELD_INTEGER" "damage_crit" "4" } "03" { "var_type" "FIELD_FLOAT" "stun_time" "0.25" } "04" { "var_type" "FIELD_INTEGER" "range" "300" } "05" { "var_type" "FIELD_INTEGER" "aoe_crit" "2" } } "Modifiers" { "modifier_bash_stun_datadriven" { "IsDebuff" "1" "IsHidden" "1" "OverrideAnimation" "ACT_DOTA_DISABLED" "EffectName" "particles/generic_gameplay/generic_stunned.vpcf" "EffectAttachType" "follow_overhead" "States" { "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_bash_datadriven" { "IsHidden" "1" "Passive" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityShinki.lua" "Function" "OnShinki02AttackLanded" "chance" "%chance" "stun_time" "%stun_time" "range" "%range" "damage_crit" "%damage_crit" "aoe_crit" "%aoe_crit" } } } } } "shinki_dragon_03" { "ID" "9300" // General //------------------------------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO" "FightRecapLevel" "1" "AbilityTextureName" "ursa_earthshock" "MaxLevel" "1" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_3" // Casting //------------------------------------------------------------------------------------------------------------- "AbilityCastRange" "0" "AbilityCastPoint" "0.2" // Time //------------------------------------------------------------------------------------------------------------- "AbilityCooldown" "5" "AbilityDuration" "4" // Cost //------------------------------------------------------------------------------------------------------------- "AbilityManaCost" "0" // Special //------------------------------------------------------------------------------------------------------------- "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "shock_radius" "900" } "02" { "var_type" "FIELD_INTEGER" "movement_slow" "-60" } // Extra variables "03" { "var_type" "FIELD_INTEGER" "debuff_duration" "3" } "04" { "var_type" "FIELD_INTEGER" "damage_times" "3" } } // Data driven //------------------------------------------------------------------------------------------------------------- "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_ursa.vsndevts" "particle" "particles/units/heroes/hero_ursa/ursa_earthshock.vpcf" "particle" "particles/econ/items/ursa/ursa_ti10/ursa_ti10_earthshock.vpcf" } "OnSpellStart" { "FireSound" { "Target" "CASTER" "EffectName" "Hero_Ursa.Earthshock" } "FireEffect" { "Target" "CASTER" // "EffectName" "particles/units/heroes/hero_ursa/ursa_earthshock.vpcf" "EffectName" "particles/econ/items/ursa/ursa_ti10/ursa_ti10_earthshock.vpcf" "EffectAttachType" "start_at_origin" "EffectRadius" "%shock_radius" } "RunScript" { "Target" "CASTER" "ScriptFile" "scripts/vscripts/abilities/abilityShinki.lua" "Function" "OnShinkiDragon03SpellStart" "RangeRadius" "%shock_radius" "DamageTimes" "%damage_times" } } "Modifiers" { "modifier_earthshock_debuff_datadriven" { "IsHidden" "0" "IsDebuff" "1" "Duration" "%debuff_duration" "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%movement_slow" } } } } //================================================================================================================= // Alice //================================================================================================================= "thtd_alice_01" { "ID" "9301" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_alice_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "5" "AbilityCooldown" "1" "AbilityManaCost" "40" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%range2" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_techies.vsndevts" "particle" "particles/units/heroes/hero_techies/techies_land_mine.vpcf" "particle" "particles/units/heroes/hero_techies/techies_land_mine_explode.vpcf" } "OnSpellStart" { "FireSound" { "EffectName" "Hero_Techies.LandMine.Plant" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityAlice.lua" "Function" "OnAlice01SpellStart" "Target" "POINT" "range1" "%range1" "range2" "%range2" "stun_time" "%stun_time" "duration_time" "%duration_time" } } "Modifiers" { "modifier_alice_01_rooted" { "IsHidden" "1" "States" { "MODIFIER_STATE_NO_UNIT_COLLISION" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NOT_ON_MINIMAP" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_UNSELECTABLE" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_alice_boom_tracker" { "IsHidden" "1" "IsPurgable" "0" "EffectName" "particles/units/heroes/hero_techies/techies_land_mine.vpcf" "EffectAttachType" "follow_origin" } "modifier_alice_power666" { } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "range1" "200" } "03" { "var_type" "FIELD_INTEGER" "range2" "400" } "04" { "var_type" "FIELD_FLOAT" "stun_time" "1.0" } "05" { "var_type" "FIELD_FLOAT" "duration_time" "60" } } } "thtd_alice_unit_kill" { "ID" "9302" // General //------------------------------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityTextureName" "techies_remote_mines_self_detonate" "AbilityCastRange" "100" "MaxLevel" "1" "OnSpellStart" { "FireEffect" { "EffectName" "particles/units/heroes/hero_techies/techies_land_mine_explode.vpcf" "EffectAttachType" "follow_hitloc" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityAlice.lua" "Function" "OnAliceUnitKillSpellStart" } } } "thtd_alice_02" { "ID" "9303" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_alice_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityCastPoint" "0.1" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" "AbilityCooldown" "30" "AbilityManaCost" "0" "MaxLevel" "2" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1500" "OnSpellStart" { "FireSound" { "EffectName" "Sound_THTD.thtd_set_tower" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityAlice.lua" "Function" "OnAlice02SpellStart" } } "Modifiers" { "modifier_alice_02" { "IsHidden" "1" "States" { "MODIFIER_STATE_ATTACK_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_MAGIC_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NOT_ON_MINIMAP" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_up" "50" } } } "thtd_alice_02_ningyou_01" { "ID" "9304" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_shanghainingyou_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCastRange" "200" "Modifiers" { "modifier_alice_shanghainingyou_crit_chance" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityAlice.lua" "Function" "OnAlice02Ningyou01AttackLanded" "power_damage" "%power_damage" "chance" "%chance" "range" "%range" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "3" } "02" { "var_type" "FIELD_INTEGER" "chance" "40" } "03" { "var_type" "FIELD_INTEGER" "range" "300" } } } "thtd_alice_02_ningyou_02" { "ID" "9305" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_hourainingyou_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCastRange" "200" "Modifiers" { "modifier_alice_hourainingyou_buff" { "Passive" "1" "IsHidden" "1" "OnAttackLanded" { "RunScript" { "Target" "TARGET" "ScriptFile" "scripts/vscripts/abilities/abilityAlice.lua" "Function" "OnAlice02Ningyou02AttackLanded" "CritChance" "%crit_chance" "CritHealth" "%health" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "crit_chance" "5" } "02" { "var_type" "FIELD_FLOAT" "health" "10" } } } "thtd_alice_03" { "ID" "9306" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityTextureName" "touhoutd/thtd_alice_03" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_2" "MaxLevel" "2" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" // Stats //---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityManaCost" "0" "AbilityCastPoint" "0.2" "AbilityCooldown" "10 7" "precache" { "particle" "particles/heroes/alice/ability_alice_02.vpcf" } "OnSpellStart" { "FireSound" { "EffectName" "Voice_Thdots_Alice.AbilityAlice011" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityAlice.lua" "Function" "OnAlice04SpellStart" "Target" "TARGET" "Radius" "%radius" "Distance" "%distance" "LaserRadius" "%laser_radius" "max_count" "%max_count" "damage_up" "%damage_up" } } "Modifiers" { "modifier_alice_04_rooted" { "IsHidden" "1" "States" { "MODIFIER_STATE_NO_UNIT_COLLISION" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NOT_ON_MINIMAP" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_UNSELECTABLE" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "7" } "02" { "var_type" "FIELD_INTEGER" "max_count" "10" } "03" { "var_type" "FIELD_INTEGER" "damage_up" "1" } "04" { "var_type" "FIELD_FLOAT" "radius" "400" } "05" { "var_type" "FIELD_INTEGER" "distance" "1500" } "06" { "var_type" "FIELD_FLOAT" "laser_radius" "150" } } } "thtd_alice_04" { "ID" "9307" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } //================================================================================================================= // kokoro //================================================================================================================= "thtd_kokoro_01" { "ID" "9308" // General //------------------------------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kokoro_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "AbilityCooldown" "1.0" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/units/heroes/hero_arc_warden/arc_warden_wraith_prj.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKokoro.lua" "Function" "OnKokoro01SpellStart" } } "OnProjectileHitUnit" { "DeleteOnHit" "1" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKokoro.lua" "Target" "TARGET" "Function" "OnProjectileHitUnitKokoro01" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } } } "thtd_kokoro_02" { "ID" "9309" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kokoro_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" // Stats //---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityManaCost" "0" "AbilityCastPoint" "0.0" "AbilityCooldown" "3.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKokoro.lua" "Function" "OnKokoro02SpellStart" "stun_time" "%stun_time" } } "Modifiers" { "modifier_kokoro_02_rooted" { "IsHidden" "1" "States" { "MODIFIER_STATE_NO_UNIT_COLLISION" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NOT_ON_MINIMAP" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_UNSELECTABLE" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_ROOTED" "MODIFIER_STATE_VALUE_ENABLED" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "3" } "02" { "var_type" "FIELD_FLOAT" "stun_time" "0.5" } } } "thtd_kokoro_03" { "ID" "9310" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kokoro_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCastRange" "800" "AbilityManaCost" "0" "AbilityCastPoint" "0.0" "AbilityCooldown" "2.0" "precache" { //"particle" "particles/econ/items/mars/mars_fall20_immortal_shield/mars_fall20_immortal_shield_bash.vpcf" "particle" "particles/econ/items/mars/mars_fall20_immortal_shield/mars_fall20_immortal_shield_bash_headmodel.vpcf" "particle" "particles/units/heroes/hero_mars/mars_shield_bash_model.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKokoro.lua" "Function" "OnKokoro03SpellStart" "crit_mult" "%crit_mult" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "crit_mult" "2" } } } "thtd_kokoro_04" { "ID" "9311" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kokoro_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "AbilityCastRange" "1200" "Modifiers" { "modifier_kokoro_04_buff_1" { "TextureName" "touhoutd/thtd_kokoro_01" } "modifier_kokoro_04_buff_2" { "TextureName" "touhoutd/thtd_kokoro_02" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKokoro.lua" "Function" "OnCreatedKokoro04Buff2" "bonus" "%bonus" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKokoro.lua" "Function" "OnDestroyKokoro04Buff2" } } } "modifier_kokoro_04_buff_3" { "TextureName" "touhoutd/thtd_kokoro_03" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKokoro.lua" "Function" "OnCreatedKokoro04Buff3" "crit_damage" "%crit_damage" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKokoro.lua" "Function" "OnDestroyKokoro04Buff3" } } } "modifier_kokoro_04_think" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "1.0" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKokoro.lua" "Function" "OnKokoro04Think" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "crit_damage" "100" } "02" { "var_type" "FIELD_INTEGER" "damage_up_base" "50" } "03" { "var_type" "FIELD_INTEGER" "damage_up_per" "1" } "04" { "var_type" "FIELD_INTEGER" "bonus" "100" } } } "thtd_hina_01" { "ID" "9312" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_hina_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "5" "AbilityCastRange" "%radius" "Modifiers" { "modifier_hina_01_aura" { "Passive" "1" "IsHidden" "1" "Aura" "modifier_hina_01_slow_debuff" "Aura_Radius" "%radius" "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" } "modifier_hina_01_slow_debuff" { "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_slow" } } } // Special // ------------------------------------------------------------------------------------------------------------- "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "1200" } "02" { "var_type" "FIELD_INTEGER" "move_slow" "-30 -35 -40 -45 -55" } } } "thtd_hina_02" { "ID" "9313" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_hina_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" "AbilityCooldown" "10.0" "AbilityManaCost" "0" "AbilityCastRange" "1000" "AbilityCastPoint" "0.1" "AOERadius" "%range" "precache" { // "soundfile" "soundevents/game_sounds_heroes/game_sounds_troll_warlord.vsndevts" "particle" "particles/econ/items/troll_warlord/troll_ti10_shoulder/troll_ti10_whirling_axe_melee.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityHina.lua" "Function" "OnSpellStartHina02" "Target" "POINT" "range" "%range" "duration" "%duration" "tick" "%tick" "chance" "%chance" "bonus_crit" "%bonus_crit" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_INTEGER" "range" "250" } "03" { "var_type" "FIELD_FLOAT" "duration" "5.0" } "04" { "var_type" "FIELD_FLOAT" "tick" "0.4" } "05" { "var_type" "FIELD_INTEGER" "chance" "70" } "06" { "var_type" "FIELD_INTEGER" "bonus_crit" "40" } } } "thtd_hina_03" { "ID" "9507" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } "reimu_pet_01" { "ID" "9315" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/reimu_pet_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" // Stats //---------------------------------------------------------------- "AbilityCastRange" "100" "AbilityManaCost" "0" "AbilityCastPoint" "0.0" "AbilityCooldown" "0.2" "Modifiers" { "modifier_reimu_pet_01_state" { "IsHidden" "1" "States" { // "MODIFIER_STATE_ATTACK_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED" // "MODIFIER_STATE_MAGIC_IMMUNE" "MODIFIER_STATE_VALUE_ENABLED" // "MODIFIER_STATE_NOT_ON_MINIMAP" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_NO_HEALTH_BAR" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_reimu_pet_01_level" { } } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityReimu_pet.lua" "Function" "OnSpellStartReimuPet01" } } } "reimu_pet_02" { "ID" "9316" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/reimu_pet_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" // Stats //---------------------------------------------------------------- "AbilityCastRange" "100" "AbilityManaCost" "0" "AbilityCastPoint" "0.0" "AbilityCooldown" "0.2" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityReimu_pet.lua" "Function" "OnSpellStartReimuPet02" } } } "reimu_pet_03" { "ID" "9317" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/reimu_pet_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" // Stats //---------------------------------------------------------------- "AbilityCastRange" "100" "AbilityManaCost" "0" "AbilityCastPoint" "0.0" "AbilityCooldown" "6.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityReimu_pet.lua" "Function" "OnSpellStartReimuPet03" } } } "reimu_pet_04" { "ID" "9319" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/reimu_pet_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" // Stats // ---------------------------------------------------------------- "MaxLevel" "1" // Stats //---------------------------------------------------------------- "AbilityCastRange" "300" "AbilityManaCost" "0" "AbilityCastPoint" "0.0" "AbilityCooldown" "1" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityReimu_pet.lua" "Function" "OnSpellStartReimuPet04" "point" "%point" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "point" "2" } } } "reimu_pet_05" { "ID" "9320" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/reimu_pet_05" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "MaxLevel" "1" "AbilityCooldown" "3.0" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "AOERadius" "1200" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityReimu_pet.lua" "Function" "OnSpellStartReimuPet05" "Target" "POINT" } } } "thtd_wriggle_02" { "ID" "9321" "BaseClass" "ability_datadriven" "AbilityTextureName" "keeper_of_the_light_will_o_wisp" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_AOE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "15" "AbilityManaCost" "20" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "AOERadius" "%range" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityWriggle.lua" "Function" "OnSpellStartWriggle02" "Target" "POINT" "range" "%range" "max_count" "%max_count" } } "Modifiers" { "modifier_wriggle02_speed" { "Duration" "1.0" "IsDebuff" "1" "Properties" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%move_speed" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "range" "600" } "02" { "var_type" "FIELD_INTEGER" "max_count" "1 2 3" } "03" //仅作显示 { "var_type" "FIELD_FLOAT" "on_time" "1.0" } "04" //仅作显示 { "var_type" "FIELD_FLOAT" "off_time" "0.5" } "05" { "var_type" "FIELD_INTEGER" "move_speed" "40" } } } "thtd_wriggle_03" { "ID" "9322" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } "thtd_clownpiece_01" { "ID" "9323" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_clownpiece_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "5" "AbilityCooldown" "5" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%range" "precache" { "particle" "particles/heroes/thtd_hecatia/ability_hecatia_01_moon.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityClownpiece.lua" "Function" "OnSpellStartClownpiece01" "Target" "POINT" "range" "%range" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "range" "300 400 500 600 800" } } } "thtd_clownpiece_02" { "ID" "9324" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_clownpiece_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "10" "AbilityManaCost" "30" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "precache" { "particle" "particles/heroes/kogasa/ability_kogasa_01_debuff.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityClownpiece.lua" "Function" "OnSpellStartClownpiece02" "Target" "POINT" "radius" "%radius" "duration_time" "%duration_time" "damage_up_self" "%damage_up_self" "damage_up_other" "%damage_up_other" } } "Modifiers" { "modifier_clownpiece_debuff" { "IsHidden" "1" "EffectName" "particles/heroes/kogasa/ability_kogasa_01_debuff.vpcf" "EffectAttachType" "follow_origin" } "modifier_clownpiece_buff" { "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityClownpiece.lua" "Function" "OnCreatedClownpiece02Buff" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityClownpiece.lua" "Function" "OnDestroyClownpiece02Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "radius" "400" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } "03" { "var_type" "FIELD_INTEGER" "damage_up_other" "1 5 10" } "04" { "var_type" "FIELD_INTEGER" "damage_up_self" "3" } } } "thtd_clownpiece_03" { "ID" "9325" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_clownpiece_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "AbilityCooldown" "15" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "precache" { "particle" "particles/econ/items/jakiro/jakiro_ti8_immortal_head/jakiro_ti8_dual_breath_fire.vpcf" "particle" "particles/econ/items/jakiro/jakiro_ti8_immortal_head/jakiro_ti8_dual_breath_ice.vpcf" "particle" "particles/units/heroes/hero_jakiro/jakiro_liquid_fire_debuff.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_jakiro.vsndevts" } "OnSpellStart" { // "FireSound" // { // "EffectName" "Hero_Jakiro.LiquidFire" // "Target" "CASTER" // } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityClownpiece.lua" "Function" "OnSpellStartClownpiece03" "Target" "POINT" "distance" "%distance" "duration_time" "%duration_time" } } "Modifiers" { "modifier_clownpiece_03_debuff" { // "EffectName" "particles/units/heroes/hero_jakiro/jakiro_liquid_fire_debuff.vpcf" // "EffectAttachType" "follow_hitloc" "EffectName" "sm/rongyanroushan.vpcf" "EffectAttachType" "attach_origin" "Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE" "ThinkInterval" "%tick" "States" { "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%speed_down" } "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityClownpiece.lua" "Function" "OnThinkClownpiece03" "Target" "TARGET" "tick" "%tick" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "10" } "02" { "var_type" "FIELD_INTEGER" "distance" "1000" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "10.0" } "04" { "var_type" "FIELD_FLOAT" "tick" "0.5" } "05" { "var_type" "FIELD_INTEGER" "speed_down" "-15" } } } "thtd_inaba_01" { "ID" "9526" "BaseClass" "ability_datadriven" "AbilityTextureName" "ogre_magi/arcana/ogre_magi_bloodlust_arcana" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_FRIENDLY" "MaxLevel" "5" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1200" "AbilityCastPoint" "0.2" "AbilityCooldown" "15" "AbilityManaCost" "18" "precache" { "particle" "particles/units/heroes/hero_ogre_magi/ogre_magi_bloodlust_buff.vpcf" "particle" "particles/econ/items/ogre_magi/ogre_ti8_immortal_weapon/ogre_ti8_immortal_bloodlust_buff.vpcf" "particle" "particles/units/heroes/hero_ogre_magi/ogre_magi_bloodlust_cast.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_ogre_magi.vsndevts" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityInaba.lua" "Function" "OnSpellStartInaba01" "Target" "TARGET" "duration" "%duration" } } "Modifiers" { "modifier_inaba_01_buff" { "Duration" "%duration" "EffectName" "particles/econ/items/ogre_magi/ogre_ti8_immortal_weapon/ogre_ti8_immortal_bloodlust_buff.vpcf" "EffectAttachType" "follow_overhead" // "Properties" // { // "MODIFIER_PROPERTY_MANACOST_PERCENTAGE" "%mana_cost" // "MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE" "13" //技能伤害加深,只对英雄有用 // } "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityInaba.lua" "Function" "OnCreatedInaba01Buff" "chance" "%chance" "attack_speed" "%attack_speed" "mana_cost" "%mana_cost" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityInaba.lua" "Function" "OnDestroyInaba01Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_FLOAT" "duration" "10.0" } "02" { "var_type" "FIELD_INTEGER" "chance" "5 10 15 20 30" } "03" { "var_type" "FIELD_INTEGER" "attack_speed" "5 10 15 20 30" } "04" { "var_type" "FIELD_INTEGER" "mana_cost" "5 10 15 20 30" } } } "thtd_inaba_02" { "ID" "9326" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_inaba_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" // Stats // ---------------------------------------------------------------- "precache" { "particle" "particles/econ/items/sniper/sniper_fall20_immortal/sniper_fall20_immortal_shrapnel.vpcf" "particle" "particles/econ/items/sniper/sniper_fall20_immortal/sniper_fall20_immortal_crosshair.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_sniper.vsndevts" } "Modifiers" { "modifier_inaba_02_passive" { "IsHidden" "1" "Passive" "1" "OnAttackLanded" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityInaba.lua" "Function" "OnAttackLandedInaba02" "count1" "%count1" "count2" "%count2" "damage_up" "%damage_up" "max_count" "%max_count" "duration" "%duration" "range" "%range" } } } "modifier_inaba_02_buff" { } "modifier_inaba_02_rabbit" { "IsHidden" "1" "States" { "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" } "Properties" { "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE" "-100" "MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE_MAX" "1500" "MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE" "1500" } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage1" "2" } "02" { "var_type" "FIELD_INTEGER" "power_damage2" "4" } "03" { "var_type" "FIELD_INTEGER" "range" "400" } "04" { "var_type" "FIELD_INTEGER" "count1" "5" } "05" { "var_type" "FIELD_INTEGER" "count2" "20" } "06" { "var_type" "FIELD_INTEGER" "damage_up" "20" } "07" { "var_type" "FIELD_INTEGER" "max_count" "25" } "08" { "var_type" "FIELD_FLOAT" "duration" "7.0" } } } "thtd_kisume_01" { "ID" "9327" // General //------------------------------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kisume_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" // Stats // ---------------------------------------------------------------- "MaxLevel" "5" "AbilityCastRange" "1000" "AbilityCooldown" "5 4 3 2 1" "AbilityManaCost" "0" "precache" { "particle" "particles/units/heroes/heroes_underlord/abyssal_underlord_firestorm_wave.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKisume.lua" "Function" "OnSpellStartKisume01" "range" "%range" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } "02" { "var_type" "FIELD_INTEGER" "range" "1000" } } } "thtd_kisume_02" { "ID" "9328" // General //------------------------------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kisume_02" "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" // Stats // ---------------------------------------------------------------- "MaxLevel" "3" "AbilityCastRange" "1000" "AbilityCooldown" "10" "AbilityManaCost" "15" "precache" { "particle" "particles/units/heroes/hero_bane/bane_fiendsgrip_hands.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKisume.lua" "Function" "OnSpellStartKisume02" "Target" "TARGET" } } "Modifiers" { "modifier_kisume_02_debuff" { "IsHidden" "1" "Duration" "%duration_time" "EffectName" "particles/units/heroes/hero_bane/bane_fiendsgrip_hands.vpcf" "EffectAttachType" "attach_hitloc" "ThinkInterval" "%tick" "States" { "MODIFIER_STATE_FROZEN" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKisume.lua" "Function" "OnKisume02Think" "Target" "TARGET" "damage_hp" "%damage_hp" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "01" { "var_type" "FIELD_INTEGER" "damage_hp" "2 4 8" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } "04" { "var_type" "FIELD_FLOAT" "tick" "1.0" } } } "thtd_komachi_01" { "ID" "9329" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_komachi_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "1" "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/komachi/ability_komachi_02.vpcf" } "Modifiers" { "modifier_komachi_01_attack" { "Passive" "1" "IsHidden" "1" "ThinkInterval" "0.3" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKomachi.lua" "Function" "OnThinkKomachi01" "crit_bonus" "%crit_bonus" } } "OnAttack" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKomachi.lua" "Function" "OnAttackKomachi01" } } "OnAttackLanded" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKomachi.lua" "Function" "OnAttackLandedKomachi01" // "Target" // local targets = keys.target_entities // { // "Center" "CASTER" // "Radius" "%radius" // "Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY" // "Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" // } } } "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKomachi.lua" "Function" "OnCreatedKomachi01Buff" "chance" "%chance" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_INTEGER" "chance" "40" } "03" { "var_type" "FIELD_INTEGER" "crit_bonus" "10" } } } "thtd_komachi_02" { "ID" "9343" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_komachi_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "3" "AbilityCooldown" "5" "AbilityManaCost" "25" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "precache" { "particle" "particles/units/heroes/hero_dark_seer/dark_seer_vacuum.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKomachi.lua" "Function" "OnSpellStartKomachi02" "Target" "POINT" "radius" "%radius" "duration_time" "%duration_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "7" } "02" { "var_type" "FIELD_INTEGER" "radius" "200 400 800" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "1.2" } } } "thtd_komachi_03" { "ID" "9330" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityTextureName" "touhoutd/thtd_komachi_03" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "MaxLevel" "2" // Stats //---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityManaCost" "0" "AbilityCastPoint" "0.2" "AbilityCooldown" "10.0" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_3" "precache" { "particle" "particles/heroes/komachi/ability_komachi_03.vpcf" "particle" "particles/heroes/komachi/ability_komachi_03_explosion_2.vpcf" "soundfile" "soundevents/thdots_hero_sounds/thdots_nue_sounds.vsndevts" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKomachi.lua" "Function" "OnSpellStartKomachi03" "Target" "TARGET" "max_count" "%max_count" } } "Modifiers" { "modifier_komachi_03_debuff" { "Duration" "%duration_time" "EffectName" "particles/heroes/komachi/ability_komachi_03.vpcf" "EffectAttachType" "follow_origin" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKomachi.lua" "Function" "OnCreatedKomachi03Debuff" "damage_up" "%damage_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKomachi.lua" "Function" "OnDestroyKomachi03Debuff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "max_count" "2 4" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "7.0" } "03" { "var_type" "FIELD_INTEGER" "damage_up" "25 50" } } } "thtd_komachi_04" { "ID" "9332" "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityTextureName" "touhoutd/thtd_komachi_04" "AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_4" "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" // Stats //---------------------------------------------------------------- "AbilityManaCost" "60" "AbilityCooldown" "20.0" "AbilityCastPoint" "0.1" "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL" "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/komachi/ability_komachi_04_circle.vpcf" "particle" "particles/heroes/komachi/ability_komachi_04_start.vpcf" "particle" "particles/heroes/komachi/ability_komachi_04_blink.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_axe.vsndevts" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKomachi.lua" "Function" "OnSpellStartKomachi04" "Target" "TARGET" "hp_kill" "%hp_kill" "duration_time" "%duration_time" "bonus_power" "%bonus_power" } } "Modifiers" { "modifier_komachi_04" { "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_NO_UNIT_COLLISION" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_STUNNED" "MODIFIER_STATE_VALUE_ENABLED" } } "modifier_komachi_04_kill_power_bonus" { } "modifier_komachi_04_buff" { "IsHidden" "1" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKomachi.lua" "Function" "OnCreatedKomachi04Buff" "attack_speed" "%attack_speed" "damage_up" "%damage_up" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKomachi.lua" "Function" "OnDestroyKomachi04Buff" } } } // "modifier_komachi_04_debuff" // { // "IsDebuff" "1" // "IsPurgable" "0" // "Duration" "%duration" // "Properties" // { // "MODIFIER_PROPERTY_DISABLE_HEALING" "1" // } // } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "hp_kill" "40" } "02" { "var_type" "FIELD_INTEGER" "attack_speed" "100" } "03" { "var_type" "FIELD_INTEGER" "damage_up" "300" } "04" { "var_type" "FIELD_FLOAT" "duration_time" "12.0" } "05" { "var_type" "FIELD_INTEGER" "bonus_power" "0" } } } "thtd_komachi_05" { "ID" "9331" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "900" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } "thtd_kagerou_01" { "ID" "9333" "BaseClass" "ability_datadriven" "AbilityTextureName" "lycan_feral_impulse" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE" "MaxLevel" "5" "precache" { "particle" "particles/econ/items/sven/sven_ti7_sword/sven_ti7_sword_spell_great_cleave_gods_strength.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_lycan.vsndevts" } "Modifiers" { "modifier_kagerou_01_attack" { "IsHidden" "1" "Passive" "1" "OnAttackLanded" { "CleaveAttack" { "CleavePercent" "%percent" "CleaveRadius" "%range" // "CleaveEffect" "particles/units/heroes/hero_sven/sven_spell_great_cleave.vpcf" "CleaveEffect" "particles/econ/items/sven/sven_ti7_sword/sven_ti7_sword_spell_great_cleave_gods_strength.vpcf" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "range" "800" } "02" { "var_type" "FIELD_INTEGER" "percent" "40 50 60 70 90" } } } "thtd_kagerou_02" { "ID" "9334" // General //------------------------------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING" "AbilityTextureName" "lycan_howl" "MaxLevel" "3" // Precache //------------------------------------------------------------------------------------------------------------- "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_lycan.vsndevts" "particle" "particles/units/heroes/hero_lycan/lycan_howl_cast.vpcf" "particle" "particles/units/heroes/hero_lycan/lycan_howl_buff.vpcf" } // Casting //------------------------------------------------------------------------------------------------------------- "AbilityCastPoint" "0.2" // Time //------------------------------------------------------------------------------------------------------------- "AbilityCooldown" "10" // Cost //------------------------------------------------------------------------------------------------------------- "AbilityManaCost" "0" "OnSpellStart" { "FireSound" { "EffectName" "Hero_Lycan.Howl" "Target" "CASTER" } "FireEffect" { "EffectName" "particles/units/heroes/hero_lycan/lycan_howl_cast.vpcf" "EffectAttachType" "start_at_customorigin" "ControlPointEntities" { "CASTER" "attach_origin" "CASTER" "attach_hitloc" "CASTER" "attach_hitloc" } } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKagerou.lua" "Function" "OnSpellStartKagerou02" "duration_time" "%duration_time" } // "ApplyModifier" // { // "ModifierName" "modifier_kagerou_02_buff" // "Target" "CASTER" // "Duration" "%duration_time" // } } "Modifiers" { "modifier_kagerou_02_buff" { "IsBuff" "1" "EffectName" "particles/units/heroes/hero_lycan/lycan_howl_buff.vpcf" "EffectAttachType" "attach_attack" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKagerou.lua" "Function" "OnCreatedKagerou02Buff" "bonus_attack" "%bonus_attack" "attack_speed" "%attack_speed" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKagerou.lua" "Function" "OnDestroyKagerou02Buff" } } } } // Special //------------------------------------------------------------------------------------------------------------- "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "bonus_attack" "1" } "02" { "var_type" "FIELD_INTEGER" "attack_speed" "10 20 40" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "10.0" } } } "thtd_kagerou_03" { "ID" "9335" // General //------------------------------------------------------------------------------------------------------------- "BaseClass" "ability_datadriven" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityType" "DOTA_ABILITY_TYPE_ULTIMATE" "AbilityTextureName" "lycan_shapeshift" "MaxLevel" "3" // Precache //------------------------------------------------------------------------------------------------------------- "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_lycan.vsndevts" "particle" "particles/units/heroes/hero_lycan/lycan_shapeshift_buff.vpcf" "particle" "particles/units/heroes/hero_lycan/lycan_shapeshift_cast.vpcf" "particle" "particles/units/heroes/hero_lycan/lycan_shapeshift_revert.vpcf" "model" "models/heroes/lycan/lycan_wolf.vmdl" } // Time //------------------------------------------------------------------------------------------------------------- "AbilityCooldown" "20" // Cost //------------------------------------------------------------------------------------------------------------- "AbilityManaCost" "50" "OnSpellStart" { "FireSound" { "EffectName" "Hero_Lycan.Shapeshift.Cast" "Target" "CASTER" } "FireEffect" { "EffectName" "particles/units/heroes/hero_lycan/lycan_shapeshift_cast.vpcf" "EffectAttachType" "follow_origin" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKagerou.lua" "Function" "OnSpellStartKagerou03" "duration_time" "%duration_time" "attack_up" "%attack_up" } } "Modifiers" { "modifier_kagerou_03_wolf" { "IsHidden" "1" "OnCreated" { "AttachEffect" { "EffectName" "particles/units/heroes/hero_lycan/lycan_shapeshift_buff.vpcf" "EffectAttachType" "follow_origin" "Target" "TARGET" "ControlPointEntities" { "TARGET" "attach_origin" "TARGET" "attach_hitloc" } } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKagerou.lua" "Function" "OnCreatedKagerou03wolf" "crit_chance" "%crit_chance" "crit_damage" "%crit_damage" } } "OnDestroy" { "FireEffect" { "EffectName" "particles/units/heroes/hero_lycan/lycan_shapeshift_revert.vpcf" "EffectAttachType" "follow_origin" "Target" "TARGET" // "Target" // { // "Center" "TARGET" // "Flags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES | DOTA_UNIT_TARGET_FLAG_DEAD" // } } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKagerou.lua" "Function" "OnDestroyKagerou03wolf" } } } } // Special //------------------------------------------------------------------------------------------------------------- "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "attack_up" "50 100" } "02" { "var_type" "FIELD_INTEGER" "crit_chance" "60" } "03" { "var_type" "FIELD_INTEGER" "crit_damage" "150 300" } "04" { "var_type" "FIELD_FLOAT" "duration_time" "10" } } } "thtd_kyouko_01" { "ID" "9336" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kyouko_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_DIRECTIONAL | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "5" "AbilityCooldown" "5" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.2" "precache" { "soundfile" "soundevents/game_sounds_heroes/game_sounds_queenofpain.vsndevts" "particle" "particles/units/heroes/hero_queenofpain/queen_sonic_wave.vpcf" "particle" "particles/econ/items/queen_of_pain/qop_arcana/qop_arcana_sonic_wave.vpcf" "particle" "particles/econ/items/queen_of_pain/qop_arcana/qop_arcana_sonic_wave_v2.vpcf" } "OnProjectileHitUnit" { "DeleteOnHit" "0" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKyouko.lua" "Target" "TARGET" "Function" "OnProjectileHitUnitKyouko01" } } "OnSpellStart" { // "FireSound" // { // "EffectName" "Hero_QueenOfPain.SonicWave" // "Target" "CASTER" // } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKyouko.lua" "Function" "OnSpellStartKyouko01" "starting_aoe" "%starting_aoe" "final_aoe" "%final_aoe" "distance" "%distance" "speed" "%speed" "damage_up" "%damage_up" } } "Modifiers" { "modifier_thtd_kyouko_01_debuff" { "IsHidden" "0" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "1" } "02" { "var_type" "FIELD_INTEGER" "damage_up" "50" } "03" { "var_type" "FIELD_INTEGER" "starting_aoe" "100" } "04" { "var_type" "FIELD_INTEGER" "distance" "1000" } "05" { "var_type" "FIELD_INTEGER" "final_aoe" "500" } "06" { "var_type" "FIELD_INTEGER" "speed" "1100" } } } "thtd_kyouko_02" { "ID" "9337" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_kyouko_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL" "MaxLevel" "1" "AbilityCooldown" "15" "AbilityManaCost" "20" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%range" "precache" { "particle" "particles/econ/items/earthshaker/earthshaker_arcana/earthshaker_arcana_echoslam_start.vpcf" "particle" "particles/econ/items/earthshaker/earthshaker_arcana/earthshaker_arcana_echoslam_start_v2.vpcf" "particle" "particles/econ/items/earthshaker/earthshaker_arcana/earthshaker_arcana_echoslam_ground.vpcf" "particle" "particles/econ/items/earthshaker/earthshaker_arcana/earthshaker_arcana_echoslam_ground_v2.vpcf" "particle" "particles/econ/items/earthshaker/earthshaker_arcana/earthshaker_arcana_echoslam_proj.vpcf" "particle" "particles/econ/items/earthshaker/earthshaker_arcana/earthshaker_arcana_echoslam_proj_v2.vpcf" "particle" "particles/econ/items/earthshaker/earthshaker_arcana/earthshaker_arcana_aftershock_screen.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKyouko.lua" "Function" "OnSpellStartKyouko02" "Target" "POINT" "radius" "%radius" "duration_time" "%duration_time" "range" "%range" "power_damage" "%power_damage" } } "OnProjectileHitUnit" { "DeleteOnHit" "0" "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityKyouko.lua" "Target" "TARGET" "Function" "OnProjectileHitUnitKyouko02" "duration_time" "%duration_time" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "4" } "02" { "var_type" "FIELD_FLOAT" "duration_time" "3.0" } "03" { "var_type" "FIELD_INTEGER" "range" "550" } } } "thtd_kyouko_03" { "ID" "9338" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } "thtd_shikieiki_01" { "ID" "9339" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_shikieiki_01" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "5" "AbilityCastPoint" "0.1" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_1" "AbilityCooldown" "5 4 3 2 1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1500" "precache" { "particle" "particles/heroes/shikieiki/ability_shikieiki_01_guilty.vpcf" "particle" "particles/heroes/shikieiki/ability_shikieiki_01_guilty_b.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_chen.vsndevts" "soundfile" "soundevents/game_sounds_heroes/game_sounds_chen.vsndevts" } "OnSpellStart" { // "FireSound" // { // "EffectName" "Hero_Chen.PenitenceCast" // "Target" "CASTER" // } // "FireSound" // { // "EffectName" "Hero_Chen.PenitenceImpact" // "Target" "CASTER" // } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShikieiki.lua" "Function" "OnSpellStartShikieiki01" "modifier" "modifier_thtd_shikieiki_01_debuff" "range" "%range" } } "Modifiers" { "modifier_thtd_shikieiki_01_debuff" { "IsDebuff" "1" "IsHidden" "0" "IsPurgable" "1" "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShikieiki.lua" "Function" "OnDestroyShikieiki01Debuff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "2" } "02" { "var_type" "FIELD_INTEGER" "range" "1500" //同步改 AbilityCastRange } } } "thtd_shikieiki_02" { "ID" "9340" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_shikieiki_02" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "3" "AbilityCastPoint" "0.2" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_2" "AbilityCooldown" "5" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1500" "precache" { "particle" "particles/units/heroes/hero_omniknight/omniknight_purification.vpcf" "soundfile" "soundevents/game_sounds_heroes/game_sounds_omniknight.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Hero_Omniknight.Purification" "Target" "CASTER" } "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShikieiki.lua" "Function" "OnSpellStartShikieiki02" "modifier" "modifier_thtd_shikieiki_01_debuff" "damage_up" "%damage_up" "power_bonus" "%power_bonus" "range" "%range" } } "Modifiers" { "modifier_shikieiki_02_buff" { "IsHidden" "1" "Duration" "%duration_time" "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShikieiki.lua" "Function" "OnCreatedShikieiki02Buff" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShikieiki.lua" "Function" "OnDestroyShikieiki02Buff" } } } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "5" } "02" { "var_type" "FIELD_INTEGER" "damage_up" "100" } "03" { "var_type" "FIELD_INTEGER" "power_bonus" "5" } "04" { "var_type" "FIELD_FLOAT" "duration_time" "5.0" } "05" { "var_type" "FIELD_INTEGER" "range" "1500" //同步改 AbilityCastRange } } } "thtd_shikieiki_03" { "ID" "9341" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_shikieiki_03" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_AUTOCAST" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "2" "AbilityCastPoint" "0.2" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_4" "AbilityCooldown" "10" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "precache" { "particle" "particles/heroes/shikieiki/ability_shikieiki_04.vpcf" "soundfile" "soundevents/thdots_hero_sounds/thdots_shikieiki_sounds.vsndevts" "soundfile" "soundevents/game_sounds_heroes/game_sounds_oracle.vsndevts" "soundfile" "soundevents/game_sounds_heroes/game_sounds_oracle.vsndevts" "soundfile" "soundevents/game_sounds_heroes/game_sounds_doombringer.vsndevts" } "OnSpellStart" { "FireSound" { "EffectName" "Hero_Oracle.FatesEdict.Cast" "Target" "CASTER" } // "FireSound" // { // "EffectName" "Voice_Thdots_Shikieiki.AbilityShikieiki04" // "Target" "CASTER" // } "FireSound" { "EffectName" "Hero_Oracle.FatesEdict" "Target" "CASTER" } "ApplyModifier" { "Target" "TARGET" "ModifierName" "modifier_thtd_shikieiki_03_debuff" } } "Modifiers" { "modifier_thtd_shikieiki_03_debuff" { "IsHidden" "0" "Duration" "%duration_time" "States" { "MODIFIER_STATE_SILENCED" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_MUTED" "MODIFIER_STATE_VALUE_ENABLED" "MODIFIER_STATE_PASSIVES_DISABLED" "MODIFIER_STATE_VALUE_ENABLED" } "ThinkInterval" "0.5" "OnIntervalThink" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShikieiki.lua" "Function" "OnIntervalThinkShikieiki03" "hp_damage" "%hp_damage" } } "OnCreated" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShikieiki.lua" "Function" "OnCreatedShikieiki03Debuff" } } "OnDestroy" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShikieiki.lua" "Function" "OnDestroyShikieiki03Debuff" } } } } "AbilitySpecial" { "02" { "var_type" "FIELD_INTEGER" "hp_damage" "7" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "10" //不要改,和语音匹配 } } "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES" } "thtd_shikieiki_04" { "ID" "9342" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/thtd_shikieiki_04" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE | DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "AbilityUnitDamageType" "DAMAGE_TYPE_PURE" "MaxLevel" "1" "AbilityCooldown" "15" "AbilityManaCost" "50" "AbilityCastPoint" "0.0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AOERadius" "%radius" "AbilityCastAnimation" "Act_DOTA_CAST_ABILITY_3" "precache" { "particle" "particles/econ/items/enigma/enigma_world_chasm/enigma_blackhole_ti5.vpcf" } "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityShikieiki.lua" "Function" "OnSpellStartShikieiki04" "Target" "POINT" "radius" "%radius" "duration_time" "%duration_time" "tick" "%tick" } } "AbilitySpecial" { "01" { "var_type" "FIELD_INTEGER" "power_damage" "10" } "02" { "var_type" "FIELD_INTEGER" "radius" "500" } "03" { "var_type" "FIELD_FLOAT" "duration_time" "6.0" } "04" { "var_type" "FIELD_FLOAT" "tick" "0.25" } } } "thtd_shikieiki_05" { "ID" "9343" "BaseClass" "ability_datadriven" "AbilityTextureName" "touhoutd/ai_cast_point" "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT" "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY" "MaxLevel" "1" "AbilityCooldown" "1" "AbilityManaCost" "0" // Stats // ---------------------------------------------------------------- "AbilityCastRange" "1000" "AbilityCastPoint" "0.0" "OnSpellStart" { "RunScript" { "ScriptFile" "scripts/vscripts/abilities/abilityCommon.lua" "Function" "OnCastPointAI" "Target" "POINT" } } } }