warscript 0.0.1-dev.3642572 → 0.0.1-dev.37ce2c3

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 (411) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/core/dummy.lua +4 -2
  4. package/core/types/effect.d.ts +12 -4
  5. package/core/types/effect.lua +67 -104
  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 +18 -26
  17. package/core/types/sound.lua +99 -53
  18. package/core/types/tileCell.d.ts +18 -3
  19. package/core/types/tileCell.lua +108 -0
  20. package/core/types/timer.d.ts +9 -8
  21. package/core/types/timer.lua +45 -23
  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 +1719 -964
  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 +6 -0
  35. package/engine/behaviour/ability/damage.d.ts +10 -3
  36. package/engine/behaviour/ability/damage.lua +41 -49
  37. package/engine/behaviour/ability/emulate-impact.d.ts +15 -1
  38. package/engine/behaviour/ability/emulate-impact.lua +96 -7
  39. package/engine/behaviour/ability/instant-impact.d.ts +12 -1
  40. package/engine/behaviour/ability/instant-impact.lua +17 -2
  41. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  42. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  43. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  44. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  45. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  46. package/engine/behaviour/ability/restore-mana.lua +6 -6
  47. package/engine/behaviour/ability.d.ts +22 -6
  48. package/engine/behaviour/ability.lua +133 -29
  49. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  50. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  51. package/engine/behaviour/unit.d.ts +41 -2
  52. package/engine/behaviour/unit.lua +270 -6
  53. package/engine/buff.d.ts +118 -57
  54. package/engine/buff.lua +583 -288
  55. package/engine/index.d.ts +2 -1
  56. package/engine/internal/ability.d.ts +14 -1
  57. package/engine/internal/ability.lua +113 -44
  58. package/engine/internal/item/ability.lua +63 -11
  59. package/engine/internal/item/fields.d.ts +12 -0
  60. package/engine/internal/item/fields.lua +33 -0
  61. package/engine/internal/item/owner-cache.d.ts +5 -0
  62. package/engine/internal/item/owner-cache.lua +4 -0
  63. package/engine/internal/item+owner.d.ts +2 -0
  64. package/engine/internal/item+owner.lua +37 -8
  65. package/engine/internal/item.d.ts +32 -16
  66. package/engine/internal/item.lua +257 -82
  67. package/engine/internal/mechanics/ability-duration.lua +1 -1
  68. package/engine/internal/mechanics/cast-ability.lua +6 -3
  69. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  70. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  71. package/engine/internal/misc/frame-coordinates.lua +21 -0
  72. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  73. package/engine/internal/misc/get-terrain-z.lua +11 -0
  74. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  75. package/engine/internal/misc/player-local-handle.lua +5 -0
  76. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  77. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  78. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  79. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  80. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  81. package/engine/internal/object-data/health-bonus.lua +16 -0
  82. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  83. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  84. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  85. package/engine/internal/object-data/mana-bonus.lua +16 -0
  86. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  87. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  88. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  89. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  90. package/engine/internal/unit/ability.d.ts +35 -0
  91. package/engine/internal/unit/ability.lua +114 -9
  92. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  93. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  94. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  95. package/engine/internal/unit/allowed-targets.lua +9 -1
  96. package/engine/internal/unit/appearance.d.ts +15 -0
  97. package/engine/internal/unit/appearance.lua +85 -0
  98. package/engine/internal/unit/attributes.d.ts +17 -0
  99. package/engine/internal/unit/attributes.lua +46 -0
  100. package/engine/internal/unit/bonus.d.ts +17 -0
  101. package/engine/internal/unit/bonus.lua +113 -8
  102. package/engine/internal/unit/buff.d.ts +2 -2
  103. package/engine/internal/unit/buff.lua +34 -19
  104. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  105. package/engine/internal/unit/equipment-inventory.lua +233 -0
  106. package/engine/internal/unit/expiration-timer.lua +1 -1
  107. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  108. package/engine/internal/unit/extended-inventory.lua +99 -0
  109. package/engine/internal/unit/fly-height.d.ts +7 -0
  110. package/engine/internal/unit/fly-height.lua +20 -0
  111. package/engine/internal/unit/ignore-events-items.lua +10 -1
  112. package/engine/internal/unit/interrupts.d.ts +12 -0
  113. package/engine/internal/unit/interrupts.lua +28 -0
  114. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  115. package/engine/internal/unit/inventory.lua +87 -0
  116. package/engine/internal/unit/item-container.d.ts +25 -0
  117. package/engine/internal/unit/item-container.lua +11 -0
  118. package/engine/internal/unit/item-order-events.d.ts +17 -0
  119. package/engine/internal/unit/item-order-events.lua +67 -0
  120. package/engine/internal/unit/item-slot.d.ts +27 -0
  121. package/engine/internal/unit/item-slot.lua +92 -0
  122. package/engine/internal/unit/main-selected.lua +12 -27
  123. package/engine/internal/unit/order.d.ts +20 -0
  124. package/engine/internal/unit/order.lua +136 -0
  125. package/engine/internal/unit/range-event.d.ts +12 -0
  126. package/engine/internal/unit/range-event.lua +90 -0
  127. package/engine/internal/unit/scale.d.ts +7 -0
  128. package/engine/internal/unit/scale.lua +20 -0
  129. package/engine/internal/unit+ability.d.ts +2 -1
  130. package/engine/internal/unit+ability.lua +83 -3
  131. package/engine/internal/unit+bonus.lua +3 -3
  132. package/engine/internal/unit+damage.d.ts +11 -11
  133. package/engine/internal/unit+damage.lua +43 -14
  134. package/engine/internal/unit+rally.lua +9 -31
  135. package/engine/internal/unit+spellSteal.lua +1 -2
  136. package/engine/internal/unit-missile-data.lua +58 -32
  137. package/engine/internal/unit-missile-launch.lua +65 -27
  138. package/engine/internal/unit.d.ts +42 -36
  139. package/engine/internal/unit.lua +400 -325
  140. package/engine/local-client.d.ts +28 -0
  141. package/engine/local-client.lua +324 -54
  142. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  143. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  144. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -2
  145. package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
  146. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  147. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  148. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  149. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  150. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  151. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  152. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  153. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  154. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  155. package/engine/object-data/auxiliary/item-class.lua +2 -0
  156. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  157. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  158. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  159. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  160. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  161. package/engine/object-data/auxiliary/order-type.lua +2 -0
  162. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  163. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  164. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  165. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  166. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  167. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  168. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  169. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  170. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  171. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  172. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  173. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  174. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  175. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  176. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  177. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  178. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  179. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  180. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  181. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  182. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  183. package/engine/object-data/entry/ability-type/blank-configurable.lua +2 -2
  184. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  185. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  186. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  187. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  188. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  189. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  190. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  191. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  192. package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
  193. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  194. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  195. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  196. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  197. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  198. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  199. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  200. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  201. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  202. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  203. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  204. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  205. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  206. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  207. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  208. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  209. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  210. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  211. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  212. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  213. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  214. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  215. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  216. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  217. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  218. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  219. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  220. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  221. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  222. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  223. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  224. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  225. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  226. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  227. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  228. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  229. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  230. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  231. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  232. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  233. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  234. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  235. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  236. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  237. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  238. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  239. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  240. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  241. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  242. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  243. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  244. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  245. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  246. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  247. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  248. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  249. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  250. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  251. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  252. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  253. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  254. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  255. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  256. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  257. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  258. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  259. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  260. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  261. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  262. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  263. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  264. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  265. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  266. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  267. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  268. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  269. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  270. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  271. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  272. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  273. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  274. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  275. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  276. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  277. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  278. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  279. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  280. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  281. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  282. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  283. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  284. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  285. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  286. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  287. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  288. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  289. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  290. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  291. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  292. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  293. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  294. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  295. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  296. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  297. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  298. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  299. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  300. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  301. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  302. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  303. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  304. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  305. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  306. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  307. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  308. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  309. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  310. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  311. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  312. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  313. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  314. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  315. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  316. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  317. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  318. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  319. package/engine/object-data/entry/ability-type/web.lua +52 -0
  320. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  321. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  322. package/engine/object-data/entry/ability-type.d.ts +41 -16
  323. package/engine/object-data/entry/ability-type.lua +321 -24
  324. package/engine/object-data/entry/buff-type/applicable.lua +122 -106
  325. package/engine/object-data/entry/buff-type.d.ts +10 -12
  326. package/engine/object-data/entry/buff-type.lua +37 -27
  327. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  328. package/engine/object-data/entry/destructible-type.lua +181 -0
  329. package/engine/object-data/entry/item-type.d.ts +18 -3
  330. package/engine/object-data/entry/item-type.lua +84 -0
  331. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  332. package/engine/object-data/entry/lightning-type.lua +1 -1
  333. package/engine/object-data/entry/sound-preset.d.ts +19 -2
  334. package/engine/object-data/entry/sound-preset.lua +104 -0
  335. package/engine/object-data/entry/unit-type.d.ts +74 -6
  336. package/engine/object-data/entry/unit-type.lua +560 -100
  337. package/engine/object-data/entry/upgrade.d.ts +2 -2
  338. package/engine/object-data/entry.d.ts +6 -1
  339. package/engine/object-data/entry.lua +8 -0
  340. package/engine/object-field/ability.d.ts +4 -4
  341. package/engine/object-field/ability.lua +9 -8
  342. package/engine/object-field/item.d.ts +22 -0
  343. package/engine/object-field/item.lua +118 -0
  344. package/engine/object-field/unit.d.ts +72 -3
  345. package/engine/object-field/unit.lua +268 -7
  346. package/engine/object-field.d.ts +26 -7
  347. package/engine/object-field.lua +360 -119
  348. package/engine/random.d.ts +10 -0
  349. package/engine/random.lua +21 -0
  350. package/engine/standard/entries/ability-type.d.ts +3102 -7
  351. package/engine/standard/entries/ability-type.lua +0 -6
  352. package/engine/standard/entries/buff-type.d.ts +48 -0
  353. package/engine/standard/entries/buff-type.lua +46 -0
  354. package/engine/standard/entries/item-type.d.ts +1299 -0
  355. package/engine/standard/entries/item-type.lua +2 -0
  356. package/engine/standard/entries/lightning-type.d.ts +42 -15
  357. package/engine/standard/entries/lightning-type.lua +0 -14
  358. package/engine/standard/entries/unit-type.d.ts +5 -0
  359. package/engine/standard/entries/unit-type.lua +5 -0
  360. package/engine/standard/fields/ability.d.ts +4 -4
  361. package/engine/standard/fields/ability.lua +4 -4
  362. package/engine/standard/fields/item.d.ts +4 -0
  363. package/engine/standard/fields/item.lua +6 -0
  364. package/engine/standard/fields/unit.d.ts +12 -0
  365. package/engine/standard/fields/unit.lua +20 -0
  366. package/engine/synchronization.d.ts +11 -0
  367. package/engine/synchronization.lua +77 -0
  368. package/engine/text-tag.d.ts +36 -2
  369. package/engine/text-tag.lua +250 -10
  370. package/engine/unit.d.ts +11 -1
  371. package/engine/unit.lua +11 -1
  372. package/event.d.ts +1 -1
  373. package/lualib_bundle.lua +1 -1
  374. package/math.d.ts +2 -0
  375. package/math.lua +14 -0
  376. package/net/socket.lua +1 -1
  377. package/network.lua +25 -1
  378. package/objutil/buff.lua +12 -11
  379. package/objutil/object.lua +1 -1
  380. package/operation.d.ts +8 -1
  381. package/operation.lua +38 -18
  382. package/package.json +3 -23
  383. package/patch-lua.lua +15 -0
  384. package/patch-lualib.lua +1 -1
  385. package/utility/arrays.d.ts +9 -1
  386. package/utility/arrays.lua +28 -0
  387. package/utility/callback-array.d.ts +17 -0
  388. package/utility/callback-array.lua +61 -0
  389. package/utility/functions.d.ts +8 -0
  390. package/utility/functions.lua +13 -0
  391. package/utility/linked-map.d.ts +35 -0
  392. package/utility/linked-map.lua +107 -0
  393. package/utility/linked-set.d.ts +5 -1
  394. package/utility/linked-set.lua +49 -1
  395. package/utility/lua-maps.d.ts +15 -2
  396. package/utility/lua-maps.lua +53 -2
  397. package/utility/lua-sets.d.ts +2 -0
  398. package/utility/lua-sets.lua +7 -0
  399. package/utility/random.d.ts +102 -0
  400. package/utility/random.lua +273 -0
  401. package/utility/records.lua +20 -1
  402. package/utility/types.d.ts +3 -0
  403. package/utility/unordered-map.d.ts +27 -0
  404. package/utility/unordered-map.lua +99 -0
  405. package/core/types/order.d.ts +0 -25
  406. package/core/types/order.lua +0 -55
  407. package/engine/internal/unit/item.lua +0 -78
  408. /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
  409. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  410. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  411. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -44,58 +44,84 @@ ____exports.MISSILE_DATA_BY_UNIT_TYPE_ID = (function()
44
44
  UnitType:getAll(),
45
45
  function(unitType) return unitType.id end,
46
46
  function(unitType)
47
- local ____ = unitType.missileImpactOffsetZSD
48
- local ____ = unitType.missileImpactOffsetZHD
49
47
  return {
50
48
  [0] = unitType.missileImpactOffsetZSD ~= ____exports.DEFAULT_MISSILE_IMPACT_OFFSET_Z and unitType.missileImpactOffsetZSD or nil,
51
49
  [1] = unitType.missileImpactOffsetZHD ~= unitType.missileImpactOffsetZSD and unitType.missileImpactOffsetZHD or nil,
52
- [2] = unitType.missileLaunchOffsetX ~= ____exports.DEFAULT_MISSILE_LAUNCH_OFFSET_X and unitType.missileLaunchOffsetX or nil,
53
- [3] = unitType.missileLaunchOffsetY ~= ____exports.DEFAULT_MISSILE_LAUNCH_OFFSET_Y and unitType.missileLaunchOffsetY or nil,
54
- [4] = unitType.missileLaunchOffsetZSD ~= ____exports.DEFAULT_MISSILE_LAUNCH_OFFSET_Z and unitType.missileLaunchOffsetZSD or nil,
55
- [5] = unitType.missileLaunchOffsetZHD ~= unitType.missileLaunchOffsetZSD and unitType.missileLaunchOffsetZHD or nil,
56
- [6] = unitType.missileLaunchVisualOffsetXSD ~= ____exports.DEFAULT_MISSILE_LAUNCH_VISUAL_OFFSET_X and unitType.missileLaunchVisualOffsetXSD or nil,
57
- [7] = unitType.missileLaunchVisualOffsetXHD ~= unitType.missileLaunchVisualOffsetXSD and unitType.missileLaunchVisualOffsetXHD or nil,
58
- [8] = unitType.missileLaunchVisualOffsetYSD ~= ____exports.DEFAULT_MISSILE_LAUNCH_VISUAL_OFFSET_Y and unitType.missileLaunchVisualOffsetYSD or nil,
59
- [9] = unitType.missileLaunchVisualOffsetYHD ~= unitType.missileLaunchVisualOffsetYSD and unitType.missileLaunchVisualOffsetYHD or nil
50
+ [2] = unitType.missileImpactOffsetZDE ~= unitType.missileImpactOffsetZSD and unitType.missileImpactOffsetZDE or nil,
51
+ [3] = unitType.missileLaunchOffsetX ~= ____exports.DEFAULT_MISSILE_LAUNCH_OFFSET_X and unitType.missileLaunchOffsetX or nil,
52
+ [4] = unitType.missileLaunchOffsetY ~= ____exports.DEFAULT_MISSILE_LAUNCH_OFFSET_Y and unitType.missileLaunchOffsetY or nil,
53
+ [5] = unitType.missileLaunchOffsetZSD ~= ____exports.DEFAULT_MISSILE_LAUNCH_OFFSET_Z and unitType.missileLaunchOffsetZSD or nil,
54
+ [6] = unitType.missileLaunchOffsetZHD ~= unitType.missileLaunchOffsetZSD and unitType.missileLaunchOffsetZHD or nil,
55
+ [7] = unitType.missileLaunchOffsetZDE ~= unitType.missileLaunchOffsetZSD and unitType.missileLaunchOffsetZDE or nil,
56
+ [8] = unitType.missileLaunchVisualOffsetXSD ~= ____exports.DEFAULT_MISSILE_LAUNCH_VISUAL_OFFSET_X and unitType.missileLaunchVisualOffsetXSD or nil,
57
+ [9] = unitType.missileLaunchVisualOffsetXHD ~= unitType.missileLaunchVisualOffsetXSD and unitType.missileLaunchVisualOffsetXHD or nil,
58
+ [10] = unitType.missileLaunchVisualOffsetXDE ~= unitType.missileLaunchVisualOffsetXSD and unitType.missileLaunchVisualOffsetXDE or nil,
59
+ [11] = unitType.missileLaunchVisualOffsetYSD ~= ____exports.DEFAULT_MISSILE_LAUNCH_VISUAL_OFFSET_Y and unitType.missileLaunchVisualOffsetYSD or nil,
60
+ [12] = unitType.missileLaunchVisualOffsetYHD ~= unitType.missileLaunchVisualOffsetYSD and unitType.missileLaunchVisualOffsetYHD or nil,
61
+ [13] = unitType.missileLaunchVisualOffsetYDE ~= unitType.missileLaunchVisualOffsetYSD and unitType.missileLaunchVisualOffsetYDE or nil
60
62
  }
61
63
  end
62
64
  )
63
65
  end),
64
66
  function(data)
65
- local ____setmetatable_6 = setmetatable
66
- local ____LocalClient_isHD_0
67
+ local ____setmetatable_10 = setmetatable
68
+ local ____LocalClient_isHD_1
67
69
  if LocalClient.isHD then
68
- ____LocalClient_isHD_0 = data[1] or data[0]
70
+ ____LocalClient_isHD_1 = data[1] or data[0]
69
71
  else
70
- ____LocalClient_isHD_0 = data[0]
72
+ local ____LocalClient_isDE_0
73
+ if LocalClient.isDE then
74
+ ____LocalClient_isDE_0 = data[2] or data[0]
75
+ else
76
+ ____LocalClient_isDE_0 = data[0]
77
+ end
78
+ ____LocalClient_isHD_1 = ____LocalClient_isDE_0
71
79
  end
72
- local ____data__2_4 = data[2]
73
- local ____data__3_5 = data[3]
74
- local ____LocalClient_isHD_1
80
+ local ____data__3_8 = data[3]
81
+ local ____data__4_9 = data[4]
82
+ local ____LocalClient_isHD_3
75
83
  if LocalClient.isHD then
76
- ____LocalClient_isHD_1 = data[5] or data[4]
84
+ ____LocalClient_isHD_3 = data[6] or data[5]
77
85
  else
78
- ____LocalClient_isHD_1 = data[4]
86
+ local ____LocalClient_isDE_2
87
+ if LocalClient.isDE then
88
+ ____LocalClient_isDE_2 = data[7] or data[5]
89
+ else
90
+ ____LocalClient_isDE_2 = data[5]
91
+ end
92
+ ____LocalClient_isHD_3 = ____LocalClient_isDE_2
79
93
  end
80
- local ____LocalClient_isHD_2
94
+ local ____LocalClient_isHD_5
81
95
  if LocalClient.isHD then
82
- ____LocalClient_isHD_2 = data[7] or data[6]
96
+ ____LocalClient_isHD_5 = data[9] or data[8]
83
97
  else
84
- ____LocalClient_isHD_2 = data[6]
98
+ local ____LocalClient_isDE_4
99
+ if LocalClient.isDE then
100
+ ____LocalClient_isDE_4 = data[10] or data[8]
101
+ else
102
+ ____LocalClient_isDE_4 = data[8]
103
+ end
104
+ ____LocalClient_isHD_5 = ____LocalClient_isDE_4
85
105
  end
86
- local ____LocalClient_isHD_3
106
+ local ____LocalClient_isHD_7
87
107
  if LocalClient.isHD then
88
- ____LocalClient_isHD_3 = data[9] or data[8]
108
+ ____LocalClient_isHD_7 = data[12] or data[11]
89
109
  else
90
- ____LocalClient_isHD_3 = data[8]
110
+ local ____LocalClient_isDE_6
111
+ if LocalClient.isDE then
112
+ ____LocalClient_isDE_6 = data[13] or data[11]
113
+ else
114
+ ____LocalClient_isDE_6 = data[11]
115
+ end
116
+ ____LocalClient_isHD_7 = ____LocalClient_isDE_6
91
117
  end
92
- return ____setmetatable_6({
93
- impactOffsetZ = ____LocalClient_isHD_0,
94
- launchOffsetX = ____data__2_4,
95
- launchOffsetY = ____data__3_5,
96
- launchOffsetZ = ____LocalClient_isHD_1,
97
- launchVisualOffsetX = ____LocalClient_isHD_2,
98
- launchVisualOffsetY = ____LocalClient_isHD_3
118
+ return ____setmetatable_10({
119
+ impactOffsetZ = ____LocalClient_isHD_1,
120
+ launchOffsetX = ____data__3_8,
121
+ launchOffsetY = ____data__4_9,
122
+ launchOffsetZ = ____LocalClient_isHD_3,
123
+ launchVisualOffsetX = ____LocalClient_isHD_5,
124
+ launchVisualOffsetY = ____LocalClient_isHD_7
99
125
  }, METATABLE)
100
126
  end
101
127
  ),
@@ -9,43 +9,81 @@ local ____timer = require("core.types.timer")
9
9
  local Timer = ____timer.Timer
10
10
  local ____lua_2Dsets = require("utility.lua-sets")
11
11
  local luaSetOf = ____lua_2Dsets.luaSetOf
12
+ local ____attributes = require("attributes")
13
+ local attribute = ____attributes.attribute
14
+ local ____linked_2Dset = require("utility.linked-set")
15
+ local LinkedSet = ____linked_2Dset.LinkedSet
16
+ local ____math = require("math")
17
+ local ceil = ____math.ceil
12
18
  local autoAttackFinishEvent = __TS__New(Event)
13
19
  rawset(Unit, "autoAttackFinishEvent", autoAttackFinishEvent)
14
- local eventTimerByUnit = {}
20
+ local units = __TS__New(LinkedSet)
21
+ local targetAttribute = attribute()
22
+ local impactDelayAttribute = attribute()
23
+ local passedTimeAttribute = attribute()
15
24
  local instantOrderIds = luaSetOf(
16
- orderId("avatar"),
17
- orderId("berserk"),
18
- orderId("divineshield"),
19
- orderId("immolation"),
20
- orderId("moveslot0"),
21
- orderId("moveslot1"),
22
- orderId("moveslot2"),
23
- orderId("moveslot3"),
24
- orderId("moveslot4"),
25
- orderId("moveslot5"),
26
- orderId("unavatar"),
27
- orderId("undivineshield"),
28
- orderId("unimmolation")
25
+ 852086,
26
+ 852100,
27
+ 852090,
28
+ 852177,
29
+ 852002,
30
+ 852003,
31
+ 852004,
32
+ 852005,
33
+ 852006,
34
+ 852007,
35
+ 852087,
36
+ 852091,
37
+ 852178
29
38
  )
30
- local function reset(source, orderId)
39
+ ---
40
+ -- @internal For use by internal systems only.
41
+ ____exports.resetAutoAttackTimer = function(unit)
42
+ if units:remove(unit) then
43
+ unit[targetAttribute] = nil
44
+ unit[impactDelayAttribute] = nil
45
+ unit[passedTimeAttribute] = nil
46
+ end
47
+ end
48
+ local function reset(unit, orderId)
31
49
  if not (instantOrderIds[orderId] ~= nil) then
32
- local eventTimer = eventTimerByUnit[source]
33
- if eventTimer then
34
- eventTimer:destroy()
35
- eventTimerByUnit[source] = nil
36
- end
50
+ ____exports.resetAutoAttackTimer(unit)
37
51
  end
38
52
  end
39
53
  Unit.onImmediateOrder:addListener(reset)
40
54
  Unit.onPointOrder:addListener(reset)
41
55
  Unit.onTargetOrder:addListener(reset)
42
- local function timerCallback(source, target)
43
- eventTimerByUnit[source] = nil
44
- Event.invoke(autoAttackFinishEvent, source, target)
56
+ local timerPeriod = 1 / 64
57
+ local function invokeEvent(unit)
58
+ units:remove(unit)
59
+ local target = unit[targetAttribute]
60
+ unit[targetAttribute] = nil
61
+ unit[impactDelayAttribute] = nil
62
+ unit[passedTimeAttribute] = nil
63
+ Event.invoke(autoAttackFinishEvent, unit, target)
64
+ end
65
+ local function checkUnit(unit)
66
+ local passedTime = unit[passedTimeAttribute] + timerPeriod
67
+ local impactDelay = unit[impactDelayAttribute]
68
+ if passedTime >= impactDelay and ceil(passedTime / 0.02) >= ceil(impactDelay / 0.02) then
69
+ invokeEvent(unit)
70
+ else
71
+ unit[passedTimeAttribute] = passedTime
72
+ end
45
73
  end
46
- Unit.autoAttackStartEvent:addListener(function(source, target)
47
- local attackPoint = source.weapons[1].impactDelay
48
- local timer = Timer:simple(attackPoint, timerCallback, source, target)
49
- eventTimerByUnit[source] = timer
74
+ Timer.onPeriod[timerPeriod]:addListener(function()
75
+ units:forEach(checkUnit)
50
76
  end)
77
+ Unit.autoAttackStartEvent:addListener(
78
+ 999999,
79
+ function(source, target)
80
+ if source[targetAttribute] ~= nil then
81
+ invokeEvent(source)
82
+ end
83
+ source[targetAttribute] = target
84
+ source[impactDelayAttribute] = (source:chooseWeapon(target) or source.firstWeapon).impactDelay
85
+ source[passedTimeAttribute] = -timerPeriod
86
+ units:add(source)
87
+ end
88
+ )
51
89
  return ____exports
@@ -11,6 +11,10 @@ import { Ability, UnitAbility } from "./ability";
11
11
  import { Widget } from "../../core/types/widget";
12
12
  import type { UnitTypeId } from "../object-data/entry/unit-type";
13
13
  import { CombatClassification, CombatClassifications } from "../object-data/auxiliary/combat-classification";
14
+ import { MovementType } from "../object-data/auxiliary/movement-type";
15
+ import { UnitAttribute } from "../object-data/auxiliary/unit-attribute";
16
+ import { AttackType } from "../object-data/auxiliary/attack-type";
17
+ import { AttributesHolder } from "../../attributes";
14
18
  export type UnitClassification = junittype;
15
19
  export declare namespace UnitClassification {
16
20
  const STRUCTURE: junittype;
@@ -19,6 +23,7 @@ export declare namespace UnitClassification {
19
23
  const GROUND: junittype;
20
24
  const SUMMONED: junittype;
21
25
  const MECHANICAL: junittype;
26
+ const WORKER: junittype;
22
27
  const ANCIENT: junittype;
23
28
  const SUICIDAL: junittype;
24
29
  const TAUREN: junittype;
@@ -36,15 +41,18 @@ type AbilityDispatcherTable<T extends any[] = []> = {
36
41
  readonly [id: number]: Event<[Unit, Ability, ...T]>;
37
42
  };
38
43
  type AbilityEventDispatcher<T extends any[] = []> = Event<[Unit, Ability, ...T]> & AbilityDispatcherTable<T>;
39
- export interface DamagingEvent {
44
+ export interface DamagingEvent extends AttributesHolder {
40
45
  amount: number;
41
- attackType: jattacktype;
46
+ attackType: AttackType;
42
47
  damageType: jdamagetype;
43
48
  weaponType: jweapontype;
49
+ metadata: unknown;
44
50
  readonly isAttack: boolean;
45
51
  readonly originalAmount: number;
52
+ readonly originalMetadata: unknown;
53
+ preventRetaliation(this: DamagingEvent): void;
46
54
  }
47
- export type DamageEvent = DamagingEvent & {
55
+ export type DamageEvent = Omit<DamagingEvent, "preventRetaliation"> & {
48
56
  preventDeath<P extends any[]>(this: DamageEvent, callback: (this: void, ...parameters: P) => any, ...parameters: P): void;
49
57
  };
50
58
  export type AttackDamageEvent = DamagingEvent & {
@@ -72,10 +80,14 @@ export declare class UnitWeapon {
72
80
  readonly unit: Unit;
73
81
  readonly index: 0 | 1;
74
82
  constructor(unit: Unit, index: 0 | 1);
83
+ get isEnabled(): boolean;
84
+ set isEnabled(isEnabled: boolean);
75
85
  get cooldown(): number;
76
86
  set cooldown(cooldown: number);
77
87
  get damage(): [minimumDamage: number, maximumDamage: number];
78
88
  set damage([minimumDamage, maximumDamage]: [number, number]);
89
+ get allowedTargetCombatClassifications(): CombatClassifications;
90
+ set allowedTargetCombatClassifications(allowedTargetCombatClassifications: CombatClassifications);
79
91
  get damageBase(): number;
80
92
  set damageBase(damageBase: number);
81
93
  get damageDiceCount(): number;
@@ -97,12 +109,13 @@ declare const enum UnitPropertyKey {
97
109
  SYNC_ID = 100,
98
110
  IS_PAUSED = 101,
99
111
  STUN_COUNTER = 102,
100
- DELAY_HEALTH_CHECKS_COUNTER = 103,
101
- DELAY_HEALTH_CHECKS_HEALTH_BONUS = 104,
102
- PREVENT_DEATH_HEALTH_BONUS = 105,
103
- IS_TEAM_GLOW_HIDDEN = 106,
104
- LAST_X = 107,
105
- LAST_Y = 108
112
+ FORCE_STUN_COUNTER = 103,
113
+ DELAY_HEALTH_CHECKS_COUNTER = 104,
114
+ DELAY_HEALTH_CHECKS_HEALTH_BONUS = 105,
115
+ PREVENT_DEATH_HEALTH_BONUS = 106,
116
+ IS_TEAM_GLOW_HIDDEN = 107,
117
+ LAST_X = 108,
118
+ LAST_Y = 109
106
119
  }
107
120
  export type UnitSyncId = number & {
108
121
  readonly __unitSyncId: unique symbol;
@@ -111,6 +124,7 @@ export declare class Unit extends Handle<junit> {
111
124
  readonly syncId: UnitSyncId;
112
125
  private [UnitPropertyKey.IS_PAUSED]?;
113
126
  private [UnitPropertyKey.STUN_COUNTER]?;
127
+ private [UnitPropertyKey.FORCE_STUN_COUNTER]?;
114
128
  private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
115
129
  private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
116
130
  private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
@@ -125,6 +139,7 @@ export declare class Unit extends Handle<junit> {
125
139
  private _fields?;
126
140
  private getEvent;
127
141
  constructor(handle: junit);
142
+ private saveData;
128
143
  protected onDestroy(): HandleDestructor;
129
144
  addAttackHandler(condition: AttackHandlerCondition, action: AttackHandlerAction): AttackHandler;
130
145
  removeAttackHandler(handler: AttackHandler): boolean;
@@ -147,29 +162,26 @@ export declare class Unit extends Handle<junit> {
147
162
  isVisibleTo(player: Player): boolean;
148
163
  isInvisibleTo(player: Player): boolean;
149
164
  isInRangeOf(x: number, y: number, range: number): boolean;
150
- isInRangeOf(unit: Unit, range: number): boolean;
165
+ isInRangeOf(widget: Widget, range: number): boolean;
151
166
  isAllyOf(unit: Unit): boolean;
152
167
  isEnemyOf(unit: Unit): boolean;
153
- playAnimation(animation: string, rarity?: jraritycontrol): void;
154
- playAnimation(animation: number): void;
168
+ playAnimation(...parameters: [animation: number] | [animation: string, rarity?: jraritycontrol]): void;
169
+ resetAnimation(): void;
155
170
  queueAnimation(animation: string): void;
156
171
  get weapons(): [UnitWeapon, UnitWeapon];
157
172
  get firstWeapon(): UnitWeapon;
158
173
  get secondWeapon(): UnitWeapon;
174
+ chooseWeapon(target: Unit): UnitWeapon | undefined;
159
175
  get level(): number;
160
176
  set level(v: number);
161
177
  get xp(): number;
162
178
  set xp(v: number);
163
- get strengthBase(): number;
164
- set strengthBase(strengthBase: number);
179
+ get primaryAttribute(): UnitAttribute;
180
+ set primaryAttribute(primaryAttribute: UnitAttribute);
165
181
  get strengthBonus(): number;
166
182
  get strength(): number;
167
- get agilityBase(): number;
168
- set agilityBase(agilityBase: number);
169
183
  get agilityBonus(): number;
170
184
  get agility(): number;
171
- get intelligenceBase(): number;
172
- set intelligenceBase(intelligenceBase: number);
173
185
  get intelligenceBonus(): number;
174
186
  get intelligence(): number;
175
187
  get name(): string;
@@ -203,8 +215,6 @@ export declare class Unit extends Handle<junit> {
203
215
  set facing(v: number);
204
216
  get speed(): number;
205
217
  set speed(v: number);
206
- get flyHeight(): number;
207
- set flyHeight(v: number);
208
218
  get x(): number;
209
219
  set x(v: number);
210
220
  get y(): number;
@@ -228,12 +238,12 @@ export declare class Unit extends Handle<junit> {
228
238
  get isInvulnerable(): boolean;
229
239
  get vertexColor(): Color;
230
240
  set vertexColor(v: Color);
231
- get scale(): number;
232
- set scale(v: number);
233
241
  get timeScale(): number;
234
242
  set timeScale(v: number);
235
243
  get collisionSize(): number;
236
244
  get pathingCollisionRange(): number;
245
+ get movementType(): MovementType;
246
+ set movementType(movementType: MovementType);
237
247
  set pathing(v: boolean);
238
248
  isSelected(player: Player): boolean;
239
249
  explode(): void;
@@ -251,18 +261,17 @@ export declare class Unit extends Handle<junit> {
251
261
  dropItemTarget(item: Item, target: Widget): boolean;
252
262
  dropItemSlot(item: Item, slot: number): boolean;
253
263
  itemInSlot(slot: number): Item | null;
254
- addAbility(abilityId: number): UnitAbility | null;
264
+ addAbility(abilityId: number): UnitAbility | undefined;
255
265
  makeAbilityPermanent(abilityId: number, permanent: true): boolean;
256
266
  setAbilityLevel(abilityId: number, level: number): number;
257
267
  getAbilityLevel(abilityId: number): number;
258
268
  hasAbility(abilityId: number): boolean;
259
- getAbilityById(abilityId: number): UnitAbility | undefined;
260
- removeAbility(abilityId: number): boolean;
269
+ getAbility(abilityId: number): UnitAbility | undefined;
270
+ removeAbility(abilityTypeId: number): boolean;
261
271
  hideAbility(abilityId: number, flag: boolean): void;
262
272
  getAbilityRemainingCooldown(abilityId: number): number;
263
273
  startAbilityCooldown(abilityId: number, cooldown: number): void;
264
274
  endAbilityCooldown(abilityId: number): void;
265
- interruptAttack(): void;
266
275
  interruptCast(abilityId: number): void;
267
276
  getDistanceTo(target: Unit | Vec2): number;
268
277
  getCollisionDistanceTo(...target: [Unit] | [targetX: number, targetY: number]): number;
@@ -276,14 +285,16 @@ export declare class Unit extends Handle<junit> {
276
285
  unpauseEx(): void;
277
286
  incrementStunCounter(): void;
278
287
  decrementStunCounter(): void;
288
+ incrementForceStunCounter(): void;
289
+ decrementForceStunCounter(): void;
279
290
  set waygateActive(v: boolean);
280
291
  get waygateActive(): boolean;
281
292
  set waygateDestination(v: Vec2);
282
293
  get waygateDestination(): Vec2;
283
294
  get abilities(): ReadonlyArray<UnitAbility>;
284
- get onUnitInRange(): Record<number, Event<[Unit]>>;
285
295
  get onManaEqual(): Record<number, Event<[Unit, number]>>;
286
296
  get manaEvent(): Record<Operator, Record<number, Event<[Unit]>>>;
297
+ get targetAcquiredEvent(): Event;
287
298
  get onSelect(): Event;
288
299
  get onDeselect(): Event;
289
300
  get onImmediateOrder(): Event<[number]>;
@@ -299,6 +310,7 @@ export declare class Unit extends Handle<junit> {
299
310
  static getInCollisionRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
300
311
  static getInSector(pos: Vec2, range: number, offsetAngle: number, centralAngle: number): Unit[];
301
312
  static getSelectionOf(player: Player, target?: Unit[]): Unit[];
313
+ static readonly levelChangedEvent: UnitTriggerEvent<[]>;
302
314
  static readonly deathEvent: UnitTriggerEvent<[Unit]>;
303
315
  static readonly onDecay: UnitTriggerEvent<[]>;
304
316
  static readonly onResurrect: InitializingEvent<[Unit], void>;
@@ -309,7 +321,7 @@ export declare class Unit extends Handle<junit> {
309
321
  static readonly constructionStartEvent: UnitTriggerEvent<[]>;
310
322
  static readonly onUpgradeFinish: UnitTriggerEvent<[]>;
311
323
  static readonly onSpellEffect: EventDispatcher<[Unit, number], [Unit]>;
312
- static readonly onTargetCast: EventDispatcher<[Unit, number, Item | Unit | Destructable], [Unit, Item | Unit | Destructable]>;
324
+ static readonly onTargetCast: EventDispatcher<[Unit, number, Destructable | Unit | Item], [Unit, Destructable | Unit | Item]>;
313
325
  static readonly onCastPrepare: AbilityEventDispatcher<[]>;
314
326
  static readonly onCast: AbilityEventDispatcher<[]>;
315
327
  static readonly onPointCastPrepare: AbilityEventDispatcher<[number, number]>;
@@ -336,14 +348,7 @@ export declare class Unit extends Handle<junit> {
336
348
  static itemDroppedEvent: UnitTriggerEvent<[Item]>;
337
349
  static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
338
350
  static itemUsedEvent: UnitTriggerEvent<[Item]>;
339
- static itemStackedEvent: UnitTriggerEvent<[Item]>;
340
- static get itemUseOrderEvent(): Event<[unit: Unit, item: Item]>;
341
- static get itemMoveOrderEvent(): Event<[
342
- unit: Unit,
343
- item: Item,
344
- slotFrom: 0 | 1 | 2 | 3 | 4 | 5,
345
- slotTo: 0 | 1 | 2 | 3 | 4 | 5
346
- ]>;
351
+ static get itemChargesChangedEvent(): Event<[unit: Unit, item: Item]>;
347
352
  static get onCreate(): EventDispatcher<[Unit], [Unit]>;
348
353
  static get destroyEvent(): EventDispatcher<[Unit], [Unit]>;
349
354
  getField(field: junitintegerfield | junitrealfield): number;
@@ -355,5 +360,6 @@ export declare class Unit extends Handle<junit> {
355
360
  setField(field: junitstringfield, value: string): boolean;
356
361
  toString(): string;
357
362
  static getBySyncId(syncId: UnitSyncId): Unit | undefined;
363
+ static synchronize: (player: Player, object: Unit | undefined) => Promise<Unit | undefined>;
358
364
  }
359
365
  export {};