Guest User

Slime Trail

a guest
Dec 21st, 2015
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.17 KB | None | 0 0
  1. //=================================================================================================================
  2. // Viscous Ooze - Slime Trail
  3. //=================================================================================================================
  4. "viscous_ooze_slime_trail"
  5. {
  6. "BaseClass" "ability_datadriven"
  7. "AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL | DOTA_ABILITY_BEHAVIOR_IGNORE_PSEUDO_QUEUE"
  8. "AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
  9. "AbilityUnitTargetType" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
  10. "AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
  11. "SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
  12. "AbilityTextureName" "viscous_ooze_slime_trail"
  13.  
  14. "AbilityCooldown" "2.0"
  15. "AbilityCastPoint" "0"
  16.  
  17. "AbilitySpecial"
  18. {
  19. "01"
  20. {
  21. "var_type" "FIELD_INTEGER"
  22. "damage" "16 24 32 40"
  23. }
  24. "02"
  25. {
  26. "var_type" "FIELD_INTEGER"
  27. "radius" "150"
  28. }
  29. "03"
  30. {
  31. "var_type" "FIELD_INTEGER"
  32. "slow" "-10 -12 -14 -16"
  33. }
  34. "04"
  35. {
  36. "var_type" "FIELD_INTEGER"
  37. "duration" "60"
  38. }
  39. "05"
  40. {
  41. "var_type" "FIELD_FLOAT"
  42. "self_damage" "0.5"
  43. }
  44. "06"
  45. {
  46. "var_type" "FIELD_FLOAT"
  47. "tick_rate" "1.0"
  48. }
  49. "07"
  50. {
  51. "var_type" "FIELD_INTEGER"
  52. "slime_distance" "50"
  53. }
  54. "08"
  55. {
  56. "var_type" "FIELD_INTEGER"
  57. "phase_delay" "2"
  58. }
  59. }
  60. "precache"
  61. {
  62. "particle" "particles/viscous_ooze_slime_trail.vpcf"
  63. "soundfile" "soundevents/game_sounds_heroes/game_sounds_alchemist.vsndevts"
  64. }
  65. "OnToggleOn"
  66. {
  67. "CreateThinker"
  68. {
  69. "ModifierName" "modifier_slime_puddle_thinker"
  70. "Target" "CASTER"
  71. }
  72. "ApplyModifier"
  73. {
  74. "Target" "CASTER"
  75. "ModifierName" "modifier_slime_puddle_buff"
  76. }
  77. "ApplyModifier"
  78. {
  79. "Target" "CASTER"
  80. "ModifierName" "modifier_slime_puddle_phase_timer"
  81. }
  82. }
  83. "OnToggleOff"
  84. {
  85. "RemoveModifier"
  86. {
  87. "Target" "CASTER"
  88. "ModifierName" "modifier_slime_puddle_buff"
  89. }
  90. "RemoveModifier"
  91. {
  92. "Target" "CASTER"
  93. "ModifierName" "modifier_slime_puddle_phase_timer"
  94. }
  95. "RemoveModifier"
  96. {
  97. "Target" "CASTER"
  98. "ModifierName" "modifier_slime_puddle_phased"
  99. }
  100. }
  101. "Modifiers"
  102. {
  103. "modifier_slime_puddle_buff"
  104. {
  105. "Passive" "0"
  106. "IsHidden" "0"
  107. "IsBuff" "1"
  108.  
  109. "ThinkInterval" "0.03"
  110.  
  111. "OnIntervalThink"
  112. {
  113. "ApplyModifier"
  114. {
  115. "ModifierName" "modifier_slime_puddle_creator"
  116. "Target" "CASTER"
  117. }
  118.  
  119. "RunScript"
  120. {
  121. "ScriptFile" "heroes/hero_viscous_ooze/slime_trail.lua"
  122. "Function" "SlimeTrailDistanceCheck"
  123. "damage" "%self_damage"
  124. }
  125. }
  126. }
  127. "modifier_slime_puddle_phase_timer"
  128. {
  129. "Passive" "0"
  130. "IsHidden" "1"
  131.  
  132. "ThinkInterval" "%phase_delay"
  133. "OnIntervalThink"
  134. {
  135. "ApplyModifier"
  136. {
  137. "ModifierName" "modifier_slime_puddle_phased"
  138. "Target" "CASTER"
  139. }
  140. }
  141. "OnTakeDamage"
  142. {
  143. "RunScript"
  144. {
  145. "ScriptFile" "heroes/hero_viscous_ooze/slime_trail.lua"
  146. "Function" "SlimeTrailDisablePhase"
  147. "damage" "%attack_damage"
  148. }
  149. }
  150. }
  151. "modifier_slime_puddle_phased"
  152. {
  153. "Passive" "0"
  154. "IsHidden" "0"
  155. "IsBuff" "1"
  156.  
  157. "States"
  158. {
  159. "MODIFIER_STATE_NO_UNIT_COLLISION" "MODIFIER_STATE_VALUE_ENABLED"
  160. "MODIFIER_STATE_FLYING" "MODIFIER_STATE_VALUE_ENABLED"
  161. }
  162. "OnDestroy"
  163. {
  164. "DestroyTrees"
  165. {
  166. "Radius" "128"
  167. }
  168. }
  169. }
  170. "modifier_slime_puddle_creator"
  171. {
  172. "IsHidden" "1"
  173. "OnDestroy"
  174. {
  175. "CreateThinker"
  176. {
  177. "ModifierName" "modifier_slime_puddle_thinker"
  178. "Target" "CASTER"
  179. }
  180. }
  181. }
  182. "modifier_slime_puddle_thinker"
  183. {
  184. "Aura" "modifier_slime_puddle_debuff"
  185. "Aura_Radius" "%radius"
  186. "Aura_Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY"
  187. "Aura_Types" "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC
  188. "Aura_Flags" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
  189. "Duration" "%duration"
  190.  
  191. "OnCreated"
  192. {
  193. "RunScript"
  194. {
  195. "ScriptFile" "heroes/hero_viscous_ooze/slime_trail.lua"
  196. "Function" "SlimeTrailInitializeCaster"
  197. }
  198. "FireSound"
  199. {
  200. "EffectName" "Hero_Alchemist.AcidSpray.Damage"
  201. "Target" "CASTER"
  202. }
  203. "AttachEffect"
  204. {
  205. "EffectName" "particles/viscous_ooze_slime_trail.vpcf"
  206. "EffectAttachType" "follow_origin"
  207. "Target" "TARGET"
  208. "ControlPoints"
  209. {
  210. "00" "0 0 0"
  211. "01" "%radius 1 1"
  212. "15" "0 15 0"
  213. "16" "1 0 0"
  214. }
  215. }
  216. }
  217. }
  218. "modifier_slime_puddle_debuff"
  219. {
  220. "IsDebuff" "1"
  221. "ThinkInterval" "%tick_rate"
  222. "Properties"
  223. {
  224. "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE" "%slow"
  225. }
  226.  
  227. "OnIntervalThink"
  228. {
  229. "Damage"
  230. {
  231. "Target" "TARGET"
  232. "Type" "DAMAGE_TYPE_MAGICAL"
  233. "Damage" "%damage"
  234. }
  235. }
  236. }
  237. }
  238. }
Add Comment
Please, Sign In to add comment