"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"    "2"
			}
			"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"    "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_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"    "4"
			}
			"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"    "7"
			}
			"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.4"
			}
		}
	}
	
	"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"
				}
			}
			
			"modifier_miko_04_debuff"
			{
				"Duration"     "1.5"
				"EffectName"			"particles/heroes/thtd_miko/ability_miko_01.vpcf"
				"EffectAttachType"		"follow_origin"
			}
		}
		
		"AbilitySpecial"
		{
			"01"
			{
				"var_type"	"FIELD_INTEGER"
				"power_damage"    "10"
			}
			"02"
			{
				"var_type"	"FIELD_INTEGER"
				"damage_up"    "13"
			}
			"03"
			{
				"var_type"	"FIELD_INTEGER"
				"max_damage_up"    "300"
			}
			"04"
			{
				"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"
			}
		}
	}
	
}
