warscript 0.0.1-dev.724bf08 → 0.0.1-dev.72620d4

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 (436) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/config.d.ts +5 -0
  4. package/config.lua +10 -0
  5. package/core/dummy.lua +4 -2
  6. package/core/types/effect.d.ts +13 -4
  7. package/core/types/effect.lua +136 -123
  8. package/core/types/frame.d.ts +16 -2
  9. package/core/types/frame.lua +141 -77
  10. package/core/types/handle.lua +9 -9
  11. package/core/types/item.d.ts +1 -0
  12. package/core/types/item.lua +1 -0
  13. package/core/types/player.d.ts +18 -1
  14. package/core/types/player.lua +76 -26
  15. package/core/types/playerCamera.d.ts +2 -0
  16. package/core/types/playerCamera.lua +123 -5
  17. package/core/types/playerColor.lua +4 -3
  18. package/core/types/sound.d.ts +18 -25
  19. package/core/types/sound.lua +113 -33
  20. package/core/types/tileCell.d.ts +11 -1
  21. package/core/types/tileCell.lua +97 -0
  22. package/core/types/timer.d.ts +9 -8
  23. package/core/types/timer.lua +45 -23
  24. package/core/types/unit.d.ts +5 -0
  25. package/core/types/unit.lua +5 -0
  26. package/core/util.d.ts +3 -1
  27. package/core/util.lua +121 -4
  28. package/decl/native.d.ts +1718 -964
  29. package/destroyable.d.ts +1 -0
  30. package/destroyable.lua +9 -0
  31. package/engine/behavior.d.ts +14 -1
  32. package/engine/behavior.lua +230 -70
  33. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  34. package/engine/behaviour/ability/always-enabled.lua +31 -0
  35. package/engine/behaviour/ability/apply-buff.d.ts +5 -0
  36. package/engine/behaviour/ability/apply-buff.lua +36 -4
  37. package/engine/behaviour/ability/apply-unit-behavior.lua +6 -0
  38. package/engine/behaviour/ability/damage.d.ts +13 -3
  39. package/engine/behaviour/ability/damage.lua +41 -49
  40. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  41. package/engine/behaviour/ability/emulate-impact.lua +20 -6
  42. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  43. package/engine/behaviour/ability/on-command-impact.lua +8 -0
  44. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  45. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  46. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  47. package/engine/behaviour/ability/restore-mana.lua +6 -6
  48. package/engine/behaviour/ability.d.ts +23 -6
  49. package/engine/behaviour/ability.lua +133 -24
  50. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  51. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  52. package/engine/behaviour/unit.d.ts +41 -2
  53. package/engine/behaviour/unit.lua +270 -6
  54. package/engine/buff.d.ts +121 -59
  55. package/engine/buff.lua +605 -301
  56. package/engine/index.d.ts +2 -1
  57. package/engine/internal/ability.d.ts +25 -2
  58. package/engine/internal/ability.lua +164 -30
  59. package/engine/internal/item/ability.lua +162 -4
  60. package/engine/internal/item/fields.d.ts +12 -0
  61. package/engine/internal/item/fields.lua +33 -0
  62. package/engine/internal/item/owner-cache.d.ts +5 -0
  63. package/engine/internal/item/owner-cache.lua +4 -0
  64. package/engine/internal/item+owner.d.ts +2 -0
  65. package/engine/internal/item+owner.lua +37 -8
  66. package/engine/internal/item.d.ts +34 -18
  67. package/engine/internal/item.lua +308 -102
  68. package/engine/internal/mechanics/ability-duration.lua +1 -1
  69. package/engine/internal/mechanics/cast-ability.lua +6 -3
  70. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  71. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  72. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  73. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  74. package/engine/internal/misc/frame-coordinates.lua +21 -0
  75. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  76. package/engine/internal/misc/get-terrain-z.lua +11 -0
  77. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  78. package/engine/internal/misc/player-local-handle.lua +5 -0
  79. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  80. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  81. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  82. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  83. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  84. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  85. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  86. package/engine/internal/object-data/evasion-probability.lua +16 -0
  87. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  88. package/engine/internal/object-data/health-bonus.lua +16 -0
  89. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  90. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  91. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  92. package/engine/internal/object-data/mana-bonus.lua +16 -0
  93. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  94. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  95. package/engine/internal/unit/ability.d.ts +35 -0
  96. package/engine/internal/unit/ability.lua +113 -12
  97. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  98. package/engine/internal/unit/add-item-to-slot-init.lua +12 -0
  99. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  100. package/engine/internal/unit/add-item-to-slot.lua +93 -0
  101. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  102. package/engine/internal/unit/allowed-targets.lua +9 -1
  103. package/engine/internal/unit/appearance.d.ts +15 -0
  104. package/engine/internal/unit/appearance.lua +85 -0
  105. package/engine/internal/unit/attributes.d.ts +17 -0
  106. package/engine/internal/unit/attributes.lua +46 -0
  107. package/engine/internal/unit/bonus.d.ts +16 -0
  108. package/engine/internal/unit/bonus.lua +119 -8
  109. package/engine/internal/unit/buff.d.ts +2 -2
  110. package/engine/internal/unit/buff.lua +34 -19
  111. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  112. package/engine/internal/unit/equipment-inventory.lua +233 -0
  113. package/engine/internal/unit/expiration-timer.lua +1 -1
  114. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  115. package/engine/internal/unit/extended-inventory.lua +99 -0
  116. package/engine/internal/unit/fly-height.d.ts +7 -0
  117. package/engine/internal/unit/fly-height.lua +20 -0
  118. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  119. package/engine/internal/unit/ignore-events-items.lua +14 -0
  120. package/engine/internal/unit/interrupts.d.ts +12 -0
  121. package/engine/internal/unit/interrupts.lua +28 -0
  122. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  123. package/engine/internal/unit/inventory.lua +87 -0
  124. package/engine/internal/unit/item-container.d.ts +25 -0
  125. package/engine/internal/unit/item-container.lua +11 -0
  126. package/engine/internal/unit/item-order-events.d.ts +17 -0
  127. package/engine/internal/unit/item-order-events.lua +67 -0
  128. package/engine/internal/unit/item-slot.d.ts +27 -0
  129. package/engine/internal/unit/item-slot.lua +92 -0
  130. package/engine/internal/unit/main-selected.lua +12 -27
  131. package/engine/internal/unit/order.d.ts +20 -0
  132. package/engine/internal/unit/order.lua +136 -0
  133. package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
  134. package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
  135. package/engine/internal/unit/range-event.d.ts +12 -0
  136. package/engine/internal/unit/range-event.lua +90 -0
  137. package/engine/internal/unit/scale.d.ts +7 -0
  138. package/engine/internal/unit/scale.lua +20 -0
  139. package/engine/internal/unit+ability.d.ts +2 -1
  140. package/engine/internal/unit+ability.lua +73 -3
  141. package/engine/internal/unit+bonus.lua +3 -3
  142. package/engine/internal/unit+damage.d.ts +11 -11
  143. package/engine/internal/unit+damage.lua +43 -14
  144. package/engine/internal/unit+rally.lua +9 -31
  145. package/engine/internal/unit+spellSteal.lua +1 -2
  146. package/engine/internal/unit-missile-data.lua +58 -32
  147. package/engine/internal/unit-missile-launch.lua +65 -27
  148. package/engine/internal/unit.d.ts +45 -33
  149. package/engine/internal/unit.lua +432 -308
  150. package/engine/internal/utility.lua +12 -0
  151. package/engine/lightning.d.ts +12 -5
  152. package/engine/lightning.lua +48 -14
  153. package/engine/local-client.d.ts +28 -0
  154. package/engine/local-client.lua +324 -54
  155. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  156. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  157. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  158. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  159. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -2
  160. package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
  161. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  162. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  163. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  164. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  165. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  166. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  167. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  168. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  169. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  170. package/engine/object-data/auxiliary/item-class.lua +2 -0
  171. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  172. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  173. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  174. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  175. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  176. package/engine/object-data/auxiliary/order-type.lua +2 -0
  177. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  178. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  179. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  180. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  181. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  182. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  183. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  184. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  185. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  186. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  187. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  188. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  189. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  190. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  191. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  192. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  193. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  194. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  195. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  196. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  197. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  198. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  199. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -0
  200. package/engine/object-data/entry/ability-type/blank-configurable.lua +42 -1
  201. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  202. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  203. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  204. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  205. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  206. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  207. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  208. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  209. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  210. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  211. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  212. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  213. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  214. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  215. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  216. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  217. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  218. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  219. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  220. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  221. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  222. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  223. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  224. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  225. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  226. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  227. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  228. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  229. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  230. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  231. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  232. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  233. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  234. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  235. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  236. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  237. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  238. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  239. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  240. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  241. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  242. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  243. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  244. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  245. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  246. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  247. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  248. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  249. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  250. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  251. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  252. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  253. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  254. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  255. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  256. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  257. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  258. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  259. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  260. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  261. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  262. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  263. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  264. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  265. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  266. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  267. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  268. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  269. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  270. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  271. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  272. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  273. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  274. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  275. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  276. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  277. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  278. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  279. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  280. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  281. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  282. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  283. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  284. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  285. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  286. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  287. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  288. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  289. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  290. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  291. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  292. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  293. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  294. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  295. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  296. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  297. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  298. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  299. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  300. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  301. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  302. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  303. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  304. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  305. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  306. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  307. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  308. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  309. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  310. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  311. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  312. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  313. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  314. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  315. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  316. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  317. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  318. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  319. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  320. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  321. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  322. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  323. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  324. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  325. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  326. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  327. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  328. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  329. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  330. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  331. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  332. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  333. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  334. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  335. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  336. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  337. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  338. package/engine/object-data/entry/ability-type/web.lua +52 -0
  339. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  340. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  341. package/engine/object-data/entry/ability-type.d.ts +41 -20
  342. package/engine/object-data/entry/ability-type.lua +337 -44
  343. package/engine/object-data/entry/buff-type/applicable.lua +122 -137
  344. package/engine/object-data/entry/buff-type.d.ts +10 -12
  345. package/engine/object-data/entry/buff-type.lua +39 -29
  346. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  347. package/engine/object-data/entry/destructible-type.lua +181 -0
  348. package/engine/object-data/entry/item-type.d.ts +20 -3
  349. package/engine/object-data/entry/item-type.lua +99 -2
  350. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  351. package/engine/object-data/entry/lightning-type.lua +1 -1
  352. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  353. package/engine/object-data/entry/sound-preset.lua +140 -0
  354. package/engine/object-data/entry/unit-type.d.ts +71 -6
  355. package/engine/object-data/entry/unit-type.lua +592 -93
  356. package/engine/object-data/entry/upgrade.d.ts +2 -2
  357. package/engine/object-data/entry/upgrade.lua +4 -4
  358. package/engine/object-data/entry.d.ts +21 -14
  359. package/engine/object-data/entry.lua +68 -32
  360. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  361. package/engine/object-field/ability.d.ts +8 -5
  362. package/engine/object-field/ability.lua +10 -6
  363. package/engine/object-field/item.d.ts +22 -0
  364. package/engine/object-field/item.lua +118 -0
  365. package/engine/object-field/unit.d.ts +72 -3
  366. package/engine/object-field/unit.lua +268 -7
  367. package/engine/object-field.d.ts +26 -7
  368. package/engine/object-field.lua +362 -117
  369. package/engine/random.d.ts +10 -0
  370. package/engine/random.lua +21 -0
  371. package/engine/standard/entries/ability-type.d.ts +3102 -7
  372. package/engine/standard/entries/ability-type.lua +0 -6
  373. package/engine/standard/entries/buff-type.d.ts +48 -0
  374. package/engine/standard/entries/buff-type.lua +46 -0
  375. package/engine/standard/entries/item-type.d.ts +1299 -0
  376. package/engine/standard/entries/item-type.lua +2 -0
  377. package/engine/standard/entries/lightning-type.d.ts +42 -15
  378. package/engine/standard/entries/lightning-type.lua +0 -14
  379. package/engine/standard/entries/sound-preset.d.ts +10 -0
  380. package/engine/standard/entries/sound-preset.lua +10 -0
  381. package/engine/standard/entries/unit-type.d.ts +5 -0
  382. package/engine/standard/entries/unit-type.lua +5 -0
  383. package/engine/standard/fields/ability.d.ts +2 -2
  384. package/engine/standard/fields/ability.lua +2 -2
  385. package/engine/standard/fields/item.d.ts +4 -0
  386. package/engine/standard/fields/item.lua +6 -0
  387. package/engine/standard/fields/unit.d.ts +12 -0
  388. package/engine/standard/fields/unit.lua +20 -0
  389. package/engine/synchronization.d.ts +11 -0
  390. package/engine/synchronization.lua +77 -0
  391. package/engine/text-tag.d.ts +36 -2
  392. package/engine/text-tag.lua +250 -10
  393. package/engine/unit.d.ts +12 -1
  394. package/engine/unit.lua +12 -1
  395. package/event.d.ts +1 -1
  396. package/lualib_bundle.lua +1 -1
  397. package/math.d.ts +2 -0
  398. package/math.lua +14 -0
  399. package/net/socket.lua +1 -1
  400. package/network.lua +25 -1
  401. package/objutil/buff.lua +12 -11
  402. package/objutil/object.lua +1 -1
  403. package/objutil/unit.lua +8 -0
  404. package/operation.d.ts +8 -1
  405. package/operation.lua +38 -18
  406. package/package.json +3 -23
  407. package/patch-lua.lua +15 -0
  408. package/patch-lualib.lua +1 -1
  409. package/utility/arrays.d.ts +3 -0
  410. package/utility/arrays.lua +23 -0
  411. package/utility/callback-array.d.ts +17 -0
  412. package/utility/callback-array.lua +61 -0
  413. package/utility/functions.d.ts +8 -0
  414. package/utility/functions.lua +13 -0
  415. package/utility/linked-map.d.ts +35 -0
  416. package/utility/linked-map.lua +107 -0
  417. package/utility/linked-set.d.ts +5 -1
  418. package/utility/linked-set.lua +49 -1
  419. package/utility/lua-maps.d.ts +15 -2
  420. package/utility/lua-maps.lua +53 -2
  421. package/utility/lua-sets.d.ts +2 -0
  422. package/utility/lua-sets.lua +7 -0
  423. package/utility/random.d.ts +102 -0
  424. package/utility/random.lua +273 -0
  425. package/utility/records.lua +20 -1
  426. package/utility/reflection.lua +11 -7
  427. package/utility/types.d.ts +3 -0
  428. package/utility/unordered-map.d.ts +27 -0
  429. package/utility/unordered-map.lua +99 -0
  430. package/core/types/order.d.ts +0 -25
  431. package/core/types/order.lua +0 -55
  432. package/engine/internal/unit/item.lua +0 -84
  433. /package/engine/internal/{object-data/armor-increase.d.ts → misc/ability-disable-counter.d.ts} +0 -0
  434. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  435. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  436. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -1,6 +1,7 @@
1
1
  local ____lualib = require("lualib_bundle")
2
2
  local __TS__New = ____lualib.__TS__New
3
3
  local __TS__Class = ____lualib.__TS__Class
4
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
5
  local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
6
  local __TS__Promise = ____lualib.__TS__Promise
6
7
  local ____exports = {}
@@ -9,8 +10,13 @@ local Event = ____event.Event
9
10
  local InitializingEvent = ____event.InitializingEvent
10
11
  local ____objectPool = require("util.objectPool")
11
12
  local ObjectPool = ____objectPool.ObjectPool
12
- local ____exception = require("exception")
13
- local IllegalStateException = ____exception.IllegalStateException
13
+ local ____destroyable = require("destroyable")
14
+ local AbstractDestroyable = ____destroyable.AbstractDestroyable
15
+ local ____callback_2Darray = require("utility.callback-array")
16
+ local addCallback = ____callback_2Darray.addCallback
17
+ local callbackArray = ____callback_2Darray.callbackArray
18
+ local consumeCallback = ____callback_2Darray.consumeCallback
19
+ local consumeCallbacks = ____callback_2Darray.consumeCallbacks
14
20
  local createTimer = CreateTimer
15
21
  local timerStart = TimerStart
16
22
  local pauseTimer = PauseTimer
@@ -23,6 +29,7 @@ local getHandleId = GetHandleId
23
29
  local ____pcall = _G.pcall
24
30
  local ____print = _G.print
25
31
  local select = _G.select
32
+ local ____type = _G.type
26
33
  local safeCall = warpack.safeCall
27
34
  local corunning = coroutine.running
28
35
  local coresume = coroutine.resume
@@ -35,61 +42,76 @@ local timerByHandleId = {}
35
42
  local function timerSafeCall()
36
43
  local timer = timerByHandleId[getHandleId(getExpiredTimer())]
37
44
  if timer ~= nil then
38
- if timer[2] then
45
+ if timer[1] then
39
46
  timer:destroy()
40
47
  end
41
- local callback = timer[3]
48
+ local callback = timer[2]
42
49
  if callback ~= nil then
43
50
  safeCall(
44
51
  callback,
45
- ____unpack(timer, 4 + 1, 4 + (timer[4] or 0))
52
+ ____unpack(timer, 3 + 1, 3 + (timer[3] or 0))
46
53
  )
47
54
  end
48
55
  end
49
56
  end
57
+ local zeroTimerScheduled = false
58
+ local zeroTimerCallbacks = callbackArray()
59
+ ---
60
+ -- @internal For use by internal systems only.
61
+ ____exports.consumeZeroTimerCallback = function(id)
62
+ consumeCallback(zeroTimerCallbacks, id)
63
+ end
64
+ local function invokeZeroTimerCallbacks()
65
+ zeroTimerScheduled = false
66
+ consumeCallbacks(zeroTimerCallbacks)
67
+ end
50
68
  ____exports.Timer = __TS__Class()
51
69
  local Timer = ____exports.Timer
52
70
  Timer.name = "Timer"
71
+ __TS__ClassExtends(Timer, AbstractDestroyable)
53
72
  function Timer.prototype.____constructor(self)
73
+ AbstractDestroyable.prototype.____constructor(self)
54
74
  self[0] = get()
55
75
  timerByHandleId[getHandleId(self[0])] = self
56
76
  end
57
77
  function Timer.prototype.start(self, timeout, periodic, callback, ...)
58
- self[3] = callback
78
+ self[2] = callback
59
79
  local argsLength = select("#", ...)
60
- self[4] = argsLength
80
+ self[3] = argsLength
61
81
  for i = 1, argsLength do
62
- self[4 + i] = (select(i, ...))
82
+ self[3 + i] = (select(i, ...))
63
83
  end
64
84
  timerStart(self.handle, timeout, periodic, timerSafeCall)
65
85
  end
86
+ function Timer.prototype.onDestroy(self)
87
+ local handle = self[0]
88
+ timerByHandleId[getHandleId(handle)] = nil
89
+ release(handle)
90
+ return AbstractDestroyable.prototype.onDestroy(self)
91
+ end
66
92
  function Timer.prototype.pause(self)
67
93
  pauseTimer(self[0])
68
94
  end
69
95
  function Timer.prototype.resume(self)
70
96
  resumeTimer(self[0])
71
97
  end
72
- function Timer.prototype.destroy(self)
73
- if self[1] then
74
- error(
75
- __TS__New(IllegalStateException, "Double-destroy run for timer"),
76
- 0
77
- )
78
- end
79
- local handle = self[0]
80
- timerByHandleId[getHandleId(handle)] = nil
81
- release(handle)
82
- self[1] = true
83
- end
84
98
  function Timer.create(self)
85
99
  return __TS__New(____exports.Timer)
86
100
  end
87
- function Timer.run(self, callback, ...)
88
- ____exports.Timer:simple(0, callback, ...)
101
+ function Timer.run(self, objectOrCallback, keyOrFirstArg, ...)
102
+ if not zeroTimerScheduled then
103
+ zeroTimerScheduled = true
104
+ ____exports.Timer:simple(0, invokeZeroTimerCallbacks)
105
+ end
106
+ if ____type(objectOrCallback) == "function" then
107
+ return addCallback(zeroTimerCallbacks, objectOrCallback, keyOrFirstArg, ...)
108
+ else
109
+ return addCallback(zeroTimerCallbacks, objectOrCallback[keyOrFirstArg], objectOrCallback, ...)
110
+ end
89
111
  end
90
112
  function Timer.simple(self, timeout, callback, ...)
91
113
  local timer = __TS__New(____exports.Timer)
92
- timer[2] = true
114
+ timer[1] = true
93
115
  timer:start(timeout, false, callback, ...)
94
116
  return timer
95
117
  end
@@ -1,6 +1,11 @@
1
1
  /** @noSelfInFile */
2
2
  import "../../engine/internal/unit";
3
3
  import "../../engine/internal/unit/ability";
4
+ import "../../engine/internal/unit/appearance";
5
+ import "../../engine/internal/unit/extended-inventory";
6
+ import "../../engine/internal/unit/equipment-inventory";
7
+ import "../../engine/internal/unit/inventory";
8
+ import "../../engine/internal/unit/item-order-events";
4
9
  import "../../engine/internal/unit+damage";
5
10
  import "../../engine/internal/unit+rally";
6
11
  import "../../engine/internal/unit+spellSteal";
@@ -1,6 +1,11 @@
1
1
  local ____exports = {}
2
2
  require("engine.internal.unit")
3
3
  require("engine.internal.unit.ability")
4
+ require("engine.internal.unit.appearance")
5
+ require("engine.internal.unit.extended-inventory")
6
+ require("engine.internal.unit.equipment-inventory")
7
+ require("engine.internal.unit.inventory")
8
+ require("engine.internal.unit.item-order-events")
4
9
  require("engine.internal.unit+damage")
5
10
  require("engine.internal.unit+rally")
6
11
  require("engine.internal.unit+spellSteal")
package/core/util.d.ts CHANGED
@@ -54,9 +54,11 @@ declare global {
54
54
  function fourCC(id: string): number;
55
55
  }
56
56
  declare namespace inner {
57
- const orderId: (id: "blink" | "stop" | "load" | "sleep" | "absorb" | "acidbomb" | "acolyteharvest" | "ambush" | "ancestralspirit" | "ancestralspirittarget" | "animatedead" | "antimagicshell" | "attack" | "attackground" | "attackonce" | "attributemodskill" | "auraunholy" | "auravampiric" | "autodispel" | "autodispeloff" | "autodispelon" | "autoentangle" | "autoentangleinstant" | "autoharvestgold" | "autoharvestlumber" | "avatar" | "avengerform" | "awaken" | "banish" | "barkskin" | "barkskinoff" | "barkskinon" | "battleroar" | "battlestations" | "bearform" | "berserk" | "blackarrow" | "blackarrowoff" | "blackarrowon" | "blight" | "blizzard" | "bloodlust" | "bloodlustoff" | "bloodluston" | "board" | "breathoffire" | "breathoffrost" | "build" | "burrow" | "cannibalize" | "carrionscarabs" | "carrionscarabsinstant" | "carrionscarabsoff" | "carrionscarabson" | "carrionswarm" | "chainlightning" | "channel" | "charm" | "chemicalrage" | "cloudoffog" | "clusterrockets" | "coldarrows" | "coldarrowstarg" | "controlmagic" | "corporealform" | "corrosivebreath" | "coupleinstant" | "coupletarget" | "creepanimatedead" | "creepdevour" | "creepheal" | "creephealoff" | "creephealon" | "creepthunderbolt" | "creepthunderclap" | "cripple" | "curse" | "curseoff" | "curseon" | "cyclone" | "darkconversion" | "darkportal" | "darkritual" | "darksummoning" | "deathanddecay" | "deathcoil" | "deathpact" | "decouple" | "defend" | "detectaoe" | "detonate" | "devour" | "devourmagic" | "disassociate" | "disenchant" | "dismount" | "dispel" | "divineshield" | "doom" | "drain" | "dreadlordinferno" | "dropitem" | "moveslot0" | "moveslot1" | "moveslot2" | "moveslot3" | "moveslot4" | "moveslot5" | "drunkenhaze" | "earthquake" | "eattree" | "elementalfury" | "ensnare" | "ensnareoff" | "ensnareon" | "entangle" | "entangleinstant" | "entanglingroots" | "etherealform" | "evileye" | "faeriefire" | "faeriefireoff" | "faeriefireon" | "fanofknives" | "farsight" | "fingerofdeath" | "firebolt" | "flamestrike" | "flamingarrows" | "flamingarrowstarg" | "flamingattack" | "flamingattacktarg" | "flare" | "forceboard" | "forceofnature" | "forkedlightning" | "freezingbreath" | "frenzy" | "frenzyoff" | "frenzyon" | "frostarmor" | "frostarmoroff" | "frostarmoron" | "frostnova" | "getitem" | "gold2lumber" | "grabtree" | "harvest" | "heal" | "healingspray" | "healingward" | "healingwave" | "healoff" | "healon" | "hex" | "holdposition" | "holybolt" | "howlofterror" | "humanbuild" | "immolation" | "impale" | "incineratearrow" | "incineratearrowoff" | "incineratearrowon" | "inferno" | "innerfire" | "innerfireoff" | "innerfireon" | "instant" | "invisibility" | "lavamonster" | "lightningshield" | "loadarcher" | "loadcorpse" | "loadcorpseinstant" | "locustswarm" | "lumber2gold" | "magicdefense" | "magicleash" | "magicundefense" | "manaburn" | "manaflareoff" | "manaflareon" | "manashieldoff" | "manashieldon" | "massteleport" | "mechanicalcritter" | "metamorphosis" | "militia" | "militiaconvert" | "militiaoff" | "militiaunconvert" | "mindrot" | "mirrorimage" | "monsoon" | "mount" | "mounthippogryph" | "move" | "moveAI" | "nagabuild" | "neutraldetectaoe" | "neutralinteract" | "neutralspell" | "nightelfbuild" | "orcbuild" | "parasite" | "parasiteoff" | "parasiteon" | "patrol" | "patrolAI" | "phaseshift" | "phaseshiftinstant" | "phaseshiftoff" | "phaseshifton" | "phoenixfire" | "phoenixmorph" | "poisonarrows" | "poisonarrowstarg" | "polymorph" | "possession" | "preservation" | "purge" | "rainofchaos" | "rainoffire" | "raisedead" | "raisedeadoff" | "raisedeadon" | "ravenform" | "recharge" | "rechargeoff" | "rechargeon" | "rejuvination" | "renew" | "renewoff" | "renewon" | "repair" | "repairoff" | "repairon" | "replenish" | "replenishlife" | "replenishlifeoff" | "replenishlifeon" | "replenishmana" | "replenishmanaoff" | "replenishmanaon" | "replenishoff" | "replenishon" | "request_hero" | "requestsacrifice" | "restoration" | "restorationoff" | "restorationon" | "resumebuild" | "resumeharvesting" | "resurrection" | "returnresources" | "revenge" | "revive" | "roar" | "robogoblin" | "root" | "sacrifice" | "sanctuary" | "scout" | "selfdestruct" | "selfdestructoff" | "selfdestructon" | "sentinel" | "follow" | "smart" | "setrally" | "shadowsight" | "shadowstrike" | "shockwave" | "silence" | "slow" | "slowoff" | "slowon" | "soulburn" | "soulpreservation" | "spellshield" | "spellshieldaoe" | "spellsteal" | "spellstealoff" | "spellstealon" | "spies" | "spiritlink" | "spiritofvengeance" | "spirittroll" | "spiritwolf" | "stampede" | "standdown" | "starfall" | "stasistrap" | "steal" | "stomp" | "stoneform" | "stunned" | "submerge" | "summonfactory" | "summongrizzly" | "summonphoenix" | "summonquillbeast" | "summonwareagle" | "tankdroppilot" | "tankloadpilot" | "tankpilot" | "taunt" | "thunderbolt" | "thunderclap" | "tornado" | "townbelloff" | "townbellon" | "tranquility" | "transmute" | "unavatar" | "unavengerform" | "unbearform" | "unburrow" | "uncoldarrows" | "uncorporealform" | "undeadbuild" | "undefend" | "undivineshield" | "unetherealform" | "unflamingarrows" | "unflamingattack" | "unholyfrenzy" | "unimmolation" | "unload" | "unloadall" | "unloadallcorpses" | "unloadallinstant" | "unpoisonarrows" | "unravenform" | "unrobogoblin" | "unroot" | "unstableconcoction" | "unstoneform" | "unsubmerge" | "unsummon" | "unwindwalk" | "vengeance" | "vengeanceinstant" | "vengeanceoff" | "vengeanceon" | "volcano" | "voodoo" | "ward" | "waterelemental" | "wateryminion" | "web" | "weboff" | "webon" | "whirlwind" | "windwalk" | "wispharvest") => number;
57
+ /** @deprecated Use the {@link OrderType} const enum from `warscript/engine/object-data/auxiliary/order-type` instead. */
58
+ const orderId: (id: "blink" | "stop" | "load" | "sleep" | "absorb" | "acidbomb" | "acolyteharvest" | "AImove" | "ambush" | "ancestralspirit" | "ancestralspirittarget" | "animatedead" | "antimagicshell" | "attack" | "attackground" | "attackonce" | "attributemodskill" | "auracalltoarms" | "auraunholy" | "auravampiric" | "autodispel" | "autodispeloff" | "autodispelon" | "autoentangle" | "autoentangleinstant" | "autoharvestgold" | "autoharvestlumber" | "avatar" | "avengerform" | "awaken" | "banish" | "barkskin" | "barkskinoff" | "barkskinon" | "batteringram" | "battleroar" | "battlestations" | "bearform" | "berserk" | "blackarrow" | "blackarrowoff" | "blackarrowon" | "bladedance" | "blight" | "blizzard" | "bloodlust" | "bloodlustoff" | "bloodluston" | "board" | "breathoffire" | "breathoffrost" | "build" | "burrow" | "cannibalize" | "carrionscarabs" | "carrionscarabsinstant" | "carrionscarabsoff" | "carrionscarabson" | "carrionswarm" | "chainlightning" | "challengingcall" | "channel" | "charm" | "chemicalrage" | "cleansingfire" | "cloudoffog" | "clusterrockets" | "coldarrows" | "coldarrowstarg" | "consecration" | "controlmagic" | "corporealform" | "corrosivebreath" | "coupleinstant" | "coupletarget" | "creepanimatedead" | "creepdevour" | "creepheal" | "creephealoff" | "creephealon" | "creepthunderbolt" | "creepthunderclap" | "cripple" | "curse" | "curseoff" | "curseon" | "cyclone" | "darkconversion" | "darkportal" | "darkritual" | "darksummoning" | "deathanddecay" | "deathcoil" | "deathpact" | "deathseekerbow" | "decouple" | "defend" | "detectaoe" | "detonate" | "devour" | "devourmagic" | "disassociate" | "disenchant" | "dismount" | "dispel" | "divineshield" | "doom" | "drain" | "dreadlordinferno" | "dropitem" | "moveslot0" | "moveslot1" | "moveslot2" | "moveslot3" | "moveslot4" | "moveslot5" | "useslot0" | "useslot1" | "useslot2" | "useslot3" | "useslot4" | "useslot5" | "moveslotext0" | "moveslotext1" | "moveslotext2" | "moveslotext3" | "moveslotext4" | "moveslotext5" | "moveslotext6" | "moveslotext7" | "moveslotext8" | "moveslotext9" | "moveslotext10" | "moveslotext11" | "moveslotext12" | "moveslotext13" | "moveslotext14" | "moveslotext15" | "moveslotext16" | "moveslotext17" | "moveslotext18" | "moveslotext19" | "moveslotext20" | "moveslotext21" | "moveslotext22" | "moveslotext23" | "moveslotext24" | "moveslotext25" | "moveslotext26" | "moveslotext27" | "moveslotext28" | "moveslotext29" | "moveslotequip0" | "moveslotequip1" | "moveslotequip2" | "moveslotequip3" | "moveslotequip4" | "moveslotequip5" | "moveslotequip6" | "moveslotequip7" | "moveslotequip8" | "useslotext0" | "useslotext1" | "useslotext2" | "useslotext3" | "useslotext4" | "useslotext5" | "useslotext6" | "useslotext7" | "useslotext8" | "useslotext9" | "useslotext10" | "useslotext11" | "useslotext12" | "useslotext13" | "useslotext14" | "useslotext15" | "useslotext16" | "useslotext17" | "useslotext18" | "useslotext19" | "useslotext20" | "useslotext21" | "useslotext22" | "useslotext23" | "useslotext24" | "useslotext25" | "useslotext26" | "useslotext27" | "useslotext28" | "useslotext29" | "useslotequip0" | "useslotequip1" | "useslotequip2" | "useslotequip3" | "useslotequip4" | "useslotequip5" | "useslotequip6" | "useslotequip7" | "useslotequip8" | "drunkenhaze" | "earthquake" | "eattree" | "elementalfury" | "ensnare" | "ensnareaoe" | "ensnareoff" | "ensnareon" | "entangle" | "entangleinstant" | "entanglingroots" | "etherealform" | "evileye" | "faeriefire" | "faeriefireoff" | "faeriefireon" | "fanofknives" | "farsight" | "fingerofdeath" | "firebolt" | "flamestrike" | "flamingarrows" | "flamingarrowstarg" | "flamingattack" | "flamingattacktarg" | "flare" | "forceboard" | "forceofnature" | "forkedlightning" | "freezingbreath" | "frenzy" | "frenzyoff" | "frenzyon" | "frostarmor" | "frostarmoroff" | "frostarmoron" | "frostnova" | "getitem" | "gold2lumber" | "grabtree" | "grit" | "guidinghand" | "harvest" | "headsplitter" | "heal" | "healingspray" | "healingward" | "healingwave" | "healoff" | "healon" | "heroicchallenge" | "heroicslash" | "hex" | "holdposition" | "holybolt" | "howlofterror" | "humanbuild" | "immolation" | "impale" | "incineratearrow" | "incineratearrowoff" | "incineratearrowon" | "inferno" | "innerfire" | "innerfireoff" | "innerfireon" | "inspirecourage" | "instant" | "invisibility" | "lavamonster" | "lightningshield" | "loadarcher" | "loadcorpse" | "loadcorpseinstant" | "locustswarm" | "lumber2gold" | "magicdefense" | "magicleash" | "magicundefense" | "manaburn" | "manaflareoff" | "manaflareon" | "manashieldoff" | "manashieldon" | "massteleport" | "mechanicalcritter" | "metamorphosis" | "militia" | "militiaconvert" | "militiaoff" | "militiaunconvert" | "mindrot" | "mirrorimage" | "monsoon" | "mount" | "mounthippogryph" | "move" | "nagabuild" | "neutraldetectaoe" | "neutralinteract" | "neutralspell" | "nightelfbuild" | "orcbuild" | "parasite" | "parasiteoff" | "parasiteon" | "patrol" | "AIpatrol" | "phaseshift" | "phaseshiftinstant" | "phaseshiftoff" | "phaseshifton" | "phoenixfire" | "phoenixmorph" | "poisonarrows" | "poisonarrowstarg" | "polymorph" | "possession" | "preservation" | "purge" | "purifierblade" | "rainofchaos" | "rainoffire" | "raisedead" | "raisedeadoff" | "raisedeadon" | "ravenform" | "recharge" | "rechargeoff" | "rechargeon" | "rejuvination" | "renew" | "renewoff" | "renewon" | "repair" | "repairoff" | "repairon" | "replenish" | "replenishlife" | "replenishlifeoff" | "replenishlifeon" | "replenishmana" | "replenishmanaoff" | "replenishmanaon" | "replenishoff" | "replenishon" | "request_hero" | "requestsacrifice" | "restoration" | "restorationoff" | "restorationon" | "resumebuild" | "resumeharvesting" | "resurrection" | "returnresources" | "revenge" | "revive" | "righteousfury" | "ritualdagger" | "roar" | "robogoblin" | "root" | "sacrifice" | "sanctuary" | "scout" | "selfdestruct" | "selfdestructoff" | "selfdestructon" | "sentinel" | "follow" | "smart" | "setrally" | "shadowsight" | "shadowstrike" | "shockwave" | "silence" | "slow" | "slowoff" | "slowon" | "soulburn" | "soullantern" | "soulpreservation" | "spellshield" | "spellshieldaoe" | "spellsteal" | "spellstealoff" | "spellstealon" | "spies" | "spiritlink" | "spiritofvengeance" | "spirittroll" | "spiritwolf" | "stampede" | "standdown" | "starfall" | "stasistrap" | "steal" | "stomp" | "stoneform" | "stunned" | "submerge" | "summonfactory" | "summongrizzly" | "summonphoenix" | "summonquillbeast" | "summonwareagle" | "sweepingstrike" | "tankdroppilot" | "tankloadpilot" | "tankpilot" | "taunt" | "thunderbolt" | "thunderclap" | "tornado" | "townbelloff" | "townbellon" | "tranquility" | "transmute" | "unavatar" | "unavengerform" | "unbearform" | "unburrow" | "uncoldarrows" | "uncorporealform" | "undeadbuild" | "undeadvengeance" | "undefend" | "undivineshield" | "unetherealform" | "unflamingarrows" | "unflamingattack" | "unguidinghand" | "unholyfrenzy" | "unholyfrenzyaoe" | "unimmolation" | "unload" | "unloadall" | "unloadallcorpses" | "unloadallinstant" | "unpoisonarrows" | "unravenform" | "unrobogoblin" | "unroot" | "unsoullantern" | "unstableconcoction" | "unstoneform" | "unsubmerge" | "unsummon" | "unwindwalk" | "valiantcharge" | "vengeance" | "vengeanceinstant" | "vengeanceoff" | "vengeanceon" | "volcano" | "voodoo" | "warcry" | "ward" | "waterelemental" | "wateryminion" | "web" | "weboff" | "webon" | "whirlwind" | "windwalk" | "wispharvest" | "witheringfire") => number;
58
59
  }
59
60
  declare global {
61
+ /** @deprecated Use the {@link OrderType} const enum from `warscript/engine/object-data/auxiliary/order-type` instead. */
60
62
  function orderId(...args: Parameters<typeof inner.orderId>): ReturnType<typeof inner.orderId>;
61
63
  }
62
64
  export {};
package/core/util.lua CHANGED
@@ -1,3 +1,5 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__StringPadEnd = ____lualib.__TS__StringPadEnd
1
3
  local ____exports = {}
2
4
  local ns = {}
3
5
  do
@@ -14,7 +16,10 @@ do
14
16
  if type(id) == "number" then
15
17
  return id
16
18
  else
17
- local numid = string.unpack(">I4", id)
19
+ local numid = string.unpack(
20
+ ">I4",
21
+ __TS__StringPadEnd(id, 4, "\0")
22
+ )
18
23
  return numid
19
24
  end
20
25
  end
@@ -95,11 +100,14 @@ macro_define(
95
100
  _G.fourCC = util.s2id
96
101
  local inner = {}
97
102
  do
103
+ ---
104
+ -- @deprecated Use the {@link OrderType } const enum from `warscript/engine/object-data/auxiliary/order-type` instead.
98
105
  inner.orderId = (function()
99
106
  local orders = {
100
107
  absorb = 852529,
101
108
  acidbomb = 852662,
102
109
  acolyteharvest = 852185,
110
+ AImove = 851988,
103
111
  ambush = 852131,
104
112
  ancestralspirit = 852490,
105
113
  ancestralspirittarget = 852491,
@@ -109,6 +117,7 @@ do
109
117
  attackground = 851984,
110
118
  attackonce = 851985,
111
119
  attributemodskill = 852576,
120
+ auracalltoarms = 852688,
112
121
  auraunholy = 852215,
113
122
  auravampiric = 852216,
114
123
  autodispel = 852132,
@@ -125,6 +134,7 @@ do
125
134
  barkskin = 852135,
126
135
  barkskinoff = 852137,
127
136
  barkskinon = 852136,
137
+ batteringram = 852705,
128
138
  battleroar = 852599,
129
139
  battlestations = 852099,
130
140
  bearform = 852138,
@@ -132,6 +142,7 @@ do
132
142
  blackarrow = 852577,
133
143
  blackarrowoff = 852579,
134
144
  blackarrowon = 852578,
145
+ bladedance = 852698,
135
146
  blight = 852187,
136
147
  blink = 852525,
137
148
  blizzard = 852089,
@@ -150,13 +161,16 @@ do
150
161
  carrionscarabson = 852552,
151
162
  carrionswarm = 852218,
152
163
  chainlightning = 852119,
164
+ challengingcall = 852520,
153
165
  channel = 852600,
154
166
  charm = 852581,
155
167
  chemicalrage = 852663,
168
+ cleansingfire = 852704,
156
169
  cloudoffog = 852473,
157
170
  clusterrockets = 852652,
158
171
  coldarrows = 852244,
159
172
  coldarrowstarg = 852243,
173
+ consecration = 852702,
160
174
  controlmagic = 852474,
161
175
  corporealform = 852493,
162
176
  corrosivebreath = 852140,
@@ -181,6 +195,7 @@ do
181
195
  deathanddecay = 852221,
182
196
  deathcoil = 852222,
183
197
  deathpact = 852223,
198
+ deathseekerbow = 852710,
184
199
  decouple = 852509,
185
200
  defend = 852055,
186
201
  detectaoe = 852015,
@@ -202,11 +217,96 @@ do
202
217
  moveslot3 = 852005,
203
218
  moveslot4 = 852006,
204
219
  moveslot5 = 852007,
220
+ useslot0 = 852008,
221
+ useslot1 = 852009,
222
+ useslot2 = 852010,
223
+ useslot3 = 852011,
224
+ useslot4 = 852012,
225
+ useslot5 = 852013,
226
+ moveslotext0 = 852714,
227
+ moveslotext1 = 852715,
228
+ moveslotext2 = 852716,
229
+ moveslotext3 = 852717,
230
+ moveslotext4 = 852718,
231
+ moveslotext5 = 852719,
232
+ moveslotext6 = 852720,
233
+ moveslotext7 = 852721,
234
+ moveslotext8 = 852722,
235
+ moveslotext9 = 852723,
236
+ moveslotext10 = 852724,
237
+ moveslotext11 = 852725,
238
+ moveslotext12 = 852726,
239
+ moveslotext13 = 852727,
240
+ moveslotext14 = 852728,
241
+ moveslotext15 = 852729,
242
+ moveslotext16 = 852730,
243
+ moveslotext17 = 852731,
244
+ moveslotext18 = 852732,
245
+ moveslotext19 = 852733,
246
+ moveslotext20 = 852734,
247
+ moveslotext21 = 852735,
248
+ moveslotext22 = 852736,
249
+ moveslotext23 = 852737,
250
+ moveslotext24 = 852738,
251
+ moveslotext25 = 852739,
252
+ moveslotext26 = 852740,
253
+ moveslotext27 = 852741,
254
+ moveslotext28 = 852742,
255
+ moveslotext29 = 852743,
256
+ moveslotequip0 = 852744,
257
+ moveslotequip1 = 852745,
258
+ moveslotequip2 = 852746,
259
+ moveslotequip3 = 852747,
260
+ moveslotequip4 = 852748,
261
+ moveslotequip5 = 852749,
262
+ moveslotequip6 = 852750,
263
+ moveslotequip7 = 852751,
264
+ moveslotequip8 = 852752,
265
+ useslotext0 = 852771,
266
+ useslotext1 = 852772,
267
+ useslotext2 = 852773,
268
+ useslotext3 = 852774,
269
+ useslotext4 = 852775,
270
+ useslotext5 = 852776,
271
+ useslotext6 = 852777,
272
+ useslotext7 = 852778,
273
+ useslotext8 = 852779,
274
+ useslotext9 = 852780,
275
+ useslotext10 = 852781,
276
+ useslotext11 = 852782,
277
+ useslotext12 = 852783,
278
+ useslotext13 = 852784,
279
+ useslotext14 = 852785,
280
+ useslotext15 = 852786,
281
+ useslotext16 = 852787,
282
+ useslotext17 = 852788,
283
+ useslotext18 = 852789,
284
+ useslotext19 = 852790,
285
+ useslotext20 = 852791,
286
+ useslotext21 = 852792,
287
+ useslotext22 = 852793,
288
+ useslotext23 = 852794,
289
+ useslotext24 = 852795,
290
+ useslotext25 = 852796,
291
+ useslotext26 = 852797,
292
+ useslotext27 = 852798,
293
+ useslotext28 = 852799,
294
+ useslotext29 = 852800,
295
+ useslotequip0 = 852801,
296
+ useslotequip1 = 852802,
297
+ useslotequip2 = 852803,
298
+ useslotequip3 = 852804,
299
+ useslotequip4 = 852805,
300
+ useslotequip5 = 852806,
301
+ useslotequip6 = 852807,
302
+ useslotequip7 = 852808,
303
+ useslotequip8 = 852809,
205
304
  drunkenhaze = 852585,
206
305
  earthquake = 852121,
207
306
  eattree = 852146,
208
307
  elementalfury = 852586,
209
308
  ensnare = 852106,
309
+ ensnareaoe = 852687,
210
310
  ensnareoff = 852108,
211
311
  ensnareon = 852107,
212
312
  entangle = 852147,
@@ -241,13 +341,18 @@ do
241
341
  getitem = 851981,
242
342
  gold2lumber = 852233,
243
343
  grabtree = 852511,
344
+ grit = 852693,
345
+ guidinghand = 852695,
244
346
  harvest = 852018,
347
+ headsplitter = 852691,
245
348
  heal = 852063,
246
349
  healingspray = 852664,
247
350
  healingward = 852109,
248
351
  healingwave = 852501,
249
352
  healoff = 852065,
250
353
  healon = 852064,
354
+ heroicchallenge = 852694,
355
+ heroicslash = 852684,
251
356
  hex = 852502,
252
357
  holdposition = 851993,
253
358
  holybolt = 852092,
@@ -262,6 +367,7 @@ do
262
367
  innerfire = 852066,
263
368
  innerfireoff = 852068,
264
369
  innerfireon = 852067,
370
+ inspirecourage = 852689,
265
371
  instant = 852200,
266
372
  invisibility = 852069,
267
373
  lavamonster = 852667,
@@ -293,7 +399,6 @@ do
293
399
  mount = 852469,
294
400
  mounthippogryph = 852143,
295
401
  move = 851986,
296
- moveAI = 851988,
297
402
  nagabuild = 852467,
298
403
  neutraldetectaoe = 852023,
299
404
  neutralinteract = 852566,
@@ -304,7 +409,7 @@ do
304
409
  parasiteoff = 852603,
305
410
  parasiteon = 852602,
306
411
  patrol = 851990,
307
- patrolAI = 851991,
412
+ AIpatrol = 851991,
308
413
  phaseshift = 852514,
309
414
  phaseshiftinstant = 852517,
310
415
  phaseshiftoff = 852516,
@@ -317,6 +422,7 @@ do
317
422
  possession = 852196,
318
423
  preservation = 852568,
319
424
  purge = 852111,
425
+ purifierblade = 852707,
320
426
  rainofchaos = 852237,
321
427
  rainoffire = 852238,
322
428
  raisedead = 852197,
@@ -353,6 +459,8 @@ do
353
459
  returnresources = 852020,
354
460
  revenge = 852241,
355
461
  revive = 852039,
462
+ righteousfury = 852706,
463
+ ritualdagger = 852674,
356
464
  roar = 852164,
357
465
  robogoblin = 852656,
358
466
  root = 852165,
@@ -375,6 +483,7 @@ do
375
483
  slowoff = 852077,
376
484
  slowon = 852076,
377
485
  soulburn = 852668,
486
+ soullantern = 852708,
378
487
  soulpreservation = 852242,
379
488
  spellshield = 852571,
380
489
  spellshieldaoe = 852572,
@@ -401,6 +510,7 @@ do
401
510
  summonphoenix = 852489,
402
511
  summonquillbeast = 852595,
403
512
  summonwareagle = 852596,
513
+ sweepingstrike = 852680,
404
514
  tankdroppilot = 852079,
405
515
  tankloadpilot = 852080,
406
516
  tankpilot = 852081,
@@ -419,12 +529,15 @@ do
419
529
  uncoldarrows = 852245,
420
530
  uncorporealform = 852494,
421
531
  undeadbuild = 851998,
532
+ undeadvengeance = 852703,
422
533
  undefend = 852056,
423
534
  undivineshield = 852091,
424
535
  unetherealform = 852497,
425
536
  unflamingarrows = 852175,
426
537
  unflamingattack = 852541,
538
+ unguidinghand = 852696,
427
539
  unholyfrenzy = 852209,
540
+ unholyfrenzyaoe = 852675,
428
541
  unimmolation = 852178,
429
542
  unload = 852047,
430
543
  unloadall = 852048,
@@ -434,17 +547,20 @@ do
434
547
  unravenform = 852156,
435
548
  unrobogoblin = 852657,
436
549
  unroot = 852166,
550
+ unsoullantern = 852709,
437
551
  unstableconcoction = 852500,
438
552
  unstoneform = 852207,
439
553
  unsubmerge = 852605,
440
554
  unsummon = 852210,
441
555
  unwindwalk = 852130,
556
+ valiantcharge = 852685,
442
557
  vengeance = 852521,
443
558
  vengeanceinstant = 852524,
444
559
  vengeanceoff = 852523,
445
560
  vengeanceon = 852522,
446
561
  volcano = 852669,
447
562
  voodoo = 852503,
563
+ warcry = 852701,
448
564
  ward = 852504,
449
565
  waterelemental = 852097,
450
566
  wateryminion = 852598,
@@ -453,7 +569,8 @@ do
453
569
  webon = 852212,
454
570
  whirlwind = 852128,
455
571
  windwalk = 852129,
456
- wispharvest = 852214
572
+ wispharvest = 852214,
573
+ witheringfire = 852711
457
574
  }
458
575
  return function(id)
459
576
  return orders[id] or 0