warscript 0.0.1-dev.008d8ef

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/LICENSE +23 -0
  2. package/attributes.d.ts +12 -0
  3. package/attributes.lua +16 -0
  4. package/binaryreader.d.ts +21 -0
  5. package/binaryreader.lua +53 -0
  6. package/binarywriter.d.ts +21 -0
  7. package/binarywriter.lua +90 -0
  8. package/core/dummy.d.ts +22 -0
  9. package/core/dummy.lua +133 -0
  10. package/core/game.d.ts +3 -0
  11. package/core/game.lua +24 -0
  12. package/core/thread.d.ts +8 -0
  13. package/core/thread.lua +40 -0
  14. package/core/types/ability.d.ts +4 -0
  15. package/core/types/ability.lua +10 -0
  16. package/core/types/async.d.ts +3 -0
  17. package/core/types/async.lua +2 -0
  18. package/core/types/camera.d.ts +4 -0
  19. package/core/types/camera.lua +21 -0
  20. package/core/types/cameraField.d.ts +15 -0
  21. package/core/types/cameraField.lua +38 -0
  22. package/core/types/color.d.ts +16 -0
  23. package/core/types/color.lua +93 -0
  24. package/core/types/destructable.d.ts +31 -0
  25. package/core/types/destructable.lua +245 -0
  26. package/core/types/effect.d.ts +31 -0
  27. package/core/types/effect.lua +209 -0
  28. package/core/types/frame.d.ts +141 -0
  29. package/core/types/frame.lua +884 -0
  30. package/core/types/game.d.ts +8 -0
  31. package/core/types/game.lua +41 -0
  32. package/core/types/group.d.ts +21 -0
  33. package/core/types/group.lua +94 -0
  34. package/core/types/handle.d.ts +49 -0
  35. package/core/types/handle.lua +174 -0
  36. package/core/types/image.d.ts +29 -0
  37. package/core/types/image.lua +121 -0
  38. package/core/types/internal/ability+cooldownRemaining.d.ts +1 -0
  39. package/core/types/internal/ability+cooldownRemaining.lua +0 -0
  40. package/core/types/item.d.ts +4 -0
  41. package/core/types/item.lua +6 -0
  42. package/core/types/missile.d.ts +22 -0
  43. package/core/types/missile.lua +239 -0
  44. package/core/types/order.d.ts +25 -0
  45. package/core/types/order.lua +55 -0
  46. package/core/types/player.d.ts +71 -0
  47. package/core/types/player.lua +448 -0
  48. package/core/types/playerCamera.d.ts +32 -0
  49. package/core/types/playerCamera.lua +162 -0
  50. package/core/types/playerColor.d.ts +40 -0
  51. package/core/types/playerColor.lua +203 -0
  52. package/core/types/rect.d.ts +39 -0
  53. package/core/types/rect.lua +152 -0
  54. package/core/types/region.d.ts +14 -0
  55. package/core/types/region.lua +84 -0
  56. package/core/types/sound.d.ts +69 -0
  57. package/core/types/sound.lua +247 -0
  58. package/core/types/tileCell.d.ts +13 -0
  59. package/core/types/tileCell.lua +100 -0
  60. package/core/types/timer.d.ts +36 -0
  61. package/core/types/timer.lua +230 -0
  62. package/core/types/timerDialog.d.ts +19 -0
  63. package/core/types/timerDialog.lua +95 -0
  64. package/core/types/unit.d.ts +10 -0
  65. package/core/types/unit.lua +32 -0
  66. package/core/types/widget.d.ts +5 -0
  67. package/core/types/widget.lua +2 -0
  68. package/core/util.d.ts +62 -0
  69. package/core/util.lua +464 -0
  70. package/core/vecmath/common.d.ts +18 -0
  71. package/core/vecmath/common.lua +29 -0
  72. package/core/vecmath/mat2.d.ts +73 -0
  73. package/core/vecmath/mat2.lua +261 -0
  74. package/core/vecmath/vec3.d.ts +47 -0
  75. package/core/vecmath/vec3.lua +350 -0
  76. package/core/vecmath/vec4.d.ts +54 -0
  77. package/core/vecmath/vec4.lua +400 -0
  78. package/crypto/ecc.d.ts +6 -0
  79. package/crypto/ecc.lua +1734 -0
  80. package/decl/index.d.ts +117 -0
  81. package/decl/native.d.ts +8198 -0
  82. package/destroyable.d.ts +20 -0
  83. package/destroyable.lua +31 -0
  84. package/engine/ability.d.ts +5 -0
  85. package/engine/ability.lua +7 -0
  86. package/engine/behavior.d.ts +28 -0
  87. package/engine/behavior.lua +181 -0
  88. package/engine/behaviour/ability/apply-buff.d.ts +38 -0
  89. package/engine/behaviour/ability/apply-buff.lua +126 -0
  90. package/engine/behaviour/ability/apply-unit-behavior.d.ts +21 -0
  91. package/engine/behaviour/ability/apply-unit-behavior.lua +58 -0
  92. package/engine/behaviour/ability/damage.d.ts +47 -0
  93. package/engine/behaviour/ability/damage.lua +133 -0
  94. package/engine/behaviour/ability/heal.d.ts +43 -0
  95. package/engine/behaviour/ability/heal.lua +114 -0
  96. package/engine/behaviour/ability/instant-impact.d.ts +6 -0
  97. package/engine/behaviour/ability/instant-impact.lua +29 -0
  98. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  99. package/engine/behaviour/ability/restore-mana.lua +29 -0
  100. package/engine/behaviour/ability.d.ts +47 -0
  101. package/engine/behaviour/ability.lua +237 -0
  102. package/engine/behaviour/unit/stun-immunity.d.ts +18 -0
  103. package/engine/behaviour/unit/stun-immunity.lua +67 -0
  104. package/engine/behaviour/unit.d.ts +21 -0
  105. package/engine/behaviour/unit.lua +82 -0
  106. package/engine/buff.d.ts +221 -0
  107. package/engine/buff.lua +1091 -0
  108. package/engine/constants.d.ts +7 -0
  109. package/engine/constants.lua +8 -0
  110. package/engine/game-map.d.ts +7 -0
  111. package/engine/game-map.lua +32 -0
  112. package/engine/index.d.ts +5 -0
  113. package/engine/index.lua +2 -0
  114. package/engine/internal/ability.d.ts +91 -0
  115. package/engine/internal/ability.lua +531 -0
  116. package/engine/internal/item/ability.d.ts +2 -0
  117. package/engine/internal/item/ability.lua +48 -0
  118. package/engine/internal/item+owner.d.ts +7 -0
  119. package/engine/internal/item+owner.lua +22 -0
  120. package/engine/internal/item.d.ts +86 -0
  121. package/engine/internal/item.lua +580 -0
  122. package/engine/internal/mechanics/ability-duration.d.ts +2 -0
  123. package/engine/internal/mechanics/ability-duration.lua +13 -0
  124. package/engine/internal/mechanics/area-damage.d.ts +2 -0
  125. package/engine/internal/mechanics/area-damage.lua +33 -0
  126. package/engine/internal/mechanics/cast-ability.d.ts +2 -0
  127. package/engine/internal/mechanics/cast-ability.lua +86 -0
  128. package/engine/internal/misc/dummy-units.d.ts +2 -0
  129. package/engine/internal/misc/dummy-units.lua +14 -0
  130. package/engine/internal/object-data/armor-increase.d.ts +2 -0
  131. package/engine/internal/object-data/armor-increase.lua +19 -0
  132. package/engine/internal/object-data/attribute-bonus.d.ts +2 -0
  133. package/engine/internal/object-data/attribute-bonus.lua +15 -0
  134. package/engine/internal/object-data/auto-attack-damage-increase.d.ts +2 -0
  135. package/engine/internal/object-data/auto-attack-damage-increase.lua +17 -0
  136. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +2 -0
  137. package/engine/internal/object-data/auto-attack-speed-increase.lua +14 -0
  138. package/engine/internal/object-data/dummy-inventory.d.ts +2 -0
  139. package/engine/internal/object-data/dummy-inventory.lua +16 -0
  140. package/engine/internal/object-data/dummy-item.d.ts +2 -0
  141. package/engine/internal/object-data/dummy-item.lua +10 -0
  142. package/engine/internal/object-data/ghost-visible.d.ts +2 -0
  143. package/engine/internal/object-data/ghost-visible.lua +15 -0
  144. package/engine/internal/object-data/invulnerable.d.ts +2 -0
  145. package/engine/internal/object-data/invulnerable.lua +11 -0
  146. package/engine/internal/object-data/movement-speed-increase-factor.d.ts +2 -0
  147. package/engine/internal/object-data/movement-speed-increase-factor.lua +18 -0
  148. package/engine/internal/unit/ability.d.ts +143 -0
  149. package/engine/internal/unit/ability.lua +369 -0
  150. package/engine/internal/unit/allowed-targets.d.ts +17 -0
  151. package/engine/internal/unit/allowed-targets.lua +19 -0
  152. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.d.ts +2 -0
  153. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.lua +21 -0
  154. package/engine/internal/unit/bonus.d.ts +40 -0
  155. package/engine/internal/unit/bonus.lua +188 -0
  156. package/engine/internal/unit/buff.d.ts +38 -0
  157. package/engine/internal/unit/buff.lua +81 -0
  158. package/engine/internal/unit/detach-missiles.d.ts +7 -0
  159. package/engine/internal/unit/detach-missiles.lua +30 -0
  160. package/engine/internal/unit/expiration-timer.d.ts +22 -0
  161. package/engine/internal/unit/expiration-timer.lua +44 -0
  162. package/engine/internal/unit/ghost-counter.d.ts +12 -0
  163. package/engine/internal/unit/ghost-counter.lua +26 -0
  164. package/engine/internal/unit/invulnerability-counter.d.ts +12 -0
  165. package/engine/internal/unit/invulnerability-counter.lua +26 -0
  166. package/engine/internal/unit/missile.d.ts +42 -0
  167. package/engine/internal/unit/missile.lua +70 -0
  168. package/engine/internal/unit/movement-speed.d.ts +18 -0
  169. package/engine/internal/unit/movement-speed.lua +42 -0
  170. package/engine/internal/unit/summon-event.d.ts +12 -0
  171. package/engine/internal/unit/summon-event.lua +50 -0
  172. package/engine/internal/unit+ability.d.ts +9 -0
  173. package/engine/internal/unit+ability.lua +59 -0
  174. package/engine/internal/unit+bonus.d.ts +8 -0
  175. package/engine/internal/unit+bonus.lua +40 -0
  176. package/engine/internal/unit+damage.d.ts +69 -0
  177. package/engine/internal/unit+damage.lua +123 -0
  178. package/engine/internal/unit+rally.d.ts +10 -0
  179. package/engine/internal/unit+rally.lua +159 -0
  180. package/engine/internal/unit+spellSteal.d.ts +7 -0
  181. package/engine/internal/unit+spellSteal.lua +64 -0
  182. package/engine/internal/unit+transport.d.ts +12 -0
  183. package/engine/internal/unit+transport.lua +96 -0
  184. package/engine/internal/unit-missile-data.d.ts +2 -0
  185. package/engine/internal/unit-missile-data.lua +107 -0
  186. package/engine/internal/unit-missile-launch.d.ts +7 -0
  187. package/engine/internal/unit-missile-launch.lua +32 -0
  188. package/engine/internal/unit.d.ts +339 -0
  189. package/engine/internal/unit.lua +2590 -0
  190. package/engine/internal/utility.d.ts +2 -0
  191. package/engine/internal/utility.lua +13 -0
  192. package/engine/lightning.d.ts +51 -0
  193. package/engine/lightning.lua +303 -0
  194. package/engine/local-client.d.ts +16 -0
  195. package/engine/local-client.lua +86 -0
  196. package/engine/object-data/auxiliary/animation-name.d.ts +14 -0
  197. package/engine/object-data/auxiliary/animation-name.lua +2 -0
  198. package/engine/object-data/auxiliary/animation-qualifier.d.ts +53 -0
  199. package/engine/object-data/auxiliary/animation-qualifier.lua +2 -0
  200. package/engine/object-data/auxiliary/armor-sound-type.d.ts +8 -0
  201. package/engine/object-data/auxiliary/armor-sound-type.lua +2 -0
  202. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -0
  203. package/engine/object-data/auxiliary/attachment-preset.lua +29 -0
  204. package/engine/object-data/auxiliary/attack-type.d.ts +11 -0
  205. package/engine/object-data/auxiliary/attack-type.lua +2 -0
  206. package/engine/object-data/auxiliary/buff-polarity.d.ts +6 -0
  207. package/engine/object-data/auxiliary/buff-polarity.lua +2 -0
  208. package/engine/object-data/auxiliary/buff-resistance-type.d.ts +6 -0
  209. package/engine/object-data/auxiliary/buff-resistance-type.lua +2 -0
  210. package/engine/object-data/auxiliary/combat-classification.d.ts +44 -0
  211. package/engine/object-data/auxiliary/combat-classification.lua +206 -0
  212. package/engine/object-data/auxiliary/detection-type.d.ts +7 -0
  213. package/engine/object-data/auxiliary/detection-type.lua +2 -0
  214. package/engine/object-data/auxiliary/model-node-name.d.ts +12 -0
  215. package/engine/object-data/auxiliary/model-node-name.lua +2 -0
  216. package/engine/object-data/auxiliary/model-node-qualifier.d.ts +21 -0
  217. package/engine/object-data/auxiliary/model-node-qualifier.lua +2 -0
  218. package/engine/object-data/auxiliary/movement-type.d.ts +10 -0
  219. package/engine/object-data/auxiliary/movement-type.lua +2 -0
  220. package/engine/object-data/auxiliary/race.d.ts +14 -0
  221. package/engine/object-data/auxiliary/race.lua +2 -0
  222. package/engine/object-data/auxiliary/sound-preset-name.d.ts +8 -0
  223. package/engine/object-data/auxiliary/sound-preset-name.lua +2 -0
  224. package/engine/object-data/auxiliary/sound-set-name.d.ts +35 -0
  225. package/engine/object-data/auxiliary/sound-set-name.lua +2 -0
  226. package/engine/object-data/auxiliary/targeting-type.d.ts +8 -0
  227. package/engine/object-data/auxiliary/targeting-type.lua +2 -0
  228. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +16 -0
  229. package/engine/object-data/auxiliary/tech-tree-dependency.lua +8 -0
  230. package/engine/object-data/auxiliary/unit-classification.d.ts +19 -0
  231. package/engine/object-data/auxiliary/unit-classification.lua +50 -0
  232. package/engine/object-data/auxiliary/weapon-sound-type.d.ts +17 -0
  233. package/engine/object-data/auxiliary/weapon-sound-type.lua +2 -0
  234. package/engine/object-data/entry/ability-type/armor-increase.d.ts +8 -0
  235. package/engine/object-data/entry/ability-type/armor-increase.lua +26 -0
  236. package/engine/object-data/entry/ability-type/attribute-increase.d.ts +12 -0
  237. package/engine/object-data/entry/ability-type/attribute-increase.lua +52 -0
  238. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.d.ts +8 -0
  239. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.lua +26 -0
  240. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.d.ts +12 -0
  241. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.lua +52 -0
  242. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.d.ts +8 -0
  243. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.lua +26 -0
  244. package/engine/object-data/entry/ability-type/bash.d.ts +16 -0
  245. package/engine/object-data/entry/ability-type/bash.lua +78 -0
  246. package/engine/object-data/entry/ability-type/berserk.d.ts +10 -0
  247. package/engine/object-data/entry/ability-type/berserk.lua +39 -0
  248. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +20 -0
  249. package/engine/object-data/entry/ability-type/blank-configurable.lua +249 -0
  250. package/engine/object-data/entry/ability-type/blank-passive.d.ts +6 -0
  251. package/engine/object-data/entry/ability-type/blank-passive.lua +28 -0
  252. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  253. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  254. package/engine/object-data/entry/ability-type/blizzard.d.ts +16 -0
  255. package/engine/object-data/entry/ability-type/blizzard.lua +78 -0
  256. package/engine/object-data/entry/ability-type/blood-lust.d.ts +12 -0
  257. package/engine/object-data/entry/ability-type/blood-lust.lua +52 -0
  258. package/engine/object-data/entry/ability-type/chain-lightning.d.ts +12 -0
  259. package/engine/object-data/entry/ability-type/chain-lightning.lua +52 -0
  260. package/engine/object-data/entry/ability-type/channel.d.ts +47 -0
  261. package/engine/object-data/entry/ability-type/channel.lua +140 -0
  262. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.d.ts +14 -0
  263. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.lua +65 -0
  264. package/engine/object-data/entry/ability-type/cleaving-attack.d.ts +8 -0
  265. package/engine/object-data/entry/ability-type/cleaving-attack.lua +26 -0
  266. package/engine/object-data/entry/ability-type/cluster-rockets.d.ts +18 -0
  267. package/engine/object-data/entry/ability-type/cluster-rockets.lua +91 -0
  268. package/engine/object-data/entry/ability-type/cripple.d.ts +12 -0
  269. package/engine/object-data/entry/ability-type/cripple.lua +52 -0
  270. package/engine/object-data/entry/ability-type/critical-strike.d.ts +18 -0
  271. package/engine/object-data/entry/ability-type/critical-strike.lua +91 -0
  272. package/engine/object-data/entry/ability-type/curse.d.ts +8 -0
  273. package/engine/object-data/entry/ability-type/curse.lua +26 -0
  274. package/engine/object-data/entry/ability-type/dark-summoning.d.ts +10 -0
  275. package/engine/object-data/entry/ability-type/dark-summoning.lua +39 -0
  276. package/engine/object-data/entry/ability-type/death-coil.d.ts +8 -0
  277. package/engine/object-data/entry/ability-type/death-coil.lua +26 -0
  278. package/engine/object-data/entry/ability-type/disease-cloud.d.ts +15 -0
  279. package/engine/object-data/entry/ability-type/disease-cloud.lua +65 -0
  280. package/engine/object-data/entry/ability-type/divine-shield.d.ts +5 -0
  281. package/engine/object-data/entry/ability-type/divine-shield.lua +12 -0
  282. package/engine/object-data/entry/ability-type/endurance-aura.d.ts +10 -0
  283. package/engine/object-data/entry/ability-type/endurance-aura.lua +39 -0
  284. package/engine/object-data/entry/ability-type/engineering-upgrade.d.ts +13 -0
  285. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +88 -0
  286. package/engine/object-data/entry/ability-type/evasion.d.ts +8 -0
  287. package/engine/object-data/entry/ability-type/evasion.lua +26 -0
  288. package/engine/object-data/entry/ability-type/faerie-fire.d.ts +10 -0
  289. package/engine/object-data/entry/ability-type/faerie-fire.lua +39 -0
  290. package/engine/object-data/entry/ability-type/far-sight.d.ts +9 -0
  291. package/engine/object-data/entry/ability-type/far-sight.lua +26 -0
  292. package/engine/object-data/entry/ability-type/feral-spirit.d.ts +11 -0
  293. package/engine/object-data/entry/ability-type/feral-spirit.lua +39 -0
  294. package/engine/object-data/entry/ability-type/frenzy.d.ts +12 -0
  295. package/engine/object-data/entry/ability-type/frenzy.lua +52 -0
  296. package/engine/object-data/entry/ability-type/frost-nova.d.ts +12 -0
  297. package/engine/object-data/entry/ability-type/frost-nova.lua +52 -0
  298. package/engine/object-data/entry/ability-type/ghost-visible.d.ts +10 -0
  299. package/engine/object-data/entry/ability-type/ghost-visible.lua +39 -0
  300. package/engine/object-data/entry/ability-type/gold-mine.d.ts +12 -0
  301. package/engine/object-data/entry/ability-type/gold-mine.lua +52 -0
  302. package/engine/object-data/entry/ability-type/heal.d.ts +8 -0
  303. package/engine/object-data/entry/ability-type/heal.lua +26 -0
  304. package/engine/object-data/entry/ability-type/healing-salve.d.ts +22 -0
  305. package/engine/object-data/entry/ability-type/healing-salve.lua +78 -0
  306. package/engine/object-data/entry/ability-type/healing-spray.d.ts +18 -0
  307. package/engine/object-data/entry/ability-type/healing-spray.lua +91 -0
  308. package/engine/object-data/entry/ability-type/healing-wave.d.ts +12 -0
  309. package/engine/object-data/entry/ability-type/healing-wave.lua +52 -0
  310. package/engine/object-data/entry/ability-type/holy-light.d.ts +8 -0
  311. package/engine/object-data/entry/ability-type/holy-light.lua +26 -0
  312. package/engine/object-data/entry/ability-type/incinerate.d.ts +18 -0
  313. package/engine/object-data/entry/ability-type/incinerate.lua +91 -0
  314. package/engine/object-data/entry/ability-type/inner-fire.d.ts +14 -0
  315. package/engine/object-data/entry/ability-type/inner-fire.lua +65 -0
  316. package/engine/object-data/entry/ability-type/inventory.d.ts +16 -0
  317. package/engine/object-data/entry/ability-type/inventory.lua +78 -0
  318. package/engine/object-data/entry/ability-type/invulnerable.d.ts +5 -0
  319. package/engine/object-data/entry/ability-type/invulnerable.lua +12 -0
  320. package/engine/object-data/entry/ability-type/lightning-shield.d.ts +8 -0
  321. package/engine/object-data/entry/ability-type/lightning-shield.lua +26 -0
  322. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  323. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  324. package/engine/object-data/entry/ability-type/movement-speed-increase.d.ts +8 -0
  325. package/engine/object-data/entry/ability-type/movement-speed-increase.lua +26 -0
  326. package/engine/object-data/entry/ability-type/permanent-immolation.d.ts +8 -0
  327. package/engine/object-data/entry/ability-type/permanent-immolation.lua +26 -0
  328. package/engine/object-data/entry/ability-type/phoenix-morph.d.ts +25 -0
  329. package/engine/object-data/entry/ability-type/phoenix-morph.lua +130 -0
  330. package/engine/object-data/entry/ability-type/recall.d.ts +10 -0
  331. package/engine/object-data/entry/ability-type/recall.lua +39 -0
  332. package/engine/object-data/entry/ability-type/rejuvenation.d.ts +20 -0
  333. package/engine/object-data/entry/ability-type/rejuvenation.lua +65 -0
  334. package/engine/object-data/entry/ability-type/searing-arrows.d.ts +8 -0
  335. package/engine/object-data/entry/ability-type/searing-arrows.lua +26 -0
  336. package/engine/object-data/entry/ability-type/shock-wave.d.ts +10 -0
  337. package/engine/object-data/entry/ability-type/shock-wave.lua +39 -0
  338. package/engine/object-data/entry/ability-type/slow-poison.d.ts +12 -0
  339. package/engine/object-data/entry/ability-type/slow-poison.lua +52 -0
  340. package/engine/object-data/entry/ability-type/slow.d.ts +12 -0
  341. package/engine/object-data/entry/ability-type/slow.lua +52 -0
  342. package/engine/object-data/entry/ability-type/spell-damage-reduction.d.ts +10 -0
  343. package/engine/object-data/entry/ability-type/spell-damage-reduction.lua +39 -0
  344. package/engine/object-data/entry/ability-type/spiked-carapace.d.ts +12 -0
  345. package/engine/object-data/entry/ability-type/spiked-carapace.lua +52 -0
  346. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +14 -0
  347. package/engine/object-data/entry/ability-type/spirit-touch.lua +65 -0
  348. package/engine/object-data/entry/ability-type/storm-bolt.d.ts +8 -0
  349. package/engine/object-data/entry/ability-type/storm-bolt.lua +26 -0
  350. package/engine/object-data/entry/ability-type/summon-quilbeast.d.ts +11 -0
  351. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +39 -0
  352. package/engine/object-data/entry/ability-type/summon-water-elemental.d.ts +11 -0
  353. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +39 -0
  354. package/engine/object-data/entry/ability-type.d.ts +148 -0
  355. package/engine/object-data/entry/ability-type.lua +1059 -0
  356. package/engine/object-data/entry/buff-type/applicable.d.ts +15 -0
  357. package/engine/object-data/entry/buff-type/applicable.lua +333 -0
  358. package/engine/object-data/entry/buff-type/blank.d.ts +7 -0
  359. package/engine/object-data/entry/buff-type/blank.lua +17 -0
  360. package/engine/object-data/entry/buff-type.d.ts +63 -0
  361. package/engine/object-data/entry/buff-type.lua +316 -0
  362. package/engine/object-data/entry/destructible-type.d.ts +20 -0
  363. package/engine/object-data/entry/destructible-type.lua +83 -0
  364. package/engine/object-data/entry/item-type/blank.d.ts +7 -0
  365. package/engine/object-data/entry/item-type/blank.lua +21 -0
  366. package/engine/object-data/entry/item-type.d.ts +48 -0
  367. package/engine/object-data/entry/item-type.lua +259 -0
  368. package/engine/object-data/entry/lightning-type.d.ts +36 -0
  369. package/engine/object-data/entry/lightning-type.lua +191 -0
  370. package/engine/object-data/entry/unit-type/blank.d.ts +6 -0
  371. package/engine/object-data/entry/unit-type/blank.lua +13 -0
  372. package/engine/object-data/entry/unit-type.d.ts +258 -0
  373. package/engine/object-data/entry/unit-type.lua +1634 -0
  374. package/engine/object-data/entry/upgrade/blank.d.ts +7 -0
  375. package/engine/object-data/entry/upgrade/blank.lua +22 -0
  376. package/engine/object-data/entry/upgrade.d.ts +58 -0
  377. package/engine/object-data/entry/upgrade.lua +238 -0
  378. package/engine/object-data/entry.d.ts +79 -0
  379. package/engine/object-data/entry.lua +634 -0
  380. package/engine/object-data/utility/object-data-entry-id-generator.d.ts +6 -0
  381. package/engine/object-data/utility/object-data-entry-id-generator.lua +63 -0
  382. package/engine/object-data/utility/order-type-string-id-factory.d.ts +9 -0
  383. package/engine/object-data/utility/order-type-string-id-factory.lua +368 -0
  384. package/engine/object-field/ability.d.ts +117 -0
  385. package/engine/object-field/ability.lua +477 -0
  386. package/engine/object-field/unit.d.ts +16 -0
  387. package/engine/object-field/unit.lua +52 -0
  388. package/engine/object-field.d.ts +86 -0
  389. package/engine/object-field.lua +470 -0
  390. package/engine/random.d.ts +11 -0
  391. package/engine/random.lua +18 -0
  392. package/engine/standard/entries/ability-type.d.ts +8 -0
  393. package/engine/standard/entries/ability-type.lua +8 -0
  394. package/engine/standard/entries/lightning-type.d.ts +16 -0
  395. package/engine/standard/entries/lightning-type.lua +16 -0
  396. package/engine/standard/entries/unit-type.d.ts +104 -0
  397. package/engine/standard/entries/unit-type.lua +104 -0
  398. package/engine/standard/entries/upgrade.d.ts +92 -0
  399. package/engine/standard/entries/upgrade.lua +92 -0
  400. package/engine/standard/fields/ability.d.ts +737 -0
  401. package/engine/standard/fields/ability.lua +749 -0
  402. package/engine/standard/pathing-textures.d.ts +6 -0
  403. package/engine/standard/pathing-textures.lua +7 -0
  404. package/engine/text-tag.d.ts +25 -0
  405. package/engine/text-tag.lua +109 -0
  406. package/engine/unit.d.ts +21 -0
  407. package/engine/unit.lua +39 -0
  408. package/event.d.ts +52 -0
  409. package/event.lua +273 -0
  410. package/exception.d.ts +19 -0
  411. package/exception.lua +57 -0
  412. package/file.d.ts +4 -0
  413. package/file.lua +42 -0
  414. package/global/math.d.ts +21 -0
  415. package/global/math.lua +72 -0
  416. package/global/vec2.d.ts +66 -0
  417. package/global/vec2.lua +160 -0
  418. package/index.d.ts +8 -0
  419. package/index.lua +9 -0
  420. package/lualib_bundle.lua +2733 -0
  421. package/math/vec2.d.ts +11 -0
  422. package/math/vec2.lua +42 -0
  423. package/math.d.ts +37 -0
  424. package/math.lua +91 -0
  425. package/net/signal.d.ts +11 -0
  426. package/net/signal.lua +56 -0
  427. package/net/socket.d.ts +9 -0
  428. package/net/socket.lua +26 -0
  429. package/network.d.ts +31 -0
  430. package/network.lua +194 -0
  431. package/objutil/ability.d.ts +709 -0
  432. package/objutil/ability.lua +3781 -0
  433. package/objutil/buff.d.ts +109 -0
  434. package/objutil/buff.lua +769 -0
  435. package/objutil/dummy.d.ts +2 -0
  436. package/objutil/dummy.lua +49 -0
  437. package/objutil/idgen.d.ts +9 -0
  438. package/objutil/idgen.lua +92 -0
  439. package/objutil/item.d.ts +38 -0
  440. package/objutil/item.lua +254 -0
  441. package/objutil/object.d.ts +42 -0
  442. package/objutil/object.lua +213 -0
  443. package/objutil/unit.d.ts +133 -0
  444. package/objutil/unit.lua +913 -0
  445. package/objutil/upgrade.d.ts +22 -0
  446. package/objutil/upgrade.lua +127 -0
  447. package/operation.d.ts +35 -0
  448. package/operation.lua +179 -0
  449. package/package.json +46 -0
  450. package/patch-lualib.d.ts +2 -0
  451. package/patch-lualib.lua +67 -0
  452. package/patch-natives.d.ts +11 -0
  453. package/patch-natives.lua +14 -0
  454. package/property.d.ts +55 -0
  455. package/property.lua +374 -0
  456. package/string.d.ts +136 -0
  457. package/string.lua +48 -0
  458. package/time/dayOfWeek.d.ts +97 -0
  459. package/time/dayOfWeek.lua +53 -0
  460. package/time/localDate.d.ts +145 -0
  461. package/time/localDate.lua +236 -0
  462. package/time/localDateTime.d.ts +133 -0
  463. package/time/localDateTime.lua +154 -0
  464. package/time/localTime.d.ts +87 -0
  465. package/time/localTime.lua +91 -0
  466. package/time/month.d.ts +146 -0
  467. package/time/month.lua +129 -0
  468. package/time/year.d.ts +117 -0
  469. package/time/year.lua +81 -0
  470. package/types.d.ts +13 -0
  471. package/types.lua +0 -0
  472. package/util/objectPool.d.ts +6 -0
  473. package/util/objectPool.lua +28 -0
  474. package/util/stream.d.ts +28 -0
  475. package/util/stream.lua +453 -0
  476. package/util/stringBuilder.d.ts +8 -0
  477. package/util/stringBuilder.lua +25 -0
  478. package/utility/arrays.d.ts +56 -0
  479. package/utility/arrays.lua +372 -0
  480. package/utility/base64.d.ts +23 -0
  481. package/utility/base64.lua +177 -0
  482. package/utility/bit-set.d.ts +16 -0
  483. package/utility/bit-set.lua +12 -0
  484. package/utility/functions.d.ts +5 -0
  485. package/utility/functions.lua +90 -0
  486. package/utility/json.d.ts +2 -0
  487. package/utility/json.lua +400 -0
  488. package/utility/linked-set.d.ts +49 -0
  489. package/utility/linked-set.lua +197 -0
  490. package/utility/lua-maps.d.ts +5 -0
  491. package/utility/lua-maps.lua +25 -0
  492. package/utility/lua-sets.d.ts +5 -0
  493. package/utility/lua-sets.lua +37 -0
  494. package/utility/lzw.d.ts +2 -0
  495. package/utility/lzw.lua +161 -0
  496. package/utility/observable-array.d.ts +17 -0
  497. package/utility/observable-array.lua +30 -0
  498. package/utility/preconditions.d.ts +23 -0
  499. package/utility/preconditions.lua +58 -0
  500. package/utility/records.d.ts +3 -0
  501. package/utility/records.lua +9 -0
  502. package/utility/reflection.d.ts +4 -0
  503. package/utility/reflection.lua +31 -0
  504. package/utility/strings.d.ts +2 -0
  505. package/utility/strings.lua +44 -0
  506. package/utility/types.d.ts +39 -0
  507. package/utility/types.lua +2 -0
@@ -0,0 +1,133 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local ____exports = {}
5
+ local ____ability = require("engine.behaviour.ability")
6
+ local AbilityBehavior = ____ability.AbilityBehavior
7
+ local ____unit = require("engine.internal.unit")
8
+ local Unit = ____unit.Unit
9
+ local ____ability = require("engine.standard.fields.ability")
10
+ local ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD = ____ability.ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD
11
+ local AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD = ____ability.AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD
12
+ local DamageAbilityBehavior = __TS__Class()
13
+ DamageAbilityBehavior.name = "DamageAbilityBehavior"
14
+ __TS__ClassExtends(DamageAbilityBehavior, AbilityBehavior)
15
+ function DamageAbilityBehavior.prototype.____constructor(self, ability, damage, parameters)
16
+ AbilityBehavior.prototype.____constructor(self, ability)
17
+ self.damage = damage
18
+ self.parameters = parameters
19
+ end
20
+ function DamageAbilityBehavior.prototype.calculateDamage(self, caster)
21
+ local parameters = self.parameters
22
+ local damage = self:resolveCurrentAbilityDependentValue(self.damage)
23
+ local damagePerStrength = self:resolveCurrentAbilityDependentValue(parameters and parameters.damagePerStrength or 0)
24
+ if damagePerStrength ~= 0 then
25
+ damage = damage + damagePerStrength * caster.strength
26
+ end
27
+ local damagePerAgility = self:resolveCurrentAbilityDependentValue(parameters and parameters.damagePerAgility or 0)
28
+ if damagePerAgility ~= 0 then
29
+ damage = damage + damagePerAgility * caster.agility
30
+ end
31
+ local damagePerIntelligence = self:resolveCurrentAbilityDependentValue(parameters and parameters.damagePerIntelligence or 0)
32
+ if damagePerIntelligence ~= 0 then
33
+ damage = damage + damagePerIntelligence * caster.intelligence
34
+ end
35
+ return damage
36
+ end
37
+ ____exports.DamageSelfAbilityBehavior = __TS__Class()
38
+ local DamageSelfAbilityBehavior = ____exports.DamageSelfAbilityBehavior
39
+ DamageSelfAbilityBehavior.name = "DamageSelfAbilityBehavior"
40
+ __TS__ClassExtends(DamageSelfAbilityBehavior, DamageAbilityBehavior)
41
+ function DamageSelfAbilityBehavior.prototype.____constructor(self, ability, damage, parameters)
42
+ DamageAbilityBehavior.prototype.____constructor(self, ability, damage, parameters)
43
+ end
44
+ function DamageSelfAbilityBehavior.prototype.onImpact(self, caster)
45
+ local parameters = self.parameters
46
+ caster:damageTarget(
47
+ caster,
48
+ self:calculateDamage(caster),
49
+ nil,
50
+ nil,
51
+ parameters and parameters.attackType,
52
+ parameters and parameters.damageType,
53
+ parameters and parameters.weaponType
54
+ )
55
+ end
56
+ ____exports.DamageTargetAbilityBehavior = __TS__Class()
57
+ local DamageTargetAbilityBehavior = ____exports.DamageTargetAbilityBehavior
58
+ DamageTargetAbilityBehavior.name = "DamageTargetAbilityBehavior"
59
+ __TS__ClassExtends(DamageTargetAbilityBehavior, DamageAbilityBehavior)
60
+ function DamageTargetAbilityBehavior.prototype.____constructor(self, ability, damage, parameters)
61
+ DamageAbilityBehavior.prototype.____constructor(self, ability, damage, parameters)
62
+ end
63
+ function DamageTargetAbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
64
+ local parameters = self.parameters
65
+ caster:damageTarget(
66
+ target,
67
+ self:calculateDamage(caster),
68
+ nil,
69
+ nil,
70
+ parameters and parameters.attackType,
71
+ parameters and parameters.damageType,
72
+ parameters and parameters.weaponType
73
+ )
74
+ end
75
+ local DamageAreaAbilityBehavior = __TS__Class()
76
+ DamageAreaAbilityBehavior.name = "DamageAreaAbilityBehavior"
77
+ __TS__ClassExtends(DamageAreaAbilityBehavior, DamageAbilityBehavior)
78
+ function DamageAreaAbilityBehavior.prototype.____constructor(self, ability, damage, parameters)
79
+ DamageAbilityBehavior.prototype.____constructor(self, ability, damage, parameters)
80
+ end
81
+ function DamageAreaAbilityBehavior.prototype.damageArea(self, caster, x, y)
82
+ local parameters = self.parameters
83
+ local targets = Unit.getAllowedTargetsInCollisionRange(
84
+ caster,
85
+ self:resolveCurrentAbilityDependentValue(ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD),
86
+ x,
87
+ y,
88
+ self:resolveCurrentAbilityDependentValue(AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD)
89
+ )
90
+ local damage = self:calculateDamage(caster)
91
+ local maximumDamage = self:resolveCurrentAbilityDependentValue(parameters and parameters.maximumDamage or 0)
92
+ if maximumDamage ~= 0 and damage > maximumDamage then
93
+ damage = maximumDamage / #targets
94
+ end
95
+ for ____, target in ipairs(targets) do
96
+ caster:damageTarget(
97
+ target,
98
+ damage,
99
+ nil,
100
+ nil,
101
+ parameters and parameters.attackType,
102
+ parameters and parameters.damageType,
103
+ parameters and parameters.weaponType
104
+ )
105
+ end
106
+ end
107
+ ____exports.DamageSelfAreaAbilityBehavior = __TS__Class()
108
+ local DamageSelfAreaAbilityBehavior = ____exports.DamageSelfAreaAbilityBehavior
109
+ DamageSelfAreaAbilityBehavior.name = "DamageSelfAreaAbilityBehavior"
110
+ __TS__ClassExtends(DamageSelfAreaAbilityBehavior, DamageAreaAbilityBehavior)
111
+ function DamageSelfAreaAbilityBehavior.prototype.____constructor(self, ability, damage, parameters)
112
+ DamageAreaAbilityBehavior.prototype.____constructor(self, ability, damage, parameters)
113
+ end
114
+ function DamageSelfAreaAbilityBehavior.prototype.onImpact(self, caster)
115
+ self:damageArea(caster, caster.x, caster.y)
116
+ end
117
+ ____exports.DamageTargetAreaAbilityBehavior = __TS__Class()
118
+ local DamageTargetAreaAbilityBehavior = ____exports.DamageTargetAreaAbilityBehavior
119
+ DamageTargetAreaAbilityBehavior.name = "DamageTargetAreaAbilityBehavior"
120
+ __TS__ClassExtends(DamageTargetAreaAbilityBehavior, DamageAreaAbilityBehavior)
121
+ function DamageTargetAreaAbilityBehavior.prototype.____constructor(self, ability, damage, parameters)
122
+ DamageAreaAbilityBehavior.prototype.____constructor(self, ability, damage, parameters)
123
+ end
124
+ function DamageTargetAreaAbilityBehavior.prototype.onNoTargetImpact(self, caster)
125
+ self:damageArea(caster, caster.x, caster.y)
126
+ end
127
+ function DamageTargetAreaAbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
128
+ self:damageArea(caster, target.x, target.y)
129
+ end
130
+ function DamageTargetAreaAbilityBehavior.prototype.onPointTargetImpact(self, caster, x, y)
131
+ self:damageArea(caster, x, y)
132
+ end
133
+ return ____exports
@@ -0,0 +1,43 @@
1
+ /** @noSelfInFile */
2
+ import { Widget } from "../../../core/types/widget";
3
+ import { Ability } from "../../internal/ability";
4
+ import { Unit } from "../../internal/unit";
5
+ import { AbilityDependentValue } from "../../object-field/ability";
6
+ import { AbilityBehavior } from "../ability";
7
+ export type HealAbilityBehaviorParameters = {
8
+ healingPerStrength?: AbilityDependentValue<number>;
9
+ healingPerAgility?: AbilityDependentValue<number>;
10
+ healingPerIntelligence?: AbilityDependentValue<number>;
11
+ };
12
+ export type HealAreaAbilityBehaviorParameters = HealAbilityBehaviorParameters & {
13
+ maximumHealing?: AbilityDependentValue<number>;
14
+ };
15
+ declare abstract class HealAbilityBehavior<T extends HealAbilityBehaviorParameters = HealAbilityBehaviorParameters> extends AbilityBehavior {
16
+ protected readonly healing: AbilityDependentValue<number>;
17
+ protected readonly parameters?: T | undefined;
18
+ protected constructor(ability: Ability, healing: AbilityDependentValue<number>, parameters?: T | undefined);
19
+ protected calculateHealing(caster: Unit): number;
20
+ }
21
+ export declare class HealSelfAbilityBehavior extends HealAbilityBehavior {
22
+ constructor(ability: Ability, healing: AbilityDependentValue<number>, parameters?: HealAbilityBehaviorParameters);
23
+ onImpact(caster: Unit): void;
24
+ }
25
+ export declare class HealTargetAbilityBehavior extends HealAbilityBehavior {
26
+ constructor(ability: Ability, healing: AbilityDependentValue<number>, parameters?: HealAbilityBehaviorParameters);
27
+ onWidgetTargetImpact(caster: Unit, target: Widget): void;
28
+ }
29
+ declare abstract class HealAreaAbilityBehavior extends HealAbilityBehavior<HealAreaAbilityBehaviorParameters> {
30
+ protected constructor(ability: Ability, healing: AbilityDependentValue<number>, parameters?: HealAreaAbilityBehaviorParameters);
31
+ protected healArea(caster: Unit, x: number, y: number): void;
32
+ }
33
+ export declare class HealSelfAreaAbilityBehavior extends HealAreaAbilityBehavior {
34
+ constructor(ability: Ability, healing: AbilityDependentValue<number>, parameters?: HealAreaAbilityBehaviorParameters);
35
+ onImpact(caster: Unit): void;
36
+ }
37
+ export declare class HealTargetAreaAbilityBehavior extends HealAreaAbilityBehavior {
38
+ constructor(ability: Ability, healing: AbilityDependentValue<number>, parameters?: HealAreaAbilityBehaviorParameters);
39
+ onNoTargetImpact(caster: Unit): void;
40
+ onWidgetTargetImpact(caster: Unit, target: Widget): void;
41
+ onPointTargetImpact(caster: Unit, x: number, y: number): void;
42
+ }
43
+ export {};
@@ -0,0 +1,114 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local ____exports = {}
5
+ local ____unit = require("engine.internal.unit")
6
+ local Unit = ____unit.Unit
7
+ local ____ability = require("engine.behaviour.ability")
8
+ local AbilityBehavior = ____ability.AbilityBehavior
9
+ local ____ability = require("engine.standard.fields.ability")
10
+ local ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD = ____ability.ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD
11
+ local AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD = ____ability.AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD
12
+ local HealAbilityBehavior = __TS__Class()
13
+ HealAbilityBehavior.name = "HealAbilityBehavior"
14
+ __TS__ClassExtends(HealAbilityBehavior, AbilityBehavior)
15
+ function HealAbilityBehavior.prototype.____constructor(self, ability, healing, parameters)
16
+ AbilityBehavior.prototype.____constructor(self, ability)
17
+ self.healing = healing
18
+ self.parameters = parameters
19
+ end
20
+ function HealAbilityBehavior.prototype.calculateHealing(self, caster)
21
+ local parameters = self.parameters
22
+ local healing = self:resolveCurrentAbilityDependentValue(self.healing)
23
+ local healingPerStrength = self:resolveCurrentAbilityDependentValue(parameters and parameters.healingPerStrength or 0)
24
+ if healingPerStrength ~= 0 then
25
+ healing = healing + healingPerStrength * caster.strength
26
+ end
27
+ local healingPerAgility = self:resolveCurrentAbilityDependentValue(parameters and parameters.healingPerAgility or 0)
28
+ if healingPerAgility ~= 0 then
29
+ healing = healing + healingPerAgility * caster.agility
30
+ end
31
+ local healingPerIntelligence = self:resolveCurrentAbilityDependentValue(parameters and parameters.healingPerIntelligence or 0)
32
+ if healingPerIntelligence ~= 0 then
33
+ healing = healing + healingPerIntelligence * caster.intelligence
34
+ end
35
+ return healing
36
+ end
37
+ ____exports.HealSelfAbilityBehavior = __TS__Class()
38
+ local HealSelfAbilityBehavior = ____exports.HealSelfAbilityBehavior
39
+ HealSelfAbilityBehavior.name = "HealSelfAbilityBehavior"
40
+ __TS__ClassExtends(HealSelfAbilityBehavior, HealAbilityBehavior)
41
+ function HealSelfAbilityBehavior.prototype.____constructor(self, ability, healing, parameters)
42
+ HealAbilityBehavior.prototype.____constructor(self, ability, healing, parameters)
43
+ end
44
+ function HealSelfAbilityBehavior.prototype.onImpact(self, caster)
45
+ caster:healTarget(
46
+ caster,
47
+ self:calculateHealing(caster)
48
+ )
49
+ end
50
+ ____exports.HealTargetAbilityBehavior = __TS__Class()
51
+ local HealTargetAbilityBehavior = ____exports.HealTargetAbilityBehavior
52
+ HealTargetAbilityBehavior.name = "HealTargetAbilityBehavior"
53
+ __TS__ClassExtends(HealTargetAbilityBehavior, HealAbilityBehavior)
54
+ function HealTargetAbilityBehavior.prototype.____constructor(self, ability, healing, parameters)
55
+ HealAbilityBehavior.prototype.____constructor(self, ability, healing, parameters)
56
+ end
57
+ function HealTargetAbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
58
+ caster:healTarget(
59
+ target,
60
+ self:calculateHealing(caster)
61
+ )
62
+ end
63
+ local HealAreaAbilityBehavior = __TS__Class()
64
+ HealAreaAbilityBehavior.name = "HealAreaAbilityBehavior"
65
+ __TS__ClassExtends(HealAreaAbilityBehavior, HealAbilityBehavior)
66
+ function HealAreaAbilityBehavior.prototype.____constructor(self, ability, healing, parameters)
67
+ HealAbilityBehavior.prototype.____constructor(self, ability, healing, parameters)
68
+ end
69
+ function HealAreaAbilityBehavior.prototype.healArea(self, caster, x, y)
70
+ local targets = Unit.getAllowedTargetsInCollisionRange(
71
+ caster,
72
+ self:resolveCurrentAbilityDependentValue(ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD),
73
+ x,
74
+ y,
75
+ self:resolveCurrentAbilityDependentValue(AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD)
76
+ )
77
+ local healing = self:calculateHealing(caster)
78
+ local ____self_resolveCurrentAbilityDependentValue_8 = self.resolveCurrentAbilityDependentValue
79
+ local ____opt_6 = self.parameters
80
+ local maximumHealing = ____self_resolveCurrentAbilityDependentValue_8(self, ____opt_6 and ____opt_6.maximumHealing or 0)
81
+ if maximumHealing ~= 0 and healing > maximumHealing then
82
+ healing = maximumHealing / #targets
83
+ end
84
+ for ____, target in ipairs(targets) do
85
+ caster:healTarget(target, healing)
86
+ end
87
+ end
88
+ ____exports.HealSelfAreaAbilityBehavior = __TS__Class()
89
+ local HealSelfAreaAbilityBehavior = ____exports.HealSelfAreaAbilityBehavior
90
+ HealSelfAreaAbilityBehavior.name = "HealSelfAreaAbilityBehavior"
91
+ __TS__ClassExtends(HealSelfAreaAbilityBehavior, HealAreaAbilityBehavior)
92
+ function HealSelfAreaAbilityBehavior.prototype.____constructor(self, ability, healing, parameters)
93
+ HealAreaAbilityBehavior.prototype.____constructor(self, ability, healing, parameters)
94
+ end
95
+ function HealSelfAreaAbilityBehavior.prototype.onImpact(self, caster)
96
+ self:healArea(caster, caster.x, caster.y)
97
+ end
98
+ ____exports.HealTargetAreaAbilityBehavior = __TS__Class()
99
+ local HealTargetAreaAbilityBehavior = ____exports.HealTargetAreaAbilityBehavior
100
+ HealTargetAreaAbilityBehavior.name = "HealTargetAreaAbilityBehavior"
101
+ __TS__ClassExtends(HealTargetAreaAbilityBehavior, HealAreaAbilityBehavior)
102
+ function HealTargetAreaAbilityBehavior.prototype.____constructor(self, ability, healing, parameters)
103
+ HealAreaAbilityBehavior.prototype.____constructor(self, ability, healing, parameters)
104
+ end
105
+ function HealTargetAreaAbilityBehavior.prototype.onNoTargetImpact(self, caster)
106
+ self:healArea(caster, caster.x, caster.y)
107
+ end
108
+ function HealTargetAreaAbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
109
+ self:healArea(caster, target.x, target.y)
110
+ end
111
+ function HealTargetAreaAbilityBehavior.prototype.onPointTargetImpact(self, caster, x, y)
112
+ self:healArea(caster, x, y)
113
+ end
114
+ return ____exports
@@ -0,0 +1,6 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityBehavior } from "../ability";
3
+ import { Unit } from "../../internal/unit";
4
+ export declare class InstantImpactAbilityBehavior extends AbilityBehavior {
5
+ onCastingStart(caster: Unit): void;
6
+ }
@@ -0,0 +1,29 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local ____exports = {}
5
+ local ____ability = require("engine.behaviour.ability")
6
+ local AbilityBehavior = ____ability.AbilityBehavior
7
+ local ____ability = require("engine.standard.fields.ability")
8
+ local COOLDOWN_ABILITY_FLOAT_LEVEL_FIELD = ____ability.COOLDOWN_ABILITY_FLOAT_LEVEL_FIELD
9
+ local MANA_COST_ABILITY_INTEGER_LEVEL_FIELD = ____ability.MANA_COST_ABILITY_INTEGER_LEVEL_FIELD
10
+ ____exports.InstantImpactAbilityBehavior = __TS__Class()
11
+ local InstantImpactAbilityBehavior = ____exports.InstantImpactAbilityBehavior
12
+ InstantImpactAbilityBehavior.name = "InstantImpactAbilityBehavior"
13
+ __TS__ClassExtends(InstantImpactAbilityBehavior, AbilityBehavior)
14
+ function InstantImpactAbilityBehavior.prototype.onCastingStart(self, caster)
15
+ local abilityTypeId = self.ability.typeId
16
+ local manaCost = self:resolveCurrentAbilityDependentValue(MANA_COST_ABILITY_INTEGER_LEVEL_FIELD)
17
+ local cooldown = self:resolveCurrentAbilityDependentValue(COOLDOWN_ABILITY_FLOAT_LEVEL_FIELD)
18
+ if caster:getAbilityRemainingCooldown(abilityTypeId) ~= 0 or caster.mana < manaCost then
19
+ return
20
+ end
21
+ caster.mana = caster.mana - manaCost
22
+ if cooldown == 0 then
23
+ caster:interruptCast(self.ability.typeId)
24
+ else
25
+ caster:startAbilityCooldown(self.ability.typeId, cooldown)
26
+ end
27
+ AbilityBehavior:forAll(self.ability, "onImpact", caster)
28
+ end
29
+ return ____exports
@@ -0,0 +1,15 @@
1
+ /** @noSelfInFile */
2
+ import { Ability } from "../../internal/ability";
3
+ import { Unit } from "../../internal/unit";
4
+ import { AbilityDependentValue } from "../../object-field/ability";
5
+ import { AbilityBehavior } from "../ability";
6
+ export declare class RestoreManaSelfAbilityBehavior extends AbilityBehavior {
7
+ private readonly mana;
8
+ constructor(ability: Ability, mana: AbilityDependentValue<number>);
9
+ onImpact(caster: Unit): void;
10
+ }
11
+ export declare class RestoreManaAbilityBehavior extends AbilityBehavior {
12
+ private readonly mana;
13
+ constructor(ability: Ability, mana: AbilityDependentValue<number>);
14
+ onUnitTargetImpact(caster: Unit, target: Unit): void;
15
+ }
@@ -0,0 +1,29 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local ____exports = {}
5
+ local ____ability = require("engine.behaviour.ability")
6
+ local AbilityBehavior = ____ability.AbilityBehavior
7
+ ____exports.RestoreManaSelfAbilityBehavior = __TS__Class()
8
+ local RestoreManaSelfAbilityBehavior = ____exports.RestoreManaSelfAbilityBehavior
9
+ RestoreManaSelfAbilityBehavior.name = "RestoreManaSelfAbilityBehavior"
10
+ __TS__ClassExtends(RestoreManaSelfAbilityBehavior, AbilityBehavior)
11
+ function RestoreManaSelfAbilityBehavior.prototype.____constructor(self, ability, mana)
12
+ AbilityBehavior.prototype.____constructor(self, ability)
13
+ self.mana = mana
14
+ end
15
+ function RestoreManaSelfAbilityBehavior.prototype.onImpact(self, caster)
16
+ caster.mana = caster.mana + self:resolveCurrentAbilityDependentValue(self.mana)
17
+ end
18
+ ____exports.RestoreManaAbilityBehavior = __TS__Class()
19
+ local RestoreManaAbilityBehavior = ____exports.RestoreManaAbilityBehavior
20
+ RestoreManaAbilityBehavior.name = "RestoreManaAbilityBehavior"
21
+ __TS__ClassExtends(RestoreManaAbilityBehavior, AbilityBehavior)
22
+ function RestoreManaAbilityBehavior.prototype.____constructor(self, ability, mana)
23
+ AbilityBehavior.prototype.____constructor(self, ability)
24
+ self.mana = mana
25
+ end
26
+ function RestoreManaAbilityBehavior.prototype.onUnitTargetImpact(self, caster, target)
27
+ target.mana = target.mana + self:resolveCurrentAbilityDependentValue(self.mana)
28
+ end
29
+ return ____exports
@@ -0,0 +1,47 @@
1
+ /** @noSelfInFile */
2
+ import { Behavior } from "../behavior";
3
+ import { Unit } from "../unit";
4
+ import { Ability } from "../internal/ability";
5
+ import { AbilityTypeId } from "../object-data/entry/ability-type";
6
+ import { Widget } from "../../core/types/widget";
7
+ import { Item } from "../internal/item";
8
+ import { Destructable } from "../../core/types/destructable";
9
+ import { EffectParameters } from "../../core/types/effect";
10
+ import { AbilityDependentValue } from "../object-field/ability";
11
+ export type AbilityBehaviorConstructor<Args extends any[]> = new (ability: Ability, ...args: Args) => AbilityBehavior;
12
+ export declare abstract class AbilityBehavior<Parameters extends {
13
+ periodicActionParameters?: any[];
14
+ missileParameters?: any[];
15
+ } = {}> extends Behavior<Ability, NonNullable<Parameters["periodicActionParameters"]>> {
16
+ constructor(ability: Ability);
17
+ get ability(): Ability;
18
+ protected resolveCurrentAbilityDependentValue<T extends boolean | number | string>(value: AbilityDependentValue<T>): T;
19
+ protected flashAreaEffect(x: number, y: number, ...parametersOrDuration: [parameters?: EffectParameters] | [duration?: number, parameters?: EffectParameters]): void;
20
+ protected flashEffect(x: number, y: number, ...parametersOrDuration: [parameters?: EffectParameters] | [duration?: number, parameters?: EffectParameters]): void;
21
+ protected flashSpecialEffect(...args: [...pointOrWidget: [x: number, y: number] | [widget: Widget], duration?: number]): void;
22
+ private static MissileLaunchConfig;
23
+ private get missileLaunchConfig();
24
+ protected launchMissile(source: Unit, target: Unit, ...parameters: NonNullable<Parameters["missileParameters"]>): void;
25
+ onMissileArrival(...parameters: NonNullable<Parameters["missileParameters"]>): void;
26
+ onUnitGainAbility(_unit: Unit): void;
27
+ onUnitLoseAbility(_unit: Unit): void;
28
+ onCastingStart(caster: Unit): void;
29
+ onCastingFinish(caster: Unit): void;
30
+ onChannelingStart(caster: Unit): void;
31
+ onWidgetTargetChannelingStart(caster: Unit, target: Widget): void;
32
+ onUnitTargetChannelingStart(caster: Unit, target: Unit): void;
33
+ onItemTargetChannelingStart(caster: Unit, target: Item): void;
34
+ onDestructibleTargetChannelingStart(caster: Unit, target: Destructable): void;
35
+ onPointTargetChannelingStart(caster: Unit, x: number, y: number): void;
36
+ onNoTargetChannelingStart(caster: Unit): void;
37
+ onImpact(caster: Unit): void;
38
+ onWidgetTargetImpact(caster: Unit, target: Widget): void;
39
+ onUnitTargetImpact(caster: Unit, target: Unit): void;
40
+ onItemTargetImpact(caster: Unit, target: Item): void;
41
+ onDestructibleTargetImpact(caster: Unit, target: Destructable): void;
42
+ onPointTargetImpact(caster: Unit, x: number, y: number): void;
43
+ onNoTargetImpact(caster: Unit): void;
44
+ onChannelingFinish(caster: Unit): void;
45
+ onStop(caster: Unit): void;
46
+ static bindAbilityType<Args extends any[]>(this: AbilityBehaviorConstructor<Args>, abilityTypeId: AbilityTypeId, ...args: Args): void;
47
+ }
@@ -0,0 +1,237 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__New = ____lualib.__TS__New
5
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
6
+ local ____exports = {}
7
+ local ____behavior = require("engine.behavior")
8
+ local Behavior = ____behavior.Behavior
9
+ local ____unit = require("engine.unit")
10
+ local Unit = ____unit.Unit
11
+ local ____ability = require("engine.internal.ability")
12
+ local Ability = ____ability.Ability
13
+ local ____effect = require("core.types.effect")
14
+ local Effect = ____effect.Effect
15
+ local ____ability = require("engine.standard.fields.ability")
16
+ local AREA_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.AREA_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
17
+ local EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
18
+ local MISSILE_ARC_ABILITY_FLOAT_FIELD = ____ability.MISSILE_ARC_ABILITY_FLOAT_FIELD
19
+ local MISSILE_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.MISSILE_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
20
+ local MISSILE_SPEED_ABILITY_INTEGER_FIELD = ____ability.MISSILE_SPEED_ABILITY_INTEGER_FIELD
21
+ local SPECIAL_EFFECT_ATTACHMENT_POINT_STRING_FIELD = ____ability.SPECIAL_EFFECT_ATTACHMENT_POINT_STRING_FIELD
22
+ local SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
23
+ local ____ability = require("engine.object-field.ability")
24
+ local resolveCurrentAbilityDependentValue = ____ability.resolveCurrentAbilityDependentValue
25
+ local ____timer = require("core.types.timer")
26
+ local Timer = ____timer.Timer
27
+ local ____missile = require("core.types.missile")
28
+ local Missile = ____missile.Missile
29
+ local createBehaviorFunctionsByAbilityTypeId = {}
30
+ local function invokeOnMissileArrival(_missile, success, abilityBehavior, ...)
31
+ if success then
32
+ abilityBehavior:onMissileArrival(...)
33
+ end
34
+ end
35
+ local ____class_0 = __TS__Class()
36
+ ____class_0.name = ""
37
+ function ____class_0.prototype.____constructor(self, abilityBehavior)
38
+ self.abilityBehavior = abilityBehavior
39
+ end
40
+ __TS__SetDescriptor(
41
+ ____class_0.prototype,
42
+ "art",
43
+ {get = function(self)
44
+ return MISSILE_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.abilityBehavior.ability, 0)
45
+ end},
46
+ true
47
+ )
48
+ __TS__SetDescriptor(
49
+ ____class_0.prototype,
50
+ "arc",
51
+ {get = function(self)
52
+ return MISSILE_ARC_ABILITY_FLOAT_FIELD:getValue(self.abilityBehavior.ability)
53
+ end},
54
+ true
55
+ )
56
+ __TS__SetDescriptor(
57
+ ____class_0.prototype,
58
+ "speed",
59
+ {get = function(self)
60
+ return MISSILE_SPEED_ABILITY_INTEGER_FIELD:getValue(self.abilityBehavior.ability)
61
+ end},
62
+ true
63
+ )
64
+ ____exports.AbilityBehavior = __TS__Class()
65
+ local AbilityBehavior = ____exports.AbilityBehavior
66
+ AbilityBehavior.name = "AbilityBehavior"
67
+ __TS__ClassExtends(AbilityBehavior, Behavior)
68
+ function AbilityBehavior.prototype.____constructor(self, ability)
69
+ Behavior.prototype.____constructor(self, ability)
70
+ end
71
+ function AbilityBehavior.prototype.resolveCurrentAbilityDependentValue(self, value)
72
+ return resolveCurrentAbilityDependentValue(self.ability, value)
73
+ end
74
+ function AbilityBehavior.prototype.flashAreaEffect(self, x, y, ...)
75
+ Effect:flash(
76
+ AREA_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
77
+ x,
78
+ y,
79
+ ...
80
+ )
81
+ end
82
+ function AbilityBehavior.prototype.flashEffect(self, x, y, ...)
83
+ Effect:flash(
84
+ EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
85
+ x,
86
+ y,
87
+ ...
88
+ )
89
+ end
90
+ function AbilityBehavior.prototype.flashSpecialEffect(self, xOrWidget, yOrDuration, duration)
91
+ if type(xOrWidget) == "number" then
92
+ Effect:flash(
93
+ SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
94
+ xOrWidget,
95
+ yOrDuration,
96
+ duration
97
+ )
98
+ else
99
+ Effect:flash(
100
+ SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
101
+ xOrWidget,
102
+ SPECIAL_EFFECT_ATTACHMENT_POINT_STRING_FIELD:getValue(self.ability),
103
+ yOrDuration
104
+ )
105
+ end
106
+ end
107
+ function AbilityBehavior.prototype.launchMissile(self, source, target, ...)
108
+ Missile:launch(
109
+ self.missileLaunchConfig,
110
+ source,
111
+ target,
112
+ invokeOnMissileArrival,
113
+ self,
114
+ ...
115
+ )
116
+ end
117
+ function AbilityBehavior.prototype.onMissileArrival(self, ...)
118
+ end
119
+ function AbilityBehavior.prototype.onUnitGainAbility(self, _unit)
120
+ end
121
+ function AbilityBehavior.prototype.onUnitLoseAbility(self, _unit)
122
+ end
123
+ function AbilityBehavior.prototype.onCastingStart(self, caster)
124
+ end
125
+ function AbilityBehavior.prototype.onCastingFinish(self, caster)
126
+ end
127
+ function AbilityBehavior.prototype.onChannelingStart(self, caster)
128
+ end
129
+ function AbilityBehavior.prototype.onWidgetTargetChannelingStart(self, caster, target)
130
+ end
131
+ function AbilityBehavior.prototype.onUnitTargetChannelingStart(self, caster, target)
132
+ end
133
+ function AbilityBehavior.prototype.onItemTargetChannelingStart(self, caster, target)
134
+ end
135
+ function AbilityBehavior.prototype.onDestructibleTargetChannelingStart(self, caster, target)
136
+ end
137
+ function AbilityBehavior.prototype.onPointTargetChannelingStart(self, caster, x, y)
138
+ end
139
+ function AbilityBehavior.prototype.onNoTargetChannelingStart(self, caster)
140
+ end
141
+ function AbilityBehavior.prototype.onImpact(self, caster)
142
+ end
143
+ function AbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
144
+ end
145
+ function AbilityBehavior.prototype.onUnitTargetImpact(self, caster, target)
146
+ end
147
+ function AbilityBehavior.prototype.onItemTargetImpact(self, caster, target)
148
+ end
149
+ function AbilityBehavior.prototype.onDestructibleTargetImpact(self, caster, target)
150
+ end
151
+ function AbilityBehavior.prototype.onPointTargetImpact(self, caster, x, y)
152
+ end
153
+ function AbilityBehavior.prototype.onNoTargetImpact(self, caster)
154
+ end
155
+ function AbilityBehavior.prototype.onChannelingFinish(self, caster)
156
+ end
157
+ function AbilityBehavior.prototype.onStop(self, caster)
158
+ end
159
+ function AbilityBehavior.bindAbilityType(self, abilityTypeId, ...)
160
+ local args = {...}
161
+ local createBehaviorFunctions = createBehaviorFunctionsByAbilityTypeId[abilityTypeId]
162
+ if createBehaviorFunctions == nil then
163
+ createBehaviorFunctions = {}
164
+ createBehaviorFunctionsByAbilityTypeId[abilityTypeId] = createBehaviorFunctions
165
+ end
166
+ createBehaviorFunctions[#createBehaviorFunctions + 1] = function(ability)
167
+ return __TS__New(
168
+ self,
169
+ ability,
170
+ table.unpack(args)
171
+ )
172
+ end
173
+ end
174
+ __TS__SetDescriptor(
175
+ AbilityBehavior.prototype,
176
+ "ability",
177
+ {get = function(self)
178
+ return self.object
179
+ end},
180
+ true
181
+ )
182
+ AbilityBehavior.MissileLaunchConfig = ____class_0
183
+ __TS__SetDescriptor(
184
+ AbilityBehavior.prototype,
185
+ "missileLaunchConfig",
186
+ {get = function(self)
187
+ local missileLaunchConfig = __TS__New(____exports.AbilityBehavior.MissileLaunchConfig, self)
188
+ rawset(self, "missileLaunchConfig", missileLaunchConfig)
189
+ return missileLaunchConfig
190
+ end},
191
+ true
192
+ );
193
+ (function(self)
194
+ local function createUnitEventListener(key)
195
+ return function(unit, ability, ...)
196
+ ____exports.AbilityBehavior:forAll(ability, key, unit, ...)
197
+ end
198
+ end
199
+ local function createZeroTimerUnitEventListener(key)
200
+ local unitEventListener = createUnitEventListener(key)
201
+ return function(unit, ability, ...)
202
+ Timer:run(unitEventListener, unit, ability, ...)
203
+ end
204
+ end
205
+ Unit.abilityGainedEvent:addListener(createUnitEventListener("onUnitGainAbility"))
206
+ Unit.abilityLostEvent:addListener(createUnitEventListener("onUnitLoseAbility"))
207
+ Unit.abilityCastingStartEvent:addListener(createUnitEventListener("onCastingStart"))
208
+ Unit.abilityCastingFinishEvent:addListener(createUnitEventListener("onCastingFinish"))
209
+ Unit.abilityChannelingStartEvent:addListener(createUnitEventListener("onChannelingStart"))
210
+ Unit.abilityWidgetTargetChannelingStartEvent:addListener(createUnitEventListener("onWidgetTargetChannelingStart"))
211
+ Unit.abilityUnitTargetChannelingStartEvent:addListener(createUnitEventListener("onUnitTargetChannelingStart"))
212
+ Unit.abilityItemTargetChannelingStartEvent:addListener(createUnitEventListener("onItemTargetChannelingStart"))
213
+ Unit.abilityDestructibleTargetChannelingStartEvent:addListener(createUnitEventListener("onDestructibleTargetChannelingStart"))
214
+ Unit.abilityPointTargetChannelingStartEvent:addListener(createUnitEventListener("onPointTargetChannelingStart"))
215
+ Unit.abilityNoTargetChannelingStartEvent:addListener(createUnitEventListener("onNoTargetChannelingStart"))
216
+ Unit.abilityChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onImpact"))
217
+ Unit.abilityWidgetTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onWidgetTargetImpact"))
218
+ Unit.abilityUnitTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onUnitTargetImpact"))
219
+ Unit.abilityItemTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onItemTargetImpact"))
220
+ Unit.abilityDestructibleTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onDestructibleTargetImpact"))
221
+ Unit.abilityPointTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onPointTargetImpact"))
222
+ Unit.abilityNoTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onNoTargetImpact"))
223
+ Unit.abilityChannelingFinishEvent:addListener(createUnitEventListener("onChannelingFinish"))
224
+ Unit.abilityStopEvent:addListener(createUnitEventListener("onStop"))
225
+ end)(AbilityBehavior)
226
+ Ability.onCreate:addListener(function(ability)
227
+ local createBehaviorFunctions = createBehaviorFunctionsByAbilityTypeId[ability.typeId]
228
+ if createBehaviorFunctions ~= nil then
229
+ for ____, createBehavior in ipairs(createBehaviorFunctions) do
230
+ createBehavior(ability)
231
+ end
232
+ end
233
+ end)
234
+ Ability.destroyEvent:addListener(function(ability)
235
+ ____exports.AbilityBehavior:forAll(ability, "destroy")
236
+ end)
237
+ return ____exports