warscript 0.0.1-dev.05b0efd

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 (495) hide show
  1. package/LICENSE +23 -0
  2. package/binaryreader.d.ts +20 -0
  3. package/binaryreader.lua +50 -0
  4. package/binarywriter.d.ts +21 -0
  5. package/binarywriter.lua +90 -0
  6. package/core/dummy.d.ts +22 -0
  7. package/core/dummy.lua +133 -0
  8. package/core/game.d.ts +3 -0
  9. package/core/game.lua +24 -0
  10. package/core/mapbounds.d.ts +8 -0
  11. package/core/mapbounds.lua +12 -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 +140 -0
  29. package/core/types/frame.lua +882 -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 +22 -0
  33. package/core/types/group.lua +94 -0
  34. package/core/types/handle.d.ts +48 -0
  35. package/core/types/handle.lua +169 -0
  36. package/core/types/image.d.ts +30 -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 +233 -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 +24 -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 +116 -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 +17 -0
  91. package/engine/behaviour/ability/apply-unit-behavior.lua +58 -0
  92. package/engine/behaviour/ability/damage.d.ts +25 -0
  93. package/engine/behaviour/ability/damage.lua +75 -0
  94. package/engine/behaviour/ability/heal.d.ts +16 -0
  95. package/engine/behaviour/ability/heal.lua +35 -0
  96. package/engine/behaviour/ability/instant-impact.d.ts +6 -0
  97. package/engine/behaviour/ability/instant-impact.lua +25 -0
  98. package/engine/behaviour/ability.d.ts +40 -0
  99. package/engine/behaviour/ability.lua +175 -0
  100. package/engine/behaviour/unit/stun-immunity.d.ts +19 -0
  101. package/engine/behaviour/unit/stun-immunity.lua +67 -0
  102. package/engine/behaviour/unit.d.ts +20 -0
  103. package/engine/behaviour/unit.lua +75 -0
  104. package/engine/buff.d.ts +221 -0
  105. package/engine/buff.lua +1093 -0
  106. package/engine/constants.d.ts +7 -0
  107. package/engine/constants.lua +8 -0
  108. package/engine/index.d.ts +5 -0
  109. package/engine/index.lua +2 -0
  110. package/engine/internal/ability.d.ts +91 -0
  111. package/engine/internal/ability.lua +531 -0
  112. package/engine/internal/item/ability.d.ts +2 -0
  113. package/engine/internal/item/ability.lua +48 -0
  114. package/engine/internal/item+owner.d.ts +7 -0
  115. package/engine/internal/item+owner.lua +22 -0
  116. package/engine/internal/item.d.ts +86 -0
  117. package/engine/internal/item.lua +580 -0
  118. package/engine/internal/mechanics/ability-duration.d.ts +4 -0
  119. package/engine/internal/mechanics/ability-duration.lua +11 -0
  120. package/engine/internal/mechanics/area-damage.d.ts +2 -0
  121. package/engine/internal/mechanics/area-damage.lua +33 -0
  122. package/engine/internal/misc/dummy-units.d.ts +2 -0
  123. package/engine/internal/misc/dummy-units.lua +14 -0
  124. package/engine/internal/object-data/armor-increase.d.ts +2 -0
  125. package/engine/internal/object-data/armor-increase.lua +19 -0
  126. package/engine/internal/object-data/attribute-bonus.d.ts +2 -0
  127. package/engine/internal/object-data/attribute-bonus.lua +15 -0
  128. package/engine/internal/object-data/auto-attack-damage-increase.d.ts +2 -0
  129. package/engine/internal/object-data/auto-attack-damage-increase.lua +17 -0
  130. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +2 -0
  131. package/engine/internal/object-data/auto-attack-speed-increase.lua +14 -0
  132. package/engine/internal/object-data/dummy-inventory.d.ts +2 -0
  133. package/engine/internal/object-data/dummy-inventory.lua +16 -0
  134. package/engine/internal/object-data/dummy-item.d.ts +2 -0
  135. package/engine/internal/object-data/dummy-item.lua +10 -0
  136. package/engine/internal/object-data/ghost-visible.d.ts +2 -0
  137. package/engine/internal/object-data/ghost-visible.lua +15 -0
  138. package/engine/internal/object-data/invulnerable.d.ts +2 -0
  139. package/engine/internal/object-data/invulnerable.lua +11 -0
  140. package/engine/internal/object-data/movement-speed-increase-factor.d.ts +2 -0
  141. package/engine/internal/object-data/movement-speed-increase-factor.lua +18 -0
  142. package/engine/internal/unit/ability.d.ts +143 -0
  143. package/engine/internal/unit/ability.lua +369 -0
  144. package/engine/internal/unit/allowed-targets.d.ts +17 -0
  145. package/engine/internal/unit/allowed-targets.lua +19 -0
  146. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.d.ts +2 -0
  147. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.lua +21 -0
  148. package/engine/internal/unit/bonus.d.ts +41 -0
  149. package/engine/internal/unit/bonus.lua +188 -0
  150. package/engine/internal/unit/buff.d.ts +38 -0
  151. package/engine/internal/unit/buff.lua +81 -0
  152. package/engine/internal/unit/expiration-timer.d.ts +22 -0
  153. package/engine/internal/unit/expiration-timer.lua +44 -0
  154. package/engine/internal/unit/ghost-counter.d.ts +12 -0
  155. package/engine/internal/unit/ghost-counter.lua +26 -0
  156. package/engine/internal/unit/invulnerability-counter.d.ts +12 -0
  157. package/engine/internal/unit/invulnerability-counter.lua +26 -0
  158. package/engine/internal/unit/missile.d.ts +42 -0
  159. package/engine/internal/unit/missile.lua +70 -0
  160. package/engine/internal/unit/movement-speed.d.ts +18 -0
  161. package/engine/internal/unit/movement-speed.lua +42 -0
  162. package/engine/internal/unit/summon-event.d.ts +12 -0
  163. package/engine/internal/unit/summon-event.lua +50 -0
  164. package/engine/internal/unit+ability.d.ts +9 -0
  165. package/engine/internal/unit+ability.lua +59 -0
  166. package/engine/internal/unit+bonus.d.ts +8 -0
  167. package/engine/internal/unit+bonus.lua +40 -0
  168. package/engine/internal/unit+damage.d.ts +69 -0
  169. package/engine/internal/unit+damage.lua +123 -0
  170. package/engine/internal/unit+rally.d.ts +10 -0
  171. package/engine/internal/unit+rally.lua +159 -0
  172. package/engine/internal/unit+spellSteal.d.ts +7 -0
  173. package/engine/internal/unit+spellSteal.lua +64 -0
  174. package/engine/internal/unit+transport.d.ts +12 -0
  175. package/engine/internal/unit+transport.lua +102 -0
  176. package/engine/internal/unit-missile-data.d.ts +2 -0
  177. package/engine/internal/unit-missile-data.lua +107 -0
  178. package/engine/internal/unit-missile-launch.d.ts +7 -0
  179. package/engine/internal/unit-missile-launch.lua +32 -0
  180. package/engine/internal/unit.d.ts +312 -0
  181. package/engine/internal/unit.lua +2430 -0
  182. package/engine/internal/utility.d.ts +2 -0
  183. package/engine/internal/utility.lua +13 -0
  184. package/engine/lightning.d.ts +51 -0
  185. package/engine/lightning.lua +303 -0
  186. package/engine/local-client.d.ts +16 -0
  187. package/engine/local-client.lua +86 -0
  188. package/engine/object-data/auxiliary/animation-name.d.ts +14 -0
  189. package/engine/object-data/auxiliary/animation-name.lua +2 -0
  190. package/engine/object-data/auxiliary/animation-qualifier.d.ts +53 -0
  191. package/engine/object-data/auxiliary/animation-qualifier.lua +2 -0
  192. package/engine/object-data/auxiliary/armor-sound-type.d.ts +8 -0
  193. package/engine/object-data/auxiliary/armor-sound-type.lua +2 -0
  194. package/engine/object-data/auxiliary/attachment-preset.d.ts +15 -0
  195. package/engine/object-data/auxiliary/attachment-preset.lua +29 -0
  196. package/engine/object-data/auxiliary/attack-type.d.ts +11 -0
  197. package/engine/object-data/auxiliary/attack-type.lua +2 -0
  198. package/engine/object-data/auxiliary/buff-polarity.d.ts +6 -0
  199. package/engine/object-data/auxiliary/buff-polarity.lua +2 -0
  200. package/engine/object-data/auxiliary/buff-resistance-type.d.ts +6 -0
  201. package/engine/object-data/auxiliary/buff-resistance-type.lua +2 -0
  202. package/engine/object-data/auxiliary/combat-classification.d.ts +46 -0
  203. package/engine/object-data/auxiliary/combat-classification.lua +206 -0
  204. package/engine/object-data/auxiliary/detection-type.d.ts +7 -0
  205. package/engine/object-data/auxiliary/detection-type.lua +2 -0
  206. package/engine/object-data/auxiliary/model-node-name.d.ts +12 -0
  207. package/engine/object-data/auxiliary/model-node-name.lua +2 -0
  208. package/engine/object-data/auxiliary/model-node-qualifier.d.ts +21 -0
  209. package/engine/object-data/auxiliary/model-node-qualifier.lua +2 -0
  210. package/engine/object-data/auxiliary/movement-type.d.ts +10 -0
  211. package/engine/object-data/auxiliary/movement-type.lua +2 -0
  212. package/engine/object-data/auxiliary/race.d.ts +14 -0
  213. package/engine/object-data/auxiliary/race.lua +2 -0
  214. package/engine/object-data/auxiliary/sound-preset-name.d.ts +8 -0
  215. package/engine/object-data/auxiliary/sound-preset-name.lua +2 -0
  216. package/engine/object-data/auxiliary/sound-set-name.d.ts +35 -0
  217. package/engine/object-data/auxiliary/sound-set-name.lua +2 -0
  218. package/engine/object-data/auxiliary/targeting-type.d.ts +8 -0
  219. package/engine/object-data/auxiliary/targeting-type.lua +2 -0
  220. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +16 -0
  221. package/engine/object-data/auxiliary/tech-tree-dependency.lua +8 -0
  222. package/engine/object-data/auxiliary/unit-classification.d.ts +19 -0
  223. package/engine/object-data/auxiliary/unit-classification.lua +50 -0
  224. package/engine/object-data/auxiliary/weapon-sound-type.d.ts +17 -0
  225. package/engine/object-data/auxiliary/weapon-sound-type.lua +2 -0
  226. package/engine/object-data/entry/ability-type/armor-increase.d.ts +8 -0
  227. package/engine/object-data/entry/ability-type/armor-increase.lua +26 -0
  228. package/engine/object-data/entry/ability-type/attribute-increase.d.ts +12 -0
  229. package/engine/object-data/entry/ability-type/attribute-increase.lua +52 -0
  230. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.d.ts +8 -0
  231. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.lua +26 -0
  232. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.d.ts +12 -0
  233. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.lua +52 -0
  234. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.d.ts +8 -0
  235. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.lua +26 -0
  236. package/engine/object-data/entry/ability-type/bash.d.ts +16 -0
  237. package/engine/object-data/entry/ability-type/bash.lua +78 -0
  238. package/engine/object-data/entry/ability-type/berserk.d.ts +10 -0
  239. package/engine/object-data/entry/ability-type/berserk.lua +39 -0
  240. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +21 -0
  241. package/engine/object-data/entry/ability-type/blank-configurable.lua +249 -0
  242. package/engine/object-data/entry/ability-type/blank-passive.d.ts +7 -0
  243. package/engine/object-data/entry/ability-type/blank-passive.lua +28 -0
  244. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  245. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  246. package/engine/object-data/entry/ability-type/blizzard.d.ts +16 -0
  247. package/engine/object-data/entry/ability-type/blizzard.lua +78 -0
  248. package/engine/object-data/entry/ability-type/blood-lust.d.ts +12 -0
  249. package/engine/object-data/entry/ability-type/blood-lust.lua +52 -0
  250. package/engine/object-data/entry/ability-type/chain-lightning.d.ts +12 -0
  251. package/engine/object-data/entry/ability-type/chain-lightning.lua +52 -0
  252. package/engine/object-data/entry/ability-type/channel.d.ts +48 -0
  253. package/engine/object-data/entry/ability-type/channel.lua +140 -0
  254. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.d.ts +14 -0
  255. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.lua +65 -0
  256. package/engine/object-data/entry/ability-type/cleaving-attack.d.ts +8 -0
  257. package/engine/object-data/entry/ability-type/cleaving-attack.lua +26 -0
  258. package/engine/object-data/entry/ability-type/cluster-rockets.d.ts +18 -0
  259. package/engine/object-data/entry/ability-type/cluster-rockets.lua +91 -0
  260. package/engine/object-data/entry/ability-type/cripple.d.ts +12 -0
  261. package/engine/object-data/entry/ability-type/cripple.lua +52 -0
  262. package/engine/object-data/entry/ability-type/critical-strike.d.ts +18 -0
  263. package/engine/object-data/entry/ability-type/critical-strike.lua +91 -0
  264. package/engine/object-data/entry/ability-type/curse.d.ts +8 -0
  265. package/engine/object-data/entry/ability-type/curse.lua +26 -0
  266. package/engine/object-data/entry/ability-type/dark-summoning.d.ts +10 -0
  267. package/engine/object-data/entry/ability-type/dark-summoning.lua +39 -0
  268. package/engine/object-data/entry/ability-type/death-coil.d.ts +8 -0
  269. package/engine/object-data/entry/ability-type/death-coil.lua +26 -0
  270. package/engine/object-data/entry/ability-type/disease-cloud.d.ts +15 -0
  271. package/engine/object-data/entry/ability-type/disease-cloud.lua +65 -0
  272. package/engine/object-data/entry/ability-type/divine-shield.d.ts +5 -0
  273. package/engine/object-data/entry/ability-type/divine-shield.lua +12 -0
  274. package/engine/object-data/entry/ability-type/endurance-aura.d.ts +10 -0
  275. package/engine/object-data/entry/ability-type/endurance-aura.lua +39 -0
  276. package/engine/object-data/entry/ability-type/engineering-upgrade.d.ts +13 -0
  277. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +88 -0
  278. package/engine/object-data/entry/ability-type/evasion.d.ts +8 -0
  279. package/engine/object-data/entry/ability-type/evasion.lua +26 -0
  280. package/engine/object-data/entry/ability-type/faerie-fire.d.ts +10 -0
  281. package/engine/object-data/entry/ability-type/faerie-fire.lua +39 -0
  282. package/engine/object-data/entry/ability-type/far-sight.d.ts +9 -0
  283. package/engine/object-data/entry/ability-type/far-sight.lua +26 -0
  284. package/engine/object-data/entry/ability-type/feral-spirit.d.ts +11 -0
  285. package/engine/object-data/entry/ability-type/feral-spirit.lua +39 -0
  286. package/engine/object-data/entry/ability-type/frenzy.d.ts +12 -0
  287. package/engine/object-data/entry/ability-type/frenzy.lua +52 -0
  288. package/engine/object-data/entry/ability-type/frost-nova.d.ts +12 -0
  289. package/engine/object-data/entry/ability-type/frost-nova.lua +52 -0
  290. package/engine/object-data/entry/ability-type/ghost-visible.d.ts +10 -0
  291. package/engine/object-data/entry/ability-type/ghost-visible.lua +39 -0
  292. package/engine/object-data/entry/ability-type/gold-mine.d.ts +12 -0
  293. package/engine/object-data/entry/ability-type/gold-mine.lua +52 -0
  294. package/engine/object-data/entry/ability-type/heal.d.ts +8 -0
  295. package/engine/object-data/entry/ability-type/heal.lua +26 -0
  296. package/engine/object-data/entry/ability-type/healing-salve.d.ts +22 -0
  297. package/engine/object-data/entry/ability-type/healing-salve.lua +78 -0
  298. package/engine/object-data/entry/ability-type/healing-spray.d.ts +18 -0
  299. package/engine/object-data/entry/ability-type/healing-spray.lua +91 -0
  300. package/engine/object-data/entry/ability-type/healing-wave.d.ts +12 -0
  301. package/engine/object-data/entry/ability-type/healing-wave.lua +52 -0
  302. package/engine/object-data/entry/ability-type/holy-light.d.ts +8 -0
  303. package/engine/object-data/entry/ability-type/holy-light.lua +26 -0
  304. package/engine/object-data/entry/ability-type/incinerate.d.ts +18 -0
  305. package/engine/object-data/entry/ability-type/incinerate.lua +91 -0
  306. package/engine/object-data/entry/ability-type/inner-fire.d.ts +14 -0
  307. package/engine/object-data/entry/ability-type/inner-fire.lua +65 -0
  308. package/engine/object-data/entry/ability-type/inventory.d.ts +16 -0
  309. package/engine/object-data/entry/ability-type/inventory.lua +78 -0
  310. package/engine/object-data/entry/ability-type/invulnerable.d.ts +5 -0
  311. package/engine/object-data/entry/ability-type/invulnerable.lua +12 -0
  312. package/engine/object-data/entry/ability-type/lightning-shield.d.ts +8 -0
  313. package/engine/object-data/entry/ability-type/lightning-shield.lua +26 -0
  314. package/engine/object-data/entry/ability-type/movement-speed-increase.d.ts +8 -0
  315. package/engine/object-data/entry/ability-type/movement-speed-increase.lua +26 -0
  316. package/engine/object-data/entry/ability-type/permanent-immolation.d.ts +8 -0
  317. package/engine/object-data/entry/ability-type/permanent-immolation.lua +26 -0
  318. package/engine/object-data/entry/ability-type/phoenix-morph.d.ts +25 -0
  319. package/engine/object-data/entry/ability-type/phoenix-morph.lua +130 -0
  320. package/engine/object-data/entry/ability-type/recall.d.ts +10 -0
  321. package/engine/object-data/entry/ability-type/recall.lua +39 -0
  322. package/engine/object-data/entry/ability-type/rejuvenation.d.ts +20 -0
  323. package/engine/object-data/entry/ability-type/rejuvenation.lua +65 -0
  324. package/engine/object-data/entry/ability-type/searing-arrows.d.ts +8 -0
  325. package/engine/object-data/entry/ability-type/searing-arrows.lua +26 -0
  326. package/engine/object-data/entry/ability-type/shock-wave.d.ts +10 -0
  327. package/engine/object-data/entry/ability-type/shock-wave.lua +39 -0
  328. package/engine/object-data/entry/ability-type/slow-poison.d.ts +12 -0
  329. package/engine/object-data/entry/ability-type/slow-poison.lua +52 -0
  330. package/engine/object-data/entry/ability-type/slow.d.ts +12 -0
  331. package/engine/object-data/entry/ability-type/slow.lua +52 -0
  332. package/engine/object-data/entry/ability-type/spell-damage-reduction.d.ts +10 -0
  333. package/engine/object-data/entry/ability-type/spell-damage-reduction.lua +39 -0
  334. package/engine/object-data/entry/ability-type/spiked-carapace.d.ts +12 -0
  335. package/engine/object-data/entry/ability-type/spiked-carapace.lua +52 -0
  336. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +14 -0
  337. package/engine/object-data/entry/ability-type/spirit-touch.lua +65 -0
  338. package/engine/object-data/entry/ability-type/storm-bolt.d.ts +8 -0
  339. package/engine/object-data/entry/ability-type/storm-bolt.lua +26 -0
  340. package/engine/object-data/entry/ability-type/summon-quilbeast.d.ts +11 -0
  341. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +39 -0
  342. package/engine/object-data/entry/ability-type/summon-water-elemental.d.ts +11 -0
  343. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +39 -0
  344. package/engine/object-data/entry/ability-type.d.ts +149 -0
  345. package/engine/object-data/entry/ability-type.lua +1059 -0
  346. package/engine/object-data/entry/buff-type/applicable.d.ts +16 -0
  347. package/engine/object-data/entry/buff-type/applicable.lua +377 -0
  348. package/engine/object-data/entry/buff-type/blank.d.ts +8 -0
  349. package/engine/object-data/entry/buff-type/blank.lua +17 -0
  350. package/engine/object-data/entry/buff-type.d.ts +64 -0
  351. package/engine/object-data/entry/buff-type.lua +316 -0
  352. package/engine/object-data/entry/destructible-type.d.ts +21 -0
  353. package/engine/object-data/entry/destructible-type.lua +83 -0
  354. package/engine/object-data/entry/item-type/blank.d.ts +8 -0
  355. package/engine/object-data/entry/item-type/blank.lua +21 -0
  356. package/engine/object-data/entry/item-type.d.ts +49 -0
  357. package/engine/object-data/entry/item-type.lua +259 -0
  358. package/engine/object-data/entry/lightning-type.d.ts +37 -0
  359. package/engine/object-data/entry/lightning-type.lua +191 -0
  360. package/engine/object-data/entry/unit-type/blank.d.ts +6 -0
  361. package/engine/object-data/entry/unit-type/blank.lua +13 -0
  362. package/engine/object-data/entry/unit-type.d.ts +218 -0
  363. package/engine/object-data/entry/unit-type.lua +1306 -0
  364. package/engine/object-data/entry/upgrade/blank.d.ts +8 -0
  365. package/engine/object-data/entry/upgrade/blank.lua +22 -0
  366. package/engine/object-data/entry/upgrade.d.ts +59 -0
  367. package/engine/object-data/entry/upgrade.lua +238 -0
  368. package/engine/object-data/entry.d.ts +80 -0
  369. package/engine/object-data/entry.lua +634 -0
  370. package/engine/object-data/utility/object-data-entry-id-generator.d.ts +6 -0
  371. package/engine/object-data/utility/object-data-entry-id-generator.lua +63 -0
  372. package/engine/object-data/utility/order-type-string-id-factory.d.ts +9 -0
  373. package/engine/object-data/utility/order-type-string-id-factory.lua +368 -0
  374. package/engine/object-field/ability.d.ts +117 -0
  375. package/engine/object-field/ability.lua +477 -0
  376. package/engine/object-field/unit.d.ts +16 -0
  377. package/engine/object-field/unit.lua +52 -0
  378. package/engine/object-field.d.ts +87 -0
  379. package/engine/object-field.lua +470 -0
  380. package/engine/random.d.ts +10 -0
  381. package/engine/random.lua +9 -0
  382. package/engine/standard/entries/ability-type.d.ts +8 -0
  383. package/engine/standard/entries/ability-type.lua +8 -0
  384. package/engine/standard/entries/lightning-type.d.ts +16 -0
  385. package/engine/standard/entries/lightning-type.lua +16 -0
  386. package/engine/standard/entries/unit-type.d.ts +63 -0
  387. package/engine/standard/entries/unit-type.lua +63 -0
  388. package/engine/standard/entries/upgrade.d.ts +92 -0
  389. package/engine/standard/entries/upgrade.lua +92 -0
  390. package/engine/standard/fields/ability.d.ts +737 -0
  391. package/engine/standard/fields/ability.lua +749 -0
  392. package/engine/standard/pathing-textures.d.ts +6 -0
  393. package/engine/standard/pathing-textures.lua +7 -0
  394. package/engine/text-tag.d.ts +25 -0
  395. package/engine/text-tag.lua +109 -0
  396. package/engine/unit.d.ts +20 -0
  397. package/engine/unit.lua +31 -0
  398. package/event.d.ts +53 -0
  399. package/event.lua +269 -0
  400. package/exception.d.ts +19 -0
  401. package/exception.lua +57 -0
  402. package/file.d.ts +4 -0
  403. package/file.lua +42 -0
  404. package/global/math.d.ts +21 -0
  405. package/global/math.lua +72 -0
  406. package/global/vec2.d.ts +66 -0
  407. package/global/vec2.lua +159 -0
  408. package/index.d.ts +8 -0
  409. package/index.lua +9 -0
  410. package/lualib_bundle.lua +2629 -0
  411. package/math/vec2.d.ts +18 -0
  412. package/math/vec2.lua +42 -0
  413. package/math.d.ts +39 -0
  414. package/math.lua +91 -0
  415. package/net/signal.d.ts +11 -0
  416. package/net/signal.lua +56 -0
  417. package/net/socket.d.ts +9 -0
  418. package/net/socket.lua +26 -0
  419. package/network.d.ts +31 -0
  420. package/network.lua +194 -0
  421. package/objutil/ability.d.ts +710 -0
  422. package/objutil/ability.lua +3781 -0
  423. package/objutil/buff.d.ts +110 -0
  424. package/objutil/buff.lua +769 -0
  425. package/objutil/dummy.d.ts +2 -0
  426. package/objutil/dummy.lua +49 -0
  427. package/objutil/idgen.d.ts +9 -0
  428. package/objutil/idgen.lua +92 -0
  429. package/objutil/item.d.ts +38 -0
  430. package/objutil/item.lua +254 -0
  431. package/objutil/object.d.ts +43 -0
  432. package/objutil/object.lua +213 -0
  433. package/objutil/unit.d.ts +134 -0
  434. package/objutil/unit.lua +913 -0
  435. package/objutil/upgrade.d.ts +22 -0
  436. package/objutil/upgrade.lua +127 -0
  437. package/operation.d.ts +35 -0
  438. package/operation.lua +179 -0
  439. package/package.json +47 -0
  440. package/patch-lualib.d.ts +2 -0
  441. package/patch-lualib.lua +67 -0
  442. package/patch-natives.d.ts +11 -0
  443. package/patch-natives.lua +14 -0
  444. package/string.d.ts +106 -0
  445. package/string.lua +34 -0
  446. package/time/dayOfWeek.d.ts +97 -0
  447. package/time/dayOfWeek.lua +53 -0
  448. package/time/localDate.d.ts +145 -0
  449. package/time/localDate.lua +236 -0
  450. package/time/localDateTime.d.ts +133 -0
  451. package/time/localDateTime.lua +154 -0
  452. package/time/localTime.d.ts +87 -0
  453. package/time/localTime.lua +91 -0
  454. package/time/month.d.ts +146 -0
  455. package/time/month.lua +129 -0
  456. package/time/year.d.ts +117 -0
  457. package/time/year.lua +81 -0
  458. package/types.d.ts +13 -0
  459. package/types.lua +0 -0
  460. package/util/objectPool.d.ts +6 -0
  461. package/util/objectPool.lua +28 -0
  462. package/util/stream.d.ts +29 -0
  463. package/util/stream.lua +453 -0
  464. package/util/stringBuilder.d.ts +8 -0
  465. package/util/stringBuilder.lua +25 -0
  466. package/utility/arrays.d.ts +57 -0
  467. package/utility/arrays.lua +372 -0
  468. package/utility/base64.d.ts +23 -0
  469. package/utility/base64.lua +177 -0
  470. package/utility/bit-set.d.ts +18 -0
  471. package/utility/bit-set.lua +12 -0
  472. package/utility/functions.d.ts +5 -0
  473. package/utility/functions.lua +90 -0
  474. package/utility/json.d.ts +2 -0
  475. package/utility/json.lua +400 -0
  476. package/utility/linked-set.d.ts +50 -0
  477. package/utility/linked-set.lua +197 -0
  478. package/utility/lua-maps.d.ts +6 -0
  479. package/utility/lua-maps.lua +25 -0
  480. package/utility/lua-sets.d.ts +6 -0
  481. package/utility/lua-sets.lua +37 -0
  482. package/utility/lzw.d.ts +2 -0
  483. package/utility/lzw.lua +161 -0
  484. package/utility/observable-array.d.ts +17 -0
  485. package/utility/observable-array.lua +30 -0
  486. package/utility/preconditions.d.ts +23 -0
  487. package/utility/preconditions.lua +58 -0
  488. package/utility/records.d.ts +3 -0
  489. package/utility/records.lua +9 -0
  490. package/utility/reflection.d.ts +4 -0
  491. package/utility/reflection.lua +31 -0
  492. package/utility/strings.d.ts +2 -0
  493. package/utility/strings.lua +44 -0
  494. package/utility/types.d.ts +39 -0
  495. package/utility/types.lua +2 -0
@@ -0,0 +1,35 @@
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.HealSelfAbilityBehavior = __TS__Class()
8
+ local HealSelfAbilityBehavior = ____exports.HealSelfAbilityBehavior
9
+ HealSelfAbilityBehavior.name = "HealSelfAbilityBehavior"
10
+ __TS__ClassExtends(HealSelfAbilityBehavior, AbilityBehavior)
11
+ function HealSelfAbilityBehavior.prototype.____constructor(self, ability, healing)
12
+ AbilityBehavior.prototype.____constructor(self, ability)
13
+ self.healing = healing
14
+ end
15
+ function HealSelfAbilityBehavior.prototype.onImpact(self, caster)
16
+ caster:healTarget(
17
+ caster,
18
+ self:resolveCurrentAbilityDependentValue(self.healing)
19
+ )
20
+ end
21
+ ____exports.HealTargetAbilityBehavior = __TS__Class()
22
+ local HealTargetAbilityBehavior = ____exports.HealTargetAbilityBehavior
23
+ HealTargetAbilityBehavior.name = "HealTargetAbilityBehavior"
24
+ __TS__ClassExtends(HealTargetAbilityBehavior, AbilityBehavior)
25
+ function HealTargetAbilityBehavior.prototype.____constructor(self, ability, healing)
26
+ AbilityBehavior.prototype.____constructor(self, ability)
27
+ self.healing = healing
28
+ end
29
+ function HealTargetAbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
30
+ caster:healTarget(
31
+ target,
32
+ self:resolveCurrentAbilityDependentValue(self.healing)
33
+ )
34
+ end
35
+ 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,25 @@
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 manaCost = self:resolveCurrentAbilityDependentValue(MANA_COST_ABILITY_INTEGER_LEVEL_FIELD)
16
+ local cooldown = self:resolveCurrentAbilityDependentValue(COOLDOWN_ABILITY_FLOAT_LEVEL_FIELD)
17
+ caster.mana = caster.mana - manaCost
18
+ if cooldown == 0 then
19
+ caster:interruptCast(self.ability.typeId)
20
+ else
21
+ caster:startAbilityCooldown(self.ability.typeId, cooldown)
22
+ end
23
+ AbilityBehavior:forAll(self.ability, "onImpact", caster)
24
+ end
25
+ return ____exports
@@ -0,0 +1,40 @@
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<PeriodicActionParameters extends any[] = any[]> extends Behavior<Ability, PeriodicActionParameters> {
13
+ constructor(ability: Ability);
14
+ get ability(): Ability;
15
+ protected resolveCurrentAbilityDependentValue<T extends boolean | number | string>(value: AbilityDependentValue<T>): T;
16
+ protected flashAreaEffect(x: number, y: number, ...parametersOrDuration: [parameters?: EffectParameters] | [duration?: number, parameters?: EffectParameters]): void;
17
+ protected flashEffect(x: number, y: number, ...parametersOrDuration: [parameters?: EffectParameters] | [duration?: number, parameters?: EffectParameters]): void;
18
+ protected flashSpecialEffect(...args: [...pointOrWidget: [x: number, y: number] | [widget: Widget], duration?: number]): void;
19
+ onUnitGainAbility(_unit: Unit): void;
20
+ onUnitLoseAbility(_unit: Unit): void;
21
+ onCastingStart(caster: Unit): void;
22
+ onCastingFinish(caster: Unit): void;
23
+ onChannelingStart(caster: Unit): void;
24
+ onWidgetTargetChannelingStart(caster: Unit, target: Widget): void;
25
+ onUnitTargetChannelingStart(caster: Unit, target: Unit): void;
26
+ onItemTargetChannelingStart(caster: Unit, target: Item): void;
27
+ onDestructibleTargetChannelingStart(caster: Unit, target: Destructable): void;
28
+ onPointTargetChannelingStart(caster: Unit, x: number, y: number): void;
29
+ onNoTargetChannelingStart(caster: Unit): void;
30
+ onImpact(caster: Unit): void;
31
+ onWidgetTargetImpact(caster: Unit, target: Widget): void;
32
+ onUnitTargetImpact(caster: Unit, target: Unit): void;
33
+ onItemTargetImpact(caster: Unit, target: Item): void;
34
+ onDestructibleTargetImpact(caster: Unit, target: Destructable): void;
35
+ onPointTargetImpact(caster: Unit, x: number, y: number): void;
36
+ onNoTargetImpact(caster: Unit): void;
37
+ onChannelingFinish(caster: Unit): void;
38
+ onStop(caster: Unit): void;
39
+ static bindAbilityType<Args extends any[]>(this: AbilityBehaviorConstructor<Args>, abilityTypeId: AbilityTypeId, ...args: Args): void;
40
+ }
@@ -0,0 +1,175 @@
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 SPECIAL_EFFECT_ATTACHMENT_POINT_STRING_FIELD = ____ability.SPECIAL_EFFECT_ATTACHMENT_POINT_STRING_FIELD
19
+ local SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
20
+ local ____ability = require("engine.object-field.ability")
21
+ local resolveCurrentAbilityDependentValue = ____ability.resolveCurrentAbilityDependentValue
22
+ local ____timer = require("core.types.timer")
23
+ local Timer = ____timer.Timer
24
+ local createBehaviorFunctionsByAbilityTypeId = {}
25
+ ____exports.AbilityBehavior = __TS__Class()
26
+ local AbilityBehavior = ____exports.AbilityBehavior
27
+ AbilityBehavior.name = "AbilityBehavior"
28
+ __TS__ClassExtends(AbilityBehavior, Behavior)
29
+ function AbilityBehavior.prototype.____constructor(self, ability)
30
+ Behavior.prototype.____constructor(self, ability)
31
+ end
32
+ function AbilityBehavior.prototype.resolveCurrentAbilityDependentValue(self, value)
33
+ return resolveCurrentAbilityDependentValue(self.ability, value)
34
+ end
35
+ function AbilityBehavior.prototype.flashAreaEffect(self, x, y, ...)
36
+ Effect:flash(
37
+ AREA_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
38
+ x,
39
+ y,
40
+ ...
41
+ )
42
+ end
43
+ function AbilityBehavior.prototype.flashEffect(self, x, y, ...)
44
+ Effect:flash(
45
+ EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
46
+ x,
47
+ y,
48
+ ...
49
+ )
50
+ end
51
+ function AbilityBehavior.prototype.flashSpecialEffect(self, xOrWidget, yOrDuration, duration)
52
+ if type(xOrWidget) == "number" then
53
+ Effect:flash(
54
+ SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
55
+ xOrWidget,
56
+ yOrDuration,
57
+ duration
58
+ )
59
+ else
60
+ Effect:flash(
61
+ SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
62
+ xOrWidget,
63
+ SPECIAL_EFFECT_ATTACHMENT_POINT_STRING_FIELD:getValue(self.ability),
64
+ yOrDuration
65
+ )
66
+ end
67
+ end
68
+ function AbilityBehavior.prototype.onUnitGainAbility(self, _unit)
69
+ end
70
+ function AbilityBehavior.prototype.onUnitLoseAbility(self, _unit)
71
+ end
72
+ function AbilityBehavior.prototype.onCastingStart(self, caster)
73
+ end
74
+ function AbilityBehavior.prototype.onCastingFinish(self, caster)
75
+ end
76
+ function AbilityBehavior.prototype.onChannelingStart(self, caster)
77
+ end
78
+ function AbilityBehavior.prototype.onWidgetTargetChannelingStart(self, caster, target)
79
+ end
80
+ function AbilityBehavior.prototype.onUnitTargetChannelingStart(self, caster, target)
81
+ end
82
+ function AbilityBehavior.prototype.onItemTargetChannelingStart(self, caster, target)
83
+ end
84
+ function AbilityBehavior.prototype.onDestructibleTargetChannelingStart(self, caster, target)
85
+ end
86
+ function AbilityBehavior.prototype.onPointTargetChannelingStart(self, caster, x, y)
87
+ end
88
+ function AbilityBehavior.prototype.onNoTargetChannelingStart(self, caster)
89
+ end
90
+ function AbilityBehavior.prototype.onImpact(self, caster)
91
+ end
92
+ function AbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
93
+ end
94
+ function AbilityBehavior.prototype.onUnitTargetImpact(self, caster, target)
95
+ end
96
+ function AbilityBehavior.prototype.onItemTargetImpact(self, caster, target)
97
+ end
98
+ function AbilityBehavior.prototype.onDestructibleTargetImpact(self, caster, target)
99
+ end
100
+ function AbilityBehavior.prototype.onPointTargetImpact(self, caster, x, y)
101
+ end
102
+ function AbilityBehavior.prototype.onNoTargetImpact(self, caster)
103
+ end
104
+ function AbilityBehavior.prototype.onChannelingFinish(self, caster)
105
+ end
106
+ function AbilityBehavior.prototype.onStop(self, caster)
107
+ end
108
+ function AbilityBehavior.bindAbilityType(self, abilityTypeId, ...)
109
+ local args = {...}
110
+ local createBehaviorFunctions = createBehaviorFunctionsByAbilityTypeId[abilityTypeId]
111
+ if createBehaviorFunctions == nil then
112
+ createBehaviorFunctions = {}
113
+ createBehaviorFunctionsByAbilityTypeId[abilityTypeId] = createBehaviorFunctions
114
+ end
115
+ createBehaviorFunctions[#createBehaviorFunctions + 1] = function(ability)
116
+ return __TS__New(
117
+ self,
118
+ ability,
119
+ table.unpack(args)
120
+ )
121
+ end
122
+ end
123
+ __TS__SetDescriptor(
124
+ AbilityBehavior.prototype,
125
+ "ability",
126
+ {get = function(self)
127
+ return self.object
128
+ end},
129
+ true
130
+ );
131
+ (function(self)
132
+ local function createUnitEventListener(key)
133
+ return function(unit, ability, ...)
134
+ ____exports.AbilityBehavior:forAll(ability, key, unit, ...)
135
+ end
136
+ end
137
+ local function createZeroTimerUnitEventListener(key)
138
+ local unitEventListener = createUnitEventListener(key)
139
+ return function(unit, ability, ...)
140
+ Timer:run(unitEventListener, unit, ability, ...)
141
+ end
142
+ end
143
+ Unit.abilityGainedEvent:addListener(createUnitEventListener("onUnitGainAbility"))
144
+ Unit.abilityLostEvent:addListener(createUnitEventListener("onUnitLoseAbility"))
145
+ Unit.abilityCastingStartEvent:addListener(createUnitEventListener("onCastingStart"))
146
+ Unit.abilityCastingFinishEvent:addListener(createUnitEventListener("onCastingFinish"))
147
+ Unit.abilityChannelingStartEvent:addListener(createUnitEventListener("onChannelingStart"))
148
+ Unit.abilityWidgetTargetChannelingStartEvent:addListener(createUnitEventListener("onWidgetTargetChannelingStart"))
149
+ Unit.abilityUnitTargetChannelingStartEvent:addListener(createUnitEventListener("onUnitTargetChannelingStart"))
150
+ Unit.abilityItemTargetChannelingStartEvent:addListener(createUnitEventListener("onItemTargetChannelingStart"))
151
+ Unit.abilityDestructibleTargetChannelingStartEvent:addListener(createUnitEventListener("onDestructibleTargetChannelingStart"))
152
+ Unit.abilityPointTargetChannelingStartEvent:addListener(createUnitEventListener("onPointTargetChannelingStart"))
153
+ Unit.abilityNoTargetChannelingStartEvent:addListener(createUnitEventListener("onNoTargetChannelingStart"))
154
+ Unit.abilityChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onImpact"))
155
+ Unit.abilityWidgetTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onWidgetTargetImpact"))
156
+ Unit.abilityUnitTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onUnitTargetImpact"))
157
+ Unit.abilityItemTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onItemTargetImpact"))
158
+ Unit.abilityDestructibleTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onDestructibleTargetImpact"))
159
+ Unit.abilityPointTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onPointTargetImpact"))
160
+ Unit.abilityNoTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onNoTargetImpact"))
161
+ Unit.abilityChannelingFinishEvent:addListener(createUnitEventListener("onChannelingFinish"))
162
+ Unit.abilityStopEvent:addListener(createUnitEventListener("onStop"))
163
+ end)(AbilityBehavior)
164
+ Ability.onCreate:addListener(function(ability)
165
+ local createBehaviorFunctions = createBehaviorFunctionsByAbilityTypeId[ability.typeId]
166
+ if createBehaviorFunctions ~= nil then
167
+ for ____, createBehavior in ipairs(createBehaviorFunctions) do
168
+ createBehavior(ability)
169
+ end
170
+ end
171
+ end)
172
+ Ability.destroyEvent:addListener(function(ability)
173
+ ____exports.AbilityBehavior:forAll(ability, "destroy")
174
+ end)
175
+ return ____exports
@@ -0,0 +1,19 @@
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
+ /** @noSelfInFile */
3
+ import { UnitBehavior } from "../unit";
4
+ import { Unit } from "../../unit";
5
+ import { BuffTypeId } from "../../object-data/entry/buff-type";
6
+ import { TextTagPreset } from "../../text-tag";
7
+ import { Destructor } from "../../../destroyable";
8
+ export type StunImmunityUnitBehaviourParameters = {
9
+ buffTypeIds?: LuaSet<BuffTypeId>;
10
+ textTagPreset?: TextTagPreset;
11
+ textTagText?: string;
12
+ };
13
+ export declare class StunImmunityUnitBehavior extends UnitBehavior {
14
+ private readonly parameters;
15
+ static defaultParameters: StunImmunityUnitBehaviourParameters;
16
+ constructor(unit: Unit, parameters?: StunImmunityUnitBehaviourParameters);
17
+ protected onDestroy(): Destructor;
18
+ private onBuffsCheck;
19
+ }
@@ -0,0 +1,67 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__ArrayFlat = ____lualib.__TS__ArrayFlat
3
+ local __TS__Class = ____lualib.__TS__Class
4
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
5
+ local ____exports = {}
6
+ local ____unit = require("engine.behaviour.unit")
7
+ local UnitBehavior = ____unit.UnitBehavior
8
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
9
+ local AbilityType = ____ability_2Dtype.AbilityType
10
+ local ____arrays = require("utility.arrays")
11
+ local flatMapToLuaSet = ____arrays.flatMapToLuaSet
12
+ local map = ____arrays.map
13
+ local ____text_2Dtag = require("engine.text-tag")
14
+ local TextTag = ____text_2Dtag.TextTag
15
+ local DEFAULT_BUFF_TYPE_IDS = postcompile(function()
16
+ return flatMapToLuaSet(
17
+ AbilityType:getAllByBaseIds(map({
18
+ "Aslo",
19
+ "AHtc",
20
+ "Aens",
21
+ "Aprg",
22
+ "Apg2",
23
+ "AOeq",
24
+ "SNeq",
25
+ "Aweb",
26
+ "Afra",
27
+ "Afrb",
28
+ "Afrc",
29
+ "Afr2",
30
+ "Acri",
31
+ "Scri",
32
+ "AUfn",
33
+ "Aspo",
34
+ "AEer",
35
+ "ACwb"
36
+ }, fourCC)),
37
+ function(abilityType) return __TS__ArrayFlat(abilityType.buffTypeIds) end
38
+ )
39
+ end)
40
+ ____exports.StunImmunityUnitBehavior = __TS__Class()
41
+ local StunImmunityUnitBehavior = ____exports.StunImmunityUnitBehavior
42
+ StunImmunityUnitBehavior.name = "StunImmunityUnitBehavior"
43
+ __TS__ClassExtends(StunImmunityUnitBehavior, UnitBehavior)
44
+ function StunImmunityUnitBehavior.prototype.____constructor(self, unit, parameters)
45
+ if parameters == nil then
46
+ parameters = ____exports.StunImmunityUnitBehavior.defaultParameters
47
+ end
48
+ UnitBehavior.prototype.____constructor(self, unit)
49
+ self.parameters = parameters
50
+ unit:decrementStunCounter()
51
+ self:onBuffsCheck()
52
+ end
53
+ function StunImmunityUnitBehavior.prototype.onDestroy(self)
54
+ self.unit:incrementStunCounter()
55
+ return UnitBehavior.prototype.onDestroy(self)
56
+ end
57
+ function StunImmunityUnitBehavior.prototype.onBuffsCheck(self)
58
+ local hasRemovedBuffs = false
59
+ for buffTypeId in pairs(self.parameters.buffTypeIds or DEFAULT_BUFF_TYPE_IDS) do
60
+ hasRemovedBuffs = hasRemovedBuffs or self.unit:removeBuff(buffTypeId)
61
+ end
62
+ if hasRemovedBuffs and self.parameters.textTagText ~= nil then
63
+ TextTag:flash(TextTag.MISS, self.parameters.textTagText, self.unit.x, self.unit.y)
64
+ end
65
+ end
66
+ StunImmunityUnitBehavior.defaultParameters = {buffTypeIds = DEFAULT_BUFF_TYPE_IDS, textTagPreset = TextTag.MISS, textTagText = nil}
67
+ return ____exports
@@ -0,0 +1,20 @@
1
+ /** @noSelfInFile */
2
+ import { Behavior } from "../behavior";
3
+ import { Ability } from "../internal/ability";
4
+ import { DamageEvent, DamagingEvent, Unit } from "../internal/unit";
5
+ import "../internal/unit-missile-launch";
6
+ export type UnitBehaviorConstructor<Args extends any[]> = new (unit: Unit, ...args: Args) => UnitBehavior;
7
+ export declare abstract class UnitBehavior<PeriodicActionParameters extends any[] = any[]> extends Behavior<Unit, PeriodicActionParameters> {
8
+ constructor(unit: Unit);
9
+ get unit(): Unit;
10
+ onAutoAttackStart(target: Unit): void;
11
+ onAutoAttackFinish(target: Unit): void;
12
+ onDamageDealing(target: Unit, event: DamagingEvent): void;
13
+ onDamageDealt(target: Unit, event: DamageEvent): void;
14
+ onDamageReceiving(source: Unit | undefined, event: DamagingEvent): void;
15
+ onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
16
+ protected onAbilityGained(ability: Ability): void;
17
+ protected onAbilityLost(ability: Ability): void;
18
+ onKill(target: Unit): void;
19
+ onDeath(source: Unit | undefined): void;
20
+ }
@@ -0,0 +1,75 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____behavior = require("engine.behavior")
7
+ local Behavior = ____behavior.Behavior
8
+ local ____unit = require("engine.internal.unit")
9
+ local Unit = ____unit.Unit
10
+ require("engine.internal.unit-missile-launch")
11
+ ____exports.UnitBehavior = __TS__Class()
12
+ local UnitBehavior = ____exports.UnitBehavior
13
+ UnitBehavior.name = "UnitBehavior"
14
+ __TS__ClassExtends(UnitBehavior, Behavior)
15
+ function UnitBehavior.prototype.____constructor(self, unit)
16
+ Behavior.prototype.____constructor(self, unit)
17
+ end
18
+ function UnitBehavior.prototype.onAutoAttackStart(self, target)
19
+ end
20
+ function UnitBehavior.prototype.onAutoAttackFinish(self, target)
21
+ end
22
+ function UnitBehavior.prototype.onDamageDealing(self, target, event)
23
+ end
24
+ function UnitBehavior.prototype.onDamageDealt(self, target, event)
25
+ end
26
+ function UnitBehavior.prototype.onDamageReceiving(self, source, event)
27
+ end
28
+ function UnitBehavior.prototype.onDamageReceived(self, source, event)
29
+ end
30
+ function UnitBehavior.prototype.onAbilityGained(self, ability)
31
+ end
32
+ function UnitBehavior.prototype.onAbilityLost(self, ability)
33
+ end
34
+ function UnitBehavior.prototype.onKill(self, target)
35
+ end
36
+ function UnitBehavior.prototype.onDeath(self, source)
37
+ end
38
+ __TS__SetDescriptor(
39
+ UnitBehavior.prototype,
40
+ "unit",
41
+ {get = function(self)
42
+ return self.object
43
+ end},
44
+ true
45
+ );
46
+ (function(self)
47
+ Unit.autoAttackStartEvent:addListener(function(source, target)
48
+ ____exports.UnitBehavior:forAll(source, "onAutoAttackStart", target)
49
+ end)
50
+ Unit.autoAttackFinishEvent:addListener(function(source, target)
51
+ ____exports.UnitBehavior:forAll(source, "onAutoAttackFinish", target)
52
+ end)
53
+ Unit.onDamaging:addListener(function(source, target, event)
54
+ if source ~= nil then
55
+ ____exports.UnitBehavior:forAll(source, "onDamageDealing", target, event)
56
+ end
57
+ ____exports.UnitBehavior:forAll(target, "onDamageReceiving", source, event)
58
+ end)
59
+ Unit.onDamage:addListener(function(source, target, event)
60
+ if source ~= nil then
61
+ ____exports.UnitBehavior:forAll(source, "onDamageDealt", target, event)
62
+ end
63
+ ____exports.UnitBehavior:forAll(target, "onDamageReceived", source, event)
64
+ end)
65
+ Unit.deathEvent:addListener(function(target, source)
66
+ if source ~= nil then
67
+ ____exports.UnitBehavior:forAll(source, "onKill", target)
68
+ end
69
+ ____exports.UnitBehavior:forAll(target, "onDeath", source)
70
+ end)
71
+ end)(UnitBehavior)
72
+ Unit.destroyEvent:addListener(function(unit)
73
+ ____exports.UnitBehavior:forAll(unit, "destroy")
74
+ end)
75
+ return ____exports