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,6 @@
1
+ /** @noSelfInFile */
2
+ export declare const PATHING_TEXTURE_NONE_PATH = "none";
3
+ export declare const PATHING_TEXTURE_2X2_PATH = "PathTextures\\2x2Default.tga";
4
+ export declare const PATHING_TEXTURE_2X4_PATH = "PathTextures\\2x4Default.tga";
5
+ export declare const PATHING_TEXTURE_4X2_PATH = "PathTextures\\4x2Default.tga";
6
+ export declare const PATHING_TEXTURE_4X4_PATH = "PathTextures\\4x4Default.tga";
@@ -0,0 +1,7 @@
1
+ local ____exports = {}
2
+ ____exports.PATHING_TEXTURE_NONE_PATH = "none"
3
+ ____exports.PATHING_TEXTURE_2X2_PATH = "PathTextures\\2x2Default.tga"
4
+ ____exports.PATHING_TEXTURE_2X4_PATH = "PathTextures\\2x4Default.tga"
5
+ ____exports.PATHING_TEXTURE_4X2_PATH = "PathTextures\\4x2Default.tga"
6
+ ____exports.PATHING_TEXTURE_4X4_PATH = "PathTextures\\4x4Default.tga"
7
+ return ____exports
@@ -0,0 +1,25 @@
1
+ /** @noSelfInFile */
2
+ import { Color } from "../core/types/color";
3
+ export type TextTagPreset = {
4
+ fadepoint: number;
5
+ lifespan: number;
6
+ offsetX: number;
7
+ offsetY: number;
8
+ offsetZ: number;
9
+ velocityX: number;
10
+ velocityY: number;
11
+ color: Color;
12
+ };
13
+ export declare class TextTag {
14
+ private readonly handle;
15
+ private constructor();
16
+ static BASE: Readonly<TextTagPreset>;
17
+ static BASH: Readonly<TextTagPreset>;
18
+ static CRITICAL_STRIKE: Readonly<TextTagPreset>;
19
+ static GOLD_BOUNTY: Readonly<TextTagPreset>;
20
+ static LUMBER_BOUNTY: Readonly<TextTagPreset>;
21
+ static MANA_BURN: Readonly<TextTagPreset>;
22
+ static MISS: Readonly<TextTagPreset>;
23
+ static SHADOW_STRIKE: Readonly<TextTagPreset>;
24
+ static flash(configuration: Readonly<TextTagPreset>, text: string, x: number, y: number, z?: number): void;
25
+ }
@@ -0,0 +1,109 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ObjectAssign = ____lualib.__TS__ObjectAssign
4
+ local ____exports = {}
5
+ local ____color = require("core.types.color")
6
+ local Color = ____color.Color
7
+ local createTextTag = CreateTextTag
8
+ local destroyTextTag = DestroyTextTag
9
+ local setTextTagText = SetTextTagText
10
+ local setTextTagPos = SetTextTagPos
11
+ local setTextTagPosUnit = SetTextTagPosUnit
12
+ local setTextTagColor = SetTextTagColor
13
+ local setTextTagVelocity = SetTextTagVelocity
14
+ local setTextTagVisibility = SetTextTagVisibility
15
+ local setTextTagSuspended = SetTextTagSuspended
16
+ local setTextTagPermanent = SetTextTagPermanent
17
+ local setTextTagAge = SetTextTagAge
18
+ local setTextTagLifespan = SetTextTagLifespan
19
+ local setTextTagFadepoint = SetTextTagFadepoint
20
+ local DEFAULT_FONT_SIZE = 0.024
21
+ ____exports.TextTag = __TS__Class()
22
+ local TextTag = ____exports.TextTag
23
+ TextTag.name = "TextTag"
24
+ function TextTag.prototype.____constructor(self, handle)
25
+ self.handle = handle
26
+ end
27
+ function TextTag.flash(self, configuration, text, x, y, z)
28
+ local textTag = createTextTag()
29
+ setTextTagText(textTag, text, DEFAULT_FONT_SIZE)
30
+ setTextTagPos(textTag, x + configuration.offsetX, y + configuration.offsetY, (z or 0) + configuration.offsetZ)
31
+ setTextTagFadepoint(textTag, configuration.fadepoint)
32
+ setTextTagLifespan(textTag, configuration.lifespan)
33
+ local color = configuration.color
34
+ setTextTagColor(
35
+ textTag,
36
+ color.r,
37
+ color.g,
38
+ color.b,
39
+ color.a
40
+ )
41
+ setTextTagVelocity(textTag, configuration.velocityX, configuration.velocityY)
42
+ setTextTagPermanent(textTag, false)
43
+ setTextTagVisibility(textTag, true)
44
+ end
45
+ TextTag.BASE = {
46
+ fadepoint = 2,
47
+ lifespan = 3,
48
+ offsetX = 0,
49
+ offsetY = 0,
50
+ offsetZ = 0,
51
+ velocityX = 0,
52
+ velocityY = 0.03,
53
+ color = Color.white
54
+ }
55
+ TextTag.BASH = __TS__ObjectAssign(
56
+ {},
57
+ ____exports.TextTag.BASE,
58
+ {
59
+ color = Color:of(0, 0, 255),
60
+ velocityY = 0.04,
61
+ lifespan = 5
62
+ }
63
+ )
64
+ TextTag.CRITICAL_STRIKE = __TS__ObjectAssign(
65
+ {},
66
+ ____exports.TextTag.BASE,
67
+ {
68
+ color = Color:of(255, 0, 0),
69
+ velocityY = 0.04,
70
+ lifespan = 5
71
+ }
72
+ )
73
+ TextTag.GOLD_BOUNTY = __TS__ObjectAssign(
74
+ {},
75
+ ____exports.TextTag.BASE,
76
+ {color = Color:of(255, 220, 0)}
77
+ )
78
+ TextTag.LUMBER_BOUNTY = __TS__ObjectAssign(
79
+ {},
80
+ ____exports.TextTag.BASE,
81
+ {color = Color:of(0, 200, 80)}
82
+ )
83
+ TextTag.MANA_BURN = __TS__ObjectAssign(
84
+ {},
85
+ ____exports.TextTag.BASE,
86
+ {
87
+ color = Color:of(82, 82, 255),
88
+ velocityY = 0.04,
89
+ lifespan = 5
90
+ }
91
+ )
92
+ TextTag.MISS = __TS__ObjectAssign(
93
+ {},
94
+ ____exports.TextTag.BASE,
95
+ {
96
+ fadepoint = 1,
97
+ color = Color:of(255, 0, 0)
98
+ }
99
+ )
100
+ TextTag.SHADOW_STRIKE = __TS__ObjectAssign(
101
+ {},
102
+ ____exports.TextTag.BASE,
103
+ {
104
+ color = Color:of(160, 255, 0),
105
+ velocityY = 0.04,
106
+ lifespan = 5
107
+ }
108
+ )
109
+ return ____exports
@@ -0,0 +1,20 @@
1
+ /** @noSelfInFile */
2
+ import "./internal/unit";
3
+ import "./internal/unit/ability";
4
+ import "./internal/unit/allowed-targets";
5
+ import "./internal/unit/buff";
6
+ import "./internal/unit/expiration-timer";
7
+ import "./internal/unit+ability";
8
+ import "./internal/unit+damage";
9
+ import "./internal/unit+rally";
10
+ import "./internal/unit+spellSteal";
11
+ import "./internal/unit+transport";
12
+ import "./internal/unit/summon-event";
13
+ import "./internal/unit/missile";
14
+ import "./internal/unit-missile-launch";
15
+ import "./internal/unit/ghost-counter";
16
+ import "./internal/unit/invulnerability-counter";
17
+ import "./internal/unit/band-aids/ancestral-spirit-cannibalize";
18
+ export { Unit, DamagingEvent, DamageEvent } from "./internal/unit";
19
+ export * from "./internal/unit+damage";
20
+ export * from "./internal/unit+rally";
@@ -0,0 +1,31 @@
1
+ local ____exports = {}
2
+ require("engine.internal.unit")
3
+ require("engine.internal.unit.ability")
4
+ require("engine.internal.unit.allowed-targets")
5
+ require("engine.internal.unit.buff")
6
+ require("engine.internal.unit.expiration-timer")
7
+ require("engine.internal.unit+ability")
8
+ require("engine.internal.unit+damage")
9
+ require("engine.internal.unit+rally")
10
+ require("engine.internal.unit+spellSteal")
11
+ require("engine.internal.unit+transport")
12
+ require("engine.internal.unit.summon-event")
13
+ require("engine.internal.unit.missile")
14
+ require("engine.internal.unit-missile-launch")
15
+ require("engine.internal.unit.ghost-counter")
16
+ require("engine.internal.unit.invulnerability-counter")
17
+ require("engine.internal.unit.band-aids.ancestral-spirit-cannibalize")
18
+ do
19
+ local ____unit = require("engine.internal.unit")
20
+ local Unit = ____unit.Unit
21
+ ____exports.Unit = Unit
22
+ end
23
+ do
24
+ local ____export = require("engine.internal.unit+damage")
25
+ for ____exportKey, ____exportValue in pairs(____export) do
26
+ if ____exportKey ~= "default" then
27
+ ____exports[____exportKey] = ____exportValue
28
+ end
29
+ end
30
+ end
31
+ return ____exports
package/event.d.ts ADDED
@@ -0,0 +1,53 @@
1
+ /// <reference types="@typescript-to-lua/language-extensions" />
2
+ /** @noSelfInFile */
3
+ export type EventListener<T extends any[]> = (...args: T) => void;
4
+ export declare const enum EventListenerPriority {
5
+ LOWEST = 0,
6
+ LOW = 1,
7
+ MEDIUM = 2,
8
+ HIGH = 3,
9
+ HIGHEST = 4
10
+ }
11
+ export declare class Event<T extends any[] = []> {
12
+ protected listeners: EventListener<any>[];
13
+ protected priorityByListener: LuaMap<EventListener<any>, EventListenerPriority>;
14
+ addListener(listener: EventListener<T>): void;
15
+ addListener(priority: EventListenerPriority, listener: EventListener<T>): void;
16
+ protected addListenerInternal(priority: EventListenerPriority, listener: EventListener<T>): boolean;
17
+ removeListener(listener: EventListener<T>): boolean;
18
+ static invoke<T extends any[]>(this: void, event: Event<T>, ...args: T): void;
19
+ }
20
+ export declare class InitializingEvent<T extends any[] = [], Data = void> extends Event<T> {
21
+ #private;
22
+ private readonly initialize;
23
+ private readonly deinitialize?;
24
+ constructor(initialize: (this: void, event: InitializingEvent<T, Data>) => Data, deinitialize?: ((this: void, data: Data) => void) | undefined);
25
+ protected addListenerInternal(priority: EventListenerPriority, listener: EventListener<T>): boolean;
26
+ removeListener(callback: EventListener<T>): boolean;
27
+ destroy(): void;
28
+ }
29
+ declare const IgnoreEvent: unique symbol;
30
+ type IgnoreEvent = typeof IgnoreEvent;
31
+ export { IgnoreEvent };
32
+ export declare class TriggerEvent<T extends any[] = []> extends InitializingEvent<T, jtrigger | undefined> {
33
+ constructor(r: (trigger: jtrigger) => void, c: () => LuaMultiReturn<T | [IgnoreEvent]>);
34
+ }
35
+ export type EventParameters<T> = T extends Event<infer P> ? P : never;
36
+ export type EventDispatchTable<EventType extends Event<any>, KeyType extends number = number> = {
37
+ readonly [key in KeyType]: EventType;
38
+ };
39
+ export type DispatchingEvent<P extends any[], T extends Event<P> = Event<P>, S extends Event<P> = Event<P>> = T & EventDispatchTable<S>;
40
+ export declare const createDispatchingEvent: {
41
+ <T extends Event<any>, S extends Event<EventParameters<T>>>(underlyingEvent: T, extractKey: (...args: EventParameters<T>) => number, ...createEvent: [...(Event<any> extends S ? [(() => S)?] : [() => S])]): DispatchingEvent<EventParameters<T>, T>;
42
+ };
43
+ export declare class DependentInitializingEvent<T extends any[], R extends any[]> extends InitializingEvent<R, EventListener<T>> {
44
+ constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false] | [true, ...R]>);
45
+ }
46
+ export declare class EventParametersCaptor<T extends any[]> {
47
+ private readonly event;
48
+ private invoked?;
49
+ private constructor();
50
+ getFirstParameters(): LuaMultiReturn<[] | T>;
51
+ getLastParameters(): LuaMultiReturn<[] | T>;
52
+ static create<T extends any[]>(event: Event<T>): EventParametersCaptor<T>;
53
+ }
package/event.lua ADDED
@@ -0,0 +1,269 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__Symbol = ____lualib.__TS__Symbol
5
+ local Symbol = ____lualib.Symbol
6
+ local __TS__New = ____lualib.__TS__New
7
+ local ____exports = {}
8
+ local condition = Condition
9
+ local createTrigger = CreateTrigger
10
+ local triggerAddCondition = TriggerAddCondition
11
+ local triggerClearConditions = TriggerClearConditions
12
+ local destroyTrigger = DestroyTrigger
13
+ local safeCall = warpack.safeCall
14
+ local next = _G.next
15
+ ____exports.Event = __TS__Class()
16
+ local Event = ____exports.Event
17
+ Event.name = "Event"
18
+ function Event.prototype.____constructor(self)
19
+ self.listeners = {}
20
+ self.priorityByListener = {}
21
+ end
22
+ function Event.prototype.addListener(self, priority, listener)
23
+ if listener == nil then
24
+ listener = priority
25
+ priority = 2
26
+ end
27
+ self:addListenerInternal(priority, listener)
28
+ end
29
+ function Event.prototype.addListenerInternal(self, priority, listener)
30
+ local priorityByListener = self.priorityByListener
31
+ local previousPriority = priorityByListener[listener]
32
+ if previousPriority == nil then
33
+ local listeners = self.listeners
34
+ local length = #listeners
35
+ listeners[length + 1] = listener
36
+ priorityByListener[listener] = priority
37
+ for i = length, 1, -1 do
38
+ local otherListener = listeners[i]
39
+ local otherPriority = priorityByListener[otherListener]
40
+ if priority > otherPriority then
41
+ listeners[i] = listener
42
+ listeners[i + 1] = otherListener
43
+ else
44
+ return true
45
+ end
46
+ end
47
+ return true
48
+ end
49
+ return false
50
+ end
51
+ function Event.prototype.removeListener(self, listener)
52
+ if self.priorityByListener[listener] ~= nil then
53
+ self.priorityByListener[listener] = nil
54
+ local listeners = self.listeners
55
+ for i = 1, #listeners do
56
+ if listeners[i] == listener then
57
+ for j = i, #listeners do
58
+ listeners[j] = listeners[j + 1]
59
+ end
60
+ return true
61
+ end
62
+ end
63
+ end
64
+ return false
65
+ end
66
+ function Event.invoke(event, ...)
67
+ local listeners = event.listeners
68
+ for i = 1, #listeners do
69
+ safeCall(listeners[i], ...)
70
+ end
71
+ end
72
+ ____exports.InitializingEvent = __TS__Class()
73
+ local InitializingEvent = ____exports.InitializingEvent
74
+ InitializingEvent.name = "InitializingEvent"
75
+ __TS__ClassExtends(InitializingEvent, ____exports.Event)
76
+ function InitializingEvent.prototype.____constructor(self, initialize, deinitialize)
77
+ InitializingEvent.____super.prototype.____constructor(self)
78
+ self.initialize = initialize
79
+ self.deinitialize = deinitialize
80
+ end
81
+ function InitializingEvent.prototype.addListenerInternal(self, priority, listener)
82
+ if self["#destroyed"] then
83
+ return false
84
+ end
85
+ local success = InitializingEvent.____super.prototype.addListenerInternal(self, priority, listener)
86
+ if success and #self.listeners == 1 then
87
+ self["#data"] = self.initialize(self)
88
+ end
89
+ return success
90
+ end
91
+ function InitializingEvent.prototype.removeListener(self, callback)
92
+ if InitializingEvent.____super.prototype.removeListener(self, callback) then
93
+ if self.deinitialize and (next(self.listeners)) == nil then
94
+ self.deinitialize(self["#data"])
95
+ self["#data"] = nil
96
+ end
97
+ return true
98
+ end
99
+ return false
100
+ end
101
+ function InitializingEvent.prototype.destroy(self)
102
+ self["#destroyed"] = true
103
+ if #self.listeners > 0 then
104
+ self.listeners = {}
105
+ self.priorityByListener = {}
106
+ if self.deinitialize then
107
+ self.deinitialize(self["#data"])
108
+ self["#data"] = nil
109
+ end
110
+ end
111
+ end
112
+ local invoke = ____exports.Event.invoke
113
+ local IgnoreEvent = __TS__Symbol()
114
+ ____exports.IgnoreEvent = IgnoreEvent
115
+ local function invokeEventIfNotIgnored(event, arg, ...)
116
+ if arg ~= IgnoreEvent then
117
+ invoke(event, arg, ...)
118
+ end
119
+ end
120
+ ____exports.TriggerEvent = __TS__Class()
121
+ local TriggerEvent = ____exports.TriggerEvent
122
+ TriggerEvent.name = "TriggerEvent"
123
+ __TS__ClassExtends(TriggerEvent, ____exports.InitializingEvent)
124
+ function TriggerEvent.prototype.____constructor(self, r, c)
125
+ TriggerEvent.____super.prototype.____constructor(
126
+ self,
127
+ function(event)
128
+ local trigger = createTrigger()
129
+ triggerAddCondition(
130
+ trigger,
131
+ condition(function()
132
+ invokeEventIfNotIgnored(
133
+ event,
134
+ c()
135
+ )
136
+ end)
137
+ )
138
+ r(trigger)
139
+ return trigger
140
+ end,
141
+ function(trigger)
142
+ if trigger then
143
+ triggerClearConditions(trigger)
144
+ destroyTrigger(trigger)
145
+ end
146
+ end
147
+ )
148
+ end
149
+ ____exports.createDispatchingEvent = function(underlyingEvent, extractKey, createEvent)
150
+ local actualCreateEvent = createEvent or (function() return __TS__New(____exports.Event) end)
151
+ local initialized = false
152
+ return setmetatable(
153
+ {},
154
+ {
155
+ __index = function(self, id)
156
+ if type(id) ~= "number" then
157
+ return underlyingEvent[id]
158
+ end
159
+ if not initialized then
160
+ local invoke = ____exports.Event.invoke
161
+ underlyingEvent:addListener(function(...)
162
+ local key = extractKey(...)
163
+ local event = rawget(self, key)
164
+ if event then
165
+ invoke(event, ...)
166
+ end
167
+ end)
168
+ initialized = true
169
+ end
170
+ local event = actualCreateEvent()
171
+ rawset(self, id, event)
172
+ return event
173
+ end,
174
+ __newindex = underlyingEvent
175
+ }
176
+ )
177
+ end
178
+ local function invokeEventIfNeeded(event, needed, ...)
179
+ if needed then
180
+ ____exports.Event.invoke(event, ...)
181
+ end
182
+ end
183
+ ____exports.DependentInitializingEvent = __TS__Class()
184
+ local DependentInitializingEvent = ____exports.DependentInitializingEvent
185
+ DependentInitializingEvent.name = "DependentInitializingEvent"
186
+ __TS__ClassExtends(DependentInitializingEvent, ____exports.InitializingEvent)
187
+ function DependentInitializingEvent.prototype.____constructor(self, underlyingEvent, priority, collector)
188
+ DependentInitializingEvent.____super.prototype.____constructor(
189
+ self,
190
+ function(event)
191
+ local function listener(...)
192
+ invokeEventIfNeeded(
193
+ event,
194
+ collector(...)
195
+ )
196
+ end
197
+ underlyingEvent:addListener(priority, listener)
198
+ return listener
199
+ end,
200
+ function(listener)
201
+ underlyingEvent:removeListener(listener)
202
+ end
203
+ )
204
+ end
205
+ local tableUnpack = table.unpack
206
+ local captorsToProcessByEvent = {}
207
+ local lastParametersByEvent = {}
208
+ ____exports.EventParametersCaptor = __TS__Class()
209
+ local EventParametersCaptor = ____exports.EventParametersCaptor
210
+ EventParametersCaptor.name = "EventParametersCaptor"
211
+ function EventParametersCaptor.prototype.____constructor(self, event)
212
+ self.event = event
213
+ local captorsToProcess = captorsToProcessByEvent[event]
214
+ if captorsToProcess == nil then
215
+ captorsToProcess = setmetatable({}, {__mode = "k"})
216
+ captorsToProcessByEvent[event] = captorsToProcess
217
+ event:addListener(
218
+ 4,
219
+ function(...)
220
+ local lastParameters = lastParametersByEvent[event]
221
+ if lastParameters == nil then
222
+ lastParameters = {n = 0}
223
+ lastParametersByEvent[event] = lastParameters
224
+ end
225
+ local argsN = select("#", ...)
226
+ for captor in pairs(captorsToProcess) do
227
+ if not captor.invoked then
228
+ for i = 1, argsN do
229
+ local arg = select(i, ...)
230
+ captor[i] = arg
231
+ end
232
+ captor.invoked = true
233
+ end
234
+ end
235
+ if (next(captorsToProcess)) ~= nil then
236
+ captorsToProcess = setmetatable({}, {__mode = "k"})
237
+ captorsToProcessByEvent[event] = captorsToProcess
238
+ end
239
+ for i = 1, argsN do
240
+ local arg = select(i, ...)
241
+ lastParameters[i] = arg
242
+ end
243
+ for i = argsN, lastParameters.n do
244
+ lastParameters[i] = nil
245
+ end
246
+ lastParameters.n = argsN
247
+ end
248
+ )
249
+ end
250
+ captorsToProcess[self] = true
251
+ end
252
+ function EventParametersCaptor.prototype.getFirstParameters(self)
253
+ if self.invoked then
254
+ return tableUnpack(self)
255
+ else
256
+ return
257
+ end
258
+ end
259
+ function EventParametersCaptor.prototype.getLastParameters(self)
260
+ if self.invoked then
261
+ return tableUnpack(lastParametersByEvent[self.event])
262
+ else
263
+ return
264
+ end
265
+ end
266
+ function EventParametersCaptor.create(self, event)
267
+ return __TS__New(____exports.EventParametersCaptor, event)
268
+ end
269
+ return ____exports
package/exception.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ /** @noSelfInFile */
2
+ export declare class Exception {
3
+ readonly message?: string;
4
+ readonly cause?: Exception;
5
+ readonly stackTrace: string[];
6
+ constructor();
7
+ constructor(message: string);
8
+ constructor(message: string, cause: Exception);
9
+ constructor(cause: Exception);
10
+ toString(): string;
11
+ }
12
+ export declare class IllegalArgumentException extends Exception {
13
+ }
14
+ export declare class IllegalStateException extends Exception {
15
+ }
16
+ export declare class CancellationException extends Exception {
17
+ }
package/exception.lua ADDED
@@ -0,0 +1,53 @@
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 ____error = _G.error
6
+ local xpcall = _G.xpcall
7
+ local substring = string.sub
8
+ local stackTrace
9
+ local i
10
+ local ok
11
+ local function handler(stackTraceElement)
12
+ if stackTraceElement ~= "" then
13
+ stackTrace[i] = substring(stackTraceElement, 1, -3)
14
+ i = i + 1
15
+ else
16
+ ok = false
17
+ end
18
+ end
19
+ ____exports.Exception = __TS__Class()
20
+ local Exception = ____exports.Exception
21
+ Exception.name = "Exception"
22
+ function Exception.prototype.____constructor(self, messageOrCause, cause)
23
+ if type(messageOrCause) == "table" then
24
+ self.message = tostring(messageOrCause)
25
+ self.cause = messageOrCause
26
+ else
27
+ self.message = messageOrCause
28
+ self.cause = cause
29
+ end
30
+ stackTrace = {}
31
+ i = 1
32
+ ok = true
33
+ while ok do
34
+ xpcall(____error, handler, "", 3 + i)
35
+ end
36
+ self.stackTrace = stackTrace
37
+ end
38
+ function Exception.prototype.__tostring(self)
39
+ return (self.constructor.name .. ": ") .. tostring(self.message)
40
+ end
41
+ ____exports.IllegalArgumentException = __TS__Class()
42
+ local IllegalArgumentException = ____exports.IllegalArgumentException
43
+ IllegalArgumentException.name = "IllegalArgumentException"
44
+ __TS__ClassExtends(IllegalArgumentException, ____exports.Exception)
45
+ ____exports.IllegalStateException = __TS__Class()
46
+ local IllegalStateException = ____exports.IllegalStateException
47
+ IllegalStateException.name = "IllegalStateException"
48
+ __TS__ClassExtends(IllegalStateException, ____exports.Exception)
49
+ ____exports.CancellationException = __TS__Class()
50
+ local CancellationException = ____exports.CancellationException
51
+ CancellationException.name = "CancellationException"
52
+ __TS__ClassExtends(CancellationException, ____exports.Exception)
53
+ return ____exports
package/file.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /** @noSelfInFile */
2
+ export declare function read(filename: string): string | undefined;
3
+ export declare function writeRaw(filename: string, ...args: string[]): void;
4
+ export declare function write(filename: string, content: string): void;
package/file.lua ADDED
@@ -0,0 +1,42 @@
1
+ local ____exports = {}
2
+ local preloader = Preloader
3
+ local abilityId = util.s2id("ANcl")
4
+ local maxPreloadSize = 259
5
+ local noDataMarker = "NO_DATA_PRESENT"
6
+ function ____exports.read(filename)
7
+ BlzSetAbilityIcon(abilityId, noDataMarker)
8
+ preloader(filename)
9
+ local data = BlzGetAbilityIcon(abilityId)
10
+ if data == noDataMarker then
11
+ return nil
12
+ else
13
+ return data
14
+ end
15
+ end
16
+ local function escapePreload(input)
17
+ return string.format("\")\n%s\n//", input)
18
+ end
19
+ local prelude = "\n//! beginusercode\nlocal o={}\nlocal i=1\nPreload=function(s)o[i]=s;i=i+1 end\nPreloadEnd=function()end\n//! endusercode\n"
20
+ local postlude = string.format("\n//! beginusercode\nBlzSetAbilityIcon(%s, table.concat(o))\n//! endusercode\n", abilityId)
21
+ function ____exports.writeRaw(filename, ...)
22
+ local args = {...}
23
+ PreloadGenClear()
24
+ PreloadGenStart()
25
+ for ____, content in ipairs(args) do
26
+ for ____, part in ipairs(string.partition(content, maxPreloadSize)) do
27
+ Preload(part)
28
+ end
29
+ end
30
+ PreloadGenEnd(filename)
31
+ end
32
+ function ____exports.write(filename, content)
33
+ PreloadGenClear()
34
+ PreloadGenStart()
35
+ Preload(escapePreload(prelude))
36
+ for ____, part in ipairs(string.partition(content, maxPreloadSize)) do
37
+ Preload(part)
38
+ end
39
+ Preload(escapePreload(postlude))
40
+ PreloadGenEnd(filename)
41
+ end
42
+ return ____exports
@@ -0,0 +1,21 @@
1
+ /** @noSelfInFile */
2
+
3
+ /** @noResolution */
4
+ declare namespace math {
5
+ /** Clamps the given value between the given minimum and maximum values. Returns the given value if it is within the min and max range. */
6
+ function clamp(v: number, min: number, max: number): number
7
+ /** Returns the sign of v. Return value is 1 when v is positive or zero, -1 when v is negative. */
8
+ function sign(v: number): number
9
+ /** Linearly interpolates between a and b by t. */
10
+ function lerp(a: number, b: number, t: number): number
11
+ }
12
+
13
+ /** @noResolution */
14
+ declare namespace table {
15
+ function bininsert<T>(list: T[], value: T, comp?: (a: T, b: T) => boolean): void
16
+ function binsearch<T>(
17
+ list: T[],
18
+ value: T,
19
+ comp?: (a: T, b: T) => boolean
20
+ ): LuaMultiReturn<[number, number] | [undefined]>
21
+ }