warscript 0.0.1-dev.4f7cd3b → 0.0.1-dev.524fae9

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 (430) 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 +12 -4
  7. package/core/types/effect.lua +67 -104
  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 +18 -3
  21. package/core/types/tileCell.lua +108 -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 +115 -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/apply-buff.d.ts +5 -0
  34. package/engine/behaviour/ability/apply-buff.lua +36 -4
  35. package/engine/behaviour/ability/apply-unit-behavior.lua +6 -0
  36. package/engine/behaviour/ability/damage.d.ts +13 -3
  37. package/engine/behaviour/ability/damage.lua +41 -49
  38. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  39. package/engine/behaviour/ability/emulate-impact.lua +23 -7
  40. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  41. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  42. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  43. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  44. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  45. package/engine/behaviour/ability/restore-mana.lua +6 -6
  46. package/engine/behaviour/ability.d.ts +17 -5
  47. package/engine/behaviour/ability.lua +97 -24
  48. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  49. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  50. package/engine/behaviour/unit.d.ts +41 -2
  51. package/engine/behaviour/unit.lua +270 -6
  52. package/engine/buff.d.ts +121 -59
  53. package/engine/buff.lua +605 -301
  54. package/engine/index.d.ts +2 -1
  55. package/engine/internal/ability.d.ts +14 -1
  56. package/engine/internal/ability.lua +113 -46
  57. package/engine/internal/item/ability.lua +82 -14
  58. package/engine/internal/item/fields.d.ts +12 -0
  59. package/engine/internal/item/fields.lua +33 -0
  60. package/engine/internal/item/owner-cache.d.ts +5 -0
  61. package/engine/internal/item/owner-cache.lua +4 -0
  62. package/engine/internal/item+owner.d.ts +2 -0
  63. package/engine/internal/item+owner.lua +37 -8
  64. package/engine/internal/item.d.ts +34 -18
  65. package/engine/internal/item.lua +308 -102
  66. package/engine/internal/mechanics/ability-duration.lua +1 -1
  67. package/engine/internal/mechanics/cast-ability.lua +6 -3
  68. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  69. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  70. package/engine/internal/misc/frame-coordinates.lua +21 -0
  71. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  72. package/engine/internal/misc/get-terrain-z.lua +11 -0
  73. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  74. package/engine/internal/misc/player-local-handle.lua +5 -0
  75. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  76. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  77. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  78. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  79. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  80. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  81. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  82. package/engine/internal/object-data/evasion-probability.lua +16 -0
  83. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  84. package/engine/internal/object-data/health-bonus.lua +16 -0
  85. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  86. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  87. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  88. package/engine/internal/object-data/mana-bonus.lua +16 -0
  89. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  90. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  91. package/engine/internal/unit/ability.d.ts +35 -0
  92. package/engine/internal/unit/ability.lua +113 -12
  93. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  94. package/engine/internal/unit/add-item-to-slot-init.lua +12 -0
  95. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  96. package/engine/internal/unit/add-item-to-slot.lua +93 -0
  97. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  98. package/engine/internal/unit/allowed-targets.lua +9 -1
  99. package/engine/internal/unit/appearance.d.ts +15 -0
  100. package/engine/internal/unit/appearance.lua +85 -0
  101. package/engine/internal/unit/attributes.d.ts +17 -0
  102. package/engine/internal/unit/attributes.lua +46 -0
  103. package/engine/internal/unit/bonus.d.ts +16 -0
  104. package/engine/internal/unit/bonus.lua +119 -8
  105. package/engine/internal/unit/buff.d.ts +2 -2
  106. package/engine/internal/unit/buff.lua +34 -19
  107. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  108. package/engine/internal/unit/equipment-inventory.lua +233 -0
  109. package/engine/internal/unit/expiration-timer.lua +1 -1
  110. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  111. package/engine/internal/unit/extended-inventory.lua +99 -0
  112. package/engine/internal/unit/fly-height.d.ts +7 -0
  113. package/engine/internal/unit/fly-height.lua +20 -0
  114. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  115. package/engine/internal/unit/ignore-events-items.lua +14 -0
  116. package/engine/internal/unit/interrupts.d.ts +12 -0
  117. package/engine/internal/unit/interrupts.lua +28 -0
  118. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  119. package/engine/internal/unit/inventory.lua +87 -0
  120. package/engine/internal/unit/item-container.d.ts +25 -0
  121. package/engine/internal/unit/item-container.lua +11 -0
  122. package/engine/internal/unit/item-order-events.d.ts +17 -0
  123. package/engine/internal/unit/item-order-events.lua +67 -0
  124. package/engine/internal/unit/item-slot.d.ts +27 -0
  125. package/engine/internal/unit/item-slot.lua +92 -0
  126. package/engine/internal/unit/main-selected.lua +12 -27
  127. package/engine/internal/unit/order.d.ts +20 -0
  128. package/engine/internal/unit/order.lua +136 -0
  129. package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
  130. package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
  131. package/engine/internal/unit/range-event.d.ts +12 -0
  132. package/engine/internal/unit/range-event.lua +90 -0
  133. package/engine/internal/unit/scale.d.ts +7 -0
  134. package/engine/internal/unit/scale.lua +20 -0
  135. package/engine/internal/unit+ability.d.ts +2 -1
  136. package/engine/internal/unit+ability.lua +73 -3
  137. package/engine/internal/unit+bonus.lua +3 -3
  138. package/engine/internal/unit+damage.d.ts +11 -11
  139. package/engine/internal/unit+damage.lua +43 -14
  140. package/engine/internal/unit+rally.lua +9 -31
  141. package/engine/internal/unit+spellSteal.lua +1 -2
  142. package/engine/internal/unit-missile-data.lua +58 -32
  143. package/engine/internal/unit-missile-launch.lua +65 -27
  144. package/engine/internal/unit.d.ts +45 -34
  145. package/engine/internal/unit.lua +411 -323
  146. package/engine/lightning.d.ts +12 -5
  147. package/engine/lightning.lua +48 -14
  148. package/engine/local-client.d.ts +28 -0
  149. package/engine/local-client.lua +324 -54
  150. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  151. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  152. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  153. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  154. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -2
  155. package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
  156. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  157. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  158. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  159. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  160. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  161. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  162. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  163. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  164. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  165. package/engine/object-data/auxiliary/item-class.lua +2 -0
  166. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  167. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  168. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  169. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  170. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  171. package/engine/object-data/auxiliary/order-type.lua +2 -0
  172. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  173. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  174. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  175. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  176. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  177. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  178. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  179. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  180. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  181. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  182. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  183. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  184. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  185. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  186. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  187. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  188. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  189. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  190. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  191. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  192. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  193. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  194. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -0
  195. package/engine/object-data/entry/ability-type/blank-configurable.lua +42 -1
  196. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  197. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  198. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  199. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  200. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  201. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  202. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  203. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  204. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  205. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  206. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  207. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  208. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  209. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  210. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  211. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  212. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  213. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  214. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  215. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  216. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  217. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  218. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  219. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  220. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  221. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  222. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  223. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  224. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  225. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  226. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  227. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  228. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  229. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  230. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  231. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  232. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  233. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  234. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  235. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  236. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  237. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  238. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  239. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  240. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  241. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  242. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  243. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  244. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  245. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  246. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  247. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  248. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  249. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  250. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  251. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  252. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  253. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  254. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  255. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  256. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  257. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  258. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  259. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  260. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  261. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  262. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  263. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  264. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  265. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  266. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  267. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  268. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  269. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  270. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  271. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  272. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  273. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  274. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  275. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  276. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  277. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  278. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  279. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  280. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  281. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  282. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  283. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  284. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  285. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  286. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  287. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  288. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  289. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  290. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  291. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  292. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  293. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  294. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  295. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  296. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  297. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  298. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  299. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  300. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  301. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  302. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  303. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  304. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  305. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  306. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  307. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  308. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  309. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  310. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  311. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  312. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  313. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  314. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  315. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  316. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  317. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  318. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  319. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  320. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  321. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  322. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  323. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  324. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  325. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  326. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  327. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  328. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  329. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  330. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  331. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  332. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  333. package/engine/object-data/entry/ability-type/web.lua +52 -0
  334. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  335. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  336. package/engine/object-data/entry/ability-type.d.ts +41 -20
  337. package/engine/object-data/entry/ability-type.lua +329 -32
  338. package/engine/object-data/entry/buff-type/applicable.lua +122 -137
  339. package/engine/object-data/entry/buff-type.d.ts +10 -12
  340. package/engine/object-data/entry/buff-type.lua +39 -29
  341. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  342. package/engine/object-data/entry/destructible-type.lua +181 -0
  343. package/engine/object-data/entry/item-type.d.ts +18 -3
  344. package/engine/object-data/entry/item-type.lua +88 -4
  345. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  346. package/engine/object-data/entry/lightning-type.lua +1 -1
  347. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  348. package/engine/object-data/entry/sound-preset.lua +140 -0
  349. package/engine/object-data/entry/unit-type.d.ts +71 -6
  350. package/engine/object-data/entry/unit-type.lua +592 -93
  351. package/engine/object-data/entry/upgrade.d.ts +2 -2
  352. package/engine/object-data/entry/upgrade.lua +4 -4
  353. package/engine/object-data/entry.d.ts +21 -14
  354. package/engine/object-data/entry.lua +68 -32
  355. package/engine/object-field/ability.d.ts +5 -4
  356. package/engine/object-field/ability.lua +10 -6
  357. package/engine/object-field/item.d.ts +22 -0
  358. package/engine/object-field/item.lua +118 -0
  359. package/engine/object-field/unit.d.ts +72 -3
  360. package/engine/object-field/unit.lua +268 -7
  361. package/engine/object-field.d.ts +26 -7
  362. package/engine/object-field.lua +362 -117
  363. package/engine/random.d.ts +10 -0
  364. package/engine/random.lua +21 -0
  365. package/engine/standard/entries/ability-type.d.ts +3102 -7
  366. package/engine/standard/entries/ability-type.lua +0 -6
  367. package/engine/standard/entries/buff-type.d.ts +48 -0
  368. package/engine/standard/entries/buff-type.lua +46 -0
  369. package/engine/standard/entries/item-type.d.ts +1299 -0
  370. package/engine/standard/entries/item-type.lua +2 -0
  371. package/engine/standard/entries/lightning-type.d.ts +42 -15
  372. package/engine/standard/entries/lightning-type.lua +0 -14
  373. package/engine/standard/entries/sound-preset.d.ts +10 -0
  374. package/engine/standard/entries/sound-preset.lua +10 -0
  375. package/engine/standard/entries/unit-type.d.ts +5 -0
  376. package/engine/standard/entries/unit-type.lua +5 -0
  377. package/engine/standard/fields/ability.d.ts +2 -2
  378. package/engine/standard/fields/ability.lua +2 -2
  379. package/engine/standard/fields/item.d.ts +4 -0
  380. package/engine/standard/fields/item.lua +6 -0
  381. package/engine/standard/fields/unit.d.ts +12 -0
  382. package/engine/standard/fields/unit.lua +20 -0
  383. package/engine/synchronization.d.ts +11 -0
  384. package/engine/synchronization.lua +77 -0
  385. package/engine/text-tag.d.ts +36 -2
  386. package/engine/text-tag.lua +250 -10
  387. package/engine/unit.d.ts +12 -1
  388. package/engine/unit.lua +12 -1
  389. package/event.d.ts +1 -1
  390. package/lualib_bundle.lua +1 -1
  391. package/math.d.ts +2 -0
  392. package/math.lua +14 -0
  393. package/net/socket.lua +1 -1
  394. package/network.lua +25 -1
  395. package/objutil/buff.lua +12 -11
  396. package/objutil/object.lua +1 -1
  397. package/objutil/unit.lua +8 -0
  398. package/operation.d.ts +8 -1
  399. package/operation.lua +38 -18
  400. package/package.json +3 -23
  401. package/patch-lua.lua +15 -0
  402. package/patch-lualib.lua +1 -1
  403. package/utility/arrays.d.ts +3 -0
  404. package/utility/arrays.lua +23 -0
  405. package/utility/callback-array.d.ts +17 -0
  406. package/utility/callback-array.lua +61 -0
  407. package/utility/functions.d.ts +8 -0
  408. package/utility/functions.lua +13 -0
  409. package/utility/linked-map.d.ts +35 -0
  410. package/utility/linked-map.lua +107 -0
  411. package/utility/linked-set.d.ts +5 -1
  412. package/utility/linked-set.lua +49 -1
  413. package/utility/lua-maps.d.ts +15 -2
  414. package/utility/lua-maps.lua +53 -2
  415. package/utility/lua-sets.d.ts +2 -0
  416. package/utility/lua-sets.lua +7 -0
  417. package/utility/random.d.ts +102 -0
  418. package/utility/random.lua +273 -0
  419. package/utility/records.lua +20 -1
  420. package/utility/reflection.lua +11 -7
  421. package/utility/types.d.ts +3 -0
  422. package/utility/unordered-map.d.ts +27 -0
  423. package/utility/unordered-map.lua +99 -0
  424. package/core/types/order.d.ts +0 -25
  425. package/core/types/order.lua +0 -55
  426. package/engine/internal/unit/item.lua +0 -79
  427. /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
  428. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  429. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  430. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -1,29 +1,30 @@
1
1
  /** @noSelfInFile */
2
2
  import { Event } from "../../event";
3
+ import { AbstractDestroyable, Destructor } from "../../destroyable";
4
+ import { CallbackId } from "../../utility/callback-array";
3
5
  declare const enum TimerPropertyKey {
4
6
  HANDLE = 0,
5
- DESTROYED = 1,
6
- DESTROY_ON_EXPIRATION = 2,
7
- CALLBACK = 3,
8
- ARGS_LENGTH = 4
7
+ DESTROY_ON_EXPIRATION = 1,
8
+ CALLBACK = 2,
9
+ ARGS_LENGTH = 3
9
10
  }
10
- export declare class Timer implements Destroyable {
11
+ export declare class Timer extends AbstractDestroyable {
11
12
  private readonly [TimerPropertyKey.HANDLE];
12
- private [TimerPropertyKey.DESTROYED]?;
13
13
  private [TimerPropertyKey.DESTROY_ON_EXPIRATION]?;
14
14
  private [TimerPropertyKey.CALLBACK]?;
15
15
  private [TimerPropertyKey.ARGS_LENGTH]?;
16
16
  private constructor();
17
17
  get handle(): jtimer;
18
18
  start<Args extends any[]>(timeout: number, periodic: boolean, callback: (...args: Args) => void, ...args: Args): void;
19
+ onDestroy(): Destructor;
19
20
  get elapsed(): number;
20
21
  get remaining(): number;
21
22
  get timeout(): number;
22
23
  pause(): void;
23
24
  resume(): void;
24
- destroy(): void;
25
25
  static create(): Timer;
26
- static run<Args extends any[]>(callback: (...args: Args) => void, ...args: Args): void;
26
+ static run<T, K extends KeysOfType<T, (this: T, ...args: any) => any>>(object: T, key: K, ...parameters: T[K] extends (this: T, ...args: any) => any ? Parameters<T[K]> : never): CallbackId;
27
+ static run<Args extends any[]>(callback: (this: void, ...args: Args) => void, ...args: Args): CallbackId;
27
28
  static simple<Args extends any[]>(timeout: number, callback: (...args: Args) => void, ...args: Args): Timer;
28
29
  static periodic<Args extends any[]>(period: number, callback: (this: void, timer: Timer, ...args: Args) => void, ...args: Args): Timer;
29
30
  static counted(period: number, count: number, callback: (this: void, timer: Timer) => void): Timer;
@@ -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" | "useslot0" | "useslot1" | "useslot2" | "useslot3" | "useslot4" | "useslot5" | "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,
@@ -208,11 +223,90 @@ do
208
223
  useslot3 = 852011,
209
224
  useslot4 = 852012,
210
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,
211
304
  drunkenhaze = 852585,
212
305
  earthquake = 852121,
213
306
  eattree = 852146,
214
307
  elementalfury = 852586,
215
308
  ensnare = 852106,
309
+ ensnareaoe = 852687,
216
310
  ensnareoff = 852108,
217
311
  ensnareon = 852107,
218
312
  entangle = 852147,
@@ -247,13 +341,18 @@ do
247
341
  getitem = 851981,
248
342
  gold2lumber = 852233,
249
343
  grabtree = 852511,
344
+ grit = 852693,
345
+ guidinghand = 852695,
250
346
  harvest = 852018,
347
+ headsplitter = 852691,
251
348
  heal = 852063,
252
349
  healingspray = 852664,
253
350
  healingward = 852109,
254
351
  healingwave = 852501,
255
352
  healoff = 852065,
256
353
  healon = 852064,
354
+ heroicchallenge = 852694,
355
+ heroicslash = 852684,
257
356
  hex = 852502,
258
357
  holdposition = 851993,
259
358
  holybolt = 852092,
@@ -268,6 +367,7 @@ do
268
367
  innerfire = 852066,
269
368
  innerfireoff = 852068,
270
369
  innerfireon = 852067,
370
+ inspirecourage = 852689,
271
371
  instant = 852200,
272
372
  invisibility = 852069,
273
373
  lavamonster = 852667,
@@ -299,7 +399,6 @@ do
299
399
  mount = 852469,
300
400
  mounthippogryph = 852143,
301
401
  move = 851986,
302
- moveAI = 851988,
303
402
  nagabuild = 852467,
304
403
  neutraldetectaoe = 852023,
305
404
  neutralinteract = 852566,
@@ -310,7 +409,7 @@ do
310
409
  parasiteoff = 852603,
311
410
  parasiteon = 852602,
312
411
  patrol = 851990,
313
- patrolAI = 851991,
412
+ AIpatrol = 851991,
314
413
  phaseshift = 852514,
315
414
  phaseshiftinstant = 852517,
316
415
  phaseshiftoff = 852516,
@@ -323,6 +422,7 @@ do
323
422
  possession = 852196,
324
423
  preservation = 852568,
325
424
  purge = 852111,
425
+ purifierblade = 852707,
326
426
  rainofchaos = 852237,
327
427
  rainoffire = 852238,
328
428
  raisedead = 852197,
@@ -359,6 +459,8 @@ do
359
459
  returnresources = 852020,
360
460
  revenge = 852241,
361
461
  revive = 852039,
462
+ righteousfury = 852706,
463
+ ritualdagger = 852674,
362
464
  roar = 852164,
363
465
  robogoblin = 852656,
364
466
  root = 852165,
@@ -381,6 +483,7 @@ do
381
483
  slowoff = 852077,
382
484
  slowon = 852076,
383
485
  soulburn = 852668,
486
+ soullantern = 852708,
384
487
  soulpreservation = 852242,
385
488
  spellshield = 852571,
386
489
  spellshieldaoe = 852572,
@@ -407,6 +510,7 @@ do
407
510
  summonphoenix = 852489,
408
511
  summonquillbeast = 852595,
409
512
  summonwareagle = 852596,
513
+ sweepingstrike = 852680,
410
514
  tankdroppilot = 852079,
411
515
  tankloadpilot = 852080,
412
516
  tankpilot = 852081,
@@ -425,12 +529,15 @@ do
425
529
  uncoldarrows = 852245,
426
530
  uncorporealform = 852494,
427
531
  undeadbuild = 851998,
532
+ undeadvengeance = 852703,
428
533
  undefend = 852056,
429
534
  undivineshield = 852091,
430
535
  unetherealform = 852497,
431
536
  unflamingarrows = 852175,
432
537
  unflamingattack = 852541,
538
+ unguidinghand = 852696,
433
539
  unholyfrenzy = 852209,
540
+ unholyfrenzyaoe = 852675,
434
541
  unimmolation = 852178,
435
542
  unload = 852047,
436
543
  unloadall = 852048,
@@ -440,17 +547,20 @@ do
440
547
  unravenform = 852156,
441
548
  unrobogoblin = 852657,
442
549
  unroot = 852166,
550
+ unsoullantern = 852709,
443
551
  unstableconcoction = 852500,
444
552
  unstoneform = 852207,
445
553
  unsubmerge = 852605,
446
554
  unsummon = 852210,
447
555
  unwindwalk = 852130,
556
+ valiantcharge = 852685,
448
557
  vengeance = 852521,
449
558
  vengeanceinstant = 852524,
450
559
  vengeanceoff = 852523,
451
560
  vengeanceon = 852522,
452
561
  volcano = 852669,
453
562
  voodoo = 852503,
563
+ warcry = 852701,
454
564
  ward = 852504,
455
565
  waterelemental = 852097,
456
566
  wateryminion = 852598,
@@ -459,7 +569,8 @@ do
459
569
  webon = 852212,
460
570
  whirlwind = 852128,
461
571
  windwalk = 852129,
462
- wispharvest = 852214
572
+ wispharvest = 852214,
573
+ witheringfire = 852711
463
574
  }
464
575
  return function(id)
465
576
  return orders[id] or 0