Files
2HUCardTDGame/game/scripts/npc/abilities/tower_abilities.kv
2021-11-10 08:48:00 -05:00

17049 lines
364 KiB
Plaintext
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"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"
}
}
}
}