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,38 @@
1
+ /** @noSelfInFile */
2
+ import { BuffPolarity } from "../../object-data/auxiliary/buff-polarity";
3
+ import { BuffResistanceType } from "../../object-data/auxiliary/buff-resistance-type";
4
+ declare module "../unit" {
5
+ interface Unit {
6
+ hasBuff(buffTypeId: number): boolean;
7
+ }
8
+ }
9
+ declare module "../unit" {
10
+ interface Unit {
11
+ removeBuff(buffTypeId: number): boolean;
12
+ }
13
+ }
14
+ declare module "../unit" {
15
+ interface Unit {
16
+ /**
17
+ * @param polarity The polarity of buffs to count. Default `undefined`.
18
+ * @param resistanceType The resistance type of buffs to count. Default `undefined`.
19
+ * @param includeExpirationTimers Whether to include expiration timer buffs. Default `true`.
20
+ * @param includeAuras Whether to remove aura buffs. Default `true`.
21
+ * @param autoDispel Unknown. Default `false`.
22
+ */
23
+ countBuffs(polarity?: BuffPolarity, resistanceType?: BuffResistanceType, includeExpirationTimers?: boolean, includeAuras?: boolean, autoDispel?: boolean): number;
24
+ }
25
+ }
26
+ declare module "../unit" {
27
+ interface Unit {
28
+ /**
29
+ * @param polarity The polarity of buffs to remove. Default `undefined`.
30
+ * @param resistanceType The resistance type of buffs to remove. Default `undefined`.
31
+ * @param includeExpirationTimers Whether to include expiration timer buffs. Default `true`.
32
+ * @param includeAuras Whether to remove aura buffs. Default `true`.
33
+ * @param autoDispel Unknown. Default `false`.
34
+ */
35
+ removeBuffs(polarity?: BuffPolarity, resistanceType?: BuffResistanceType, includeExpirationTimers?: boolean, includeAuras?: boolean, autoDispel?: boolean): void;
36
+ removeBuffs(buffTypeIds: number[]): void;
37
+ }
38
+ }
@@ -0,0 +1,81 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
3
+ local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
4
+ local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
5
+ local ____exports = {}
6
+ local ____buff = require("engine.buff")
7
+ local checkBuff = ____buff.checkBuff
8
+ local checkBuffs = ____buff.checkBuffs
9
+ local ____unit = require("engine.internal.unit")
10
+ local Unit = ____unit.Unit
11
+ local ____applicable = require("engine.object-data.entry.buff-type.applicable")
12
+ local removeBuff = ____applicable.removeBuff
13
+ local getUnitAbilityLevel = GetUnitAbilityLevel
14
+ local unitCountBuffsEx = UnitCountBuffsEx
15
+ local unitRemoveAbility = UnitRemoveAbility
16
+ local unitRemoveBuffsEx = UnitRemoveBuffsEx
17
+ Unit.prototype.hasBuff = function(self, buffTypeId)
18
+ return getUnitAbilityLevel(self.handle, buffTypeId) > 0
19
+ end
20
+ Unit.prototype.removeBuff = function(self, buffTypeId)
21
+ if removeBuff(self.handle, buffTypeId) then
22
+ checkBuff(self, buffTypeId)
23
+ return true
24
+ end
25
+ return false
26
+ end
27
+ Unit.prototype.countBuffs = function(self, polarity, resistanceType, includeExpirationTimers, includeAuras, autoDispel)
28
+ if includeExpirationTimers == nil then
29
+ includeExpirationTimers = true
30
+ end
31
+ if includeAuras == nil then
32
+ includeAuras = true
33
+ end
34
+ if autoDispel == nil then
35
+ autoDispel = false
36
+ end
37
+ return unitCountBuffsEx(
38
+ self.handle,
39
+ (polarity or 3) & 1 ~= 0,
40
+ (polarity or 3) & 2 ~= 0,
41
+ (resistanceType or 0) & 1 ~= 0,
42
+ (resistanceType or 0) & 2 ~= 0,
43
+ includeExpirationTimers,
44
+ includeAuras,
45
+ autoDispel
46
+ )
47
+ end
48
+ Unit.prototype.removeBuffs = function(self, polarityOrBuffTypeIds, resistanceType, includeExpirationTimers, includeAuras, autoDispel)
49
+ if type(polarityOrBuffTypeIds) == "table" then
50
+ local handle = self.handle
51
+ for i = 1, #polarityOrBuffTypeIds do
52
+ unitRemoveAbility(handle, polarityOrBuffTypeIds[i])
53
+ end
54
+ else
55
+ local ____array_3 = __TS__SparseArrayNew(
56
+ self.handle,
57
+ (polarityOrBuffTypeIds or 3) & 1 ~= 0,
58
+ (polarityOrBuffTypeIds or 3) & 2 ~= 0,
59
+ (resistanceType or 0) & 1 ~= 0,
60
+ (resistanceType or 0) & 2 ~= 0
61
+ )
62
+ local ____includeExpirationTimers_0 = includeExpirationTimers
63
+ if ____includeExpirationTimers_0 == nil then
64
+ ____includeExpirationTimers_0 = true
65
+ end
66
+ __TS__SparseArrayPush(____array_3, ____includeExpirationTimers_0)
67
+ local ____includeAuras_1 = includeAuras
68
+ if ____includeAuras_1 == nil then
69
+ ____includeAuras_1 = true
70
+ end
71
+ __TS__SparseArrayPush(____array_3, ____includeAuras_1)
72
+ local ____autoDispel_2 = autoDispel
73
+ if ____autoDispel_2 == nil then
74
+ ____autoDispel_2 = false
75
+ end
76
+ __TS__SparseArrayPush(____array_3, ____autoDispel_2)
77
+ unitRemoveBuffsEx(__TS__SparseArraySpread(____array_3))
78
+ end
79
+ checkBuffs(self)
80
+ end
81
+ return ____exports
@@ -0,0 +1,22 @@
1
+ /** @noSelfInFile */
2
+ import { BuffTypeId } from "../../object-data/entry/buff-type";
3
+ declare module "../unit" {
4
+ interface Unit {
5
+ startExpirationTimer(this: Unit, duration: number, buffTypeId?: BuffTypeId): void;
6
+ }
7
+ }
8
+ declare module "../unit" {
9
+ interface Unit {
10
+ removeExpirationTimer(this: Unit): void;
11
+ }
12
+ }
13
+ declare module "../unit" {
14
+ interface Unit {
15
+ pauseExpirationTimer(this: Unit): void;
16
+ }
17
+ }
18
+ declare module "../unit" {
19
+ interface Unit {
20
+ resumeExpirationTimer(this: Unit): void;
21
+ }
22
+ }
@@ -0,0 +1,44 @@
1
+ local ____exports = {}
2
+ local ____unit = require("engine.internal.unit")
3
+ local Unit = ____unit.Unit
4
+ local ____phoenix_2Dmorph = require("engine.object-data.entry.ability-type.phoenix-morph")
5
+ local PhoenixMorphAbilityType = ____phoenix_2Dmorph.PhoenixMorphAbilityType
6
+ local applyTimedLife = UnitApplyTimedLife
7
+ local cancelTimedLife = BlzUnitCancelTimedLife
8
+ local getWidgetLife = GetWidgetLife
9
+ local pauseTimedLife = UnitPauseTimedLife
10
+ local setWidgetLife = SetWidgetLife
11
+ local unitAddAbility = UnitAddAbility
12
+ local unitRemoveAbility = UnitRemoveAbility
13
+ Unit.prototype.startExpirationTimer = function(self, duration, buffTypeId)
14
+ applyTimedLife(
15
+ self.handle,
16
+ buffTypeId or fourCC("BTLF"),
17
+ duration
18
+ )
19
+ end
20
+ local dummyPhoenixMorphAbilityTypeId = compiletime(function()
21
+ local abilityType = PhoenixMorphAbilityType:create()
22
+ abilityType.name = "Expiration Timer Dummy Ability"
23
+ return abilityType.id
24
+ end)
25
+ Unit.prototype.removeExpirationTimer = function(self)
26
+ local handle = self.handle
27
+ unitAddAbility(handle, dummyPhoenixMorphAbilityTypeId)
28
+ local life = getWidgetLife(handle)
29
+ cancelTimedLife(handle)
30
+ setWidgetLife(handle, life)
31
+ end
32
+ Unit.onImmediateOrder[orderId("phoenixmorph")]:addListener(
33
+ 4,
34
+ function(unit)
35
+ unitRemoveAbility(unit.handle, dummyPhoenixMorphAbilityTypeId)
36
+ end
37
+ )
38
+ Unit.prototype.pauseExpirationTimer = function(self)
39
+ pauseTimedLife(self.handle, true)
40
+ end
41
+ Unit.prototype.resumeExpirationTimer = function(self)
42
+ pauseTimedLife(self.handle, false)
43
+ end
44
+ return ____exports
@@ -0,0 +1,12 @@
1
+ /** @noSelfInFile */
2
+ declare module "../unit" {
3
+ interface Unit {
4
+ incrementGhostCounter(): void;
5
+ }
6
+ }
7
+ declare module "../unit" {
8
+ interface Unit {
9
+ decrementGhostCounter(): void;
10
+ }
11
+ }
12
+ export {};
@@ -0,0 +1,26 @@
1
+ local ____exports = {}
2
+ local ____unit = require("engine.internal.unit")
3
+ local Unit = ____unit.Unit
4
+ local ____ghost_2Dvisible = require("engine.internal.object-data.ghost-visible")
5
+ local GHOST_VISIBLE_DUMMY_ABILITY_TYPE_ID = ____ghost_2Dvisible.GHOST_VISIBLE_DUMMY_ABILITY_TYPE_ID
6
+ local unitAddAbility = UnitAddAbility
7
+ local unitMakeAbilityPermanent = UnitMakeAbilityPermanent
8
+ local unitRemoveAbility = UnitRemoveAbility
9
+ local ghostCounterByUnit = setmetatable({}, {__mode = "k"})
10
+ Unit.prototype.incrementGhostCounter = function(self)
11
+ local ghostCounter = ghostCounterByUnit[self] or 0
12
+ if ghostCounter == 0 then
13
+ local handle = self.handle
14
+ unitAddAbility(handle, GHOST_VISIBLE_DUMMY_ABILITY_TYPE_ID)
15
+ unitMakeAbilityPermanent(handle, true, GHOST_VISIBLE_DUMMY_ABILITY_TYPE_ID)
16
+ end
17
+ ghostCounterByUnit[self] = ghostCounter + 1
18
+ end
19
+ Unit.prototype.decrementGhostCounter = function(self)
20
+ local ghostCounter = ghostCounterByUnit[self] or 0
21
+ if ghostCounter == 1 then
22
+ unitRemoveAbility(self.handle, GHOST_VISIBLE_DUMMY_ABILITY_TYPE_ID)
23
+ end
24
+ ghostCounterByUnit[self] = ghostCounter - 1
25
+ end
26
+ return ____exports
@@ -0,0 +1,12 @@
1
+ /** @noSelfInFile */
2
+ declare module "../unit" {
3
+ interface Unit {
4
+ incrementInvulnerabilityCounter(): void;
5
+ }
6
+ }
7
+ declare module "../unit" {
8
+ interface Unit {
9
+ decrementInvulnerabilityCounter(): void;
10
+ }
11
+ }
12
+ export {};
@@ -0,0 +1,26 @@
1
+ local ____exports = {}
2
+ local ____unit = require("engine.internal.unit")
3
+ local Unit = ____unit.Unit
4
+ local ____invulnerable = require("engine.internal.object-data.invulnerable")
5
+ local INVULNERABLE_INTERNAL_ABILITY_TYPE_ID = ____invulnerable.INVULNERABLE_INTERNAL_ABILITY_TYPE_ID
6
+ local unitAddAbility = UnitAddAbility
7
+ local unitMakeAbilityPermanent = UnitMakeAbilityPermanent
8
+ local unitRemoveAbility = UnitRemoveAbility
9
+ local invulnerabilityCounterByUnit = setmetatable({}, {__mode = "k"})
10
+ Unit.prototype.incrementInvulnerabilityCounter = function(self)
11
+ local invulnerabilityCounter = invulnerabilityCounterByUnit[self] or 0
12
+ if invulnerabilityCounter == 0 then
13
+ local handle = self.handle
14
+ unitAddAbility(handle, INVULNERABLE_INTERNAL_ABILITY_TYPE_ID)
15
+ unitMakeAbilityPermanent(handle, true, INVULNERABLE_INTERNAL_ABILITY_TYPE_ID)
16
+ end
17
+ invulnerabilityCounterByUnit[self] = invulnerabilityCounter + 1
18
+ end
19
+ Unit.prototype.decrementInvulnerabilityCounter = function(self)
20
+ local invulnerabilityCounter = invulnerabilityCounterByUnit[self] or 0
21
+ if invulnerabilityCounter == 1 then
22
+ unitRemoveAbility(self.handle, INVULNERABLE_INTERNAL_ABILITY_TYPE_ID)
23
+ end
24
+ invulnerabilityCounterByUnit[self] = invulnerabilityCounter - 1
25
+ end
26
+ return ____exports
@@ -0,0 +1,42 @@
1
+ /** @noSelfInFile */
2
+ declare module "../unit" {
3
+ interface Unit {
4
+ readonly missileLaunchOffsetX: number;
5
+ }
6
+ }
7
+ declare module "../unit" {
8
+ interface Unit {
9
+ readonly missileLaunchOffsetY: number;
10
+ }
11
+ }
12
+ declare module "../unit" {
13
+ interface Unit {
14
+ readonly missileLaunchOffsetZ: number;
15
+ }
16
+ }
17
+ declare module "../unit" {
18
+ interface Unit {
19
+ readonly missileImpactOffsetZ: number;
20
+ }
21
+ }
22
+ declare module "../unit" {
23
+ interface Unit {
24
+ readonly missileLaunchX: number;
25
+ }
26
+ }
27
+ declare module "../unit" {
28
+ interface Unit {
29
+ readonly missileLaunchY: number;
30
+ }
31
+ }
32
+ declare module "../unit" {
33
+ interface Unit {
34
+ readonly missileLaunchZ: number;
35
+ }
36
+ }
37
+ declare module "../unit" {
38
+ interface Unit {
39
+ readonly missileImpactZ: number;
40
+ }
41
+ }
42
+ export {};
@@ -0,0 +1,70 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
3
+ local ____exports = {}
4
+ local ____unit = require("engine.internal.unit")
5
+ local Unit = ____unit.Unit
6
+ local ____unit_2Dmissile_2Ddata = require("engine.internal.unit-missile-data")
7
+ local MISSILE_DATA_BY_UNIT_TYPE_ID = ____unit_2Dmissile_2Ddata.MISSILE_DATA_BY_UNIT_TYPE_ID
8
+ local getUnitFlyHeight = GetUnitFlyHeight
9
+ local getUnitX = GetUnitX
10
+ local getUnitY = GetUnitY
11
+ local getUnitZ = BlzGetUnitZ
12
+ __TS__ObjectDefineProperty(
13
+ Unit.prototype,
14
+ "missileLaunchOffsetX",
15
+ {get = function(self)
16
+ return MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetX
17
+ end}
18
+ )
19
+ __TS__ObjectDefineProperty(
20
+ Unit.prototype,
21
+ "missileLaunchOffsetY",
22
+ {get = function(self)
23
+ return MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetY
24
+ end}
25
+ )
26
+ __TS__ObjectDefineProperty(
27
+ Unit.prototype,
28
+ "missileLaunchOffsetZ",
29
+ {get = function(self)
30
+ return MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetZ
31
+ end}
32
+ )
33
+ __TS__ObjectDefineProperty(
34
+ Unit.prototype,
35
+ "missileImpactOffsetZ",
36
+ {get = function(self)
37
+ return MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].impactOffsetZ
38
+ end}
39
+ )
40
+ __TS__ObjectDefineProperty(
41
+ Unit.prototype,
42
+ "missileLaunchX",
43
+ {get = function(self)
44
+ return getUnitX(self.handle) + MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetX
45
+ end}
46
+ )
47
+ __TS__ObjectDefineProperty(
48
+ Unit.prototype,
49
+ "missileLaunchY",
50
+ {get = function(self)
51
+ return getUnitY(self.handle) + MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetY
52
+ end}
53
+ )
54
+ __TS__ObjectDefineProperty(
55
+ Unit.prototype,
56
+ "missileLaunchZ",
57
+ {get = function(self)
58
+ local handle = self.handle
59
+ return getUnitZ(handle) + getUnitFlyHeight(handle) + MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetZ
60
+ end}
61
+ )
62
+ __TS__ObjectDefineProperty(
63
+ Unit.prototype,
64
+ "missileImpactZ",
65
+ {get = function(self)
66
+ local handle = self.handle
67
+ return getUnitZ(handle) + getUnitFlyHeight(handle) + MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].impactOffsetZ
68
+ end}
69
+ )
70
+ return ____exports
@@ -0,0 +1,18 @@
1
+ /** @noSelfInFile */
2
+ import { Event } from "../../../event";
3
+ declare module "../unit" {
4
+ namespace Unit {
5
+ const baseMovementSpeedChangedEvent: Event<[
6
+ unit: Unit,
7
+ previousValue: number,
8
+ newValue: number
9
+ ]>;
10
+ }
11
+ interface Unit {
12
+ /** The current movement speed excluding bonuses. */
13
+ movementSpeedBase: number;
14
+ readonly movementSpeedBonus: number;
15
+ /** The current movement speed including bonuses. */
16
+ readonly movementSpeed: number;
17
+ }
18
+ }
@@ -0,0 +1,42 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__New = ____lualib.__TS__New
3
+ local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
4
+ local ____exports = {}
5
+ local ____unit = require("engine.internal.unit")
6
+ local Unit = ____unit.Unit
7
+ local ____event = require("event")
8
+ local Event = ____event.Event
9
+ local ____math = require("math")
10
+ local clamp = ____math.clamp
11
+ local getUnitDefaultMovementSpeed = GetUnitDefaultMoveSpeed
12
+ local getUnitMovementSpeed = GetUnitMoveSpeed
13
+ local setUnitMovementSpeed = SetUnitMoveSpeed
14
+ local MAXIMUM_MOVEMENT_SPEED = 522
15
+ local MINIMUM_MOVEMENT_SPEED = 1
16
+ local baseMovementSpeedChangedEvent = __TS__New(Event)
17
+ rawset(Unit, "baseMovementSpeedChangedEvent", baseMovementSpeedChangedEvent)
18
+ local baseMovementSpeedByUnit = setmetatable({}, {__mode = "k"})
19
+ __TS__ObjectDefineProperty(
20
+ Unit.prototype,
21
+ "baseMovementSpeed",
22
+ {
23
+ get = function(self)
24
+ return baseMovementSpeedByUnit[self] or getUnitDefaultMovementSpeed(self.handle)
25
+ end,
26
+ set = function(self, baseMovementSpeed)
27
+ setUnitMovementSpeed(self.handle, baseMovementSpeed)
28
+ local oldBaseMovementSpeed = baseMovementSpeedByUnit[self] or getUnitDefaultMovementSpeed(self.handle)
29
+ local newBaseMovementSpeed = clamp(baseMovementSpeed, MINIMUM_MOVEMENT_SPEED, MAXIMUM_MOVEMENT_SPEED)
30
+ baseMovementSpeedByUnit[self] = newBaseMovementSpeed
31
+ Event.invoke(baseMovementSpeedChangedEvent, self, oldBaseMovementSpeed, newBaseMovementSpeed)
32
+ end
33
+ }
34
+ )
35
+ __TS__ObjectDefineProperty(
36
+ Unit.prototype,
37
+ "movementSpeed",
38
+ {get = function(self)
39
+ return getUnitMovementSpeed(self.handle)
40
+ end}
41
+ )
42
+ return ____exports
@@ -0,0 +1,12 @@
1
+ /** @noSelfInFile */
2
+ import { Event } from "../../../event";
3
+ declare module "../unit" {
4
+ namespace Unit {
5
+ const summonEvent: Event<[summoningUnit: Unit, summonedUnit: Unit]>;
6
+ }
7
+ }
8
+ declare module "../unit" {
9
+ namespace Unit {
10
+ const summonedEvent: Event<[summonedUnit: Unit, summoningUnit?: Unit]>;
11
+ }
12
+ }
@@ -0,0 +1,50 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__New = ____lualib.__TS__New
3
+ local ____exports = {}
4
+ local ____event = require("event")
5
+ local DependentInitializingEvent = ____event.DependentInitializingEvent
6
+ local ____unit = require("engine.internal.unit")
7
+ local Unit = ____unit.Unit
8
+ local UnitTriggerEvent = ____unit.UnitTriggerEvent
9
+ local getTriggerUnit = GetTriggerUnit
10
+ local getSummoningUnit = GetSummoningUnit
11
+ local internalSummonEvent = __TS__New(
12
+ UnitTriggerEvent,
13
+ EVENT_PLAYER_UNIT_SUMMON,
14
+ function()
15
+ return Unit:of(getTriggerUnit()), Unit:of(getSummoningUnit())
16
+ end
17
+ )
18
+ rawset(
19
+ Unit,
20
+ "summonEvent",
21
+ __TS__New(
22
+ DependentInitializingEvent,
23
+ internalSummonEvent,
24
+ 4,
25
+ function(summonedUnit, summoningUnit)
26
+ if summonedUnit ~= nil and summoningUnit ~= nil then
27
+ return true, summoningUnit, summonedUnit
28
+ else
29
+ return false
30
+ end
31
+ end
32
+ )
33
+ )
34
+ rawset(
35
+ Unit,
36
+ "summonedEvent",
37
+ __TS__New(
38
+ DependentInitializingEvent,
39
+ internalSummonEvent,
40
+ 3,
41
+ function(summonedUnit, summoningUnit)
42
+ if summonedUnit ~= nil then
43
+ return true, summonedUnit, summoningUnit
44
+ else
45
+ return false
46
+ end
47
+ end
48
+ )
49
+ )
50
+ return ____exports
@@ -0,0 +1,9 @@
1
+ /** @noSelfInFile */
2
+ import { Ability } from "./ability";
3
+ import { DispatchingEvent } from "../../event";
4
+ declare module "./unit" {
5
+ namespace Unit {
6
+ const abilityGainedEvent: DispatchingEvent<[Unit, Ability]>;
7
+ const abilityLostEvent: DispatchingEvent<[Unit, Ability]>;
8
+ }
9
+ }
@@ -0,0 +1,59 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__New = ____lualib.__TS__New
3
+ local ____exports = {}
4
+ local ____ability = require("engine.internal.ability")
5
+ local ItemAbility = ____ability.ItemAbility
6
+ local UnitAbility = ____ability.UnitAbility
7
+ local ____unit = require("engine.internal.unit")
8
+ local Unit = ____unit.Unit
9
+ local ____event = require("event")
10
+ local Event = ____event.Event
11
+ local createDispatchingEvent = ____event.createDispatchingEvent
12
+ local abilityGainedEvent = createDispatchingEvent(
13
+ __TS__New(Event),
14
+ function(unit, ability) return ability.typeId end
15
+ )
16
+ rawset(Unit, "abilityGainedEvent", abilityGainedEvent)
17
+ local abilityLostEvent = createDispatchingEvent(
18
+ __TS__New(Event),
19
+ function(unit, ability) return ability.typeId end
20
+ )
21
+ rawset(Unit, "abilityLostEvent", abilityLostEvent)
22
+ UnitAbility.onCreate:addListener(
23
+ 0,
24
+ function(ability)
25
+ Event.invoke(abilityGainedEvent, ability.owner, ability)
26
+ end
27
+ )
28
+ UnitAbility.destroyEvent:addListener(
29
+ 4,
30
+ function(ability)
31
+ Event.invoke(abilityLostEvent, ability.owner, ability)
32
+ end
33
+ )
34
+ ItemAbility.onCreate:addListener(
35
+ 0,
36
+ function(ability)
37
+ local unit = ability.owner.owner
38
+ if unit ~= nil then
39
+ Event.invoke(abilityGainedEvent, unit, ability)
40
+ end
41
+ end
42
+ )
43
+ Unit.onItemPickup:addListener(
44
+ 0,
45
+ function(unit, item)
46
+ for ____, ability in ipairs(item.abilities) do
47
+ Event.invoke(abilityGainedEvent, unit, ability)
48
+ end
49
+ end
50
+ )
51
+ Unit.onItemDrop:addListener(
52
+ 4,
53
+ function(unit, item)
54
+ for ____, ability in ipairs(item.abilities) do
55
+ Event.invoke(abilityLostEvent, unit, ability)
56
+ end
57
+ end
58
+ )
59
+ return ____exports
@@ -0,0 +1,8 @@
1
+ /** @noSelfInFile */
2
+ declare module "./unit" {
3
+ interface Unit {
4
+ armorBonus: number;
5
+ armorBonusFactor: number;
6
+ }
7
+ }
8
+ export {};
@@ -0,0 +1,40 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
3
+ local ____exports = {}
4
+ local ____unit = require("engine.internal.unit")
5
+ local Unit = ____unit.Unit
6
+ local ____armor_2Dincrease = require("engine.internal.object-data.armor-increase")
7
+ local ARMOR_BONUS_DUMMY_ABILITY_FIELD = ____armor_2Dincrease.ARMOR_BONUS_DUMMY_ABILITY_FIELD
8
+ local ARMOR_BONUS_DUMMY_ABILITY_TYPE_ID = ____armor_2Dincrease.ARMOR_BONUS_DUMMY_ABILITY_TYPE_ID
9
+ local getUnitAbility = BlzGetUnitAbility
10
+ local setAbilityRealLevelField = BlzSetAbilityRealLevelField
11
+ local unitAddAbility = UnitAddAbility
12
+ local unitMakeAbilityPermanent = UnitMakeAbilityPermanent
13
+ local unitRemoveAbility = UnitRemoveAbility
14
+ local bonusArmorByUnit = setmetatable({}, {__mode = "k"})
15
+ __TS__ObjectDefineProperty(
16
+ Unit.prototype,
17
+ "armorBonus",
18
+ {
19
+ get = function(self)
20
+ return bonusArmorByUnit[self] or 0
21
+ end,
22
+ set = function(self, bonusArmor)
23
+ local unitHandle = self.handle
24
+ if bonusArmor == 0 then
25
+ if unitRemoveAbility(unitHandle, bonusArmor) then
26
+ bonusArmorByUnit[self] = 0
27
+ end
28
+ return
29
+ end
30
+ if unitAddAbility(unitHandle, ARMOR_BONUS_DUMMY_ABILITY_TYPE_ID) then
31
+ unitMakeAbilityPermanent(unitHandle, true, ARMOR_BONUS_DUMMY_ABILITY_TYPE_ID)
32
+ end
33
+ local abilityHandle = getUnitAbility(unitHandle, ARMOR_BONUS_DUMMY_ABILITY_TYPE_ID)
34
+ if abilityHandle and setAbilityRealLevelField(abilityHandle, ARMOR_BONUS_DUMMY_ABILITY_FIELD, 0, bonusArmor) then
35
+ bonusArmorByUnit[self] = bonusArmor
36
+ end
37
+ end
38
+ }
39
+ )
40
+ return ____exports