warscript 0.0.1-dev.9c98c3a → 0.0.1-dev.9d07b64

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 (345) hide show
  1. package/core/dummy.lua +4 -2
  2. package/core/types/effect.d.ts +11 -1
  3. package/core/types/effect.lua +43 -77
  4. package/core/types/frame.d.ts +16 -2
  5. package/core/types/frame.lua +128 -67
  6. package/core/types/handle.lua +9 -9
  7. package/core/types/item.d.ts +1 -0
  8. package/core/types/item.lua +1 -0
  9. package/core/types/player.d.ts +18 -1
  10. package/core/types/player.lua +73 -25
  11. package/core/types/playerColor.lua +4 -3
  12. package/core/types/sound.d.ts +1 -1
  13. package/core/types/sound.lua +14 -9
  14. package/core/types/tileCell.d.ts +9 -3
  15. package/core/types/tileCell.lua +16 -0
  16. package/core/types/unit.d.ts +5 -0
  17. package/core/types/unit.lua +5 -0
  18. package/core/util.d.ts +3 -1
  19. package/core/util.lua +109 -3
  20. package/decl/native.d.ts +705 -7
  21. package/destroyable.d.ts +1 -0
  22. package/destroyable.lua +9 -0
  23. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  24. package/engine/ability-type-extended-tooltip.lua +44 -0
  25. package/engine/behavior.d.ts +10 -2
  26. package/engine/behavior.lua +157 -76
  27. package/engine/behaviour/ability/apply-buff.lua +4 -4
  28. package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
  29. package/engine/behaviour/ability/damage.d.ts +4 -0
  30. package/engine/behaviour/ability/damage.lua +19 -15
  31. package/engine/behaviour/ability/emulate-impact.lua +5 -4
  32. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  33. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  34. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  35. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  36. package/engine/behaviour/ability.d.ts +13 -6
  37. package/engine/behaviour/ability.lua +102 -9
  38. package/engine/behaviour/unit/stun-immunity.d.ts +7 -5
  39. package/engine/behaviour/unit/stun-immunity.lua +6 -5
  40. package/engine/behaviour/unit.d.ts +8 -3
  41. package/engine/behaviour/unit.lua +102 -24
  42. package/engine/buff.d.ts +112 -54
  43. package/engine/buff.lua +559 -280
  44. package/engine/index.d.ts +2 -1
  45. package/engine/internal/ability.d.ts +7 -0
  46. package/engine/internal/ability.lua +65 -36
  47. package/engine/internal/item/fields.d.ts +12 -0
  48. package/engine/internal/item/fields.lua +33 -0
  49. package/engine/internal/item/owner-cache.d.ts +5 -0
  50. package/engine/internal/item/owner-cache.lua +4 -0
  51. package/engine/internal/item+owner.d.ts +2 -0
  52. package/engine/internal/item+owner.lua +27 -4
  53. package/engine/internal/item.d.ts +20 -5
  54. package/engine/internal/item.lua +146 -57
  55. package/engine/internal/mechanics/cast-ability.lua +6 -3
  56. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  57. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  58. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  59. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  60. package/engine/internal/object-data/health-bonus.lua +16 -0
  61. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  62. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  63. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  64. package/engine/internal/object-data/mana-bonus.lua +16 -0
  65. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  66. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  67. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  68. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  69. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  70. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  71. package/engine/internal/unit/appearance.d.ts +15 -0
  72. package/engine/internal/unit/appearance.lua +85 -0
  73. package/engine/internal/unit/attributes.d.ts +17 -0
  74. package/engine/internal/unit/attributes.lua +46 -0
  75. package/engine/internal/unit/bonus.d.ts +17 -0
  76. package/engine/internal/unit/bonus.lua +113 -8
  77. package/engine/internal/unit/buff.d.ts +2 -2
  78. package/engine/internal/unit/buff.lua +34 -19
  79. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  80. package/engine/internal/unit/equipment-inventory.lua +233 -0
  81. package/engine/internal/unit/expiration-timer.lua +1 -1
  82. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  83. package/engine/internal/unit/extended-inventory.lua +99 -0
  84. package/engine/internal/unit/fly-height.d.ts +7 -0
  85. package/engine/internal/unit/fly-height.lua +20 -0
  86. package/engine/internal/unit/ignore-events-items.lua +10 -1
  87. package/engine/internal/unit/interrupts.d.ts +12 -0
  88. package/engine/internal/unit/interrupts.lua +28 -0
  89. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  90. package/engine/internal/unit/inventory.lua +87 -0
  91. package/engine/internal/unit/item-container.d.ts +25 -0
  92. package/engine/internal/unit/item-container.lua +11 -0
  93. package/engine/internal/unit/item-order-events.d.ts +17 -0
  94. package/engine/internal/unit/item-order-events.lua +67 -0
  95. package/engine/internal/unit/item-slot.d.ts +27 -0
  96. package/engine/internal/unit/item-slot.lua +92 -0
  97. package/engine/internal/unit/main-selected.lua +12 -27
  98. package/engine/internal/unit/order.d.ts +3 -3
  99. package/engine/internal/unit/order.lua +10 -10
  100. package/engine/internal/unit/range-event.d.ts +12 -0
  101. package/engine/internal/unit/range-event.lua +90 -0
  102. package/engine/internal/unit/scale.d.ts +7 -0
  103. package/engine/internal/unit/scale.lua +20 -0
  104. package/engine/internal/unit+ability.d.ts +2 -1
  105. package/engine/internal/unit+ability.lua +63 -2
  106. package/engine/internal/unit+bonus.lua +3 -3
  107. package/engine/internal/unit+damage.d.ts +9 -0
  108. package/engine/internal/unit+damage.lua +33 -0
  109. package/engine/internal/unit+rally.lua +9 -31
  110. package/engine/internal/unit-missile-data.lua +58 -32
  111. package/engine/internal/unit-missile-launch.lua +29 -19
  112. package/engine/internal/unit.d.ts +15 -29
  113. package/engine/internal/unit.lua +192 -272
  114. package/engine/local-client.d.ts +28 -0
  115. package/engine/local-client.lua +324 -54
  116. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
  117. package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
  118. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  119. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  120. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  121. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  122. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  123. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  124. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  125. package/engine/object-data/auxiliary/item-class.lua +2 -0
  126. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  127. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  128. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  129. package/engine/object-data/auxiliary/order-type.lua +2 -0
  130. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  131. package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
  132. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  133. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  134. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  135. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  136. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  137. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  138. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  139. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  140. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  141. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  142. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  143. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  144. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  145. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  146. package/engine/object-data/entry/ability-type/blank-configurable.lua +2 -2
  147. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  148. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  149. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  150. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  151. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  152. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  153. package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
  154. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  155. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  156. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  157. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  158. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  159. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  160. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  161. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  162. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  163. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  164. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  165. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  166. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  167. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  168. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  169. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  170. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  171. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  172. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  173. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  174. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  175. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  176. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  177. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  178. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  179. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  180. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  181. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  182. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  183. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  184. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  185. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  186. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  187. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  188. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  189. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  190. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  191. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  192. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  193. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  194. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  195. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  196. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  197. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  198. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  199. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  200. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  201. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  202. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  203. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  204. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  205. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  206. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  207. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  208. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  209. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  210. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  211. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  212. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  213. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  214. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  215. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  216. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  217. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  218. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  219. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  220. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  221. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  222. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  223. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  224. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  225. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  226. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  227. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  228. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  229. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  230. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  231. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  232. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  233. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  234. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  235. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  236. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  237. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  238. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  239. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  240. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  241. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  242. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  243. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  244. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  245. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  246. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  247. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  248. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  249. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  250. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  251. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  252. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  253. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  254. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  255. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  256. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  257. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  258. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  259. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  260. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  261. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  262. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  263. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  264. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  265. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  266. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  267. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  268. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  269. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  270. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  271. package/engine/object-data/entry/ability-type.d.ts +33 -8
  272. package/engine/object-data/entry/ability-type.lua +286 -11
  273. package/engine/object-data/entry/buff-type/applicable.lua +122 -111
  274. package/engine/object-data/entry/buff-type.d.ts +6 -2
  275. package/engine/object-data/entry/buff-type.lua +26 -0
  276. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  277. package/engine/object-data/entry/destructible-type.lua +181 -0
  278. package/engine/object-data/entry/item-type.d.ts +18 -3
  279. package/engine/object-data/entry/item-type.lua +84 -0
  280. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  281. package/engine/object-data/entry/lightning-type.lua +1 -1
  282. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  283. package/engine/object-data/entry/unit-type.d.ts +61 -2
  284. package/engine/object-data/entry/unit-type.lua +444 -52
  285. package/engine/object-data/entry/upgrade.d.ts +2 -2
  286. package/engine/object-data/entry.d.ts +6 -1
  287. package/engine/object-data/entry.lua +8 -0
  288. package/engine/object-field/ability.lua +2 -2
  289. package/engine/object-field/item.d.ts +22 -0
  290. package/engine/object-field/item.lua +118 -0
  291. package/engine/object-field/unit.d.ts +20 -5
  292. package/engine/object-field/unit.lua +61 -0
  293. package/engine/object-field.d.ts +10 -2
  294. package/engine/object-field.lua +268 -123
  295. package/engine/random.d.ts +1 -0
  296. package/engine/random.lua +8 -0
  297. package/engine/standard/entries/ability-type.d.ts +3102 -7
  298. package/engine/standard/entries/ability-type.lua +0 -6
  299. package/engine/standard/entries/buff-type.d.ts +45 -0
  300. package/engine/standard/entries/buff-type.lua +43 -0
  301. package/engine/standard/entries/item-type.d.ts +1299 -0
  302. package/engine/standard/entries/item-type.lua +2 -0
  303. package/engine/standard/entries/lightning-type.d.ts +42 -15
  304. package/engine/standard/entries/lightning-type.lua +0 -14
  305. package/engine/standard/entries/unit-type.d.ts +5 -0
  306. package/engine/standard/entries/unit-type.lua +5 -0
  307. package/engine/standard/fields/ability.d.ts +4 -4
  308. package/engine/standard/fields/ability.lua +4 -4
  309. package/engine/standard/fields/item.d.ts +4 -0
  310. package/engine/standard/fields/item.lua +6 -0
  311. package/engine/standard/fields/unit.d.ts +11 -3
  312. package/engine/standard/fields/unit.lua +15 -2
  313. package/engine/synchronization.d.ts +11 -0
  314. package/engine/synchronization.lua +77 -0
  315. package/engine/text-tag.lua +2 -1
  316. package/engine/unit.d.ts +10 -1
  317. package/engine/unit.lua +10 -1
  318. package/event.d.ts +1 -1
  319. package/lualib_bundle.lua +1 -1
  320. package/math.d.ts +2 -0
  321. package/math.lua +14 -0
  322. package/net/socket.lua +1 -1
  323. package/network.lua +25 -1
  324. package/objutil/buff.lua +10 -8
  325. package/objutil/object.lua +1 -1
  326. package/operation.d.ts +8 -1
  327. package/operation.lua +38 -18
  328. package/package.json +3 -23
  329. package/patch-lua.lua +15 -0
  330. package/utility/arrays.d.ts +7 -1
  331. package/utility/arrays.lua +17 -0
  332. package/utility/linked-map.d.ts +35 -0
  333. package/utility/linked-map.lua +107 -0
  334. package/utility/linked-set.d.ts +3 -1
  335. package/utility/linked-set.lua +27 -0
  336. package/utility/random.d.ts +102 -0
  337. package/utility/random.lua +273 -0
  338. package/utility/records.lua +20 -1
  339. package/utility/unordered-map.d.ts +27 -0
  340. package/utility/unordered-map.lua +99 -0
  341. package/engine/internal/unit/item.lua +0 -78
  342. /package/engine/internal/{object-data/armor-increase.d.ts → misc/unit-ability-level-natives.d.ts} +0 -0
  343. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  344. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  345. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -0,0 +1,2 @@
1
+ local ____exports = {}
2
+ return ____exports
@@ -1,16 +1,43 @@
1
1
  /** @noSelfInFile */
2
- import { StandardLightningTypeId } from "../../object-data/entry/lightning-type";
3
- export declare const AERIAL_SHACKLES_LIGHTNING_TYPE_ID: StandardLightningTypeId;
4
- export declare const CHAIN_LIGHTNING_PRIMARY_LIGHTNING_TYPE_ID: StandardLightningTypeId;
5
- export declare const CHAIN_LIGHTNING_SECONDARY_LIGHTNING_TYPE_ID: StandardLightningTypeId;
6
- export declare const DRAIN_LIFE_LIGHTNING_TYPE_ID: StandardLightningTypeId;
7
- export declare const DRAIN_LIFE_AND_MANA_LIGHTNING_TYPE_ID: StandardLightningTypeId;
8
- export declare const DRAIN_MANA_LIGHTNING_TYPE_ID: StandardLightningTypeId;
9
- export declare const FINGER_OF_DEATH_LIGHTNING_TYPE_ID: StandardLightningTypeId;
10
- export declare const FORKED_LIGHTNING_LIGHTNING_TYPE_ID: StandardLightningTypeId;
11
- export declare const HEALING_WAVE_PRIMARY_LIGHTNING_TYPE_ID: StandardLightningTypeId;
12
- export declare const HEALING_WAVE_SECONDARY_LIGHTNING_TYPE_ID: StandardLightningTypeId;
13
- export declare const LIGHTNING_ATTACK_LIGHTNING_TYPE_ID: StandardLightningTypeId;
14
- export declare const MANA_BURN_LIGHTNING_TYPE_ID: StandardLightningTypeId;
15
- export declare const MANA_FLARE_LIGHTNING_TYPE_ID: StandardLightningTypeId;
16
- export declare const SPIRIT_LINK_LIGHTNING_TYPE_ID: StandardLightningTypeId;
2
+ export declare const enum StandardLightningTypeId {
3
+ /** `LEAS` */
4
+ AERIAL_SHACKLES = 1279607123,
5
+ /** `VLCG` */
6
+ CHAIN_LIGHTNING_GOLD = 1447838535,
7
+ /** `CLPB` */
8
+ CHAIN_LIGHTNING_PRIMARY = 1129074754,
9
+ /** `CLSB` */
10
+ CHAIN_LIGHTNING_SECONDARY = 1129075522,
11
+ /** `DRAL` */
12
+ DRAIN_LIFE = 1146241356,
13
+ /** `DRAB` */
14
+ DRAIN_LIFE_AND_MANA = 1146241346,
15
+ /** `DRAM` */
16
+ DRAIN_MANA = 1146241357,
17
+ /** `AFOD` */
18
+ FINGER_OF_DEATH = 1095126852,
19
+ /** `FORK` */
20
+ FORKED_LIGHTNING = 1179603531,
21
+ /** `HWPB` */
22
+ HEALING_WAVE_PRIMARY = 1213681730,
23
+ /** `HWSB` */
24
+ HEALING_WAVE_SECONDARY = 1213682498,
25
+ /** `INIT` */
26
+ INIT = 1229867348,
27
+ /** `DRWL` */
28
+ LIFE_WAVE = 1146246988,
29
+ /** `CHIM` */
30
+ LIGHTNING_ATTACK = 1128810829,
31
+ /** `MBUR` */
32
+ MANA_BURN = 1296192850,
33
+ /** `MFPB` */
34
+ MANA_FLARE = 1296453698,
35
+ /** `DRWM` */
36
+ MANA_WAVE = 1146246989,
37
+ /** `POSS` */
38
+ POSSESSION = 1347375955,
39
+ /** `VLST` */
40
+ SOUL_TETHER = 1447842644,
41
+ /** `SPLK` */
42
+ SPIRIT_LINK = 1397771339
43
+ }
@@ -1,16 +1,2 @@
1
1
  local ____exports = {}
2
- ____exports.AERIAL_SHACKLES_LIGHTNING_TYPE_ID = fourCC("LEAS")
3
- ____exports.CHAIN_LIGHTNING_PRIMARY_LIGHTNING_TYPE_ID = fourCC("CLPB")
4
- ____exports.CHAIN_LIGHTNING_SECONDARY_LIGHTNING_TYPE_ID = fourCC("CLSB")
5
- ____exports.DRAIN_LIFE_LIGHTNING_TYPE_ID = fourCC("DRAL")
6
- ____exports.DRAIN_LIFE_AND_MANA_LIGHTNING_TYPE_ID = fourCC("DRAB")
7
- ____exports.DRAIN_MANA_LIGHTNING_TYPE_ID = fourCC("DRAM")
8
- ____exports.FINGER_OF_DEATH_LIGHTNING_TYPE_ID = fourCC("AFOD")
9
- ____exports.FORKED_LIGHTNING_LIGHTNING_TYPE_ID = fourCC("FORK")
10
- ____exports.HEALING_WAVE_PRIMARY_LIGHTNING_TYPE_ID = fourCC("HWPB")
11
- ____exports.HEALING_WAVE_SECONDARY_LIGHTNING_TYPE_ID = fourCC("HWSB")
12
- ____exports.LIGHTNING_ATTACK_LIGHTNING_TYPE_ID = fourCC("CHIM")
13
- ____exports.MANA_BURN_LIGHTNING_TYPE_ID = fourCC("MBUR")
14
- ____exports.MANA_FLARE_LIGHTNING_TYPE_ID = fourCC("MFPB")
15
- ____exports.SPIRIT_LINK_LIGHTNING_TYPE_ID = fourCC("SPLK")
16
2
  return ____exports
@@ -15,6 +15,7 @@ export declare const MOUNTAIN_KING_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
15
15
  export declare const PALADIN_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
16
16
  export declare const ARCHER_HIGH_ELF_UNIT_TYPE_ID: StandardUnitTypeId;
17
17
  export declare const CAPTAIN_UNIT_TYPE_ID: StandardUnitTypeId;
18
+ export declare const CHAPLAIN_UNIT_TYPE_ID: StandardUnitTypeId;
18
19
  export declare const SWORDSMAN_UNIT_TYPE_ID: StandardUnitTypeId;
19
20
  export declare const ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
20
21
  export declare const ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
@@ -47,6 +48,7 @@ export declare const SPIRIT_WALKER_UNIT_TYPE_ID: StandardUnitTypeId;
47
48
  export declare const TAUREN_UNIT_TYPE_ID: StandardUnitTypeId;
48
49
  export declare const WIND_RIDER_UNIT_TYPE_ID: StandardUnitTypeId;
49
50
  export declare const WITCH_DOCTOR_UNIT_TYPE_ID: StandardUnitTypeId;
51
+ export declare const BLADEMASTER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
50
52
  export declare const ARCHER_UNIT_TYPE_ID: StandardUnitTypeId;
51
53
  export declare const CHIMAERA_UNIT_TYPE_ID: StandardUnitTypeId;
52
54
  export declare const DRUID_OF_THE_CLAW_UNIT_TYPE_ID: StandardUnitTypeId;
@@ -67,9 +69,11 @@ export declare const DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID: StandardHeroUnit
67
69
  export declare const ABOMINATION_UNIT_TYPE_ID: StandardUnitTypeId;
68
70
  export declare const GHOUL_UNIT_TYPE_ID: StandardUnitTypeId;
69
71
  export declare const DEATH_KNIGHT_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
72
+ export declare const DREADLORD_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
70
73
  export declare const ZOMBIE_UNIT_TYPE_ID: StandardUnitTypeId;
71
74
  export declare const ZOMBIE_FEMALE_UNIT_TYPE_ID: StandardUnitTypeId;
72
75
  export declare const ARTHAS_EVIL_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
76
+ export declare const MAL_GANIS_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
73
77
  export declare const DIRE_MAMMOTH_UNIT_TYPE_ID: StandardUnitTypeId;
74
78
  export declare const ELDER_JUNGLE_STALKER_UNIT_TYPE_ID: StandardUnitTypeId;
75
79
  export declare const ENRAGED_ELEMENTAL_UNIT_TYPE_ID: StandardUnitTypeId;
@@ -98,6 +102,7 @@ export declare const WENDIGO_UNIT_TYPE_ID: StandardUnitTypeId;
98
102
  export declare const WENDIGO_SHAMAN_UNIT_TYPE_ID: StandardUnitTypeId;
99
103
  export declare const WILDKIN_UNIT_TYPE_ID: StandardUnitTypeId;
100
104
  export declare const WRAITH_UNIT_TYPE_ID: StandardUnitTypeId;
105
+ export declare const PIT_LORD_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
101
106
  export declare const GOBLIN_LAND_MINE_UNIT_TYPE_ID: StandardUnitTypeId;
102
107
  export declare const CIRCLE_OF_POWER_UNIT_TYPE_ID: StandardUnitTypeId;
103
108
  export declare const CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID: StandardUnitTypeId;
@@ -14,6 +14,7 @@ ____exports.MOUNTAIN_KING_HERO_UNIT_TYPE_ID = fourCC("Hmkg")
14
14
  ____exports.PALADIN_HERO_UNIT_TYPE_ID = fourCC("Hpal")
15
15
  ____exports.ARCHER_HIGH_ELF_UNIT_TYPE_ID = fourCC("nhea")
16
16
  ____exports.CAPTAIN_UNIT_TYPE_ID = fourCC("hcth")
17
+ ____exports.CHAPLAIN_UNIT_TYPE_ID = fourCC("nchp")
17
18
  ____exports.SWORDSMAN_UNIT_TYPE_ID = fourCC("hhes")
18
19
  ____exports.ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID = fourCC("Hapm")
19
20
  ____exports.ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID = fourCC("Hssa")
@@ -46,6 +47,7 @@ ____exports.SPIRIT_WALKER_UNIT_TYPE_ID = fourCC("ospw")
46
47
  ____exports.TAUREN_UNIT_TYPE_ID = fourCC("otau")
47
48
  ____exports.WIND_RIDER_UNIT_TYPE_ID = fourCC("owyv")
48
49
  ____exports.WITCH_DOCTOR_UNIT_TYPE_ID = fourCC("odoc")
50
+ ____exports.BLADEMASTER_HERO_UNIT_TYPE_ID = fourCC("Obla")
49
51
  ____exports.ARCHER_UNIT_TYPE_ID = fourCC("earc")
50
52
  ____exports.CHIMAERA_UNIT_TYPE_ID = fourCC("echm")
51
53
  ____exports.DRUID_OF_THE_CLAW_UNIT_TYPE_ID = fourCC("edoc")
@@ -66,9 +68,11 @@ ____exports.DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID = fourCC("Edmm")
66
68
  ____exports.ABOMINATION_UNIT_TYPE_ID = fourCC("uabo")
67
69
  ____exports.GHOUL_UNIT_TYPE_ID = fourCC("ugho")
68
70
  ____exports.DEATH_KNIGHT_HERO_UNIT_TYPE_ID = fourCC("Udea")
71
+ ____exports.DREADLORD_HERO_UNIT_TYPE_ID = fourCC("Udre")
69
72
  ____exports.ZOMBIE_UNIT_TYPE_ID = fourCC("nzom")
70
73
  ____exports.ZOMBIE_FEMALE_UNIT_TYPE_ID = fourCC("nzof")
71
74
  ____exports.ARTHAS_EVIL_HERO_UNIT_TYPE_ID = fourCC("Uear")
75
+ ____exports.MAL_GANIS_HERO_UNIT_TYPE_ID = fourCC("Umal")
72
76
  ____exports.DIRE_MAMMOTH_UNIT_TYPE_ID = fourCC("nmdr")
73
77
  ____exports.ELDER_JUNGLE_STALKER_UNIT_TYPE_ID = fourCC("njga")
74
78
  ____exports.ENRAGED_ELEMENTAL_UNIT_TYPE_ID = fourCC("nele")
@@ -97,6 +101,7 @@ ____exports.WENDIGO_UNIT_TYPE_ID = fourCC("nwen")
97
101
  ____exports.WENDIGO_SHAMAN_UNIT_TYPE_ID = fourCC("nwns")
98
102
  ____exports.WILDKIN_UNIT_TYPE_ID = fourCC("nowb")
99
103
  ____exports.WRAITH_UNIT_TYPE_ID = fourCC("ngh2")
104
+ ____exports.PIT_LORD_HERO_UNIT_TYPE_ID = fourCC("Nplh")
100
105
  ____exports.GOBLIN_LAND_MINE_UNIT_TYPE_ID = fourCC("nglm")
101
106
  ____exports.CIRCLE_OF_POWER_UNIT_TYPE_ID = fourCC("ncop")
102
107
  ____exports.CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID = fourCC("ncp2")
@@ -7,8 +7,8 @@ export declare const BUTTON_POSITION_ACTIVATED_Y_ABILITY_INTEGER_FIELD: AbilityI
7
7
  export declare const BUTTON_POSITION_RESEARCH_X_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
8
8
  export declare const BUTTON_POSITION_RESEARCH_Y_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
9
9
  export declare const MISSILE_SPEED_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
10
- export declare const TARGET_ATTACHMENTS_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
11
- export declare const CASTER_ATTACHMENTS_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
10
+ export declare const TARGET_EFFECT_COUNT_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
11
+ export declare const CASTER_EFFECT_COUNT_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
12
12
  export declare const PRIORITY_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
13
13
  export declare const LEVELS_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
14
14
  export declare const REQUIRED_LEVEL_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
@@ -376,8 +376,8 @@ export declare const INVISIBILITY_TRANSITION_TIME_ABILITY_FLOAT_LEVEL_FIELD: Abi
376
376
  export declare const ACTIVATION_RADIUS_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
377
377
  export declare const AMOUNT_REGENERATED_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
378
378
  export declare const DAMAGE_PER_SECOND_POI1_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
379
- export declare const ATTACK_SPEED_FACTOR_POI2_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
380
- export declare const MOVEMENT_SPEED_FACTOR_POI3_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
379
+ export declare const MOVEMENT_SPEED_FACTOR_POI2_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
380
+ export declare const ATTACK_SPEED_FACTOR_POI3_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
381
381
  export declare const EXTRA_DAMAGE_POA1_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
382
382
  export declare const DAMAGE_PER_SECOND_POA2_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
383
383
  export declare const ATTACK_SPEED_FACTOR_POA3_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
@@ -18,8 +18,8 @@ ____exports.BUTTON_POSITION_ACTIVATED_Y_ABILITY_INTEGER_FIELD = AbilityIntegerFi
18
18
  ____exports.BUTTON_POSITION_RESEARCH_X_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("arpx"))
19
19
  ____exports.BUTTON_POSITION_RESEARCH_Y_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("arpy"))
20
20
  ____exports.MISSILE_SPEED_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("amsp"))
21
- ____exports.TARGET_ATTACHMENTS_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("atac"))
22
- ____exports.CASTER_ATTACHMENTS_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("acac"))
21
+ ____exports.TARGET_EFFECT_COUNT_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("atac"))
22
+ ____exports.CASTER_EFFECT_COUNT_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("acac"))
23
23
  ____exports.PRIORITY_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("apri"))
24
24
  ____exports.LEVELS_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("alev"))
25
25
  ____exports.REQUIRED_LEVEL_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("arlv"))
@@ -387,8 +387,8 @@ ____exports.INVISIBILITY_TRANSITION_TIME_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloa
387
387
  ____exports.ACTIVATION_RADIUS_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Neu1"))
388
388
  ____exports.AMOUNT_REGENERATED_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Arm1"))
389
389
  ____exports.DAMAGE_PER_SECOND_POI1_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poi1"))
390
- ____exports.ATTACK_SPEED_FACTOR_POI2_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poi2"))
391
- ____exports.MOVEMENT_SPEED_FACTOR_POI3_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poi3"))
390
+ ____exports.MOVEMENT_SPEED_FACTOR_POI2_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poi2"))
391
+ ____exports.ATTACK_SPEED_FACTOR_POI3_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poi3"))
392
392
  ____exports.EXTRA_DAMAGE_POA1_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poa1"))
393
393
  ____exports.DAMAGE_PER_SECOND_POA2_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poa2"))
394
394
  ____exports.ATTACK_SPEED_FACTOR_POA3_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poa3"))
@@ -0,0 +1,4 @@
1
+ /** @noSelfInFile */
2
+ import { ItemBooleanField } from "../../object-field/item";
3
+ export declare const CAN_BE_SOLD_TO_MERCHANTS_ITEM_FIELD: ItemBooleanField & symbol;
4
+ export declare const IS_ACTIVELY_USED_ITEM_FIELD: ItemBooleanField & symbol;
@@ -0,0 +1,6 @@
1
+ local ____exports = {}
2
+ local ____item = require("engine.object-field.item")
3
+ local ItemBooleanField = ____item.ItemBooleanField
4
+ ____exports.CAN_BE_SOLD_TO_MERCHANTS_ITEM_FIELD = ItemBooleanField:create(fourCC("ipaw"))
5
+ ____exports.IS_ACTIVELY_USED_ITEM_FIELD = ItemBooleanField:create(fourCC("iusa"))
6
+ return ____exports
@@ -1,4 +1,12 @@
1
1
  /** @noSelfInFile */
2
- import { UnitClassificationsField, UnitPropulsionWindowField } from "../../object-field/unit";
3
- export declare const PROPULSION_WINDOW_UNIT_FLOAT_FIELD: UnitPropulsionWindowField & symbol;
4
- export declare const UNIT_CLASSIFICATIONS_FIELD: UnitClassificationsField & symbol;
2
+ import { UnitClassificationsField, UnitFloatField, UnitFlyHeightField, UnitHealthRegenerationTypeField, UnitIntegerField, UnitPropulsionWindowField, UnitScalingValueField } from "../../object-field/unit";
3
+ export declare const PROPULSION_WINDOW_UNIT_FIELD: UnitPropulsionWindowField & symbol;
4
+ export declare const CLASSIFICATIONS_UNIT_FIELD: UnitClassificationsField & symbol;
5
+ export declare const FLY_HEIGHT_UNIT_FIELD: UnitFlyHeightField & symbol;
6
+ export declare const SCALING_VALUE_UNIT_FIELD: UnitScalingValueField & symbol;
7
+ export declare const HEALTH_REGENERATION_RATE_UNIT_FIELD: UnitFloatField & symbol;
8
+ export declare const MANA_REGENERATION_RATE_UNIT_FIELD: UnitFloatField & symbol;
9
+ export declare const HEALTH_REGENERATION_TYPE_UNIT_FIELD: UnitHealthRegenerationTypeField & symbol;
10
+ export declare const STRENGTH_UNIT_FIELD: UnitIntegerField<number> & symbol;
11
+ export declare const AGILITY_UNIT_FIELD: UnitIntegerField<number> & symbol;
12
+ export declare const INTELLIGENCE_UNIT_FIELD: UnitIntegerField<number> & symbol;
@@ -1,7 +1,20 @@
1
1
  local ____exports = {}
2
2
  local ____unit = require("engine.object-field.unit")
3
3
  local UnitClassificationsField = ____unit.UnitClassificationsField
4
+ local UnitFloatField = ____unit.UnitFloatField
5
+ local UnitFlyHeightField = ____unit.UnitFlyHeightField
6
+ local UnitHealthRegenerationTypeField = ____unit.UnitHealthRegenerationTypeField
7
+ local UnitIntegerField = ____unit.UnitIntegerField
4
8
  local UnitPropulsionWindowField = ____unit.UnitPropulsionWindowField
5
- ____exports.PROPULSION_WINDOW_UNIT_FLOAT_FIELD = UnitPropulsionWindowField:create(fourCC("urpw"))
6
- ____exports.UNIT_CLASSIFICATIONS_FIELD = UnitClassificationsField:create(fourCC("utyp"))
9
+ local UnitScalingValueField = ____unit.UnitScalingValueField
10
+ ____exports.PROPULSION_WINDOW_UNIT_FIELD = UnitPropulsionWindowField:create(fourCC("urpw"))
11
+ ____exports.CLASSIFICATIONS_UNIT_FIELD = UnitClassificationsField:create(fourCC("utyp"))
12
+ ____exports.FLY_HEIGHT_UNIT_FIELD = UnitFlyHeightField:create(fourCC("ufyh"))
13
+ ____exports.SCALING_VALUE_UNIT_FIELD = UnitScalingValueField:create(fourCC("usca"))
14
+ ____exports.HEALTH_REGENERATION_RATE_UNIT_FIELD = UnitFloatField:create(fourCC("uhpr"))
15
+ ____exports.MANA_REGENERATION_RATE_UNIT_FIELD = UnitFloatField:create(fourCC("umpr"))
16
+ ____exports.HEALTH_REGENERATION_TYPE_UNIT_FIELD = UnitHealthRegenerationTypeField:create(fourCC("uhrt"))
17
+ ____exports.STRENGTH_UNIT_FIELD = UnitIntegerField:create(fourCC("ustc"))
18
+ ____exports.AGILITY_UNIT_FIELD = UnitIntegerField:create(fourCC("uagc"))
19
+ ____exports.INTELLIGENCE_UNIT_FIELD = UnitIntegerField:create(fourCC("uinc"))
7
20
  return ____exports
@@ -0,0 +1,11 @@
1
+ /** @noSelfInFile */
2
+ import { Player } from "../core/types/player";
3
+ import { Event } from "../event";
4
+ export declare const synchronizer: <T, K extends number>(getSyncId: (object: T) => K, getObject: (syncId: K) => T | undefined) => ((player: Player, object: T | undefined) => Promise<T | undefined>);
5
+ export declare class ObjectBus<T, K extends number> {
6
+ private readonly getSyncId;
7
+ readonly event: Event<[Player, T | undefined]>;
8
+ private readonly syncSlider;
9
+ constructor(getSyncId: (object: T) => K, getObject: (syncId: K) => T | undefined);
10
+ send(object: T | undefined): void;
11
+ }
@@ -0,0 +1,77 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__New = ____lualib.__TS__New
3
+ local __TS__Promise = ____lualib.__TS__Promise
4
+ local __TS__Class = ____lualib.__TS__Class
5
+ local ____exports = {}
6
+ local ____player = require("core.types.player")
7
+ local Player = ____player.Player
8
+ local ____math = require("math")
9
+ local MAXIMUM_INTEGER = ____math.MAXIMUM_INTEGER
10
+ local MINIMUM_INTEGER = ____math.MINIMUM_INTEGER
11
+ local ____linked_2Dset = require("utility.linked-set")
12
+ local LinkedSet = ____linked_2Dset.LinkedSet
13
+ local ____event = require("event")
14
+ local Event = ____event.Event
15
+ local eventInvoke = Event.invoke
16
+ local createFrameByType = BlzCreateFrameByType
17
+ local createTrigger = CreateTrigger
18
+ local getOriginFrame = BlzGetOriginFrame
19
+ local getTriggerFrameValue = BlzGetTriggerFrameValue
20
+ local getTriggerPlayer = GetTriggerPlayer
21
+ local frameSetMinMaxValue = BlzFrameSetMinMaxValue
22
+ local frameSetValue = BlzFrameSetValue
23
+ local triggerAddAction = TriggerAddAction
24
+ local triggerRegisterFrameEvent = BlzTriggerRegisterFrameEvent
25
+ ____exports.synchronizer = function(getSyncId, getObject)
26
+ local queue = __TS__New(LinkedSet)
27
+ local socket = __TS__New(____exports.ObjectBus, getSyncId, getObject)
28
+ socket.event:addListener(function(_, object)
29
+ local ____opt_0 = queue:pop()
30
+ if ____opt_0 ~= nil then
31
+ ____opt_0(object)
32
+ end
33
+ end)
34
+ local function executor(____, resolve)
35
+ queue:add(resolve)
36
+ end
37
+ return function(player, object)
38
+ if player.isLocal then
39
+ socket:send(object)
40
+ end
41
+ return __TS__New(__TS__Promise, executor)
42
+ end
43
+ end
44
+ ____exports.ObjectBus = __TS__Class()
45
+ local ObjectBus = ____exports.ObjectBus
46
+ ObjectBus.name = "ObjectBus"
47
+ function ObjectBus.prototype.____constructor(self, getSyncId, getObject)
48
+ self.getSyncId = getSyncId
49
+ local syncSlider = createFrameByType(
50
+ "SLIDER",
51
+ "Synchronizer",
52
+ getOriginFrame(ORIGIN_FRAME_WORLD_FRAME, 0),
53
+ "",
54
+ 0
55
+ )
56
+ frameSetMinMaxValue(syncSlider, MINIMUM_INTEGER, MAXIMUM_INTEGER)
57
+ self.syncSlider = syncSlider
58
+ local event = __TS__New(Event)
59
+ local trigger = createTrigger()
60
+ triggerRegisterFrameEvent(trigger, syncSlider, FRAMEEVENT_SLIDER_VALUE_CHANGED)
61
+ triggerAddAction(
62
+ trigger,
63
+ function()
64
+ eventInvoke(
65
+ event,
66
+ Player:of(getTriggerPlayer()),
67
+ getObject(getTriggerFrameValue())
68
+ )
69
+ end
70
+ )
71
+ self.event = event
72
+ end
73
+ function ObjectBus.prototype.send(self, object)
74
+ local syncId = object ~= nil and self.getSyncId(object) or 0
75
+ frameSetValue(self.syncSlider, syncId)
76
+ end
77
+ return ____exports
@@ -36,6 +36,7 @@ local isUnitVisible = IsUnitVisible
36
36
  local getUnitFlyHeight = GetUnitFlyHeight
37
37
  local getUnitX = GetUnitX
38
38
  local getUnitY = GetUnitY
39
+ local unitAlive = UnitAlive
39
40
  local DEFAULT_FONT_SIZE = 0.024
40
41
  local function applyConfiguration(textTag, configuration)
41
42
  setTextTagFadepoint(textTag, configuration.fadepoint)
@@ -333,7 +334,7 @@ Timer.onPeriod[1 / 64]:addListener(function()
333
334
  y,
334
335
  getUnitFlyHeight(unit) + getTerrainZ(x, y)
335
336
  )
336
- if isInView and not isUnitHidden(unit) and not isUnitLoaded(unit) and isUnitVisible(unit, PLAYER_LOCAL_HANDLE) then
337
+ if isInView and not isUnitHidden(unit) and not isUnitLoaded(unit) and isUnitVisible(unit, PLAYER_LOCAL_HANDLE) and unitAlive(unit) then
337
338
  setTextTagPosUnit(
338
339
  ensureHandle(textTag),
339
340
  unit,
package/engine/unit.d.ts CHANGED
@@ -2,10 +2,14 @@
2
2
  import "./internal/unit";
3
3
  import "./internal/unit/order";
4
4
  import "./internal/unit/ability";
5
+ import "./internal/unit/appearance";
6
+ import "./internal/unit/extended-inventory";
7
+ import "./internal/unit/equipment-inventory";
5
8
  import "./internal/unit/allowed-targets";
6
9
  import "./internal/unit/buff";
7
10
  import "./internal/unit/expiration-timer";
8
- import "./internal/unit/item";
11
+ import "./internal/unit/inventory";
12
+ import "./internal/unit/item-order-events";
9
13
  import "./internal/unit+ability";
10
14
  import "./internal/unit+damage";
11
15
  import "./internal/unit+rally";
@@ -19,6 +23,11 @@ import "./internal/unit/invulnerability-counter";
19
23
  import "./internal/unit/detach-missiles";
20
24
  import "./internal/unit/main-selected";
21
25
  import "./internal/unit/add-item-to-slot-init";
26
+ import "./internal/unit/attributes";
27
+ import "./internal/unit/fly-height";
28
+ import "./internal/unit/scale";
29
+ import "./internal/unit/interrupts";
30
+ import "./internal/unit/range-event";
22
31
  import "./internal/unit/band-aids/ancestral-spirit-cannibalize";
23
32
  export { Unit, DamagingEvent, DamageEvent } from "./internal/unit";
24
33
  export * from "./internal/unit+damage";
package/engine/unit.lua CHANGED
@@ -2,10 +2,14 @@ local ____exports = {}
2
2
  require("engine.internal.unit")
3
3
  require("engine.internal.unit.order")
4
4
  require("engine.internal.unit.ability")
5
+ require("engine.internal.unit.appearance")
6
+ require("engine.internal.unit.extended-inventory")
7
+ require("engine.internal.unit.equipment-inventory")
5
8
  require("engine.internal.unit.allowed-targets")
6
9
  require("engine.internal.unit.buff")
7
10
  require("engine.internal.unit.expiration-timer")
8
- require("engine.internal.unit.item")
11
+ require("engine.internal.unit.inventory")
12
+ require("engine.internal.unit.item-order-events")
9
13
  require("engine.internal.unit+ability")
10
14
  require("engine.internal.unit+damage")
11
15
  require("engine.internal.unit+rally")
@@ -19,6 +23,11 @@ require("engine.internal.unit.invulnerability-counter")
19
23
  require("engine.internal.unit.detach-missiles")
20
24
  require("engine.internal.unit.main-selected")
21
25
  require("engine.internal.unit.add-item-to-slot-init")
26
+ require("engine.internal.unit.attributes")
27
+ require("engine.internal.unit.fly-height")
28
+ require("engine.internal.unit.scale")
29
+ require("engine.internal.unit.interrupts")
30
+ require("engine.internal.unit.range-event")
22
31
  require("engine.internal.unit.band-aids.ancestral-spirit-cannibalize")
23
32
  do
24
33
  local ____unit = require("engine.internal.unit")
package/event.d.ts CHANGED
@@ -40,7 +40,7 @@ export declare const createDispatchingEvent: {
40
40
  <T extends Event<any>, S extends Event<EventParameters<T>>>(underlyingEvent: T, extractKey: (this: void, ...args: EventParameters<T>) => number, invokeEvent?: (this: void, event: S, ...args: EventParameters<T>) => unknown, ...createEvent: [...(Event<any> extends S ? [((this: void) => S)?] : [(this: void) => S])]): DispatchingEvent<EventParameters<T>, T, S>;
41
41
  };
42
42
  export declare class DependentInitializingEvent<T extends any[], R extends any[]> extends InitializingEvent<R, EventListener<T>> {
43
- constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false] | [true, ...R]>);
43
+ constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false, ...unknown[]] | [boolean, ...R]>);
44
44
  }
45
45
  export declare class EventParametersCaptor<T extends any[]> {
46
46
  private readonly event;
package/lualib_bundle.lua CHANGED
@@ -2241,7 +2241,7 @@ local function __TS__SourceMapTraceBack(fileName, sourceMap)
2241
2241
  end
2242
2242
  local result = string.gsub(
2243
2243
  trace,
2244
- "(%S+)%.lua:(%d+)",
2244
+ "([^%s<]+)%.lua:(%d+)",
2245
2245
  function(file, line) return replacer(nil, file .. ".lua", file .. ".ts", line) end
2246
2246
  )
2247
2247
  local function stringReplacer(____, file, line)
package/math.d.ts CHANGED
@@ -23,6 +23,8 @@ export declare const floor: typeof math.floor;
23
23
  export declare const log: typeof math.log;
24
24
  export declare const max: typeof math.max;
25
25
  export declare const min: typeof math.min;
26
+ export declare const sum: (x: number, ...numbers: number[]) => number;
27
+ export declare const product: (x: number, ...numbers: number[]) => number;
26
28
  /** Returns the signum function of the argument;
27
29
  * zero if the argument is zero,
28
30
  * 1.0 if the argument is greater than zero,
package/math.lua CHANGED
@@ -39,6 +39,20 @@ ____exports.floor = math.floor
39
39
  ____exports.log = math.log
40
40
  ____exports.max = math.max
41
41
  ____exports.min = math.min
42
+ ____exports.sum = function(x, ...)
43
+ for i = 1, select("#", ...) do
44
+ local number = select(i, ...)
45
+ x = x + number
46
+ end
47
+ return x
48
+ end
49
+ ____exports.product = function(x, ...)
50
+ for i = 1, select("#", ...) do
51
+ local number = select(i, ...)
52
+ x = x * number
53
+ end
54
+ return x
55
+ end
42
56
  --- Returns the signum function of the argument;
43
57
  -- zero if the argument is zero,
44
58
  -- 1.0 if the argument is greater than zero,
package/net/socket.lua CHANGED
@@ -28,13 +28,13 @@ function Socket.prototype.____constructor(self)
28
28
  onReceive[self[0]]:addListener(function(sender, data)
29
29
  local chunks = chunksByPlayer[sender]
30
30
  if chunks ~= nil then
31
+ chunksByPlayer[sender] = nil
31
32
  chunks[#chunks + 1] = data
32
33
  Event.invoke(
33
34
  self.onMessage,
34
35
  sender,
35
36
  tableConcat(chunks)
36
37
  )
37
- chunksByPlayer[sender] = nil
38
38
  else
39
39
  Event.invoke(self.onMessage, sender, data)
40
40
  end
package/network.lua CHANGED
@@ -8,6 +8,7 @@ local ____exports = {}
8
8
  local ____event = require("event")
9
9
  local TriggerEvent = ____event.TriggerEvent
10
10
  local ____exception = require("exception")
11
+ local CancellationException = ____exception.CancellationException
11
12
  local IllegalArgumentException = ____exception.IllegalArgumentException
12
13
  local ____player = require("core.types.player")
13
14
  local Player = ____player.Player
@@ -86,6 +87,9 @@ function SyncOperation.prototype.____constructor(self, player, data)
86
87
  self.l = #self.d
87
88
  end
88
89
  function SyncOperation.prototype.estimate(self)
90
+ if self.isCanceled or not self.player.isPlaying then
91
+ return __TS__Promise.reject(__TS__New(CancellationException))
92
+ end
89
93
  if self.player.isLocal then
90
94
  sendSyncData(
91
95
  "__oh",
@@ -98,6 +102,7 @@ function SyncOperation.prototype.estimate(self)
98
102
  end
99
103
  function SyncOperation.prototype.work(self)
100
104
  if self.progress >= self.maximum then
105
+ syncOperationById[self.x] = nil
101
106
  return decode(concat(self.c))
102
107
  end
103
108
  self.s = packetsPerRound
@@ -116,7 +121,18 @@ function SyncOperation.prototype.work(self)
116
121
  return __TS__New(__TS__Promise, syncPromiseExecutor)
117
122
  end
118
123
  function SyncOperation.prototype.doCancel(self)
119
- return false
124
+ if not (syncOperationById[self.x] ~= nil) then
125
+ return false
126
+ end
127
+ syncOperationById[self.x] = nil
128
+ local ____opt_1 = self.r
129
+ if ____opt_1 ~= nil then
130
+ ____opt_1(
131
+ self,
132
+ __TS__New(CancellationException)
133
+ )
134
+ end
135
+ return true
120
136
  end
121
137
  __TS__ObjectDefineProperty(
122
138
  SyncOperation,
@@ -178,6 +194,7 @@ SyncOperation._ = (function()
178
194
  local resolveWork = syncOperation.w
179
195
  if resolveWork then
180
196
  if syncOperation.progress >= syncOperation.maximum then
197
+ syncOperationById[id] = nil
181
198
  resolveWork(
182
199
  nil,
183
200
  decode(concat(chunks))
@@ -188,6 +205,13 @@ SyncOperation._ = (function()
188
205
  end
189
206
  end
190
207
  end)
208
+ Player.onLeave:addListener(function(player)
209
+ for ____, operation in pairs(syncOperationById) do
210
+ if operation.player == player then
211
+ operation:cancel()
212
+ end
213
+ end
214
+ end)
191
215
  end)()
192
216
  function ____exports.synchronize(player, data)
193
217
  return __TS__New(____exports.SyncOperation, player, data):execute()
package/objutil/buff.lua CHANGED
@@ -29,6 +29,8 @@ local ____timer = require("core.types.timer")
29
29
  local Timer = ____timer.Timer
30
30
  local ____exception = require("exception")
31
31
  local IllegalStateException = ____exception.IllegalStateException
32
+ local ____linked_2Dmap = require("utility.linked-map")
33
+ local LinkedMap = ____linked_2Dmap.LinkedMap
32
34
  local ____assert = _G.assert
33
35
  local ____pairs = _G.pairs
34
36
  ____exports.BuffDefinition = __TS__Class()
@@ -461,7 +463,7 @@ local buffs = setmetatable(
461
463
  {
462
464
  __mode = "k",
463
465
  __index = function(self, unit)
464
- local ____table = {}
466
+ local ____table = __TS__New(LinkedMap)
465
467
  self[unit] = ____table
466
468
  return ____table
467
469
  end
@@ -494,7 +496,7 @@ function Buff.prototype.____constructor(self, unit, source, duration, level, pre
494
496
  end
495
497
  local constructor = self.constructor
496
498
  local instances = buffs[unit]
497
- local instance = instances[constructor]
499
+ local instance = instances:get(constructor)
498
500
  if instance then
499
501
  instance:destroy()
500
502
  if not instance.destroyed then
@@ -507,7 +509,7 @@ function Buff.prototype.____constructor(self, unit, source, duration, level, pre
507
509
  )
508
510
  end
509
511
  end
510
- instances[constructor] = self
512
+ instances:put(constructor, self)
511
513
  if preset then
512
514
  local unitHandle = unit.handle
513
515
  local slowPoisonMethod = not preset.positive and not preset.magic
@@ -525,7 +527,7 @@ function Buff.prototype.____constructor(self, unit, source, duration, level, pre
525
527
  ability:setField(ABILITY_RLF_DURATION_NORMAL, level, actualDuration)
526
528
  ability:setField(ABILITY_RLF_DURATION_HERO, level, actualDuration)
527
529
  end,
528
- preset.positive and (preset.magic and orderId("innerfire") or 852609) or (preset.magic and orderId("cripple") or orderId("flamingarrowstarg")),
530
+ preset.positive and (preset.magic and 852066 or 852609) or (preset.magic and 852189 or 852173),
529
531
  unit
530
532
  )
531
533
  if slowPoisonMethod then
@@ -586,13 +588,13 @@ function Buff.apply(self, ...)
586
588
  end
587
589
  end
588
590
  function Buff.getInstance(self, unit)
589
- return buffs[unit][self]
591
+ return buffs[unit]:get(self)
590
592
  end
591
593
  function Buff.isApplied(self, unit)
592
- return buffs[unit][self] ~= nil
594
+ return buffs[unit]:get(self) ~= nil
593
595
  end
594
596
  function Buff.ifApplied(self, unit, action)
595
- local instance = buffs[unit][self]
597
+ local instance = buffs[unit]:get(self)
596
598
  if instance then
597
599
  ____assert(__TS__InstanceOf(instance, self))
598
600
  action(instance)
@@ -615,7 +617,7 @@ function Buff.prototype.destroy(self)
615
617
  if self.preset then
616
618
  self.unit:removeAbility(self.preset.buffId)
617
619
  end
618
- buffs[self.unit][self.constructor] = nil
620
+ buffs[self.unit]:remove(self.constructor)
619
621
  self.destroyed = true
620
622
  end
621
623
  function Buff.prototype.onDispel(self, source)
@@ -153,7 +153,7 @@ end
153
153
  function ObjectDefinition.getLevelArrayFieldValue(self, level, value, values)
154
154
  return type(values) == "function" and values(level, value) or (__TS__ArrayIsArray(values[1]) and values[1] or values)
155
155
  end
156
- ____exports.ObjectType = ObjectType or ({})
156
+ ____exports.ObjectType = ____exports.ObjectType or ({})
157
157
  ____exports.ObjectType.ABILITY = 0
158
158
  ____exports.ObjectType[____exports.ObjectType.ABILITY] = "ABILITY"
159
159
  ____exports.ObjectType.ITEM = 1