warscript 0.0.1-dev.bb34489 → 0.0.1-dev.bc4cd10

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