warscript 0.0.1-dev.404878c

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 (493) 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 +12 -0
  91. package/engine/behaviour/ability/apply-unit-behavior.lua +36 -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/blizzard.d.ts +16 -0
  245. package/engine/object-data/entry/ability-type/blizzard.lua +78 -0
  246. package/engine/object-data/entry/ability-type/blood-lust.d.ts +12 -0
  247. package/engine/object-data/entry/ability-type/blood-lust.lua +52 -0
  248. package/engine/object-data/entry/ability-type/chain-lightning.d.ts +12 -0
  249. package/engine/object-data/entry/ability-type/chain-lightning.lua +52 -0
  250. package/engine/object-data/entry/ability-type/channel.d.ts +48 -0
  251. package/engine/object-data/entry/ability-type/channel.lua +140 -0
  252. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.d.ts +14 -0
  253. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.lua +65 -0
  254. package/engine/object-data/entry/ability-type/cleaving-attack.d.ts +8 -0
  255. package/engine/object-data/entry/ability-type/cleaving-attack.lua +26 -0
  256. package/engine/object-data/entry/ability-type/cluster-rockets.d.ts +18 -0
  257. package/engine/object-data/entry/ability-type/cluster-rockets.lua +91 -0
  258. package/engine/object-data/entry/ability-type/cripple.d.ts +12 -0
  259. package/engine/object-data/entry/ability-type/cripple.lua +52 -0
  260. package/engine/object-data/entry/ability-type/critical-strike.d.ts +18 -0
  261. package/engine/object-data/entry/ability-type/critical-strike.lua +91 -0
  262. package/engine/object-data/entry/ability-type/curse.d.ts +8 -0
  263. package/engine/object-data/entry/ability-type/curse.lua +26 -0
  264. package/engine/object-data/entry/ability-type/dark-summoning.d.ts +10 -0
  265. package/engine/object-data/entry/ability-type/dark-summoning.lua +39 -0
  266. package/engine/object-data/entry/ability-type/death-coil.d.ts +8 -0
  267. package/engine/object-data/entry/ability-type/death-coil.lua +26 -0
  268. package/engine/object-data/entry/ability-type/disease-cloud.d.ts +15 -0
  269. package/engine/object-data/entry/ability-type/disease-cloud.lua +65 -0
  270. package/engine/object-data/entry/ability-type/divine-shield.d.ts +5 -0
  271. package/engine/object-data/entry/ability-type/divine-shield.lua +12 -0
  272. package/engine/object-data/entry/ability-type/endurance-aura.d.ts +10 -0
  273. package/engine/object-data/entry/ability-type/endurance-aura.lua +39 -0
  274. package/engine/object-data/entry/ability-type/engineering-upgrade.d.ts +13 -0
  275. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +88 -0
  276. package/engine/object-data/entry/ability-type/evasion.d.ts +8 -0
  277. package/engine/object-data/entry/ability-type/evasion.lua +26 -0
  278. package/engine/object-data/entry/ability-type/faerie-fire.d.ts +10 -0
  279. package/engine/object-data/entry/ability-type/faerie-fire.lua +39 -0
  280. package/engine/object-data/entry/ability-type/far-sight.d.ts +9 -0
  281. package/engine/object-data/entry/ability-type/far-sight.lua +26 -0
  282. package/engine/object-data/entry/ability-type/feral-spirit.d.ts +11 -0
  283. package/engine/object-data/entry/ability-type/feral-spirit.lua +39 -0
  284. package/engine/object-data/entry/ability-type/frenzy.d.ts +12 -0
  285. package/engine/object-data/entry/ability-type/frenzy.lua +52 -0
  286. package/engine/object-data/entry/ability-type/frost-nova.d.ts +12 -0
  287. package/engine/object-data/entry/ability-type/frost-nova.lua +52 -0
  288. package/engine/object-data/entry/ability-type/ghost-visible.d.ts +10 -0
  289. package/engine/object-data/entry/ability-type/ghost-visible.lua +39 -0
  290. package/engine/object-data/entry/ability-type/gold-mine.d.ts +12 -0
  291. package/engine/object-data/entry/ability-type/gold-mine.lua +52 -0
  292. package/engine/object-data/entry/ability-type/heal.d.ts +8 -0
  293. package/engine/object-data/entry/ability-type/heal.lua +26 -0
  294. package/engine/object-data/entry/ability-type/healing-salve.d.ts +22 -0
  295. package/engine/object-data/entry/ability-type/healing-salve.lua +78 -0
  296. package/engine/object-data/entry/ability-type/healing-spray.d.ts +18 -0
  297. package/engine/object-data/entry/ability-type/healing-spray.lua +91 -0
  298. package/engine/object-data/entry/ability-type/healing-wave.d.ts +12 -0
  299. package/engine/object-data/entry/ability-type/healing-wave.lua +52 -0
  300. package/engine/object-data/entry/ability-type/holy-light.d.ts +8 -0
  301. package/engine/object-data/entry/ability-type/holy-light.lua +26 -0
  302. package/engine/object-data/entry/ability-type/incinerate.d.ts +18 -0
  303. package/engine/object-data/entry/ability-type/incinerate.lua +91 -0
  304. package/engine/object-data/entry/ability-type/inner-fire.d.ts +14 -0
  305. package/engine/object-data/entry/ability-type/inner-fire.lua +65 -0
  306. package/engine/object-data/entry/ability-type/inventory.d.ts +16 -0
  307. package/engine/object-data/entry/ability-type/inventory.lua +78 -0
  308. package/engine/object-data/entry/ability-type/invulnerable.d.ts +5 -0
  309. package/engine/object-data/entry/ability-type/invulnerable.lua +12 -0
  310. package/engine/object-data/entry/ability-type/lightning-shield.d.ts +8 -0
  311. package/engine/object-data/entry/ability-type/lightning-shield.lua +26 -0
  312. package/engine/object-data/entry/ability-type/movement-speed-increase.d.ts +8 -0
  313. package/engine/object-data/entry/ability-type/movement-speed-increase.lua +26 -0
  314. package/engine/object-data/entry/ability-type/permanent-immolation.d.ts +8 -0
  315. package/engine/object-data/entry/ability-type/permanent-immolation.lua +26 -0
  316. package/engine/object-data/entry/ability-type/phoenix-morph.d.ts +25 -0
  317. package/engine/object-data/entry/ability-type/phoenix-morph.lua +130 -0
  318. package/engine/object-data/entry/ability-type/recall.d.ts +10 -0
  319. package/engine/object-data/entry/ability-type/recall.lua +39 -0
  320. package/engine/object-data/entry/ability-type/rejuvenation.d.ts +20 -0
  321. package/engine/object-data/entry/ability-type/rejuvenation.lua +65 -0
  322. package/engine/object-data/entry/ability-type/searing-arrows.d.ts +8 -0
  323. package/engine/object-data/entry/ability-type/searing-arrows.lua +26 -0
  324. package/engine/object-data/entry/ability-type/shock-wave.d.ts +10 -0
  325. package/engine/object-data/entry/ability-type/shock-wave.lua +39 -0
  326. package/engine/object-data/entry/ability-type/slow-poison.d.ts +12 -0
  327. package/engine/object-data/entry/ability-type/slow-poison.lua +52 -0
  328. package/engine/object-data/entry/ability-type/slow.d.ts +12 -0
  329. package/engine/object-data/entry/ability-type/slow.lua +52 -0
  330. package/engine/object-data/entry/ability-type/spell-damage-reduction.d.ts +10 -0
  331. package/engine/object-data/entry/ability-type/spell-damage-reduction.lua +39 -0
  332. package/engine/object-data/entry/ability-type/spiked-carapace.d.ts +12 -0
  333. package/engine/object-data/entry/ability-type/spiked-carapace.lua +52 -0
  334. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +14 -0
  335. package/engine/object-data/entry/ability-type/spirit-touch.lua +65 -0
  336. package/engine/object-data/entry/ability-type/storm-bolt.d.ts +8 -0
  337. package/engine/object-data/entry/ability-type/storm-bolt.lua +26 -0
  338. package/engine/object-data/entry/ability-type/summon-quilbeast.d.ts +11 -0
  339. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +39 -0
  340. package/engine/object-data/entry/ability-type/summon-water-elemental.d.ts +11 -0
  341. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +39 -0
  342. package/engine/object-data/entry/ability-type.d.ts +148 -0
  343. package/engine/object-data/entry/ability-type.lua +1058 -0
  344. package/engine/object-data/entry/buff-type/applicable.d.ts +16 -0
  345. package/engine/object-data/entry/buff-type/applicable.lua +377 -0
  346. package/engine/object-data/entry/buff-type/blank.d.ts +8 -0
  347. package/engine/object-data/entry/buff-type/blank.lua +17 -0
  348. package/engine/object-data/entry/buff-type.d.ts +64 -0
  349. package/engine/object-data/entry/buff-type.lua +316 -0
  350. package/engine/object-data/entry/destructible-type.d.ts +21 -0
  351. package/engine/object-data/entry/destructible-type.lua +83 -0
  352. package/engine/object-data/entry/item-type/blank.d.ts +8 -0
  353. package/engine/object-data/entry/item-type/blank.lua +21 -0
  354. package/engine/object-data/entry/item-type.d.ts +49 -0
  355. package/engine/object-data/entry/item-type.lua +259 -0
  356. package/engine/object-data/entry/lightning-type.d.ts +37 -0
  357. package/engine/object-data/entry/lightning-type.lua +191 -0
  358. package/engine/object-data/entry/unit-type/blank.d.ts +6 -0
  359. package/engine/object-data/entry/unit-type/blank.lua +13 -0
  360. package/engine/object-data/entry/unit-type.d.ts +218 -0
  361. package/engine/object-data/entry/unit-type.lua +1306 -0
  362. package/engine/object-data/entry/upgrade/blank.d.ts +8 -0
  363. package/engine/object-data/entry/upgrade/blank.lua +22 -0
  364. package/engine/object-data/entry/upgrade.d.ts +59 -0
  365. package/engine/object-data/entry/upgrade.lua +238 -0
  366. package/engine/object-data/entry.d.ts +80 -0
  367. package/engine/object-data/entry.lua +634 -0
  368. package/engine/object-data/utility/object-data-entry-id-generator.d.ts +6 -0
  369. package/engine/object-data/utility/object-data-entry-id-generator.lua +63 -0
  370. package/engine/object-data/utility/order-type-string-id-factory.d.ts +9 -0
  371. package/engine/object-data/utility/order-type-string-id-factory.lua +368 -0
  372. package/engine/object-field/ability.d.ts +115 -0
  373. package/engine/object-field/ability.lua +471 -0
  374. package/engine/object-field/unit.d.ts +15 -0
  375. package/engine/object-field/unit.lua +49 -0
  376. package/engine/object-field.d.ts +84 -0
  377. package/engine/object-field.lua +444 -0
  378. package/engine/random.d.ts +10 -0
  379. package/engine/random.lua +9 -0
  380. package/engine/standard/entries/ability-type.d.ts +8 -0
  381. package/engine/standard/entries/ability-type.lua +8 -0
  382. package/engine/standard/entries/lightning-type.d.ts +16 -0
  383. package/engine/standard/entries/lightning-type.lua +16 -0
  384. package/engine/standard/entries/unit-type.d.ts +63 -0
  385. package/engine/standard/entries/unit-type.lua +63 -0
  386. package/engine/standard/entries/upgrade.d.ts +92 -0
  387. package/engine/standard/entries/upgrade.lua +92 -0
  388. package/engine/standard/fields/ability.d.ts +737 -0
  389. package/engine/standard/fields/ability.lua +749 -0
  390. package/engine/standard/pathing-textures.d.ts +6 -0
  391. package/engine/standard/pathing-textures.lua +7 -0
  392. package/engine/text-tag.d.ts +25 -0
  393. package/engine/text-tag.lua +109 -0
  394. package/engine/unit.d.ts +20 -0
  395. package/engine/unit.lua +31 -0
  396. package/event.d.ts +53 -0
  397. package/event.lua +269 -0
  398. package/exception.d.ts +17 -0
  399. package/exception.lua +53 -0
  400. package/file.d.ts +4 -0
  401. package/file.lua +42 -0
  402. package/global/math.d.ts +21 -0
  403. package/global/math.lua +72 -0
  404. package/global/vec2.d.ts +66 -0
  405. package/global/vec2.lua +159 -0
  406. package/index.d.ts +8 -0
  407. package/index.lua +9 -0
  408. package/lualib_bundle.lua +2629 -0
  409. package/math/vec2.d.ts +18 -0
  410. package/math/vec2.lua +42 -0
  411. package/math.d.ts +39 -0
  412. package/math.lua +91 -0
  413. package/net/signal.d.ts +11 -0
  414. package/net/signal.lua +56 -0
  415. package/net/socket.d.ts +9 -0
  416. package/net/socket.lua +26 -0
  417. package/network.d.ts +31 -0
  418. package/network.lua +194 -0
  419. package/objutil/ability.d.ts +710 -0
  420. package/objutil/ability.lua +3781 -0
  421. package/objutil/buff.d.ts +110 -0
  422. package/objutil/buff.lua +769 -0
  423. package/objutil/dummy.d.ts +2 -0
  424. package/objutil/dummy.lua +49 -0
  425. package/objutil/idgen.d.ts +9 -0
  426. package/objutil/idgen.lua +92 -0
  427. package/objutil/item.d.ts +38 -0
  428. package/objutil/item.lua +254 -0
  429. package/objutil/object.d.ts +43 -0
  430. package/objutil/object.lua +213 -0
  431. package/objutil/unit.d.ts +134 -0
  432. package/objutil/unit.lua +913 -0
  433. package/objutil/upgrade.d.ts +22 -0
  434. package/objutil/upgrade.lua +127 -0
  435. package/operation.d.ts +35 -0
  436. package/operation.lua +179 -0
  437. package/package.json +47 -0
  438. package/patch-lualib.d.ts +2 -0
  439. package/patch-lualib.lua +67 -0
  440. package/patch-natives.d.ts +11 -0
  441. package/patch-natives.lua +14 -0
  442. package/string.d.ts +106 -0
  443. package/string.lua +34 -0
  444. package/time/dayOfWeek.d.ts +97 -0
  445. package/time/dayOfWeek.lua +53 -0
  446. package/time/localDate.d.ts +145 -0
  447. package/time/localDate.lua +236 -0
  448. package/time/localDateTime.d.ts +133 -0
  449. package/time/localDateTime.lua +154 -0
  450. package/time/localTime.d.ts +87 -0
  451. package/time/localTime.lua +91 -0
  452. package/time/month.d.ts +146 -0
  453. package/time/month.lua +129 -0
  454. package/time/year.d.ts +117 -0
  455. package/time/year.lua +81 -0
  456. package/types.d.ts +13 -0
  457. package/types.lua +0 -0
  458. package/util/objectPool.d.ts +6 -0
  459. package/util/objectPool.lua +28 -0
  460. package/util/stream.d.ts +29 -0
  461. package/util/stream.lua +453 -0
  462. package/util/stringBuilder.d.ts +8 -0
  463. package/util/stringBuilder.lua +25 -0
  464. package/utility/arrays.d.ts +57 -0
  465. package/utility/arrays.lua +369 -0
  466. package/utility/base64.d.ts +23 -0
  467. package/utility/base64.lua +177 -0
  468. package/utility/bit-set.d.ts +18 -0
  469. package/utility/bit-set.lua +12 -0
  470. package/utility/functions.d.ts +5 -0
  471. package/utility/functions.lua +90 -0
  472. package/utility/json.d.ts +2 -0
  473. package/utility/json.lua +400 -0
  474. package/utility/linked-set.d.ts +49 -0
  475. package/utility/linked-set.lua +181 -0
  476. package/utility/lua-maps.d.ts +6 -0
  477. package/utility/lua-maps.lua +25 -0
  478. package/utility/lua-sets.d.ts +6 -0
  479. package/utility/lua-sets.lua +37 -0
  480. package/utility/lzw.d.ts +2 -0
  481. package/utility/lzw.lua +161 -0
  482. package/utility/observable-array.d.ts +17 -0
  483. package/utility/observable-array.lua +30 -0
  484. package/utility/preconditions.d.ts +23 -0
  485. package/utility/preconditions.lua +58 -0
  486. package/utility/records.d.ts +3 -0
  487. package/utility/records.lua +9 -0
  488. package/utility/reflection.d.ts +4 -0
  489. package/utility/reflection.lua +31 -0
  490. package/utility/strings.d.ts +2 -0
  491. package/utility/strings.lua +44 -0
  492. package/utility/types.d.ts +39 -0
  493. package/utility/types.lua +2 -0
@@ -0,0 +1,20 @@
1
+ /** @noSelfInFile */
2
+ declare const noOverrideSymbol: unique symbol;
3
+ type NoOverride = {
4
+ [noOverrideSymbol]: typeof noOverrideSymbol;
5
+ };
6
+ export type Destructor = {
7
+ readonly __destructor: unique symbol;
8
+ };
9
+ export interface Destroyable {
10
+ destroy(): void;
11
+ }
12
+ export declare abstract class AbstractDestroyable implements Destroyable {
13
+ /**
14
+ * An overriding function should always call the super one at the end of it,
15
+ * in the following manner: `return super.onDestroy()`.
16
+ */
17
+ protected onDestroy(): Destructor;
18
+ destroy(): boolean & NoOverride;
19
+ }
20
+ export {};
@@ -0,0 +1,31 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__New = ____lualib.__TS__New
4
+ local ____exports = {}
5
+ local ____exception = require("exception")
6
+ local IllegalStateException = ____exception.IllegalStateException
7
+ local stateByDestroyable = setmetatable({}, {__mode = "k"})
8
+ ____exports.AbstractDestroyable = __TS__Class()
9
+ local AbstractDestroyable = ____exports.AbstractDestroyable
10
+ AbstractDestroyable.name = "AbstractDestroyable"
11
+ function AbstractDestroyable.prototype.____constructor(self)
12
+ end
13
+ function AbstractDestroyable.prototype.onDestroy(self)
14
+ stateByDestroyable[self] = 1
15
+ return nil
16
+ end
17
+ function AbstractDestroyable.prototype.destroy(self)
18
+ if stateByDestroyable[self] ~= nil then
19
+ return false
20
+ end
21
+ stateByDestroyable[self] = 0
22
+ self:onDestroy()
23
+ if stateByDestroyable[self] ~= 1 then
24
+ error(
25
+ __TS__New(IllegalStateException, ("'onDestroy' is incorrectly overridden (class '" .. self.constructor.name) .. "')."),
26
+ 0
27
+ )
28
+ end
29
+ return true
30
+ end
31
+ return ____exports
@@ -0,0 +1,5 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityTypeId } from "./object-data/entry/ability-type";
3
+ import { UnitAbility } from "./internal/ability";
4
+ import { Player } from "../core/types/player";
5
+ export declare const castAbility: (owner: Player, abilityTypeId: AbilityTypeId, ...args: [x: number, y: number] | [number, x: number, y: number] | [(ability: UnitAbility) => void, x: number, y: number]) => void;
@@ -0,0 +1,7 @@
1
+ local ____exports = {}
2
+ local ____dummy = require("core.dummy")
3
+ local InstantDummyCaster = ____dummy.InstantDummyCaster
4
+ ____exports.castAbility = function(owner, abilityTypeId, ...)
5
+ InstantDummyCaster:getInstance():cast(owner, abilityTypeId, ...)
6
+ end
7
+ return ____exports
@@ -0,0 +1,28 @@
1
+ /** @noSelfInFile */
2
+ import { AbstractDestroyable, Destructor } from "../destroyable";
3
+ export type BehaviorConstructor<T extends Behavior<any>, Parameters extends any[] = any[]> = OmitConstructor<typeof Behavior<any>> & (abstract new (...parameters: Parameters) => T);
4
+ declare const enum BehaviorPropertyKey {
5
+ PREVIOUS_BEHAVIOR = 0,
6
+ NEXT_BEHAVIOR = 1,
7
+ TIMER = 2
8
+ }
9
+ export declare abstract class Behavior<T, PeriodicActionParameters extends any[] = any[]> extends AbstractDestroyable {
10
+ protected readonly object: T;
11
+ private [BehaviorPropertyKey.PREVIOUS_BEHAVIOR]?;
12
+ private [BehaviorPropertyKey.NEXT_BEHAVIOR]?;
13
+ private [BehaviorPropertyKey.TIMER]?;
14
+ protected constructor(object: T);
15
+ protected onDestroy(): Destructor;
16
+ protected onPeriod(...parameters: PeriodicActionParameters): void;
17
+ protected startPeriodicAction(interval: number, ...parameters: PeriodicActionParameters): void;
18
+ protected stopPeriodicAction(): void;
19
+ static count<T extends Behavior<any>, ConstructorParameters extends any[]>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, limit?: number): number;
20
+ static getFirst<T extends Behavior<any>, ConstructorParameters extends any[], Count extends [number] | []>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, ...[count]: Count): Count extends [number] ? T[] : T | undefined;
21
+ static getLast<T extends Behavior<any>, ConstructorParameters extends any[]>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never): T | undefined;
22
+ static getAll<T extends Behavior<any>, ConstructorParameters extends any[]>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never): T[];
23
+ static forFirst<T extends Behavior<any>, ConstructorParameters extends any[], ConsumerParameters extends any[]>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, count: number, consumer: (behavior: T, ...parameters: ConsumerParameters) => any, ...parameters: ConsumerParameters): number;
24
+ static forFirst<T extends Behavior<any>, ConstructorParameters extends any[], K extends KeysOfType<T, (...args: any) => any>>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, count: number, key: K, ...parameters: T[K] extends (...args: any) => any ? Parameters<T[K]> : never): number;
25
+ static forAll<T extends Behavior<any>, ConstructorParameters extends any[], ConsumerParameters extends any[]>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, consumer: (behavior: T, ...parameters: ConsumerParameters) => unknown, ...parameters: ConsumerParameters): number;
26
+ static forAll<T extends Behavior<any>, ConstructorParameters extends any[], K extends KeysOfType<T, (...args: any) => any>>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, key: K, ...parameters: T[K] extends (...args: any) => any ? Parameters<T[K]> : never): number;
27
+ }
28
+ export {};
@@ -0,0 +1,181 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__InstanceOf = ____lualib.__TS__InstanceOf
5
+ local ____exports = {}
6
+ local ____destroyable = require("destroyable")
7
+ local AbstractDestroyable = ____destroyable.AbstractDestroyable
8
+ local ____timer = require("core.types.timer")
9
+ local Timer = ____timer.Timer
10
+ local safeCall = warpack.safeCall
11
+ local firstBehaviorByObject = {}
12
+ local lastBehaviorByObject = {}
13
+ local function invokeBehaviorOnPeriod(behavior, ...)
14
+ behavior.onPeriod(behavior, ...)
15
+ end
16
+ ____exports.Behavior = __TS__Class()
17
+ local Behavior = ____exports.Behavior
18
+ Behavior.name = "Behavior"
19
+ __TS__ClassExtends(Behavior, AbstractDestroyable)
20
+ function Behavior.prototype.____constructor(self, object)
21
+ AbstractDestroyable.prototype.____constructor(self)
22
+ self.object = object
23
+ local lastBehavior = lastBehaviorByObject[object]
24
+ if lastBehavior == nil then
25
+ firstBehaviorByObject[object] = self
26
+ lastBehaviorByObject[object] = self
27
+ else
28
+ self[0] = lastBehavior
29
+ lastBehavior[1] = self
30
+ lastBehaviorByObject[object] = self
31
+ end
32
+ end
33
+ function Behavior.prototype.onDestroy(self)
34
+ local ____opt_0 = self[2]
35
+ if ____opt_0 ~= nil then
36
+ ____opt_0:destroy()
37
+ end
38
+ local previousBehavior = self[0]
39
+ local nextBehavior = self[1]
40
+ if previousBehavior ~= nil then
41
+ previousBehavior[1] = nextBehavior
42
+ else
43
+ firstBehaviorByObject[self.object] = nextBehavior
44
+ end
45
+ if nextBehavior ~= nil then
46
+ nextBehavior[0] = previousBehavior
47
+ else
48
+ lastBehaviorByObject[self.object] = previousBehavior
49
+ end
50
+ return AbstractDestroyable.prototype.onDestroy(self)
51
+ end
52
+ function Behavior.prototype.onPeriod(self, ...)
53
+ end
54
+ function Behavior.prototype.startPeriodicAction(self, interval, ...)
55
+ local timer = self[2]
56
+ if timer == nil then
57
+ timer = Timer:create()
58
+ self[2] = timer
59
+ end
60
+ timer:start(
61
+ interval,
62
+ true,
63
+ invokeBehaviorOnPeriod,
64
+ self,
65
+ ...
66
+ )
67
+ end
68
+ function Behavior.prototype.stopPeriodicAction(self)
69
+ local timer = self[2]
70
+ if timer ~= nil then
71
+ timer:destroy()
72
+ self[2] = nil
73
+ end
74
+ end
75
+ function Behavior.count(self, object, limit)
76
+ local behaviorsCount = 0
77
+ local behavior = firstBehaviorByObject[object]
78
+ while behavior ~= nil and (limit == nil or behaviorsCount < limit) do
79
+ if __TS__InstanceOf(behavior, self) then
80
+ behaviorsCount = behaviorsCount + 1
81
+ end
82
+ behavior = behavior[1]
83
+ end
84
+ return behaviorsCount
85
+ end
86
+ function Behavior.getFirst(self, object, count)
87
+ local behavior = firstBehaviorByObject[object]
88
+ if count == nil then
89
+ while behavior ~= nil do
90
+ if __TS__InstanceOf(behavior, self) then
91
+ return behavior
92
+ end
93
+ behavior = behavior[1]
94
+ end
95
+ return nil
96
+ end
97
+ local behaviors = {}
98
+ local behaviorsCount = 0
99
+ while behavior ~= nil and behaviorsCount < count do
100
+ if __TS__InstanceOf(behavior, self) then
101
+ behaviorsCount = behaviorsCount + 1
102
+ behaviors[behaviorsCount] = behavior
103
+ end
104
+ behavior = behavior[1]
105
+ end
106
+ return behaviors
107
+ end
108
+ function Behavior.getLast(self, object)
109
+ local behavior = lastBehaviorByObject[object]
110
+ while behavior ~= nil do
111
+ if __TS__InstanceOf(behavior, self) then
112
+ return behavior
113
+ end
114
+ behavior = behavior[0]
115
+ end
116
+ return nil
117
+ end
118
+ function Behavior.getAll(self, object)
119
+ local behaviors = {}
120
+ local behaviorsCount = 0
121
+ local behavior = firstBehaviorByObject[object]
122
+ while behavior ~= nil do
123
+ if __TS__InstanceOf(behavior, self) then
124
+ behaviorsCount = behaviorsCount + 1
125
+ behaviors[behaviorsCount] = behavior
126
+ end
127
+ behavior = behavior[1]
128
+ end
129
+ return behaviors
130
+ end
131
+ function Behavior.forFirst(self, object, count, consumerOrKey, ...)
132
+ local behaviorsCount = 0
133
+ local behavior = firstBehaviorByObject[object]
134
+ if type(consumerOrKey) == "function" then
135
+ while behavior ~= nil and behaviorsCount < count do
136
+ if __TS__InstanceOf(behavior, self) then
137
+ safeCall(consumerOrKey, behavior, ...)
138
+ behaviorsCount = behaviorsCount + 1
139
+ end
140
+ behavior = behavior[1]
141
+ end
142
+ else
143
+ while behavior ~= nil and behaviorsCount < count do
144
+ if __TS__InstanceOf(behavior, self) then
145
+ safeCall(behavior[consumerOrKey], behavior, ...)
146
+ behaviorsCount = behaviorsCount + 1
147
+ end
148
+ behavior = behavior[1]
149
+ end
150
+ end
151
+ return behaviorsCount
152
+ end
153
+ function Behavior.forAll(self, object, consumerOrKey, ...)
154
+ local behaviorsCount = 0
155
+ local behavior = firstBehaviorByObject[object]
156
+ if behavior ~= nil then
157
+ if type(consumerOrKey) == "function" then
158
+ repeat
159
+ do
160
+ if __TS__InstanceOf(behavior, self) then
161
+ safeCall(consumerOrKey, behavior, ...)
162
+ behaviorsCount = behaviorsCount + 1
163
+ end
164
+ behavior = behavior[1]
165
+ end
166
+ until not (behavior ~= nil)
167
+ else
168
+ repeat
169
+ do
170
+ if __TS__InstanceOf(behavior, self) then
171
+ safeCall(behavior[consumerOrKey], behavior, ...)
172
+ behaviorsCount = behaviorsCount + 1
173
+ end
174
+ behavior = behavior[1]
175
+ end
176
+ until not (behavior ~= nil)
177
+ end
178
+ end
179
+ return behaviorsCount
180
+ end
181
+ return ____exports
@@ -0,0 +1,38 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityBehavior } from "../ability";
3
+ import { Ability } from "../../internal/ability";
4
+ import { Buff, BuffConstructor, BuffParameters, BuffTypeIdSelectionPolicy } from "../../buff";
5
+ import { Unit } from "../../internal/unit";
6
+ import { ApplicableBuffTypeId } from "../../object-data/entry/buff-type/applicable";
7
+ import { BuffResistanceType } from "../../object-data/auxiliary/buff-resistance-type";
8
+ import { BuffPolarity } from "../../object-data/auxiliary/buff-polarity";
9
+ import { Widget } from "../../../core/types/widget";
10
+ type BuffParametersType<T extends BuffConstructor> = BuffParameters & Omit<BuffAdditionalParametersType<T>, keyof BuffParameters>;
11
+ type BuffAdditionalParametersType<T extends BuffConstructor> = T extends BuffConstructor<Buff<infer AdditionalParameters>> ? AdditionalParameters : never;
12
+ export declare abstract class ApplyBuffAbilityBehavior<T extends BuffConstructor = typeof Buff> extends AbilityBehavior {
13
+ protected readonly applyBuff: (this: void, unit: Unit) => InstanceType<T> | undefined;
14
+ constructor(ability: Ability, ...parameters: [
15
+ ...constructor: [] | [T],
16
+ ...typeId: [ApplicableBuffTypeId] | [
17
+ typeIds: [ApplicableBuffTypeId, ...ApplicableBuffTypeId[]],
18
+ typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
19
+ ],
20
+ polarity: BuffPolarity,
21
+ resistanceType: BuffResistanceType,
22
+ parameters?: BuffParametersType<T>
23
+ ]);
24
+ }
25
+ export declare class ApplyBuffSelfAbilityBehaviour<T extends BuffConstructor = typeof Buff> extends ApplyBuffAbilityBehavior<T> {
26
+ onImpact(caster: Unit): void;
27
+ }
28
+ export declare class ApplyBuffTargetAbilityBehavior<T extends BuffConstructor = typeof Buff> extends ApplyBuffAbilityBehavior<T> {
29
+ onUnitTargetImpact(caster: Unit, target: Unit): void;
30
+ }
31
+ export declare class ApplyBuffSelfAreaAbilityBehavior<T extends BuffConstructor = typeof Buff> extends ApplyBuffAbilityBehavior<T> {
32
+ onImpact(caster: Unit): void;
33
+ }
34
+ export declare class ApplyBuffTargetAreaAbilityBehavior<T extends BuffConstructor = typeof Buff> extends ApplyBuffAbilityBehavior<T> {
35
+ onPointTargetImpact(caster: Unit, x: number, y: number): void;
36
+ onWidgetTargetImpact(caster: Unit, target: Widget): void;
37
+ }
38
+ export {};
@@ -0,0 +1,126 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__ArrayIsArray = ____lualib.__TS__ArrayIsArray
5
+ local ____exports = {}
6
+ local ____ability = require("engine.behaviour.ability")
7
+ local AbilityBehavior = ____ability.AbilityBehavior
8
+ local ____buff = require("engine.buff")
9
+ local Buff = ____buff.Buff
10
+ local ____unit = require("engine.internal.unit")
11
+ local Unit = ____unit.Unit
12
+ local ____ability = require("engine.object-field.ability")
13
+ local resolveCurrentAbilityDependentValue = ____ability.resolveCurrentAbilityDependentValue
14
+ local ____ability = require("engine.standard.fields.ability")
15
+ local ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD = ____ability.ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD
16
+ local AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD = ____ability.AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD
17
+ ____exports.ApplyBuffAbilityBehavior = __TS__Class()
18
+ local ApplyBuffAbilityBehavior = ____exports.ApplyBuffAbilityBehavior
19
+ ApplyBuffAbilityBehavior.name = "ApplyBuffAbilityBehavior"
20
+ __TS__ClassExtends(ApplyBuffAbilityBehavior, AbilityBehavior)
21
+ function ApplyBuffAbilityBehavior.prototype.____constructor(self, ability, constructorOrTypeIdOrTypeIds, typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy, polarityOrTypeIdSelectionPolicyOrResistanceType, resistanceTypeOrPolarityOrParameters, parametersOrResistanceType, parameters)
22
+ AbilityBehavior.prototype.____constructor(self, ability)
23
+ if type(constructorOrTypeIdOrTypeIds) == "number" then
24
+ self.applyBuff = function(unit)
25
+ return Buff:apply(
26
+ unit,
27
+ constructorOrTypeIdOrTypeIds,
28
+ typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy,
29
+ polarityOrTypeIdSelectionPolicyOrResistanceType,
30
+ ability,
31
+ resistanceTypeOrPolarityOrParameters
32
+ )
33
+ end
34
+ elseif __TS__ArrayIsArray(constructorOrTypeIdOrTypeIds) then
35
+ self.applyBuff = function(unit)
36
+ return Buff:apply(
37
+ unit,
38
+ constructorOrTypeIdOrTypeIds,
39
+ typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy,
40
+ polarityOrTypeIdSelectionPolicyOrResistanceType,
41
+ resistanceTypeOrPolarityOrParameters,
42
+ ability,
43
+ parametersOrResistanceType
44
+ )
45
+ end
46
+ elseif type(typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy) == "number" then
47
+ self.applyBuff = function(unit)
48
+ return constructorOrTypeIdOrTypeIds:apply(
49
+ unit,
50
+ typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy,
51
+ polarityOrTypeIdSelectionPolicyOrResistanceType,
52
+ resistanceTypeOrPolarityOrParameters,
53
+ ability,
54
+ parametersOrResistanceType
55
+ )
56
+ end
57
+ else
58
+ self.applyBuff = function(unit)
59
+ return constructorOrTypeIdOrTypeIds:apply(
60
+ unit,
61
+ typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy,
62
+ polarityOrTypeIdSelectionPolicyOrResistanceType,
63
+ resistanceTypeOrPolarityOrParameters,
64
+ parametersOrResistanceType,
65
+ ability,
66
+ parameters
67
+ )
68
+ end
69
+ end
70
+ end
71
+ ____exports.ApplyBuffSelfAbilityBehaviour = __TS__Class()
72
+ local ApplyBuffSelfAbilityBehaviour = ____exports.ApplyBuffSelfAbilityBehaviour
73
+ ApplyBuffSelfAbilityBehaviour.name = "ApplyBuffSelfAbilityBehaviour"
74
+ __TS__ClassExtends(ApplyBuffSelfAbilityBehaviour, ____exports.ApplyBuffAbilityBehavior)
75
+ function ApplyBuffSelfAbilityBehaviour.prototype.onImpact(self, caster)
76
+ self.applyBuff(caster)
77
+ end
78
+ ____exports.ApplyBuffTargetAbilityBehavior = __TS__Class()
79
+ local ApplyBuffTargetAbilityBehavior = ____exports.ApplyBuffTargetAbilityBehavior
80
+ ApplyBuffTargetAbilityBehavior.name = "ApplyBuffTargetAbilityBehavior"
81
+ __TS__ClassExtends(ApplyBuffTargetAbilityBehavior, ____exports.ApplyBuffAbilityBehavior)
82
+ function ApplyBuffTargetAbilityBehavior.prototype.onUnitTargetImpact(self, caster, target)
83
+ self.applyBuff(target)
84
+ end
85
+ ____exports.ApplyBuffSelfAreaAbilityBehavior = __TS__Class()
86
+ local ApplyBuffSelfAreaAbilityBehavior = ____exports.ApplyBuffSelfAreaAbilityBehavior
87
+ ApplyBuffSelfAreaAbilityBehavior.name = "ApplyBuffSelfAreaAbilityBehavior"
88
+ __TS__ClassExtends(ApplyBuffSelfAreaAbilityBehavior, ____exports.ApplyBuffAbilityBehavior)
89
+ function ApplyBuffSelfAreaAbilityBehavior.prototype.onImpact(self, caster)
90
+ for ____, unit in ipairs(Unit.getAllowedTargetsInCollisionRange(
91
+ caster,
92
+ resolveCurrentAbilityDependentValue(self.ability, ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD),
93
+ caster.x,
94
+ caster.y,
95
+ resolveCurrentAbilityDependentValue(self.ability, AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD)
96
+ )) do
97
+ self.applyBuff(unit)
98
+ end
99
+ end
100
+ ____exports.ApplyBuffTargetAreaAbilityBehavior = __TS__Class()
101
+ local ApplyBuffTargetAreaAbilityBehavior = ____exports.ApplyBuffTargetAreaAbilityBehavior
102
+ ApplyBuffTargetAreaAbilityBehavior.name = "ApplyBuffTargetAreaAbilityBehavior"
103
+ __TS__ClassExtends(ApplyBuffTargetAreaAbilityBehavior, ____exports.ApplyBuffAbilityBehavior)
104
+ function ApplyBuffTargetAreaAbilityBehavior.prototype.onPointTargetImpact(self, caster, x, y)
105
+ for ____, unit in ipairs(Unit.getAllowedTargetsInCollisionRange(
106
+ caster,
107
+ resolveCurrentAbilityDependentValue(self.ability, ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD),
108
+ x,
109
+ y,
110
+ resolveCurrentAbilityDependentValue(self.ability, AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD)
111
+ )) do
112
+ self.applyBuff(unit)
113
+ end
114
+ end
115
+ function ApplyBuffTargetAreaAbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
116
+ for ____, unit in ipairs(Unit.getAllowedTargetsInCollisionRange(
117
+ caster,
118
+ resolveCurrentAbilityDependentValue(self.ability, ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD),
119
+ target.x,
120
+ target.y,
121
+ resolveCurrentAbilityDependentValue(self.ability, AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD)
122
+ )) do
123
+ self.applyBuff(unit)
124
+ end
125
+ end
126
+ return ____exports
@@ -0,0 +1,12 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityBehavior } from "../ability";
3
+ import { Ability } from "../../internal/ability";
4
+ import { UnitBehaviorConstructor } from "../unit";
5
+ import { Unit } from "../../internal/unit";
6
+ export declare class ApplyUnitBehaviorAbilityBehavior<Args extends any[]> extends AbilityBehavior {
7
+ private readonly createUnitBehavior;
8
+ private unitBehavior?;
9
+ constructor(ability: Ability, unitBehaviorConstructor: UnitBehaviorConstructor<Args>, ...args: Args);
10
+ onUnitGainAbility(unit: Unit): void;
11
+ onUnitLoseAbility(): void;
12
+ }
@@ -0,0 +1,36 @@
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 ____exports = {}
6
+ local ____ability = require("engine.behaviour.ability")
7
+ local AbilityBehavior = ____ability.AbilityBehavior
8
+ ____exports.ApplyUnitBehaviorAbilityBehavior = __TS__Class()
9
+ local ApplyUnitBehaviorAbilityBehavior = ____exports.ApplyUnitBehaviorAbilityBehavior
10
+ ApplyUnitBehaviorAbilityBehavior.name = "ApplyUnitBehaviorAbilityBehavior"
11
+ __TS__ClassExtends(ApplyUnitBehaviorAbilityBehavior, AbilityBehavior)
12
+ function ApplyUnitBehaviorAbilityBehavior.prototype.____constructor(self, ability, unitBehaviorConstructor, ...)
13
+ local args = {...}
14
+ AbilityBehavior.prototype.____constructor(self, ability)
15
+ self.createUnitBehavior = function(____, unit)
16
+ return __TS__New(
17
+ unitBehaviorConstructor,
18
+ unit,
19
+ table.unpack(args)
20
+ )
21
+ end
22
+ end
23
+ function ApplyUnitBehaviorAbilityBehavior.prototype.onUnitGainAbility(self, unit)
24
+ local ____opt_0 = self.unitBehavior
25
+ if ____opt_0 ~= nil then
26
+ ____opt_0:destroy()
27
+ end
28
+ self.unitBehavior = self:createUnitBehavior(unit)
29
+ end
30
+ function ApplyUnitBehaviorAbilityBehavior.prototype.onUnitLoseAbility(self)
31
+ local ____opt_2 = self.unitBehavior
32
+ if ____opt_2 ~= nil then
33
+ ____opt_2:destroy()
34
+ end
35
+ end
36
+ return ____exports
@@ -0,0 +1,25 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityBehavior } from "../ability";
3
+ import { Ability } from "../../internal/ability";
4
+ import { Unit } from "../../internal/unit";
5
+ import { AbilityDependentValue } from "../../object-field/ability";
6
+ import { Widget } from "../../../core/types/widget";
7
+ export declare class DamageSelfAbilityBehavior extends AbilityBehavior {
8
+ private readonly damage;
9
+ constructor(ability: Ability, damage: AbilityDependentValue<number>);
10
+ onImpact(caster: Unit): void;
11
+ }
12
+ export declare class DamageTargetAbilityBehavior extends AbilityBehavior {
13
+ private readonly damage;
14
+ constructor(ability: Ability, damage: AbilityDependentValue<number>);
15
+ onWidgetTargetImpact(caster: Unit, target: Widget): void;
16
+ }
17
+ export declare class DamageTargetAreaAbilityBehavior extends AbilityBehavior {
18
+ private readonly damage;
19
+ private readonly maximumDamage?;
20
+ constructor(ability: Ability, damage: AbilityDependentValue<number>, maximumDamage?: AbilityDependentValue<number> | undefined);
21
+ onNoTargetImpact(caster: Unit): void;
22
+ onWidgetTargetImpact(caster: Unit, target: Widget): void;
23
+ onPointTargetImpact(caster: Unit, x: number, y: number): void;
24
+ private damageArea;
25
+ }
@@ -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 ____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
+ ____exports.DamageSelfAbilityBehavior = __TS__Class()
13
+ local DamageSelfAbilityBehavior = ____exports.DamageSelfAbilityBehavior
14
+ DamageSelfAbilityBehavior.name = "DamageSelfAbilityBehavior"
15
+ __TS__ClassExtends(DamageSelfAbilityBehavior, AbilityBehavior)
16
+ function DamageSelfAbilityBehavior.prototype.____constructor(self, ability, damage)
17
+ AbilityBehavior.prototype.____constructor(self, ability)
18
+ self.damage = damage
19
+ end
20
+ function DamageSelfAbilityBehavior.prototype.onImpact(self, caster)
21
+ caster:damageTarget(
22
+ caster,
23
+ self:resolveCurrentAbilityDependentValue(self.damage)
24
+ )
25
+ end
26
+ ____exports.DamageTargetAbilityBehavior = __TS__Class()
27
+ local DamageTargetAbilityBehavior = ____exports.DamageTargetAbilityBehavior
28
+ DamageTargetAbilityBehavior.name = "DamageTargetAbilityBehavior"
29
+ __TS__ClassExtends(DamageTargetAbilityBehavior, AbilityBehavior)
30
+ function DamageTargetAbilityBehavior.prototype.____constructor(self, ability, damage)
31
+ AbilityBehavior.prototype.____constructor(self, ability)
32
+ self.damage = damage
33
+ end
34
+ function DamageTargetAbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
35
+ caster:damageTarget(
36
+ target,
37
+ self:resolveCurrentAbilityDependentValue(self.damage)
38
+ )
39
+ end
40
+ ____exports.DamageTargetAreaAbilityBehavior = __TS__Class()
41
+ local DamageTargetAreaAbilityBehavior = ____exports.DamageTargetAreaAbilityBehavior
42
+ DamageTargetAreaAbilityBehavior.name = "DamageTargetAreaAbilityBehavior"
43
+ __TS__ClassExtends(DamageTargetAreaAbilityBehavior, AbilityBehavior)
44
+ function DamageTargetAreaAbilityBehavior.prototype.____constructor(self, ability, damage, maximumDamage)
45
+ AbilityBehavior.prototype.____constructor(self, ability)
46
+ self.damage = damage
47
+ self.maximumDamage = maximumDamage
48
+ end
49
+ function DamageTargetAreaAbilityBehavior.prototype.onNoTargetImpact(self, caster)
50
+ self:damageArea(caster, caster.x, caster.y)
51
+ end
52
+ function DamageTargetAreaAbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
53
+ self:damageArea(caster, target.x, target.y)
54
+ end
55
+ function DamageTargetAreaAbilityBehavior.prototype.onPointTargetImpact(self, caster, x, y)
56
+ self:damageArea(caster, x, y)
57
+ end
58
+ function DamageTargetAreaAbilityBehavior.prototype.damageArea(self, caster, x, y)
59
+ local targets = Unit.getAllowedTargetsInCollisionRange(
60
+ caster,
61
+ self:resolveCurrentAbilityDependentValue(ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD),
62
+ x,
63
+ y,
64
+ self:resolveCurrentAbilityDependentValue(AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD)
65
+ )
66
+ local damage = self:resolveCurrentAbilityDependentValue(self.damage)
67
+ local maximumDamage = self:resolveCurrentAbilityDependentValue(self.maximumDamage or 0)
68
+ if maximumDamage ~= 0 and damage > maximumDamage then
69
+ damage = maximumDamage / #targets
70
+ end
71
+ for ____, target in ipairs(targets) do
72
+ caster:damageTarget(target, damage)
73
+ end
74
+ end
75
+ return ____exports
@@ -0,0 +1,16 @@
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 declare class HealSelfAbilityBehavior extends AbilityBehavior {
8
+ private readonly healing;
9
+ constructor(ability: Ability, healing: AbilityDependentValue<number>);
10
+ onImpact(caster: Unit): void;
11
+ }
12
+ export declare class HealTargetAbilityBehavior extends AbilityBehavior {
13
+ private readonly healing;
14
+ constructor(ability: Ability, healing: AbilityDependentValue<number>);
15
+ onWidgetTargetImpact(caster: Unit, target: Widget): void;
16
+ }
@@ -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
+ }