Zh/Dota 2 Workshop Tools/Scripting/Abilities Data Driven Example
< Zh | Dota 2 Workshop Tools | Scripting
Jump to navigation
Jump to search
单位死亡后造成持续性范围伤害的例子
本示例在技能被添加之后,将会等到拥有者死亡之后触发,当拥有者死亡的时候,一个带有酸雾特效和一个降低目标区域的单位护甲并施加伤害的计时器将会被创建。
//=================================================================================================================
// Creature: Acid Spray
//=================================================================================================================
"creature_acid_spray"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_AOE"
"AbilityUnitDamageType" "DAMAGE_TYPE_COMPOSITE"
"AbilityTextureName" "alchemist_acid_spray"
// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.2"
"AbilityCastRange" "900"
"OnOwnerDied"
{
"CreateThinker"
{
"ModifierName" "creature_acid_spray_thinker"
"Target" "CASTER"
}
}
"Modifiers"
{
"creature_acid_spray_thinker"
{
"Aura" "create_acid_spray_armor_reduction_aura"
"Aura_Radius" "%radius"
"Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_CREEP | DOTA_UNIT_TARGET_MECHANICAL"
"Aura_Flags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
"Duration" "%duration"
"OnCreated"
{
"AttachEffect"
{
"EffectName" "alchemist_acid_spray"
"EffectAttachType" "follow_origin"
"Target" "TARGET"
"ControlPoints"
{
"00" "0 0 0"
"01" "%radius 1 1"
}
}
}
}
"create_acid_spray_armor_reduction_aura"
{
"IsDebuff" "1"
"IsPurgable" "0"
"EffectName" "alchemist_acid_spray_debuff"
"ThinkInterval" "%tick_rate"
"OnIntervalThink"
{
"Damage"
{
"Type" "DAMAGE_TYPE_COMPOSITE"
"Damage" "%damage"
"Target" "TARGET"
}
}
"Properties"
{
"MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS" "%armor_reduction"
}
}
}
// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"radius" "250"
}
"02"
{
"var_type" "FIELD_FLOAT"
"duration" "16.0"
}
"03"
{
"var_type" "FIELD_INTEGER"
"damage" "118 128 138 158"
}
"04"
{
"var_type" "FIELD_INTEGER"
"armor_reduction" "-3 -4 -5 -6"
}
"05"
{
"var_type" "FIELD_FLOAT"
"tick_rate" "1.0"
}
}
}