warscript 0.0.1-dev.539675b → 0.0.1-dev.54c2a71

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 (374) hide show
  1. package/attributes.d.ts +1 -0
  2. package/attributes.lua +9 -0
  3. package/core/dummy.lua +4 -2
  4. package/core/types/effect.d.ts +11 -1
  5. package/core/types/effect.lua +43 -77
  6. package/core/types/frame.d.ts +16 -2
  7. package/core/types/frame.lua +141 -77
  8. package/core/types/handle.lua +9 -9
  9. package/core/types/item.d.ts +1 -0
  10. package/core/types/item.lua +1 -0
  11. package/core/types/player.d.ts +18 -1
  12. package/core/types/player.lua +76 -26
  13. package/core/types/playerCamera.d.ts +2 -0
  14. package/core/types/playerCamera.lua +123 -5
  15. package/core/types/playerColor.lua +4 -3
  16. package/core/types/sound.d.ts +1 -1
  17. package/core/types/sound.lua +14 -9
  18. package/core/types/tileCell.d.ts +18 -3
  19. package/core/types/tileCell.lua +108 -0
  20. package/core/types/timer.d.ts +3 -1
  21. package/core/types/timer.lua +27 -2
  22. package/core/types/unit.d.ts +5 -0
  23. package/core/types/unit.lua +5 -0
  24. package/core/util.d.ts +3 -1
  25. package/core/util.lua +109 -3
  26. package/decl/native.d.ts +711 -11
  27. package/destroyable.d.ts +1 -0
  28. package/destroyable.lua +9 -0
  29. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  30. package/engine/ability-type-extended-tooltip.lua +44 -0
  31. package/engine/behavior.d.ts +14 -1
  32. package/engine/behavior.lua +230 -70
  33. package/engine/behaviour/ability/apply-buff.lua +5 -5
  34. package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
  35. package/engine/behaviour/ability/damage.d.ts +4 -0
  36. package/engine/behaviour/ability/damage.lua +19 -15
  37. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  38. package/engine/behaviour/ability/emulate-impact.lua +7 -5
  39. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  40. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  41. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  42. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  43. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  44. package/engine/behaviour/ability/restore-mana.lua +6 -6
  45. package/engine/behaviour/ability.d.ts +13 -6
  46. package/engine/behaviour/ability.lua +62 -16
  47. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  48. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  49. package/engine/behaviour/unit.d.ts +27 -5
  50. package/engine/behaviour/unit.lua +181 -27
  51. package/engine/buff.d.ts +75 -28
  52. package/engine/buff.lua +433 -196
  53. package/engine/index.d.ts +2 -1
  54. package/engine/internal/ability.d.ts +10 -1
  55. package/engine/internal/ability.lua +99 -47
  56. package/engine/internal/item/ability.lua +51 -1
  57. package/engine/internal/item/fields.d.ts +12 -0
  58. package/engine/internal/item/fields.lua +33 -0
  59. package/engine/internal/item/owner-cache.d.ts +5 -0
  60. package/engine/internal/item/owner-cache.lua +4 -0
  61. package/engine/internal/item+owner.d.ts +2 -0
  62. package/engine/internal/item+owner.lua +37 -8
  63. package/engine/internal/item.d.ts +27 -14
  64. package/engine/internal/item.lua +185 -82
  65. package/engine/internal/mechanics/cast-ability.lua +6 -3
  66. package/engine/internal/misc/frame-coordinates.lua +21 -0
  67. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  68. package/engine/internal/misc/get-terrain-z.lua +11 -0
  69. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  70. package/engine/internal/misc/player-local-handle.lua +5 -0
  71. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  72. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  73. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  74. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  75. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  76. package/engine/internal/object-data/health-bonus.lua +16 -0
  77. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  78. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  79. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  80. package/engine/internal/object-data/mana-bonus.lua +16 -0
  81. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  82. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  83. package/engine/internal/unit/ability.d.ts +35 -5
  84. package/engine/internal/unit/ability.lua +96 -21
  85. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  86. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  87. package/engine/internal/unit/appearance.d.ts +15 -0
  88. package/engine/internal/unit/appearance.lua +85 -0
  89. package/engine/internal/unit/attributes.d.ts +17 -0
  90. package/engine/internal/unit/attributes.lua +46 -0
  91. package/engine/internal/unit/bonus.d.ts +14 -0
  92. package/engine/internal/unit/bonus.lua +102 -8
  93. package/engine/internal/unit/buff.d.ts +2 -2
  94. package/engine/internal/unit/buff.lua +34 -19
  95. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  96. package/engine/internal/unit/equipment-inventory.lua +233 -0
  97. package/engine/internal/unit/expiration-timer.lua +1 -1
  98. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  99. package/engine/internal/unit/extended-inventory.lua +99 -0
  100. package/engine/internal/unit/fly-height.d.ts +7 -0
  101. package/engine/internal/unit/fly-height.lua +20 -0
  102. package/engine/internal/unit/ignore-events-items.lua +10 -1
  103. package/engine/internal/unit/interrupts.d.ts +12 -0
  104. package/engine/internal/unit/interrupts.lua +28 -0
  105. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  106. package/engine/internal/unit/inventory.lua +87 -0
  107. package/engine/internal/unit/item-container.d.ts +25 -0
  108. package/engine/internal/unit/item-container.lua +11 -0
  109. package/engine/internal/unit/item-order-events.d.ts +17 -0
  110. package/engine/internal/unit/item-order-events.lua +67 -0
  111. package/engine/internal/unit/item-slot.d.ts +27 -0
  112. package/engine/internal/unit/item-slot.lua +92 -0
  113. package/engine/internal/unit/main-selected.lua +12 -27
  114. package/engine/internal/unit/order.d.ts +20 -0
  115. package/engine/internal/unit/order.lua +136 -0
  116. package/engine/internal/unit/range-event.d.ts +12 -0
  117. package/engine/internal/unit/range-event.lua +90 -0
  118. package/engine/internal/unit/scale.d.ts +7 -0
  119. package/engine/internal/unit/scale.lua +20 -0
  120. package/engine/internal/unit+ability.d.ts +2 -1
  121. package/engine/internal/unit+ability.lua +73 -3
  122. package/engine/internal/unit+bonus.lua +3 -3
  123. package/engine/internal/unit+damage.d.ts +9 -0
  124. package/engine/internal/unit+damage.lua +33 -0
  125. package/engine/internal/unit+rally.lua +9 -31
  126. package/engine/internal/unit-missile-data.lua +58 -32
  127. package/engine/internal/unit-missile-launch.lua +65 -27
  128. package/engine/internal/unit.d.ts +21 -34
  129. package/engine/internal/unit.lua +254 -327
  130. package/engine/local-client.d.ts +28 -0
  131. package/engine/local-client.lua +324 -54
  132. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  133. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  134. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
  135. package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
  136. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  137. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  138. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  139. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  140. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  141. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  142. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  143. package/engine/object-data/auxiliary/item-class.lua +2 -0
  144. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  145. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  146. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  147. package/engine/object-data/auxiliary/order-type.lua +2 -0
  148. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  149. package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
  150. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  151. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  152. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  153. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  154. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  155. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  156. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  157. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  158. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  159. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  160. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  161. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  162. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  163. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  164. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  165. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  166. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  167. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  168. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  169. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  170. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  171. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  172. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  173. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  174. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  175. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  176. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  177. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  178. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  179. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  180. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  181. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  182. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  183. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  184. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  185. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  186. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  187. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  188. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  189. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  190. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  191. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  192. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  193. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  194. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  195. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  196. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  197. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  198. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  199. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  200. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  201. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  202. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  203. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  204. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  205. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  206. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  207. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  208. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  209. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  210. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  211. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  212. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  213. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  214. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  215. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  216. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  217. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  218. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  219. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  220. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  221. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  222. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  223. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  224. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  225. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  226. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  227. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  228. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  229. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  230. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  231. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  232. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  233. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  234. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  235. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  236. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  237. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  238. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  239. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  240. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  241. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  242. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  243. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  244. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  245. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  246. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  247. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  248. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  249. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  250. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  251. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  252. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  253. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  254. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  255. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  256. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  257. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  258. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  259. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  260. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  261. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  262. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  263. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  264. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  265. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  266. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  267. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  268. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  269. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  270. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  271. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  272. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  273. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  274. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  275. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  276. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  277. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  278. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  279. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  280. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  281. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  282. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  283. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  284. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  285. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  286. package/engine/object-data/entry/ability-type.d.ts +31 -6
  287. package/engine/object-data/entry/ability-type.lua +288 -12
  288. package/engine/object-data/entry/buff-type/applicable.lua +113 -109
  289. package/engine/object-data/entry/buff-type.d.ts +6 -2
  290. package/engine/object-data/entry/buff-type.lua +26 -0
  291. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  292. package/engine/object-data/entry/destructible-type.lua +181 -0
  293. package/engine/object-data/entry/item-type.d.ts +18 -3
  294. package/engine/object-data/entry/item-type.lua +84 -0
  295. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  296. package/engine/object-data/entry/lightning-type.lua +1 -1
  297. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  298. package/engine/object-data/entry/unit-type.d.ts +72 -4
  299. package/engine/object-data/entry/unit-type.lua +503 -53
  300. package/engine/object-data/entry/upgrade.d.ts +2 -2
  301. package/engine/object-data/entry.d.ts +6 -1
  302. package/engine/object-data/entry.lua +8 -0
  303. package/engine/object-field/ability.d.ts +3 -3
  304. package/engine/object-field/ability.lua +9 -8
  305. package/engine/object-field/item.d.ts +22 -0
  306. package/engine/object-field/item.lua +118 -0
  307. package/engine/object-field/unit.d.ts +31 -5
  308. package/engine/object-field/unit.lua +95 -0
  309. package/engine/object-field.d.ts +12 -4
  310. package/engine/object-field.lua +273 -126
  311. package/engine/random.d.ts +10 -0
  312. package/engine/random.lua +21 -0
  313. package/engine/standard/entries/ability-type.d.ts +3102 -7
  314. package/engine/standard/entries/ability-type.lua +0 -6
  315. package/engine/standard/entries/buff-type.d.ts +45 -0
  316. package/engine/standard/entries/buff-type.lua +43 -0
  317. package/engine/standard/entries/item-type.d.ts +1299 -0
  318. package/engine/standard/entries/item-type.lua +2 -0
  319. package/engine/standard/entries/lightning-type.d.ts +42 -15
  320. package/engine/standard/entries/lightning-type.lua +0 -14
  321. package/engine/standard/entries/unit-type.d.ts +5 -0
  322. package/engine/standard/entries/unit-type.lua +5 -0
  323. package/engine/standard/fields/ability.d.ts +2 -2
  324. package/engine/standard/fields/ability.lua +2 -2
  325. package/engine/standard/fields/item.d.ts +4 -0
  326. package/engine/standard/fields/item.lua +6 -0
  327. package/engine/standard/fields/unit.d.ts +12 -0
  328. package/engine/standard/fields/unit.lua +20 -0
  329. package/engine/synchronization.d.ts +11 -0
  330. package/engine/synchronization.lua +77 -0
  331. package/engine/text-tag.d.ts +26 -3
  332. package/engine/text-tag.lua +217 -11
  333. package/engine/unit.d.ts +11 -1
  334. package/engine/unit.lua +11 -1
  335. package/event.d.ts +1 -1
  336. package/lualib_bundle.lua +1 -1
  337. package/math.d.ts +2 -0
  338. package/math.lua +14 -0
  339. package/net/socket.lua +1 -1
  340. package/network.lua +25 -1
  341. package/objutil/buff.lua +11 -9
  342. package/objutil/object.lua +1 -1
  343. package/operation.d.ts +8 -1
  344. package/operation.lua +38 -18
  345. package/package.json +3 -23
  346. package/patch-lua.lua +15 -0
  347. package/patch-lualib.lua +1 -1
  348. package/utility/arrays.d.ts +8 -1
  349. package/utility/arrays.lua +25 -0
  350. package/utility/callback-array.d.ts +17 -0
  351. package/utility/callback-array.lua +61 -0
  352. package/utility/functions.d.ts +7 -0
  353. package/utility/functions.lua +12 -0
  354. package/utility/linked-map.d.ts +35 -0
  355. package/utility/linked-map.lua +107 -0
  356. package/utility/linked-set.d.ts +4 -1
  357. package/utility/linked-set.lua +46 -1
  358. package/utility/lua-maps.d.ts +11 -2
  359. package/utility/lua-maps.lua +33 -2
  360. package/utility/lua-sets.d.ts +1 -0
  361. package/utility/lua-sets.lua +4 -0
  362. package/utility/random.d.ts +102 -0
  363. package/utility/random.lua +273 -0
  364. package/utility/records.lua +20 -1
  365. package/utility/types.d.ts +3 -0
  366. package/utility/unordered-map.d.ts +27 -0
  367. package/utility/unordered-map.lua +99 -0
  368. package/core/types/order.d.ts +0 -26
  369. package/core/types/order.lua +0 -65
  370. package/engine/internal/unit/item.lua +0 -78
  371. /package/engine/internal/{object-data/armor-increase.d.ts → misc/frame-coordinates.d.ts} +0 -0
  372. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  373. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  374. /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")
@@ -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;
@@ -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
@@ -0,0 +1,12 @@
1
+ /** @noSelfInFile */
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;
@@ -0,0 +1,20 @@
1
+ local ____exports = {}
2
+ local ____unit = require("engine.object-field.unit")
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
8
+ local UnitPropulsionWindowField = ____unit.UnitPropulsionWindowField
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"))
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
@@ -14,14 +14,37 @@ export type TextTagPreset = {
14
14
  };
15
15
  declare const enum TextTagPropertyKey {
16
16
  UNIT = 100,
17
- CONFIGURATION = 101
17
+ HANDLE = 101,
18
+ CONFIGURATION = 102,
19
+ TEXT = 103,
20
+ FONT_SIZE = 104,
21
+ COLOR = 105,
22
+ X = 106,
23
+ Y = 107
18
24
  }
19
25
  export declare class TextTag extends AbstractDestroyable {
20
- private readonly handle;
21
- private [TextTagPropertyKey.UNIT]?;
26
+ private [TextTagPropertyKey.HANDLE]?;
22
27
  private [TextTagPropertyKey.CONFIGURATION]?;
28
+ private [TextTagPropertyKey.TEXT]?;
29
+ private [TextTagPropertyKey.FONT_SIZE]?;
30
+ private [TextTagPropertyKey.COLOR]?;
31
+ private [TextTagPropertyKey.UNIT]?;
32
+ private [TextTagPropertyKey.X]?;
33
+ private [TextTagPropertyKey.Y]?;
23
34
  private constructor();
24
35
  protected onDestroy(): Destructor;
36
+ get text(): string;
37
+ set text(text: string);
38
+ get fontSize(): number;
39
+ set fontSize(fontSize: number);
40
+ get color(): Color;
41
+ set color(color: Color);
42
+ get unit(): Unit | undefined;
43
+ set unit(unit: Unit | undefined);
44
+ get x(): number;
45
+ set x(x: number);
46
+ get y(): number;
47
+ set y(y: number);
25
48
  static BASE: Readonly<TextTagPreset>;
26
49
  static BASH: Readonly<TextTagPreset>;
27
50
  static CRITICAL_STRIKE: Readonly<TextTagPreset>;
@@ -2,6 +2,7 @@ local ____lualib = require("lualib_bundle")
2
2
  local __TS__Class = ____lualib.__TS__Class
3
3
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
4
  local __TS__New = ____lualib.__TS__New
5
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
6
  local __TS__ObjectAssign = ____lualib.__TS__ObjectAssign
6
7
  local ____exports = {}
7
8
  local ____color = require("core.types.color")
@@ -10,6 +11,12 @@ local ____timer = require("core.types.timer")
10
11
  local Timer = ____timer.Timer
11
12
  local ____destroyable = require("destroyable")
12
13
  local AbstractDestroyable = ____destroyable.AbstractDestroyable
14
+ local ____playerCamera = require("core.types.playerCamera")
15
+ local worldCoordinatesToFrame = ____playerCamera.worldCoordinatesToFrame
16
+ local ____get_2Dterrain_2Dz = require("engine.internal.misc.get-terrain-z")
17
+ local getTerrainZ = ____get_2Dterrain_2Dz.getTerrainZ
18
+ local ____player_2Dlocal_2Dhandle = require("engine.internal.misc.player-local-handle")
19
+ local PLAYER_LOCAL_HANDLE = ____player_2Dlocal_2Dhandle.PLAYER_LOCAL_HANDLE
13
20
  local createTextTag = CreateTextTag
14
21
  local destroyTextTag = DestroyTextTag
15
22
  local setTextTagText = SetTextTagText
@@ -23,6 +30,13 @@ local setTextTagPermanent = SetTextTagPermanent
23
30
  local setTextTagAge = SetTextTagAge
24
31
  local setTextTagLifespan = SetTextTagLifespan
25
32
  local setTextTagFadepoint = SetTextTagFadepoint
33
+ local isUnitHidden = IsUnitHidden
34
+ local isUnitLoaded = IsUnitLoaded
35
+ local isUnitVisible = IsUnitVisible
36
+ local getUnitFlyHeight = GetUnitFlyHeight
37
+ local getUnitX = GetUnitX
38
+ local getUnitY = GetUnitY
39
+ local unitAlive = UnitAlive
26
40
  local DEFAULT_FONT_SIZE = 0.024
27
41
  local function applyConfiguration(textTag, configuration)
28
42
  setTextTagFadepoint(textTag, configuration.fadepoint)
@@ -40,16 +54,47 @@ local function applyConfiguration(textTag, configuration)
40
54
  setTextTagVisibility(textTag, true)
41
55
  end
42
56
  local unitTextTags = setmetatable({}, {__mode = "k"})
57
+ local function ensureHandle(textTag)
58
+ local handle = textTag[101]
59
+ if handle == nil then
60
+ handle = createTextTag()
61
+ applyConfiguration(handle, textTag[102])
62
+ setTextTagPermanent(handle, true)
63
+ setTextTagText(handle, textTag[103] or "", textTag[104] or DEFAULT_FONT_SIZE)
64
+ local color = textTag[105]
65
+ if color ~= nil then
66
+ setTextTagColor(
67
+ handle,
68
+ color.r,
69
+ color.g,
70
+ color.b,
71
+ color.a
72
+ )
73
+ end
74
+ local unit = textTag[100]
75
+ if unit ~= nil then
76
+ setTextTagPosUnit(handle, unit.handle, textTag[102].offsetZ)
77
+ else
78
+ setTextTagPos(handle, textTag[106] or 0, textTag[107] or 0, 0)
79
+ end
80
+ textTag[101] = handle
81
+ end
82
+ return handle
83
+ end
43
84
  ____exports.TextTag = __TS__Class()
44
85
  local TextTag = ____exports.TextTag
45
86
  TextTag.name = "TextTag"
46
87
  __TS__ClassExtends(TextTag, AbstractDestroyable)
47
88
  function TextTag.prototype.____constructor(self, handle)
48
89
  AbstractDestroyable.prototype.____constructor(self)
49
- self.handle = handle
90
+ self[101] = handle
50
91
  end
51
92
  function TextTag.prototype.onDestroy(self)
52
- destroyTextTag(self.handle)
93
+ local handle = self[101]
94
+ if handle ~= nil then
95
+ destroyTextTag(handle)
96
+ self[101] = nil
97
+ end
53
98
  unitTextTags[self] = nil
54
99
  return AbstractDestroyable.prototype.onDestroy(self)
55
100
  end
@@ -60,17 +105,161 @@ function TextTag.flash(self, configuration, text, x, y, z)
60
105
  applyConfiguration(textTag, configuration)
61
106
  end
62
107
  function TextTag.create(self, configuration, text, unit)
63
- local handle = createTextTag()
64
- setTextTagText(handle, text, DEFAULT_FONT_SIZE)
65
- setTextTagPosUnit(handle, unit.handle, configuration.offsetZ)
66
- applyConfiguration(handle, configuration)
67
- setTextTagPermanent(handle, true)
68
- local textTag = __TS__New(____exports.TextTag, handle)
69
- textTag[100] = unit.handle
70
- textTag[101] = configuration
108
+ local textTag = __TS__New(____exports.TextTag)
109
+ textTag[103] = text
110
+ textTag[100] = unit
111
+ textTag[102] = configuration
112
+ ensureHandle(textTag)
71
113
  unitTextTags[textTag] = true
72
114
  return textTag
73
115
  end
116
+ __TS__SetDescriptor(
117
+ TextTag.prototype,
118
+ "text",
119
+ {
120
+ get = function(self)
121
+ return self[103] or ""
122
+ end,
123
+ set = function(self, text)
124
+ setTextTagText(
125
+ ensureHandle(self),
126
+ text,
127
+ self[104] or DEFAULT_FONT_SIZE
128
+ )
129
+ self[103] = text
130
+ end
131
+ },
132
+ true
133
+ )
134
+ __TS__SetDescriptor(
135
+ TextTag.prototype,
136
+ "fontSize",
137
+ {
138
+ get = function(self)
139
+ return self[104] or DEFAULT_FONT_SIZE
140
+ end,
141
+ set = function(self, fontSize)
142
+ setTextTagText(
143
+ ensureHandle(self),
144
+ self[103] or "",
145
+ fontSize
146
+ )
147
+ self[104] = fontSize
148
+ end
149
+ },
150
+ true
151
+ )
152
+ __TS__SetDescriptor(
153
+ TextTag.prototype,
154
+ "color",
155
+ {
156
+ get = function(self)
157
+ return self[105] or Color.white
158
+ end,
159
+ set = function(self, color)
160
+ setTextTagColor(
161
+ ensureHandle(self),
162
+ color.r,
163
+ color.g,
164
+ color.b,
165
+ color.a
166
+ )
167
+ self[105] = color
168
+ end
169
+ },
170
+ true
171
+ )
172
+ __TS__SetDescriptor(
173
+ TextTag.prototype,
174
+ "unit",
175
+ {
176
+ get = function(self)
177
+ return self[100]
178
+ end,
179
+ set = function(self, unit)
180
+ if unit ~= nil then
181
+ setTextTagPosUnit(
182
+ ensureHandle(self),
183
+ unit.handle,
184
+ 0
185
+ )
186
+ self[106] = nil
187
+ self[107] = nil
188
+ unitTextTags[self] = true
189
+ elseif self[100] ~= nil then
190
+ local unit = self[100]
191
+ local x = unit.x
192
+ local y = unit.y
193
+ setTextTagPos(
194
+ ensureHandle(self),
195
+ x,
196
+ y,
197
+ 0
198
+ )
199
+ self[106] = x
200
+ self[107] = y
201
+ unitTextTags[self] = nil
202
+ end
203
+ self[100] = unit
204
+ end
205
+ },
206
+ true
207
+ )
208
+ __TS__SetDescriptor(
209
+ TextTag.prototype,
210
+ "x",
211
+ {
212
+ get = function(self)
213
+ local ____self__106_2 = self[106]
214
+ if ____self__106_2 == nil then
215
+ local ____opt_0 = self[100]
216
+ ____self__106_2 = ____opt_0 and ____opt_0.x
217
+ end
218
+ return ____self__106_2 or 0
219
+ end,
220
+ set = function(self, x)
221
+ local ____ensureHandle_result_6 = ensureHandle(self)
222
+ local ____x_7 = x
223
+ local ____self__107_5 = self[107]
224
+ if ____self__107_5 == nil then
225
+ local ____opt_3 = self[100]
226
+ ____self__107_5 = ____opt_3 and ____opt_3.y
227
+ end
228
+ setTextTagPos(____ensureHandle_result_6, ____x_7, ____self__107_5 or 0, 0)
229
+ self[106] = x
230
+ self[100] = nil
231
+ unitTextTags[self] = nil
232
+ end
233
+ },
234
+ true
235
+ )
236
+ __TS__SetDescriptor(
237
+ TextTag.prototype,
238
+ "y",
239
+ {
240
+ get = function(self)
241
+ local ____self__107_10 = self[107]
242
+ if ____self__107_10 == nil then
243
+ local ____opt_8 = self[100]
244
+ ____self__107_10 = ____opt_8 and ____opt_8.y
245
+ end
246
+ return ____self__107_10 or 0
247
+ end,
248
+ set = function(self, y)
249
+ local ____ensureHandle_result_14 = ensureHandle(self)
250
+ local ____self__106_13 = self[106]
251
+ if ____self__106_13 == nil then
252
+ local ____opt_11 = self[100]
253
+ ____self__106_13 = ____opt_11 and ____opt_11.x
254
+ end
255
+ setTextTagPos(____ensureHandle_result_14, ____self__106_13 or 0, y, 0)
256
+ self[107] = y
257
+ self[100] = nil
258
+ unitTextTags[self] = nil
259
+ end
260
+ },
261
+ true
262
+ )
74
263
  TextTag.BASE = {
75
264
  fadepoint = 2,
76
265
  lifespan = 3,
@@ -137,7 +326,24 @@ TextTag.SHADOW_STRIKE = __TS__ObjectAssign(
137
326
  )
138
327
  Timer.onPeriod[1 / 64]:addListener(function()
139
328
  for textTag in pairs(unitTextTags) do
140
- setTextTagPosUnit(textTag.handle, textTag[100], textTag[101].offsetZ)
329
+ local unit = textTag[100].handle
330
+ local x = getUnitX(unit)
331
+ local y = getUnitY(unit)
332
+ local ____, ____, isInView = worldCoordinatesToFrame(
333
+ x,
334
+ y,
335
+ getUnitFlyHeight(unit) + getTerrainZ(x, y)
336
+ )
337
+ if isInView and not isUnitHidden(unit) and not isUnitLoaded(unit) and isUnitVisible(unit, PLAYER_LOCAL_HANDLE) and unitAlive(unit) then
338
+ setTextTagPosUnit(
339
+ ensureHandle(textTag),
340
+ unit,
341
+ textTag[102].offsetZ
342
+ )
343
+ elseif textTag[101] ~= nil then
344
+ destroyTextTag(textTag[101])
345
+ textTag[101] = nil
346
+ end
141
347
  end
142
348
  end)
143
349
  return ____exports
package/engine/unit.d.ts CHANGED
@@ -1,10 +1,15 @@
1
1
  /** @noSelfInFile */
2
2
  import "./internal/unit";
3
+ import "./internal/unit/order";
3
4
  import "./internal/unit/ability";
5
+ import "./internal/unit/appearance";
6
+ import "./internal/unit/extended-inventory";
7
+ import "./internal/unit/equipment-inventory";
4
8
  import "./internal/unit/allowed-targets";
5
9
  import "./internal/unit/buff";
6
10
  import "./internal/unit/expiration-timer";
7
- import "./internal/unit/item";
11
+ import "./internal/unit/inventory";
12
+ import "./internal/unit/item-order-events";
8
13
  import "./internal/unit+ability";
9
14
  import "./internal/unit+damage";
10
15
  import "./internal/unit+rally";
@@ -18,6 +23,11 @@ import "./internal/unit/invulnerability-counter";
18
23
  import "./internal/unit/detach-missiles";
19
24
  import "./internal/unit/main-selected";
20
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";
21
31
  import "./internal/unit/band-aids/ancestral-spirit-cannibalize";
22
32
  export { Unit, DamagingEvent, DamageEvent } from "./internal/unit";
23
33
  export * from "./internal/unit+damage";