warscript 0.0.1-dev.24ac045 → 0.0.1-dev.24da7f2

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 (384) 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 +21 -2
  7. package/core/types/frame.lua +165 -87
  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/missile.lua +8 -7
  12. package/core/types/player.d.ts +18 -1
  13. package/core/types/player.lua +76 -26
  14. package/core/types/playerCamera.d.ts +2 -0
  15. package/core/types/playerCamera.lua +123 -5
  16. package/core/types/playerColor.lua +4 -3
  17. package/core/types/sound.d.ts +1 -1
  18. package/core/types/sound.lua +14 -9
  19. package/core/types/tileCell.d.ts +18 -3
  20. package/core/types/tileCell.lua +108 -0
  21. package/core/types/timer.d.ts +3 -1
  22. package/core/types/timer.lua +27 -2
  23. package/core/types/unit.d.ts +5 -0
  24. package/core/types/unit.lua +5 -0
  25. package/core/util.d.ts +3 -1
  26. package/core/util.lua +109 -3
  27. package/decl/native.d.ts +712 -11
  28. package/destroyable.d.ts +1 -0
  29. package/destroyable.lua +9 -0
  30. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  31. package/engine/ability-type-extended-tooltip.lua +44 -0
  32. package/engine/behavior.d.ts +14 -1
  33. package/engine/behavior.lua +230 -70
  34. package/engine/behaviour/ability/apply-buff.lua +4 -4
  35. package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
  36. package/engine/behaviour/ability/damage.d.ts +4 -0
  37. package/engine/behaviour/ability/damage.lua +19 -15
  38. package/engine/behaviour/ability/emulate-impact.d.ts +15 -1
  39. package/engine/behaviour/ability/emulate-impact.lua +81 -6
  40. package/engine/behaviour/ability/instant-impact.d.ts +12 -1
  41. package/engine/behaviour/ability/instant-impact.lua +17 -2
  42. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  43. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  44. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  45. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  46. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  47. package/engine/behaviour/ability/restore-mana.lua +6 -6
  48. package/engine/behaviour/ability.d.ts +19 -6
  49. package/engine/behaviour/ability.lua +120 -9
  50. package/engine/behaviour/unit/stun-immunity.d.ts +9 -5
  51. package/engine/behaviour/unit/stun-immunity.lua +17 -7
  52. package/engine/behaviour/unit.d.ts +16 -5
  53. package/engine/behaviour/unit.lua +127 -22
  54. package/engine/buff.d.ts +124 -57
  55. package/engine/buff.lua +608 -296
  56. package/engine/index.d.ts +2 -1
  57. package/engine/internal/ability.d.ts +10 -1
  58. package/engine/internal/ability.lua +99 -47
  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 +27 -14
  66. package/engine/internal/item.lua +185 -82
  67. package/engine/internal/mechanics/cast-ability.lua +6 -3
  68. package/engine/internal/misc/frame-coordinates.lua +21 -0
  69. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  70. package/engine/internal/misc/get-terrain-z.lua +11 -0
  71. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  72. package/engine/internal/misc/player-local-handle.lua +5 -0
  73. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  74. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  75. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  76. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  77. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  78. package/engine/internal/object-data/health-bonus.lua +16 -0
  79. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  80. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  81. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  82. package/engine/internal/object-data/mana-bonus.lua +16 -0
  83. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  84. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  85. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  86. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  87. package/engine/internal/unit/ability.d.ts +14 -14
  88. package/engine/internal/unit/ability.lua +88 -45
  89. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  90. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  91. package/engine/internal/unit/appearance.d.ts +15 -0
  92. package/engine/internal/unit/appearance.lua +85 -0
  93. package/engine/internal/unit/attributes.d.ts +17 -0
  94. package/engine/internal/unit/attributes.lua +46 -0
  95. package/engine/internal/unit/bonus.d.ts +17 -0
  96. package/engine/internal/unit/bonus.lua +113 -8
  97. package/engine/internal/unit/buff.d.ts +2 -2
  98. package/engine/internal/unit/buff.lua +34 -19
  99. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  100. package/engine/internal/unit/equipment-inventory.lua +233 -0
  101. package/engine/internal/unit/expiration-timer.lua +1 -1
  102. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  103. package/engine/internal/unit/extended-inventory.lua +99 -0
  104. package/engine/internal/unit/fly-height.d.ts +7 -0
  105. package/engine/internal/unit/fly-height.lua +20 -0
  106. package/engine/internal/unit/ignore-events-items.lua +10 -1
  107. package/engine/internal/unit/interrupts.d.ts +12 -0
  108. package/engine/internal/unit/interrupts.lua +28 -0
  109. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  110. package/engine/internal/unit/inventory.lua +87 -0
  111. package/engine/internal/unit/item-container.d.ts +25 -0
  112. package/engine/internal/unit/item-container.lua +11 -0
  113. package/engine/internal/unit/item-order-events.d.ts +17 -0
  114. package/engine/internal/unit/item-order-events.lua +67 -0
  115. package/engine/internal/unit/item-slot.d.ts +27 -0
  116. package/engine/internal/unit/item-slot.lua +92 -0
  117. package/engine/internal/unit/main-selected.lua +12 -27
  118. package/engine/internal/unit/order.d.ts +3 -3
  119. package/engine/internal/unit/order.lua +10 -10
  120. package/engine/internal/unit/range-event.d.ts +12 -0
  121. package/engine/internal/unit/range-event.lua +90 -0
  122. package/engine/internal/unit/scale.d.ts +7 -0
  123. package/engine/internal/unit/scale.lua +20 -0
  124. package/engine/internal/unit/shared-vision-counter.d.ts +18 -0
  125. package/engine/internal/unit/shared-vision-counter.lua +31 -0
  126. package/engine/internal/unit+ability.d.ts +2 -1
  127. package/engine/internal/unit+ability.lua +83 -3
  128. package/engine/internal/unit+bonus.lua +3 -3
  129. package/engine/internal/unit+damage.d.ts +9 -0
  130. package/engine/internal/unit+damage.lua +33 -0
  131. package/engine/internal/unit+rally.lua +9 -31
  132. package/engine/internal/unit-missile-data.lua +96 -68
  133. package/engine/internal/unit-missile-launch.lua +65 -27
  134. package/engine/internal/unit.d.ts +20 -33
  135. package/engine/internal/unit.lua +227 -295
  136. package/engine/lightning.lua +4 -4
  137. package/engine/local-client.d.ts +28 -0
  138. package/engine/local-client.lua +324 -54
  139. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  140. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  141. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
  142. package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
  143. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  144. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  145. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  146. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  147. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  148. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  149. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  150. package/engine/object-data/auxiliary/item-class.lua +2 -0
  151. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  152. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  153. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  154. package/engine/object-data/auxiliary/order-type.lua +2 -0
  155. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  156. package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
  157. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  158. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  159. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  160. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  161. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  162. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  163. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  164. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  165. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  166. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  167. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  168. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  169. package/engine/object-data/entry/ability-type/barrage.d.ts +12 -0
  170. package/engine/object-data/entry/ability-type/barrage.lua +52 -0
  171. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  172. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  173. package/engine/object-data/entry/ability-type/blank-configurable.lua +2 -2
  174. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  175. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  176. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  177. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  178. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  179. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  180. package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
  181. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  182. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  183. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  184. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  185. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  186. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  187. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  188. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  189. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  190. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  191. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  192. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  193. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  194. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  195. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  196. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  197. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  198. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  199. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  200. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  201. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  202. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  203. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  204. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  205. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  206. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  207. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  208. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  209. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  210. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  211. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  212. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  213. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  214. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  215. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  216. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  217. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  218. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  219. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  220. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  221. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  222. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  223. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  224. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  225. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  226. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  227. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  228. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  229. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  230. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  231. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  232. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  233. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  234. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  235. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  236. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  237. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  238. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  239. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  240. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  241. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  242. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  243. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  244. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  245. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  246. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  247. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  248. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  249. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  250. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  251. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  252. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  253. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  254. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  255. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  256. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  257. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  258. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  259. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  260. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  261. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  262. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  263. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  264. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  265. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  266. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  267. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  268. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  269. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  270. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  271. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  272. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  273. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  274. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  275. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  276. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  277. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  278. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  279. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  280. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  281. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  282. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  283. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  284. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  285. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  286. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  287. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  288. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  289. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  290. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  291. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  292. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  293. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  294. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  295. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  296. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  297. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  298. package/engine/object-data/entry/ability-type.d.ts +35 -8
  299. package/engine/object-data/entry/ability-type.lua +304 -15
  300. package/engine/object-data/entry/buff-type/applicable.lua +122 -111
  301. package/engine/object-data/entry/buff-type.d.ts +6 -2
  302. package/engine/object-data/entry/buff-type.lua +26 -0
  303. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  304. package/engine/object-data/entry/destructible-type.lua +181 -0
  305. package/engine/object-data/entry/item-type.d.ts +18 -3
  306. package/engine/object-data/entry/item-type.lua +84 -0
  307. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  308. package/engine/object-data/entry/lightning-type.lua +1 -1
  309. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  310. package/engine/object-data/entry/unit-type.d.ts +72 -4
  311. package/engine/object-data/entry/unit-type.lua +503 -53
  312. package/engine/object-data/entry/upgrade.d.ts +2 -2
  313. package/engine/object-data/entry.d.ts +6 -1
  314. package/engine/object-data/entry.lua +8 -0
  315. package/engine/object-field/ability.d.ts +3 -3
  316. package/engine/object-field/ability.lua +9 -8
  317. package/engine/object-field/item.d.ts +22 -0
  318. package/engine/object-field/item.lua +118 -0
  319. package/engine/object-field/unit.d.ts +20 -5
  320. package/engine/object-field/unit.lua +61 -0
  321. package/engine/object-field.d.ts +12 -4
  322. package/engine/object-field.lua +273 -126
  323. package/engine/random.d.ts +10 -0
  324. package/engine/random.lua +21 -0
  325. package/engine/standard/entries/ability-type.d.ts +3102 -7
  326. package/engine/standard/entries/ability-type.lua +0 -6
  327. package/engine/standard/entries/buff-type.d.ts +45 -0
  328. package/engine/standard/entries/buff-type.lua +43 -0
  329. package/engine/standard/entries/item-type.d.ts +1299 -0
  330. package/engine/standard/entries/item-type.lua +2 -0
  331. package/engine/standard/entries/lightning-type.d.ts +42 -15
  332. package/engine/standard/entries/lightning-type.lua +0 -14
  333. package/engine/standard/entries/unit-type.d.ts +5 -0
  334. package/engine/standard/entries/unit-type.lua +5 -0
  335. package/engine/standard/fields/ability.d.ts +4 -4
  336. package/engine/standard/fields/ability.lua +4 -4
  337. package/engine/standard/fields/item.d.ts +4 -0
  338. package/engine/standard/fields/item.lua +6 -0
  339. package/engine/standard/fields/unit.d.ts +11 -3
  340. package/engine/standard/fields/unit.lua +15 -2
  341. package/engine/synchronization.d.ts +11 -0
  342. package/engine/synchronization.lua +77 -0
  343. package/engine/text-tag.d.ts +14 -2
  344. package/engine/text-tag.lua +135 -23
  345. package/engine/unit.d.ts +11 -1
  346. package/engine/unit.lua +11 -1
  347. package/event.d.ts +1 -1
  348. package/lualib_bundle.lua +1 -1
  349. package/math.d.ts +2 -0
  350. package/math.lua +14 -0
  351. package/net/socket.lua +1 -1
  352. package/network.lua +25 -1
  353. package/objutil/buff.lua +11 -9
  354. package/objutil/object.lua +1 -1
  355. package/operation.d.ts +8 -1
  356. package/operation.lua +38 -18
  357. package/package.json +3 -23
  358. package/patch-lua.lua +15 -0
  359. package/patch-lualib.lua +1 -1
  360. package/utility/arrays.d.ts +8 -1
  361. package/utility/arrays.lua +25 -0
  362. package/utility/callback-array.d.ts +17 -0
  363. package/utility/callback-array.lua +61 -0
  364. package/utility/functions.d.ts +4 -0
  365. package/utility/functions.lua +9 -0
  366. package/utility/linked-map.d.ts +35 -0
  367. package/utility/linked-map.lua +107 -0
  368. package/utility/linked-set.d.ts +4 -1
  369. package/utility/linked-set.lua +46 -1
  370. package/utility/lua-maps.d.ts +11 -2
  371. package/utility/lua-maps.lua +33 -2
  372. package/utility/lua-sets.d.ts +1 -0
  373. package/utility/lua-sets.lua +4 -0
  374. package/utility/random.d.ts +102 -0
  375. package/utility/random.lua +273 -0
  376. package/utility/records.lua +20 -1
  377. package/utility/types.d.ts +3 -0
  378. package/utility/unordered-map.d.ts +27 -0
  379. package/utility/unordered-map.lua +99 -0
  380. package/engine/internal/unit/item.lua +0 -78
  381. /package/engine/internal/{object-data/armor-increase.d.ts → misc/frame-coordinates.d.ts} +0 -0
  382. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  383. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  384. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
package/decl/native.d.ts CHANGED
@@ -291,7 +291,7 @@ declare interface jubersplat extends jhandle {
291
291
  declare interface jhashtable extends jagent {
292
292
  __jhashtable: never
293
293
  }
294
- declare interface jframehandle extends jhandle {
294
+ declare interface jframehandle extends jagent {
295
295
  __jframehandle: never
296
296
  }
297
297
  declare interface joriginframetype extends jhandle {
@@ -310,6 +310,9 @@ declare type joskeytype = symbol &
310
310
  jhandle & {
311
311
  __joskeytype: never
312
312
  }
313
+ declare interface jmetakeytype extends jhandle {
314
+ __jmetakeytype: never
315
+ }
313
316
  declare interface jabilityintegerfield extends jhandle {
314
317
  __jabilityintegerfield: never
315
318
  }
@@ -388,15 +391,17 @@ declare interface jmovetype extends jhandle {
388
391
  declare interface jtargetflag extends jhandle {
389
392
  __jtargetflag: never
390
393
  }
391
- declare interface jarmortype extends jhandle {
392
- __jarmortype: never
393
- }
394
+ declare type jarmortype = symbol &
395
+ jhandle & {
396
+ __jarmortype: never
397
+ }
394
398
  declare interface jheroattribute extends jhandle {
395
399
  __jheroattribute: never
396
400
  }
397
- declare interface jdefensetype extends jhandle {
398
- __jdefensetype: never
399
- }
401
+ declare type jdefensetype = symbol &
402
+ jhandle & {
403
+ __jdefensetype: never
404
+ }
400
405
  declare interface jregentype extends jhandle {
401
406
  __jregentype: never
402
407
  }
@@ -409,6 +414,18 @@ declare interface jpathingflag extends jhandle {
409
414
  declare interface jcommandbuttoneffect extends jhandle {
410
415
  __jcommandbuttoneffect: never
411
416
  }
417
+ declare interface jfogstyle extends jhandle {
418
+ __jfogstyle: never
419
+ }
420
+ declare interface jequipmentType extends jhandle {
421
+ __jequipmentType: never
422
+ }
423
+ declare interface jitemTag extends jhandle {
424
+ __jitemTag: never
425
+ }
426
+ declare interface jloadoutslot extends jhandle {
427
+ __jloadoutslot: never
428
+ }
412
429
  declare function ConvertRace(i: number): jrace
413
430
  declare function ConvertAllianceType(i: number): jalliancetype
414
431
  declare function ConvertRacePref(i: number): jracepreference
@@ -493,6 +510,10 @@ declare function ConvertDefenseType(i: number): jdefensetype
493
510
  declare function ConvertRegenType(i: number): jregentype
494
511
  declare function ConvertUnitCategory(i: number): junitcategory
495
512
  declare function ConvertPathingFlag(i: number): jpathingflag
513
+ declare function ConvertFogStyle(i: number): jfogstyle
514
+ declare function ConvertEquipmentType(i: number): jequipmentType
515
+ declare function ConvertItemTag(i: number): jitemTag
516
+ declare function ConvertLoadoutSlot(i: number): jloadoutslot
496
517
  declare function OrderId(orderIdString: string): number
497
518
  declare function OrderId2String(orderId: number): string
498
519
  declare function UnitId(unitIdString: string): number
@@ -535,6 +556,7 @@ declare const PLAYER_COLOR_COAL: jplayercolor
535
556
  declare const PLAYER_COLOR_SNOW: jplayercolor
536
557
  declare const PLAYER_COLOR_EMERALD: jplayercolor
537
558
  declare const PLAYER_COLOR_PEANUT: jplayercolor
559
+ declare const PLAYER_COLOR_BLACK: jplayercolor
538
560
  declare const RACE_HUMAN: jrace
539
561
  declare const RACE_ORC: jrace
540
562
  declare const RACE_UNDEAD: jrace
@@ -691,6 +713,7 @@ declare const RACE_PREF_UNDEAD: jracepreference
691
713
  declare const RACE_PREF_DEMON: jracepreference
692
714
  declare const RACE_PREF_RANDOM: jracepreference
693
715
  declare const RACE_PREF_USER_SELECTABLE: jracepreference
716
+ declare const RACE_PREF_FORSAKEN: jracepreference
694
717
  declare const MAP_CONTROL_USER: jmapcontrol
695
718
  declare const MAP_CONTROL_COMPUTER: jmapcontrol
696
719
  declare const MAP_CONTROL_RESCUABLE: jmapcontrol
@@ -747,6 +770,12 @@ declare const MAP_SPEED_FASTEST: jgamespeed
747
770
  declare const PLAYER_SLOT_STATE_EMPTY: jplayerslotstate
748
771
  declare const PLAYER_SLOT_STATE_PLAYING: jplayerslotstate
749
772
  declare const PLAYER_SLOT_STATE_LEFT: jplayerslotstate
773
+ declare const FOG_STYLE_LINEAR: jfogstyle
774
+ declare const FOG_STYLE_EXP: jfogstyle
775
+ declare const FOG_STYLE_EXP2: jfogstyle
776
+ declare const FOG_STYLE_HEIGHT: jfogstyle
777
+ declare const FOG_STYLE_NEW_EXP: jfogstyle
778
+ declare const FOG_STYLE_NEW_EXP_2: jfogstyle
750
779
  declare const SOUND_VOLUMEGROUP_UNITMOVEMENT: jvolumegroup
751
780
  declare const SOUND_VOLUMEGROUP_UNITSOUNDS: jvolumegroup
752
781
  declare const SOUND_VOLUMEGROUP_COMBAT: jvolumegroup
@@ -755,6 +784,13 @@ declare const SOUND_VOLUMEGROUP_UI: jvolumegroup
755
784
  declare const SOUND_VOLUMEGROUP_MUSIC: jvolumegroup
756
785
  declare const SOUND_VOLUMEGROUP_AMBIENTSOUNDS: jvolumegroup
757
786
  declare const SOUND_VOLUMEGROUP_FIRE: jvolumegroup
787
+ declare const SOUND_VOLUMEGROUP_CINEMATIC_GENERAL: jvolumegroup
788
+ declare const SOUND_VOLUMEGROUP_CINEMATIC_AMBIENT: jvolumegroup
789
+ declare const SOUND_VOLUMEGROUP_CINEMATIC_MUSIC: jvolumegroup
790
+ declare const SOUND_VOLUMEGROUP_CINEMATIC_DIALOGUE: jvolumegroup
791
+ declare const SOUND_VOLUMEGROUP_CINEMATIC_SOUND_EFFECTS_1: jvolumegroup
792
+ declare const SOUND_VOLUMEGROUP_CINEMATIC_SOUND_EFFECTS_2: jvolumegroup
793
+ declare const SOUND_VOLUMEGROUP_CINEMATIC_SOUND_EFFECTS_3: jvolumegroup
758
794
  declare const GAME_STATE_DIVINE_INTERVENTION: jigamestate
759
795
  declare const GAME_STATE_DISCONNECTED: jigamestate
760
796
  declare const GAME_STATE_TIME_OF_DAY: jfgamestate
@@ -861,6 +897,8 @@ declare const EVENT_PLAYER_UNIT_DROP_ITEM: jplayerunitevent
861
897
  declare const EVENT_PLAYER_UNIT_PICKUP_ITEM: jplayerunitevent
862
898
  declare const EVENT_PLAYER_UNIT_USE_ITEM: jplayerunitevent
863
899
  declare const EVENT_PLAYER_UNIT_STACK_ITEM: jplayerunitevent
900
+ declare const EVENT_PLAYER_UNIT_EQUIP_ITEM: jplayerunitevent
901
+ declare const EVENT_PLAYER_UNIT_UNEQUIP_ITEM: jplayerunitevent
864
902
  declare const EVENT_PLAYER_UNIT_LOADED: jplayerunitevent
865
903
  declare const EVENT_PLAYER_UNIT_DAMAGED: jplayerunitevent
866
904
  declare const EVENT_PLAYER_UNIT_DAMAGING: jplayerunitevent
@@ -943,6 +981,9 @@ declare const EVENT_UNIT_SPELL_EFFECT: junitevent
943
981
  declare const EVENT_UNIT_SPELL_FINISH: junitevent
944
982
  declare const EVENT_UNIT_SPELL_ENDCAST: junitevent
945
983
  declare const EVENT_UNIT_PAWN_ITEM: junitevent
984
+ declare const EVENT_UNIT_STACK_ITEM: junitevent
985
+ declare const EVENT_UNIT_EQUIP_ITEM: junitevent
986
+ declare const EVENT_UNIT_UNEQUIP_ITEM: junitevent
946
987
  declare const LESS_THAN: jlimitop
947
988
  declare const LESS_THAN_OR_EQUAL: jlimitop
948
989
  declare const EQUAL: jlimitop
@@ -983,9 +1024,38 @@ declare const ITEM_TYPE_ARTIFACT: jitemtype
983
1024
  declare const ITEM_TYPE_PURCHASABLE: jitemtype
984
1025
  declare const ITEM_TYPE_CAMPAIGN: jitemtype
985
1026
  declare const ITEM_TYPE_MISCELLANEOUS: jitemtype
1027
+ declare const ITEM_TYPE_EQUIPMENT: jitemtype
986
1028
  declare const ITEM_TYPE_UNKNOWN: jitemtype
987
1029
  declare const ITEM_TYPE_ANY: jitemtype
988
1030
  declare const ITEM_TYPE_TOME: jitemtype
1031
+ declare const EQUIPMENT_TYPE_NONE: jequipmentType
1032
+ declare const EQUIPMENT_TYPE_HEAD: jequipmentType
1033
+ declare const EQUIPMENT_TYPE_CHEST: jequipmentType
1034
+ declare const EQUIPMENT_TYPE_GLOVES: jequipmentType
1035
+ declare const EQUIPMENT_TYPE_BOOTS: jequipmentType
1036
+ declare const EQUIPMENT_TYPE_RING: jequipmentType
1037
+ declare const EQUIPMENT_TYPE_PRIMARY: jequipmentType
1038
+ declare const EQUIPMENT_TYPE_OFFHAND: jequipmentType
1039
+ declare const EQUIPMENT_TYPE_TRINKET: jequipmentType
1040
+ declare const EQUIPMENT_TYPE_ANY: jequipmentType
1041
+ declare const ITEMTAG_TYPE_UNDEFINED: jitemTag
1042
+ declare const ITEMTAG_TYPE_DROPPABLE: jitemTag
1043
+ declare const ITEMTAG_TYPE_QUESTREWARD: jitemTag
1044
+ declare const ITEMTAG_TYPE_BOSSDROP: jitemTag
1045
+ declare const ITEMTAG_TYPE_SECRET: jitemTag
1046
+ declare const ITEMTAG_TYPE_PUZZLE: jitemTag
1047
+ declare const ITEMTAG_TYPE_WORLD: jitemTag
1048
+ declare const ITEMTAG_TYPE_SHOP: jitemTag
1049
+ declare const ITEMTAG_TYPE_ANY: jitemTag
1050
+ declare const EQUIPMENT_LOADOUT_SLOT_HEAD: jloadoutslot
1051
+ declare const EQUIPMENT_LOADOUT_SLOT_CHEST: jloadoutslot
1052
+ declare const EQUIPMENT_LOADOUT_SLOT_GLOVES: jloadoutslot
1053
+ declare const EQUIPMENT_LOADOUT_SLOT_BOOTS: jloadoutslot
1054
+ declare const EQUIPMENT_LOADOUT_SLOT_RING: jloadoutslot
1055
+ declare const EQUIPMENT_LOADOUT_SLOT_RINGALT: jloadoutslot
1056
+ declare const EQUIPMENT_LOADOUT_SLOT_PRIMARY: jloadoutslot
1057
+ declare const EQUIPMENT_LOADOUT_SLOT_OFFHAND: jloadoutslot
1058
+ declare const EQUIPMENT_LOADOUT_SLOT_TRINKET: jloadoutslot
989
1059
  declare const CAMERA_FIELD_TARGET_DISTANCE: jcamerafield
990
1060
  declare const CAMERA_FIELD_FARZ: jcamerafield
991
1061
  declare const CAMERA_FIELD_ANGLE_OF_ATTACK: jcamerafield
@@ -997,6 +1067,9 @@ declare const CAMERA_FIELD_NEARZ: jcamerafield
997
1067
  declare const CAMERA_FIELD_LOCAL_PITCH: jcamerafield
998
1068
  declare const CAMERA_FIELD_LOCAL_YAW: jcamerafield
999
1069
  declare const CAMERA_FIELD_LOCAL_ROLL: jcamerafield
1070
+ declare const CAMERA_FIELD_DEPTH_OF_FIELD_DISTANCE: jcamerafield
1071
+ declare const CAMERA_FIELD_DEPTH_OF_FIELD_SCALE: jcamerafield
1072
+ declare const CAMERA_FIELD_ZABSOLUTE: jcamerafield
1000
1073
  declare const BLEND_MODE_NONE: jblendmode
1001
1074
  declare const BLEND_MODE_DONT_CARE: jblendmode
1002
1075
  declare const BLEND_MODE_KEYALPHA: jblendmode
@@ -1269,6 +1342,11 @@ declare const OSKEY_ZOOM: joskeytype
1269
1342
  declare const OSKEY_NONAME: joskeytype
1270
1343
  declare const OSKEY_PA1: joskeytype
1271
1344
  declare const OSKEY_OEM_CLEAR: joskeytype
1345
+ declare const METAKEY_NONE: number
1346
+ declare const METAKEY_SHIFT: number
1347
+ declare const METAKEY_CTRL: number
1348
+ declare const METAKEY_ALT: number
1349
+ declare const METAKEY_WINKEYS: number
1272
1350
  declare const ABILITY_IF_BUTTON_POSITION_NORMAL_X: jabilityintegerfield
1273
1351
  declare const ABILITY_IF_BUTTON_POSITION_NORMAL_Y: jabilityintegerfield
1274
1352
  declare const ABILITY_IF_BUTTON_POSITION_ACTIVATED_X: jabilityintegerfield
@@ -2056,6 +2134,7 @@ declare const UNIT_RF_HIT_POINTS_REGENERATION_RATE: junitrealfield
2056
2134
  declare const UNIT_RF_MANA_REGENERATION: junitrealfield
2057
2135
  declare const UNIT_RF_DEATH_TIME: junitrealfield
2058
2136
  declare const UNIT_RF_FLY_HEIGHT: junitrealfield
2137
+ declare const UNIT_RF_FLY_MAX_HEIGHT: junitrealfield
2059
2138
  declare const UNIT_RF_TURN_RATE: junitrealfield
2060
2139
  declare const UNIT_RF_ELEVATION_SAMPLE_RADIUS: junitrealfield
2061
2140
  declare const UNIT_RF_FOG_OF_WAR_SAMPLE_RADIUS: junitrealfield
@@ -2093,6 +2172,8 @@ declare const UNIT_BF_HIDE_MINIMAP_DISPLAY: junitbooleanfield
2093
2172
  declare const UNIT_BF_SCALE_PROJECTILES: junitbooleanfield
2094
2173
  declare const UNIT_BF_SELECTION_CIRCLE_ON_WATER: junitbooleanfield
2095
2174
  declare const UNIT_BF_HAS_WATER_SHADOW: junitbooleanfield
2175
+ declare const UNIT_BF_SHOW_AIR_TO_GROUND: junitbooleanfield
2176
+ declare const UNIT_BF_FORCE_DISPLAY_HP: junitbooleanfield
2096
2177
  declare const UNIT_SF_NAME: junitstringfield
2097
2178
  declare const UNIT_SF_PROPER_NAMES: junitstringfield
2098
2179
  declare const UNIT_SF_GROUND_TEXTURE: junitstringfield
@@ -2103,6 +2184,7 @@ declare const UNIT_WEAPON_IF_ATTACK_DAMAGE_SIDES_PER_DIE: junitweaponintegerfiel
2103
2184
  declare const UNIT_WEAPON_IF_ATTACK_MAXIMUM_NUMBER_OF_TARGETS: junitweaponintegerfield
2104
2185
  declare const UNIT_WEAPON_IF_ATTACK_ATTACK_TYPE: junitweaponintegerfield
2105
2186
  declare const UNIT_WEAPON_IF_ATTACK_WEAPON_SOUND: junitweaponintegerfield
2187
+ declare const UNIT_WEAPON_IF_ATTACK_WEAPON_TYPE: junitweaponintegerfield
2106
2188
  declare const UNIT_WEAPON_IF_ATTACK_AREA_OF_EFFECT_TARGETS: junitweaponintegerfield
2107
2189
  declare const UNIT_WEAPON_IF_ATTACK_TARGETS_ALLOWED: junitweaponintegerfield
2108
2190
  declare const UNIT_WEAPON_RF_ATTACK_BACKSWING_POINT: junitweaponrealfield
@@ -2272,6 +2354,7 @@ declare function SetPlayerRacePreference(
2272
2354
  whichPlayer: jplayer,
2273
2355
  whichRacePreference: jracepreference,
2274
2356
  ): void
2357
+ declare function SetPlayerRaceSkin(whichPlayer: jplayer, whichRacePreference: jracepreference): void
2275
2358
  declare function SetPlayerRaceSelectable(whichPlayer: jplayer, value: boolean): void
2276
2359
  declare function SetPlayerController(whichPlayer: jplayer, controlType: jmapcontrol): void
2277
2360
  declare function SetPlayerName(whichPlayer: jplayer, name: string): void
@@ -2577,11 +2660,13 @@ declare function GetChangingUnit(): junit
2577
2660
  declare function GetChangingUnitPrevOwner(): jplayer
2578
2661
  declare function GetManipulatingUnit(): junit
2579
2662
  declare function GetManipulatedItem(): jitem
2663
+ declare function GetEquippedItem(): jitem
2664
+ declare function GetUnequippedItem(): jitem
2580
2665
  declare function BlzGetAbsorbingItem(): jitem
2581
- declare function BlzGetManipulatedItemWasAbsorbed(): jitem
2666
+ declare function BlzGetManipulatedItemWasAbsorbed(): boolean
2582
2667
  declare function BlzGetStackingItemSource(): jitem
2583
2668
  declare function BlzGetStackingItemTarget(): jitem
2584
- declare function BlzGetStackingItemTargetPreviousCharges(): jitem
2669
+ declare function BlzGetStackingItemTargetPreviousCharges(): number
2585
2670
  declare function GetOrderedUnit(): junit
2586
2671
  declare function GetIssuedOrderId(): number
2587
2672
  declare function GetOrderPointX(): number
@@ -2671,6 +2756,8 @@ declare function TriggerExecute(whichTrigger: jtrigger): void
2671
2756
  declare function TriggerExecuteWait(whichTrigger: jtrigger): void
2672
2757
  declare function TriggerSyncStart(): void
2673
2758
  declare function TriggerSyncReady(): void
2759
+ declare function BlzTriggerIsRunning(whichTrigger: jtrigger): boolean
2760
+ declare function BlzTriggerInterrupt(whichTrigger: jtrigger): void
2674
2761
  declare function GetWidgetLife(whichWidget: jwidget): number
2675
2762
  declare function SetWidgetLife(whichWidget: jwidget, newLife: number): void
2676
2763
  declare function GetWidgetX(whichWidget: jwidget): number
@@ -2730,6 +2817,7 @@ declare function DestructableRestoreLife(d: jdestructable, life: number, birth:
2730
2817
  declare function QueueDestructableAnimation(d: jdestructable, whichAnimation: string): void
2731
2818
  declare function SetDestructableAnimation(d: jdestructable, whichAnimation: string): void
2732
2819
  declare function SetDestructableAnimationSpeed(d: jdestructable, speedFactor: number): void
2820
+ declare function SetDestructableColor(d: jdestructable, color: jplayercolor): void
2733
2821
  declare function ShowDestructable(d: jdestructable, flag: boolean): void
2734
2822
  declare function GetDestructableOccluderHeight(d: jdestructable): number
2735
2823
  declare function SetDestructableOccluderHeight(d: jdestructable, height: number): void
@@ -2742,12 +2830,15 @@ declare function GetItemTypeId(i: jitem): number
2742
2830
  declare function GetItemX(i: jitem): number
2743
2831
  declare function GetItemY(i: jitem): number
2744
2832
  declare function SetItemPosition(i: jitem, x: number, y: number): void
2833
+ declare function SetItemColor(whichItem: jitem, whichColor: jplayercolor): void
2745
2834
  declare function SetItemDropOnDeath(whichItem: jitem, flag: boolean): void
2746
2835
  declare function SetItemDroppable(i: jitem, flag: boolean): void
2747
2836
  declare function SetItemPawnable(i: jitem, flag: boolean): void
2748
2837
  declare function SetItemPlayer(whichItem: jitem, whichPlayer: jplayer, changeColor: boolean): void
2749
2838
  declare function SetItemInvulnerable(whichItem: jitem, flag: boolean): void
2750
2839
  declare function IsItemInvulnerable(whichItem: jitem): boolean
2840
+ declare function IsItemEquipped(whichItem: jitem): boolean
2841
+ declare function IsItemInBag(whichItem: jitem): boolean
2751
2842
  declare function SetItemVisible(whichItem: jitem, show: boolean): void
2752
2843
  declare function IsItemVisible(whichItem: jitem): boolean
2753
2844
  declare function IsItemOwned(whichItem: jitem): boolean
@@ -2766,6 +2857,8 @@ declare function GetItemCharges(whichItem: jitem): number
2766
2857
  declare function SetItemCharges(whichItem: jitem, charges: number): void
2767
2858
  declare function GetItemUserData(whichItem: jitem): number
2768
2859
  declare function SetItemUserData(whichItem: jitem, data: number): void
2860
+ declare function GetItemEquipmentType(whichItem: jitem): jequipmentType
2861
+ declare function GetItemTag(whichItem: jitem): jitemTag
2769
2862
  declare function CreateUnit(
2770
2863
  id: jplayer,
2771
2864
  unitid: number,
@@ -2853,6 +2946,11 @@ declare function AddUnitAnimationProperties(
2853
2946
  animProperties: string,
2854
2947
  add: boolean,
2855
2948
  ): void
2949
+ declare function AllowHeroGlowOnUnit(whichUnit: junit): void
2950
+ declare function DisallowHeroGlowOnUnit(whichUnit: junit): void
2951
+ declare function HeroGlowIsAllowedOnUnit(whichUnit: junit): boolean
2952
+ declare function BlzGetUnitAnimationDuration(whichUnit: junit, whichAnimation: string): number
2953
+ declare function BlzGetUnitAnimationDurationByIndex(whichUnit: junit, index: number): number
2856
2954
  declare function SetUnitLookAt(
2857
2955
  whichUnit: junit,
2858
2956
  whichBone: string,
@@ -2901,13 +2999,28 @@ declare function GetUnitWoodCost(unitId: number): number
2901
2999
  declare function GetUnitPointValue(whichUnit: junit): number
2902
3000
  declare function GetUnitPointValueByType(unitType: number): number
2903
3001
  declare function UnitAddItem(whichUnit: junit, whichItem: jitem): boolean
3002
+ declare function UnitEquipItem(whichUnit: junit, whichItem: jitem): boolean
2904
3003
  declare function UnitAddItemById(whichUnit: junit, itemId: number): jitem
2905
3004
  declare function UnitAddItemToSlotById(whichUnit: junit, itemId: number, itemSlot: number): boolean
2906
3005
  declare function UnitRemoveItem(whichUnit: junit, whichItem: jitem): void
2907
3006
  declare function UnitRemoveItemFromSlot(whichUnit: junit, itemSlot: number): jitem
3007
+ declare function UnitUnequipItem(whichUnit: junit, whichItem: jitem): void
3008
+ declare function UnitUnequipItemFromSlot(whichUnit: junit, slot: jloadoutslot): jitem
2908
3009
  declare function UnitHasItem(whichUnit: junit, whichItem: jitem): boolean
3010
+ declare function UnitHasItemBagged(whichUnit: junit, whichItem: jitem): boolean
2909
3011
  declare function UnitItemInSlot(whichUnit: junit, itemSlot: number): jitem
2910
3012
  declare function UnitInventorySize(whichUnit: junit): number
3013
+ declare function UnitExtendedInventorySize(whichUnit: junit): number
3014
+ declare function UnitItemInBagSlot(whichUnit: junit, itemSlot: number): jitem
3015
+ declare function UnitItemInEquipmentSlot(whichUnit: junit, itemSlot: jloadoutslot): jitem
3016
+ declare function UnitHasItemEquipped(whichUnit: junit, whichItem: jitem): boolean
3017
+ declare function UnitHasLoadoutSlotEmpty(whichUnit: junit, itemSlot: jloadoutslot): boolean
3018
+ declare function UnitHasAnyItemEquiped(whichUnit: junit): boolean
3019
+ declare function UnitHasItemEquipmentOfType(whichUnit: junit, equipmentId: jequipmentType): boolean
3020
+ declare function UnitCanEquipItemOfEquipmentType(
3021
+ whichUnit: junit,
3022
+ equipmentId: jequipmentType,
3023
+ ): boolean
2911
3024
  declare function UnitDropItemPoint(
2912
3025
  whichUnit: junit,
2913
3026
  whichItem: jitem,
@@ -3198,6 +3311,277 @@ declare function BlzGetUnitOrderCount(whichUnit: junit): number
3198
3311
  declare function BlzUnitClearOrders(whichUnit: junit, onlyQueued: boolean): void
3199
3312
  // stops the current order and optionally clears the queue
3200
3313
  declare function BlzUnitForceStopOrder(whichUnit: junit, clearQueue: boolean): void
3314
+ declare function BlzCreateDestructablePitchRoll(
3315
+ objectid: number,
3316
+ x: number,
3317
+ y: number,
3318
+ face: number,
3319
+ roll: number,
3320
+ pitch: number,
3321
+ scale: number,
3322
+ variation: number,
3323
+ ): jdestructable
3324
+ declare function BlzCreateDestructableZPitchRoll(
3325
+ objectid: number,
3326
+ x: number,
3327
+ y: number,
3328
+ z: number,
3329
+ face: number,
3330
+ roll: number,
3331
+ pitch: number,
3332
+ scale: number,
3333
+ variation: number,
3334
+ ): jdestructable
3335
+ declare function BlzCreateDeadDestructablePitchRoll(
3336
+ objectid: number,
3337
+ x: number,
3338
+ y: number,
3339
+ face: number,
3340
+ roll: number,
3341
+ pitch: number,
3342
+ scale: number,
3343
+ variation: number,
3344
+ ): jdestructable
3345
+ declare function BlzCreateDeadDestructableZPitchRoll(
3346
+ objectid: number,
3347
+ x: number,
3348
+ y: number,
3349
+ z: number,
3350
+ face: number,
3351
+ roll: number,
3352
+ pitch: number,
3353
+ scale: number,
3354
+ variation: number,
3355
+ ): jdestructable
3356
+ declare function BlzCreateDestructableWithSkinPitchRoll(
3357
+ objectid: number,
3358
+ x: number,
3359
+ y: number,
3360
+ face: number,
3361
+ roll: number,
3362
+ pitch: number,
3363
+ scale: number,
3364
+ variation: number,
3365
+ skinId: number,
3366
+ ): jdestructable
3367
+ declare function BlzCreateDestructableZWithSkinPitchRoll(
3368
+ objectid: number,
3369
+ x: number,
3370
+ y: number,
3371
+ z: number,
3372
+ face: number,
3373
+ roll: number,
3374
+ pitch: number,
3375
+ scale: number,
3376
+ variation: number,
3377
+ skinId: number,
3378
+ ): jdestructable
3379
+ declare function BlzCreateDeadDestructableWithSkinPitchRoll(
3380
+ objectid: number,
3381
+ x: number,
3382
+ y: number,
3383
+ face: number,
3384
+ roll: number,
3385
+ pitch: number,
3386
+ scale: number,
3387
+ variation: number,
3388
+ skinId: number,
3389
+ ): jdestructable
3390
+ declare function BlzCreateDeadDestructableZWithSkinPitchRoll(
3391
+ objectid: number,
3392
+ x: number,
3393
+ y: number,
3394
+ z: number,
3395
+ face: number,
3396
+ roll: number,
3397
+ pitch: number,
3398
+ scale: number,
3399
+ variation: number,
3400
+ skinId: number,
3401
+ ): jdestructable
3402
+ declare function BlzCreateDestructableWithColor(
3403
+ objectid: number,
3404
+ x: number,
3405
+ y: number,
3406
+ face: number,
3407
+ scale: number,
3408
+ variation: number,
3409
+ color: jplayercolor,
3410
+ ): jdestructable
3411
+ declare function BlzCreateDestructableZWithColor(
3412
+ objectid: number,
3413
+ x: number,
3414
+ y: number,
3415
+ z: number,
3416
+ face: number,
3417
+ scale: number,
3418
+ variation: number,
3419
+ color: jplayercolor,
3420
+ ): jdestructable
3421
+ declare function BlzCreateDeadDestructableWithColor(
3422
+ objectid: number,
3423
+ x: number,
3424
+ y: number,
3425
+ face: number,
3426
+ scale: number,
3427
+ variation: number,
3428
+ color: jplayercolor,
3429
+ ): jdestructable
3430
+ declare function BlzCreateDeadDestructableZWithColor(
3431
+ objectid: number,
3432
+ x: number,
3433
+ y: number,
3434
+ z: number,
3435
+ face: number,
3436
+ scale: number,
3437
+ variation: number,
3438
+ color: jplayercolor,
3439
+ ): jdestructable
3440
+ declare function BlzCreateDestructableWithSkinColor(
3441
+ objectid: number,
3442
+ x: number,
3443
+ y: number,
3444
+ face: number,
3445
+ scale: number,
3446
+ variation: number,
3447
+ skinId: number,
3448
+ color: jplayercolor,
3449
+ ): jdestructable
3450
+ declare function BlzCreateDestructableZWithSkinColor(
3451
+ objectid: number,
3452
+ x: number,
3453
+ y: number,
3454
+ z: number,
3455
+ face: number,
3456
+ scale: number,
3457
+ variation: number,
3458
+ skinId: number,
3459
+ color: jplayercolor,
3460
+ ): jdestructable
3461
+ declare function BlzCreateDeadDestructableWithSkinColor(
3462
+ objectid: number,
3463
+ x: number,
3464
+ y: number,
3465
+ face: number,
3466
+ scale: number,
3467
+ variation: number,
3468
+ skinId: number,
3469
+ color: jplayercolor,
3470
+ ): jdestructable
3471
+ declare function BlzCreateDeadDestructableZWithSkinColor(
3472
+ objectid: number,
3473
+ x: number,
3474
+ y: number,
3475
+ z: number,
3476
+ face: number,
3477
+ scale: number,
3478
+ variation: number,
3479
+ skinId: number,
3480
+ color: jplayercolor,
3481
+ ): jdestructable
3482
+ declare function BlzCreateDestructablePitchRollWithColor(
3483
+ objectid: number,
3484
+ x: number,
3485
+ y: number,
3486
+ face: number,
3487
+ roll: number,
3488
+ pitch: number,
3489
+ scale: number,
3490
+ variation: number,
3491
+ color: jplayercolor,
3492
+ ): jdestructable
3493
+ declare function BlzCreateDestructableZPitchRollWithColor(
3494
+ objectid: number,
3495
+ x: number,
3496
+ y: number,
3497
+ z: number,
3498
+ face: number,
3499
+ roll: number,
3500
+ pitch: number,
3501
+ scale: number,
3502
+ variation: number,
3503
+ color: jplayercolor,
3504
+ ): jdestructable
3505
+ declare function BlzCreateDeadDestructablePitchRollWithColor(
3506
+ objectid: number,
3507
+ x: number,
3508
+ y: number,
3509
+ face: number,
3510
+ roll: number,
3511
+ pitch: number,
3512
+ scale: number,
3513
+ variation: number,
3514
+ color: jplayercolor,
3515
+ ): jdestructable
3516
+ declare function BlzCreateDeadDestructableZPitchRollWithColor(
3517
+ objectid: number,
3518
+ x: number,
3519
+ y: number,
3520
+ z: number,
3521
+ face: number,
3522
+ roll: number,
3523
+ pitch: number,
3524
+ scale: number,
3525
+ variation: number,
3526
+ color: jplayercolor,
3527
+ ): jdestructable
3528
+ declare function BlzCreateDestructableWithSkinPitchRollColor(
3529
+ objectid: number,
3530
+ x: number,
3531
+ y: number,
3532
+ face: number,
3533
+ roll: number,
3534
+ pitch: number,
3535
+ scale: number,
3536
+ variation: number,
3537
+ skinId: number,
3538
+ color: jplayercolor,
3539
+ ): jdestructable
3540
+ declare function BlzCreateDestructableZWithSkinPitchRollColor(
3541
+ objectid: number,
3542
+ x: number,
3543
+ y: number,
3544
+ z: number,
3545
+ face: number,
3546
+ roll: number,
3547
+ pitch: number,
3548
+ scale: number,
3549
+ variation: number,
3550
+ skinId: number,
3551
+ color: jplayercolor,
3552
+ ): jdestructable
3553
+ declare function BlzCreateDeadDestructableWithSkinPitchRollColor(
3554
+ objectid: number,
3555
+ x: number,
3556
+ y: number,
3557
+ face: number,
3558
+ roll: number,
3559
+ pitch: number,
3560
+ scale: number,
3561
+ variation: number,
3562
+ skinId: number,
3563
+ color: jplayercolor,
3564
+ ): jdestructable
3565
+ declare function BlzCreateDeadDestructableZWithSkinPitchRollColor(
3566
+ objectid: number,
3567
+ x: number,
3568
+ y: number,
3569
+ z: number,
3570
+ face: number,
3571
+ roll: number,
3572
+ pitch: number,
3573
+ scale: number,
3574
+ variation: number,
3575
+ skinId: number,
3576
+ color: jplayercolor,
3577
+ ): jdestructable
3578
+ declare function SetDestructableVertexColor(
3579
+ whichDestructable: jdestructable,
3580
+ red: number,
3581
+ green: number,
3582
+ blue: number,
3583
+ alpha: number,
3584
+ ): void
3201
3585
  declare function SetResourceAmount(whichUnit: junit, amount: number): void
3202
3586
  declare function AddResourceAmount(whichUnit: junit, amount: number): void
3203
3587
  declare function GetResourceAmount(whichUnit: junit): number
@@ -3888,6 +4272,12 @@ declare function ChooseRandomCreep(level: number): number
3888
4272
  declare function ChooseRandomNPBuilding(): number
3889
4273
  declare function ChooseRandomItem(level: number): number
3890
4274
  declare function ChooseRandomItemEx(whichType: jitemtype, level: number): number
4275
+ declare function ChooseRandomItemExWithFilter(
4276
+ whichType: jitemtype,
4277
+ level: number,
4278
+ whichEquipmentType: jequipmentType,
4279
+ whichTag: jitemTag,
4280
+ ): number
3891
4281
  declare function SetRandomSeed(seed: number): void
3892
4282
  declare function SetTerrainFog(a: number, b: number, c: number, d: number, e: number): void
3893
4283
  declare function ResetTerrainFog(): void
@@ -3901,6 +4291,30 @@ declare function SetTerrainFogEx(
3901
4291
  green: number,
3902
4292
  blue: number,
3903
4293
  ): void
4294
+ declare function SetTerrainFogExV(
4295
+ style: number,
4296
+ zstart: number,
4297
+ zend: number,
4298
+ density: number,
4299
+ heightStart: number,
4300
+ heightEnd: number,
4301
+ linearStart: number,
4302
+ linearEnd: number,
4303
+ red: number,
4304
+ green: number,
4305
+ blue: number,
4306
+ ): void
4307
+ declare function BlzSetTerrainFogStyle(style: jfogstyle): void
4308
+ declare function BlzSetTerrainFogZStart(zStart: number): void
4309
+ declare function BlzSetTerrainFogZEnd(ZEnd: number): void
4310
+ declare function BlzSetTerrainFogDensity(density: number): void
4311
+ declare function BlzSetTerrainFogHeightStart(heightStart: number): void
4312
+ declare function BlzSetTerrainFogHeightEnd(heightEnd: number): void
4313
+ declare function BlzSetTerrainFogLinearStart(linearStart: number): void
4314
+ declare function BlzSetTerrainFogLinearEnd(linearEnd: number): void
4315
+ declare function BlzSetTerrainFogMaxLinearDensity(maxLinearDensity: number): void
4316
+ declare function BlzSetTerrainFogDrawOverSky(drawOverSky: boolean): void
4317
+ declare function BlzSetTerrainFogColor(red: number, green: number, blue: number): void
3904
4318
  declare function DisplayTextToPlayer(toPlayer: jplayer, x: number, y: number, message: string): void
3905
4319
  declare function DisplayTimedTextToPlayer(
3906
4320
  toPlayer: jplayer,
@@ -3988,6 +4402,20 @@ declare function SetIntroShotText(introText: string): void
3988
4402
  declare function SetIntroShotModel(introModelPath: string): void
3989
4403
  declare function EnableWorldFogBoundary(b: boolean): void
3990
4404
  declare function PlayModelCinematic(modelName: string): void
4405
+ declare function BlzPreloadModelCinematicGame(modelName: string): boolean
4406
+ declare function BlzGetModelCinematicGameShotCount(): number
4407
+ declare function BlzGetModelCinematicGameCurrentShot(): number
4408
+ declare function BlzGetModelCinematicGameRemainingTime(): number
4409
+ declare function BlzPlayModelCinematicGameAtPosition(
4410
+ modelName: string,
4411
+ posX: number,
4412
+ posY: number,
4413
+ posZ: number,
4414
+ RotZ: number,
4415
+ ): void
4416
+ declare function BlzSetCinematicEnabledDE(enable: boolean): void
4417
+ declare function BlzSetMinShadowCastingPointLightCount(count: number): void
4418
+ declare function BlzGetMinShadowCastingPointLightCount(): number
3991
4419
  declare function PlayCinematic(movieName: string): void
3992
4420
  declare function ForceUIKey(key: string): void
3993
4421
  declare function ForceUICancel(): void
@@ -4234,6 +4662,11 @@ declare function SetCameraRotateMode(
4234
4662
  ): void
4235
4663
  declare function SetCameraField(whichField: jcamerafield, value: number, duration: number): void
4236
4664
  declare function AdjustCameraField(whichField: jcamerafield, offset: number, duration: number): void
4665
+ declare function SetCameraFieldControlledByInput(
4666
+ whichField: jcamerafield,
4667
+ controlled: boolean,
4668
+ ): void
4669
+ declare function GetCameraFieldControlledByInput(whichField: jcamerafield): boolean
4237
4670
  declare function SetCameraTargetController(
4238
4671
  whichUnit: junit,
4239
4672
  xoffset: number,
@@ -4241,6 +4674,8 @@ declare function SetCameraTargetController(
4241
4674
  inheritOrientation: boolean,
4242
4675
  ): void
4243
4676
  declare function SetCameraOrientController(whichUnit: junit, xoffset: number, yoffset: number): void
4677
+ declare function BlzCameraSetCameraType(cameraType: number): void
4678
+ declare function BlzCameraGetCameraType(): number
4244
4679
  declare function CreateCameraSetup(): jcamerasetup
4245
4680
  declare function CameraSetupSetField(
4246
4681
  whichSetup: jcamerasetup,
@@ -4272,6 +4707,8 @@ declare function CameraSetupApplyForceDurationWithZ(
4272
4707
  ): void
4273
4708
  declare function BlzCameraSetupSetLabel(whichSetup: jcamerasetup, label: string): void
4274
4709
  declare function BlzCameraSetupGetLabel(whichSetup: jcamerasetup): string
4710
+ declare function BlzCameraSetupSetCameraType(whichSetup: jcamerasetup, cameraType: number): void
4711
+ declare function BlzCameraSetupGetCameraType(whichSetup: jcamerasetup): number
4275
4712
  declare function CameraSetTargetNoise(mag: number, velocity: number): void
4276
4713
  declare function CameraSetSourceNoise(mag: number, velocity: number): void
4277
4714
  declare function CameraSetTargetNoiseEx(mag: number, velocity: number, vertOnly: boolean): void
@@ -4311,6 +4748,8 @@ declare function EndCinematicScene(): void
4311
4748
  declare function ForceCinematicSubtitles(flag: boolean): void
4312
4749
  declare function SetCinematicAudio(cinematicAudio: boolean): void
4313
4750
  declare function GetCameraMargin(whichMargin: number): number
4751
+ declare function EnableCameraBlocker(r: jrect, flag: boolean): void
4752
+ declare function AddCameraBlocker(where: jrect): void
4314
4753
  declare function GetCameraBoundMinX(): number
4315
4754
  declare function GetCameraBoundMinY(): number
4316
4755
  declare function GetCameraBoundMaxX(): number
@@ -4374,6 +4813,7 @@ declare function SetSoundPosition(soundHandle: jsound, x: number, y: number, z:
4374
4813
  declare function SetSoundVelocity(soundHandle: jsound, x: number, y: number, z: number): void
4375
4814
  declare function AttachSoundToUnit(soundHandle: jsound, whichUnit: junit): void
4376
4815
  declare function StartSound(soundHandle: jsound): void
4816
+ declare function StartSoundEx(soundHandle: jsound, fadeIn: boolean): void
4377
4817
  declare function StopSound(soundHandle: jsound, killWhenDone: boolean, fadeOut: boolean): void
4378
4818
  declare function KillSoundWhenDone(soundHandle: jsound): void
4379
4819
  declare function SetMapMusic(musicName: string, random: boolean, index: number): void
@@ -4384,9 +4824,11 @@ declare function StopMusic(fadeOut: boolean): void
4384
4824
  declare function ResumeMusic(): void
4385
4825
  declare function PlayThematicMusic(musicFileName: string): void
4386
4826
  declare function PlayThematicMusicEx(musicFileName: string, frommsecs: number): void
4827
+ declare function BlzPauseThematicMusicOnFocusLost(pause: boolean): void
4387
4828
  declare function EndThematicMusic(): void
4388
4829
  declare function SetMusicVolume(volume: number): void
4389
4830
  declare function SetMusicPlayPosition(millisecs: number): void
4831
+ declare function SetThematicMusicVolume(volume: number): void
4390
4832
  declare function SetThematicMusicPlayPosition(millisecs: number): void
4391
4833
  declare function SetSoundDuration(soundHandle: jsound, duration: number): void
4392
4834
  declare function GetSoundDuration(soundHandle: jsound): number
@@ -4551,6 +4993,43 @@ declare function GetAbilitySound(abilityString: string, t: jsoundtype): string
4551
4993
  declare function GetAbilitySoundById(abilityId: number, t: jsoundtype): string
4552
4994
  declare function GetTerrainCliffLevel(x: number, y: number): number
4553
4995
  declare function SetWaterBaseColor(red: number, green: number, blue: number, alpha: number): void
4996
+ declare function SetHDWaterParams(
4997
+ red: number,
4998
+ green: number,
4999
+ blue: number,
5000
+ useColor: boolean,
5001
+ vertexDisplacement: number,
5002
+ minOpacity: number,
5003
+ maxOpacity: number,
5004
+ reflectivity: number,
5005
+ emissivity: number,
5006
+ edgeSoftness: number,
5007
+ waveStrength: number,
5008
+ ): void
5009
+ declare function SetHDWaterParamsEx(
5010
+ red: number,
5011
+ green: number,
5012
+ blue: number,
5013
+ override: boolean,
5014
+ vertexDisplacement: number,
5015
+ minOpacity: number,
5016
+ maxOpacity: number,
5017
+ reflectivity: number,
5018
+ emissivity: number,
5019
+ edgeSoftness: number,
5020
+ waveStrength: number,
5021
+ envMapStrength: number,
5022
+ ): void
5023
+ declare function BlzSetHDWaterColor(red: number, green: number, blue: number): void
5024
+ declare function BlzSetHDWaterColorOverride(override: boolean): void
5025
+ declare function BlzSetHDWaterVertexDisplacement(vertexDisplacement: number): void
5026
+ declare function BlzSetHDWaterMinOpacity(minOpacity: number): void
5027
+ declare function BlzSetHDWaterMaxOpacity(maxOpacity: number): void
5028
+ declare function BlzSetHDWaterReflectivity(reflectivity: number): void
5029
+ declare function BlzSetHDWaterEmissivity(emissivity: number): void
5030
+ declare function BlzSetHDWaterEdgeSoftness(edgeSoftness: number): void
5031
+ declare function BlzSetHDWaterWaveStrength(waveStrength: number): void
5032
+ declare function BlzSetHDWaterEnvMapStrength(envMapStrengthy: number): void
4554
5033
  declare function SetWaterDeforms(val: boolean): void
4555
5034
  declare function GetTerrainType(x: number, y: number): number
4556
5035
  declare function GetTerrainVariance(x: number, y: number): number
@@ -4563,6 +5042,7 @@ declare function SetTerrainType(
4563
5042
  shape: number,
4564
5043
  ): void
4565
5044
  declare function IsTerrainPathable(x: number, y: number, t: jpathingtype): boolean
5045
+ declare function BlzIsTerrainPathableEx(x: number, y: number, t: jpathingtype): boolean
4566
5046
  declare function SetTerrainPathable(x: number, y: number, t: jpathingtype, flag: boolean): void
4567
5047
  declare function CreateImage(
4568
5048
  file: string,
@@ -4646,6 +5126,34 @@ declare function SetDoodadAnimationRect(
4646
5126
  animName: string,
4647
5127
  animRandom: boolean,
4648
5128
  ): void
5129
+ declare function BlzSetSingleDoodadAnimation(
5130
+ index: number,
5131
+ animName: string,
5132
+ animRandom: boolean,
5133
+ ): void
5134
+ declare function SetDoodadColor(
5135
+ x: number,
5136
+ y: number,
5137
+ radius: number,
5138
+ doodadID: number,
5139
+ nearestOnly: boolean,
5140
+ whichColor: jplayercolor,
5141
+ ): void
5142
+ declare function SetDoodadColorRect(r: jrect, doodadID: number, whichColor: jplayercolor): void
5143
+ declare function BlzSetSingleDoodadColor(index: number, whichColor: jplayercolor): void
5144
+ declare function BlzGetDoodadX(index: number): number
5145
+ declare function BlzGetDoodadY(index: number): number
5146
+ declare function BlzGetDoodadZ(index: number): number
5147
+ declare function BlzGetDoodadScaleX(index: number): number
5148
+ declare function BlzGetDoodadScaleY(index: number): number
5149
+ declare function BlzGetDoodadScaleZ(index: number): number
5150
+ declare function BlzGetDoodadIsUsingModelAxes(index: number): boolean
5151
+ declare function BlzGetDoodadYaw(index: number): number
5152
+ declare function BlzGetDoodadPitch(index: number): number
5153
+ declare function BlzGetDoodadRoll(index: number): number
5154
+ declare function BlzGetDoodadVariation(index: number): number
5155
+ declare function BlzGetDoodadId(index: number): number
5156
+ declare function BlzGetNumDoodads(): number
4649
5157
  declare function StartMeleeAI(num: jplayer, script: string): void
4650
5158
  declare function StartCampaignAI(num: jplayer, script: string): void
4651
5159
  declare function CommandAI(num: jplayer, command: number, data: number): void
@@ -4754,6 +5262,7 @@ declare function BlzSetUnitAttackCooldown(
4754
5262
  cooldown: number,
4755
5263
  weaponIndex: number,
4756
5264
  ): void
5265
+ declare function BlzResetUnitAttack(whichUnit: junit, weaponIndex: number): void
4757
5266
  declare function BlzGetHeroPrimaryStat(whichUnit: junit): number
4758
5267
  declare function BlzSetHeroPrimaryStat(whichUnit: junit, value: number): void
4759
5268
  declare function BlzSetSpecialEffectColorByPlayer(whichEffect: jeffect, whichPlayer: jplayer): void
@@ -4805,6 +5314,12 @@ declare function BlzPlaySpecialEffectWithTimeScale(
4805
5314
  whichAnim: janimtype,
4806
5315
  timeScale: number,
4807
5316
  ): void
5317
+ declare function BlzSetSpecialEffectAnimationBlendTime(
5318
+ whichEffect: jeffect,
5319
+ blendTime: number,
5320
+ ): void
5321
+ declare function BlzQueueSpecialEffectAnimation(whichEffect: jeffect, whichAnimation: string): void
5322
+ declare function BlzSetSpecialEffectAnimation(whichEffect: jeffect, whichAnimation: string): void
4808
5323
  declare function BlzGetAnimName(whichAnim: janimtype): string
4809
5324
  declare function BlzGetUnitArmor(whichUnit: junit): number
4810
5325
  declare function BlzSetUnitArmor(whichUnit: junit, armorAmount: number): void
@@ -4815,6 +5330,7 @@ declare function BlzUnitDisableAbility(
4815
5330
  flag: boolean,
4816
5331
  hideUI: boolean,
4817
5332
  ): void
5333
+ declare function BlzUnitEnableAuras(whichUnit: junit, enable: boolean, affectsUI: boolean): void
4818
5334
  declare function BlzUnitCancelTimedLife(whichUnit: junit): void
4819
5335
  declare function BlzIsUnitSelectable(whichUnit: junit): boolean
4820
5336
  declare function BlzIsUnitInvulnerable(whichUnit: junit): boolean
@@ -4830,6 +5346,27 @@ declare function BlzSetUnitAbilityCooldown(
4830
5346
  ): void
4831
5347
  declare function BlzGetUnitAbilityCooldown(whichUnit: junit, abilId: number, level: number): number
4832
5348
  declare function BlzGetUnitAbilityCooldownRemaining(whichUnit: junit, abilId: number): number
5349
+ declare function BlzGetUnitAbilityCooldownPercent(whichUnit: junit, abilId: number): number
5350
+ declare function BlzSetUnitAbilityCooldownRemaining(
5351
+ whichUnit: junit,
5352
+ abilId: number,
5353
+ duration: number,
5354
+ ): void
5355
+ declare function BlzSetUnitAbilityCooldownPercent(
5356
+ whichUnit: junit,
5357
+ abilId: number,
5358
+ percent: number,
5359
+ ): void
5360
+ declare function BlzAdjustUnitAbilityCooldownRemaining(
5361
+ whichUnit: junit,
5362
+ abilId: number,
5363
+ duration: number,
5364
+ ): void
5365
+ declare function BlzAdjustUnitAbilityCooldownPercent(
5366
+ whichUnit: junit,
5367
+ abilId: number,
5368
+ percent: number,
5369
+ ): void
4833
5370
  declare function BlzEndUnitAbilityCooldown(whichUnit: junit, abilCode: number): void
4834
5371
  declare function BlzStartUnitAbilityCooldown(
4835
5372
  whichUnit: junit,
@@ -4990,6 +5527,7 @@ declare function BlzFrameSetTooltip(frame: jframehandle, tooltip: jframehandle):
4990
5527
  declare function BlzFrameCageMouse(frame: jframehandle, enable: boolean): void
4991
5528
  declare function BlzFrameSetValue(frame: jframehandle, value: number): void
4992
5529
  declare function BlzFrameGetValue(frame: jframehandle): number
5530
+ declare function BlzTextAreaFrameSetAutoScroll(frame: jframehandle, value: boolean): void
4993
5531
  declare function BlzFrameSetMinMaxValue(
4994
5532
  frame: jframehandle,
4995
5533
  minValue: number,
@@ -5044,12 +5582,21 @@ declare function BlzTriggerRegisterPlayerKeyEvent(
5044
5582
  declare function BlzGetTriggerPlayerKey(): joskeytype
5045
5583
  declare function BlzGetTriggerPlayerMetaKey(): number
5046
5584
  declare function BlzGetTriggerPlayerIsKeyDown(): boolean
5585
+ declare function BlzIsMetaKeyPressed(metakey: number): boolean
5586
+ declare function BlzIsKeyPressed(key: joskeytype): boolean
5587
+ declare function BlzIsMouseButtonPressed(mouseButtonType: jmousebuttontype): boolean
5588
+ declare function BlzGetMouseScreenPosX(): number
5589
+ declare function BlzGetMouseScreenPosY(): number
5047
5590
  declare function BlzEnableCursor(enable: boolean): void
5048
5591
  declare function BlzSetMousePos(x: number, y: number): void
5049
5592
  declare function BlzGetLocalClientWidth(): number
5050
5593
  declare function BlzGetLocalClientHeight(): number
5051
5594
  declare function BlzIsLocalClientActive(): boolean
5052
5595
  declare function BlzGetMouseFocusUnit(): junit
5596
+ declare function BlzPixelToFrameX(pixelX: number): number
5597
+ declare function BlzPixelToFrameY(pixelY: number): number
5598
+ declare function BlzFrameToPixelX(frameX: number): number
5599
+ declare function BlzFrameToPixelY(frameY: number): number
5053
5600
  declare function BlzChangeMinimapTerrainTex(texFile: string): boolean
5054
5601
  declare function BlzGetLocale(): string
5055
5602
  declare function BlzGetSpecialEffectScale(whichEffect: jeffect): number
@@ -5257,8 +5804,8 @@ declare function BlzRemoveAbilityStringLevelArrayField(
5257
5804
  level: number,
5258
5805
  value: string,
5259
5806
  ): boolean
5260
- declare function BlzGetItemAbilityByIndex(whichItem: jitem, index: number): jability | null
5261
- declare function BlzGetItemAbility(whichItem: jitem, abilCode: number): jability | null
5807
+ declare function BlzGetItemAbilityByIndex(whichItem: jitem, index: number): jability | undefined
5808
+ declare function BlzGetItemAbility(whichItem: jitem, abilCode: number): jability | undefined
5262
5809
  declare function BlzItemAddAbility(whichItem: jitem, abilCode: number): boolean
5263
5810
  declare function BlzGetItemBooleanField(whichItem: jitem, whichField: jitembooleanfield): boolean
5264
5811
  declare function BlzGetItemIntegerField(whichItem: jitem, whichField: jitemintegerfield): number
@@ -5438,6 +5985,8 @@ declare const bj_WAIT_FOR_COND_MIN_INTERVAL: number
5438
5985
  declare const bj_POLLED_WAIT_INTERVAL: number
5439
5986
  declare const bj_POLLED_WAIT_SKIP_THRESHOLD: number
5440
5987
  declare const bj_MAX_INVENTORY: number
5988
+ declare const bj_MAX_EXTENDED_INVENTORY: number
5989
+ declare const bj_MAX_EQUIPMENT_INVENTORY: number
5441
5990
  declare const bj_MAX_PLAYERS: number
5442
5991
  declare const bj_PLAYER_NEUTRAL_VICTIM: number
5443
5992
  declare const bj_PLAYER_NEUTRAL_EXTRA: number
@@ -5514,6 +6063,8 @@ declare const bj_CAMPAIGN_INDEX_XN: number
5514
6063
  declare const bj_CAMPAIGN_INDEX_XH: number
5515
6064
  declare const bj_CAMPAIGN_INDEX_XU: number
5516
6065
  declare const bj_CAMPAIGN_INDEX_XO: number
6066
+ declare const bj_CAMPAIGN_INDEX_RH: number
6067
+ declare const bj_CAMPAIGN_INDEX_RU: number
5517
6068
  declare const bj_CAMPAIGN_OFFSET_T: number
5518
6069
  declare const bj_CAMPAIGN_OFFSET_H: number
5519
6070
  declare const bj_CAMPAIGN_OFFSET_U: number
@@ -5523,6 +6074,8 @@ declare const bj_CAMPAIGN_OFFSET_XN: number
5523
6074
  declare const bj_CAMPAIGN_OFFSET_XH: number
5524
6075
  declare const bj_CAMPAIGN_OFFSET_XU: number
5525
6076
  declare const bj_CAMPAIGN_OFFSET_XO: number
6077
+ declare const bj_CAMPAIGN_OFFSET_RH: number
6078
+ declare const bj_CAMPAIGN_OFFSET_RU: number
5526
6079
  declare const bj_MISSION_INDEX_T00: number
5527
6080
  declare const bj_MISSION_INDEX_T01: number
5528
6081
  declare const bj_MISSION_INDEX_T02: number
@@ -5610,6 +6163,15 @@ declare const bj_MISSION_INDEX_XO00: number
5610
6163
  declare const bj_MISSION_INDEX_XO01: number
5611
6164
  declare const bj_MISSION_INDEX_XO02: number
5612
6165
  declare const bj_MISSION_INDEX_XO03: number
6166
+ declare const bj_MISSION_INDEX_RH00: number
6167
+ declare const bj_MISSION_INDEX_RH01: number
6168
+ declare const bj_MISSION_INDEX_RH02: number
6169
+ declare const bj_MISSION_INDEX_RH03: number
6170
+ declare const bj_MISSION_INDEX_RH04: number
6171
+ declare const bj_MISSION_INDEX_RU00: number
6172
+ declare const bj_MISSION_INDEX_RU01: number
6173
+ declare const bj_MISSION_INDEX_RU02: number
6174
+ declare const bj_MISSION_INDEX_RU03: number
5613
6175
  declare const bj_CINEMATICINDEX_TOP: number
5614
6176
  declare const bj_CINEMATICINDEX_HOP: number
5615
6177
  declare const bj_CINEMATICINDEX_HED: number
@@ -5621,6 +6183,8 @@ declare const bj_CINEMATICINDEX_NOP: number
5621
6183
  declare const bj_CINEMATICINDEX_NED: number
5622
6184
  declare const bj_CINEMATICINDEX_XOP: number
5623
6185
  declare const bj_CINEMATICINDEX_XED: number
6186
+ declare const bj_CINEMATICINDEX_HFO: number
6187
+ declare const bj_CINEMATICINDEX_UFE: number
5624
6188
  declare const bj_ALLIANCE_UNALLIED: number
5625
6189
  declare const bj_ALLIANCE_UNALLIED_VISION: number
5626
6190
  declare const bj_ALLIANCE_ALLIED: number
@@ -5635,6 +6199,7 @@ declare const bj_KEYEVENTKEY_LEFT: number
5635
6199
  declare const bj_KEYEVENTKEY_RIGHT: number
5636
6200
  declare const bj_KEYEVENTKEY_DOWN: number
5637
6201
  declare const bj_KEYEVENTKEY_UP: number
6202
+ declare const bj_KEYEVENTKEY_A: number
5638
6203
  declare const bj_MOUSEEVENTTYPE_DOWN: number
5639
6204
  declare const bj_MOUSEEVENTTYPE_UP: number
5640
6205
  declare const bj_MOUSEEVENTTYPE_MOVE: number
@@ -5859,6 +6424,9 @@ declare let bj_delayedSuspendDecayTimer: jtimer
5859
6424
  declare let bj_delayedSuspendDecayTrig: jtrigger
5860
6425
  declare let bj_livingPlayerUnitsTypeId: number
5861
6426
  declare let bj_lastDyingWidget: jwidget
6427
+ declare let bj_HeroGlowAllUnitsFlag: boolean
6428
+ declare let bj_enableAurasAllUnits: boolean
6429
+ declare let bj_affectsUIAurasAllUnits: boolean
5862
6430
  declare let bj_randDistCount: number
5863
6431
  declare let bj_randDistID: number[]
5864
6432
  declare let bj_randDistChance: number[]
@@ -5893,6 +6461,8 @@ declare let bj_lastCreatedImage: jimage
5893
6461
  declare let bj_lastCreatedUbersplat: jubersplat
5894
6462
  declare let bj_lastCreatedMinimapIcon: jminimapicon
5895
6463
  declare let bj_lastCreatedCommandButtonEffect: jcommandbuttoneffect
6464
+ declare let bj_lastEquippedItem: jitem
6465
+ declare let bj_lastUnequippedItem: jitem
5896
6466
  declare let filterIssueHauntOrderAtLocBJ: jboolexpr
5897
6467
  declare let filterEnumDestructablesInCircleBJ: jboolexpr
5898
6468
  declare let filterGetUnitsInRectOfPlayer: jboolexpr
@@ -5901,8 +6471,13 @@ declare let filterGetUnitsOfPlayerAndTypeId: jboolexpr
5901
6471
  declare let filterMeleeTrainedUnitIsHeroBJ: jboolexpr
5902
6472
  declare let filterLivingPlayerUnitsOfTypeId: jboolexpr
5903
6473
  declare let bj_wantDestroyGroup: boolean
6474
+ declare let bj_destroyEffectAsyncEffect: jeffect
6475
+ declare let bj_destroyEffectAsyncTime: number
5904
6476
  declare let bj_lastInstObjFuncSuccessful: boolean
5905
6477
  declare function BJDebugMsg(msg: string): void
6478
+ declare function SetWantDestroyGroupBJ(): void
6479
+ declare function ClearWantDestroyGroupBJ(): void
6480
+ declare function GetWantDestroyGroupBJ(): boolean
5906
6481
  declare function RMinBJ(a: number, b: number): number
5907
6482
  declare function RMaxBJ(a: number, b: number): number
5908
6483
  declare function RAbsBJ(a: number): number
@@ -5992,6 +6567,11 @@ declare function SetCameraFieldForPlayer(
5992
6567
  value: number,
5993
6568
  duration: number,
5994
6569
  ): void
6570
+ declare function SetCameraFieldControlledByInputForPlayer(
6571
+ whichPlayer: jplayer,
6572
+ whichField: jcamerafield,
6573
+ controlled: boolean,
6574
+ ): void
5995
6575
  declare function SetCameraTargetControllerNoZForPlayer(
5996
6576
  whichPlayer: jplayer,
5997
6577
  whichUnit: junit,
@@ -6105,6 +6685,9 @@ declare function TriggerRegisterPlayerMouseEventBJ(
6105
6685
  whichPlayer: jplayer,
6106
6686
  meType: number,
6107
6687
  ): jevent
6688
+ declare function IsMouseButtonPressedBJ(mouseButtonType: jmousebuttontype): boolean
6689
+ declare function IsMetaKeyPressedBJ(metakey: number): boolean
6690
+ declare function IsKeyPressedBJ(key: joskeytype): boolean
6108
6691
  declare function TriggerRegisterPlayerEventVictory(trig: jtrigger, whichPlayer: jplayer): jevent
6109
6692
  declare function TriggerRegisterPlayerEventDefeat(trig: jtrigger, whichPlayer: jplayer): jevent
6110
6693
  declare function TriggerRegisterPlayerEventLeave(trig: jtrigger, whichPlayer: jplayer): jevent
@@ -6236,6 +6819,31 @@ declare function SetWaterBaseColorBJ(
6236
6819
  blue: number,
6237
6820
  transparency: number,
6238
6821
  ): void
6822
+ declare function SetHDWaterParamsExBJ(
6823
+ red: number,
6824
+ green: number,
6825
+ blue: number,
6826
+ override: boolean,
6827
+ vertexDisplacement: number,
6828
+ minOpacity: number,
6829
+ maxOpacity: number,
6830
+ reflectivity: number,
6831
+ emissivity: number,
6832
+ edgeSoftness: number,
6833
+ waveStrength: number,
6834
+ envMapStrength: number,
6835
+ ): void
6836
+ declare function BlzSetHDWaterColorBJ(red: number, green: number, blue: number): void
6837
+ declare function BlzSetHDWaterColorOverrideBJ(): void
6838
+ declare function BlzClearHDWaterColorOverrideBJ(): void
6839
+ declare function BlzSetHDWaterVertexDisplacementBJ(vertexDisplacement: number): void
6840
+ declare function BlzSetHDWaterMinOpacityBJ(minOpacity: number): void
6841
+ declare function BlzSetHDWaterMaxOpacityBJ(maxOpacity: number): void
6842
+ declare function BlzSetHDWaterReflectivityBJ(reflectivity: number): void
6843
+ declare function BlzSetHDWaterEmissivityBJ(emissivity: number): void
6844
+ declare function BlzSetHDWaterEdgeSoftnessBJ(edgeSoftness: number): void
6845
+ declare function BlzSetHDWaterWaveStrengthBJ(waveStrength: number): void
6846
+ declare function BlzSetHDWaterEnvMapStrengthBJ(envMapStrengthy: number): void
6239
6847
  declare function CreateFogModifierRectSimple(
6240
6848
  whichPlayer: jplayer,
6241
6849
  whichFogState: jfogstate,
@@ -6277,6 +6885,30 @@ declare function SetTerrainFogExBJ(
6277
6885
  green: number,
6278
6886
  blue: number,
6279
6887
  ): void
6888
+ declare function SetTerrainFogExVBJ(
6889
+ style: number,
6890
+ zstart: number,
6891
+ zend: number,
6892
+ density: number,
6893
+ heightStart: number,
6894
+ heightEnd: number,
6895
+ linearStart: number,
6896
+ linearEnd: number,
6897
+ red: number,
6898
+ green: number,
6899
+ blue: number,
6900
+ ): void
6901
+ declare function BlzSetTerrainFogStyleBJ(style: jfogstyle): void
6902
+ declare function BlzSetTerrainFogZStartBJ(zStart: number): void
6903
+ declare function BlzSetTerrainFogZEndBJ(zEnd: number): void
6904
+ declare function BlzSetTerrainFogDensityBJ(density: number): void
6905
+ declare function BlzSetTerrainFogHeightStartBJ(heightStart: number): void
6906
+ declare function BlzSetTerrainFogHeightEndBJ(heightEnd: number): void
6907
+ declare function BlzSetTerrainFogLinearStartBJ(linearStart: number): void
6908
+ declare function BlzSetTerrainFogLinearEndBJ(linearEnd: number): void
6909
+ declare function BlzSetTerrainFogMaxLinearDensityBJ(maxLinearDensity: number): void
6910
+ declare function BlzSetTerrainFogDrawOverSkyBJ(drawOverSky: boolean): void
6911
+ declare function BlzSetTerrainFogColorBJ(red: number, green: number, blue: number): void
6280
6912
  declare function ResetTerrainFogBJ(): void
6281
6913
  declare function SetDoodadAnimationBJ(
6282
6914
  animName: string,
@@ -6285,11 +6917,27 @@ declare function SetDoodadAnimationBJ(
6285
6917
  center: jlocation,
6286
6918
  ): void
6287
6919
  declare function SetDoodadAnimationRectBJ(animName: string, doodadID: number, r: jrect): void
6920
+ declare function BlzSetSingleDoodadAnimationBJ(animName: string, index: number): void
6288
6921
  declare function AddUnitAnimationPropertiesBJ(
6289
6922
  add: boolean,
6290
6923
  animProperties: string,
6291
6924
  whichUnit: junit,
6292
6925
  ): void
6926
+ declare function SetDoodadColorBJ(
6927
+ color: jplayercolor,
6928
+ doodadID: number,
6929
+ radius: number,
6930
+ center: jlocation,
6931
+ ): void
6932
+ declare function SetDoodadColorRectBJ(color: jplayercolor, doodadID: number, r: jrect): void
6933
+ declare function BlzSetSingleDoodadColorBJ(color: jplayercolor, index: number): void
6934
+ declare function AllowHeroGlowOnUnitBJ(whichUnit: junit): void
6935
+ declare function DisallowHeroGlowOnUnitBJ(whichUnit: junit): void
6936
+ declare function ToggleHeroGlowOnAllUnitsBJEnum(): void
6937
+ declare function ToggleHeroGlowOnAllUnitsBJ(allow: boolean): void
6938
+ declare function AllowHeroGlowOnAllUnitsBJ(): void
6939
+ declare function DisallowHeroGlowOnAllUnitsBJ(): void
6940
+ declare function HeroGlowIsAllowedOnUnitBJ(whichUnit: junit): boolean
6293
6941
  declare function CreateImageBJ(
6294
6942
  file: string,
6295
6943
  size: number,
@@ -6392,6 +7040,7 @@ declare function EndThematicMusicBJ(): void
6392
7040
  declare function StopMusicBJ(fadeOut: boolean): void
6393
7041
  declare function ResumeMusicBJ(): void
6394
7042
  declare function SetMusicVolumeBJ(volumePercent: number): void
7043
+ declare function SetThematicMusicVolumeBJ(volumePercent: number): void
6395
7044
  declare function GetSoundDurationBJ(soundHandle: jsound): number
6396
7045
  declare function GetSoundFileDurationBJ(musicFileName: string): number
6397
7046
  declare function GetLastPlayedSound(): jsound
@@ -6427,6 +7076,8 @@ declare function AddSpecialEffectTargetUnitBJ(
6427
7076
  ): jeffect
6428
7077
  declare function DestroyEffectBJ(whichEffect: jeffect): void
6429
7078
  declare function GetLastCreatedEffectBJ(): jeffect
7079
+ declare function DestroyEffectAsyncBJ(): void
7080
+ declare function DestroyEffectAfterTimeBJ(whichEffect: jeffect, time: number): void
6430
7081
  declare function CreateCommandButtonEffectBJ(abilityId: number, order: string): jcommandbuttoneffect
6431
7082
  declare function CreateTrainCommandButtonEffectBJ(unitId: number): jcommandbuttoneffect
6432
7083
  declare function CreateUpgradeCommandButtonEffectBJ(techId: number): jcommandbuttoneffect
@@ -6452,10 +7103,16 @@ declare function UnitRemoveBuffBJ(buffcode: number, whichUnit: junit): boolean
6452
7103
  declare function UnitAddItemSwapped(whichItem: jitem, whichHero: junit): boolean
6453
7104
  declare function UnitAddItemByIdSwapped(itemId: number, whichHero: junit): jitem
6454
7105
  declare function UnitRemoveItemSwapped(whichItem: jitem, whichHero: junit): void
7106
+ declare function UnitEquipItemSwapped(whichItem: jitem, whichHero: junit): boolean
7107
+ declare function UnitEquipItemByIdSwapped(itemId: number, whichHero: junit): jitem
6455
7108
  declare function UnitRemoveItemFromSlotSwapped(itemSlot: number, whichHero: junit): jitem
7109
+ declare function UnitUnequipItemSwapped(whichHero: junit, whichItem: jitem): void
7110
+ declare function UnitUnequipItemFromSlotSwapped(whichHero: junit, slot: jloadoutslot): jitem
6456
7111
  declare function CreateItemLoc(itemId: number, loc: jlocation): jitem
6457
7112
  declare function GetLastCreatedItem(): jitem
6458
7113
  declare function GetLastRemovedItem(): jitem
7114
+ declare function GetLastEquippedItem(): jitem
7115
+ declare function GetLastUnequippedItem(): jitem
6459
7116
  declare function SetItemPositionLoc(whichItem: jitem, loc: jlocation): void
6460
7117
  declare function GetLearnedSkillBJ(): number
6461
7118
  declare function SuspendHeroXPBJ(flag: boolean, whichHero: junit): void
@@ -6496,11 +7153,38 @@ declare function UnitUseItemDestructable(
6496
7153
  ): boolean
6497
7154
  declare function UnitUseItemPointLoc(whichUnit: junit, whichItem: jitem, loc: jlocation): boolean
6498
7155
  declare function UnitItemInSlotBJ(whichUnit: junit, itemSlot: number): jitem
7156
+ declare function UnitItemInBagSlotBJ(whichUnit: junit, itemSlot: number): jitem
7157
+ declare function UnitItemInEquipmentSlotBJ(whichUnit: junit, slot: jloadoutslot): jitem
6499
7158
  declare function GetInventoryIndexOfItemTypeBJ(whichUnit: junit, itemId: number): number
6500
7159
  declare function GetItemOfTypeFromUnitBJ(whichUnit: junit, itemId: number): jitem
6501
7160
  declare function UnitHasItemOfTypeBJ(whichUnit: junit, itemId: number): boolean
7161
+ declare function GetInventoryBagIndexOfItemTypeBJ(whichUnit: junit, itemId: number): number
7162
+ declare function GetItemOfTypeFromUnitBagBJ(whichUnit: junit, itemId: number): jitem
7163
+ declare function UnitHasItemOfTypeBaggedBJ(whichUnit: junit, itemId: number): boolean
7164
+ declare function GetInventoryBagIndexOfEquipmentTypeBJ(
7165
+ whichUnit: junit,
7166
+ whichEquipmentType: jequipmentType,
7167
+ ): number
7168
+ declare function GetItemOfEquipmentTypeFromUnitBagBJ(
7169
+ whichUnit: junit,
7170
+ whichEquipmentType: jequipmentType,
7171
+ ): jitem
7172
+ declare function GetEquipmentInventoryIndexOfItemTypeBJ(whichUnit: junit, itemId: number): number
7173
+ declare function GetEquipmentInventoryIndexOfEquipmentTypeBJ(
7174
+ whichUnit: junit,
7175
+ whichEquipmentType: jequipmentType,
7176
+ ): number
7177
+ declare function GetItemEquippedByHeroOfTypeBJ(whichUnit: junit, itemId: number): jitem
7178
+ declare function GetItemEquippedByHeroOfEquipmentTypeBJ(
7179
+ whichUnit: junit,
7180
+ whichEquipmentType: jequipmentType,
7181
+ ): jitem
7182
+ declare function UnitHasItemOfTypeEquippedBJ(whichUnit: junit, itemId: number): boolean
6502
7183
  declare function UnitInventoryCount(whichUnit: junit): number
6503
7184
  declare function UnitInventorySizeBJ(whichUnit: junit): number
7185
+ declare function UnitExtendedInventoryCount(whichUnit: junit): number
7186
+ declare function UnitExtendedInventorySizeBJ(whichUnit: junit): number
7187
+ declare function UnitEquipmentCount(whichUnit: junit): number
6504
7188
  declare function SetItemInvulnerableBJ(whichItem: jitem, flag: boolean): void
6505
7189
  declare function SetItemDropOnDeathBJ(whichItem: jitem, flag: boolean): void
6506
7190
  declare function SetItemDroppableBJ(whichItem: jitem, flag: boolean): void
@@ -6509,6 +7193,12 @@ declare function SetItemVisibleBJ(show: boolean, whichItem: jitem): void
6509
7193
  declare function IsItemHiddenBJ(whichItem: jitem): boolean
6510
7194
  declare function ChooseRandomItemBJ(level: number): number
6511
7195
  declare function ChooseRandomItemExBJ(level: number, whichType: jitemtype): number
7196
+ declare function ChooseRandomItemExWithFilterBJ(
7197
+ level: number,
7198
+ whichType: jitemtype,
7199
+ whichEquipmentType: jequipmentType,
7200
+ whichTag: jitemTag,
7201
+ ): number
6512
7202
  declare function ChooseRandomNPBuildingBJ(): number
6513
7203
  declare function ChooseRandomCreepBJ(level: number): number
6514
7204
  declare function EnumItemsInRectBJ(r: jrect, actionFunc?: () => void): void
@@ -6622,6 +7312,8 @@ declare function PauseAllUnitsBJEnum(): void
6622
7312
  declare function PauseAllUnitsBJ(pause: boolean): void
6623
7313
  declare function PauseUnitBJ(pause: boolean, whichUnit: junit): void
6624
7314
  declare function IsUnitPausedBJ(whichUnit: junit): boolean
7315
+ declare function BlzAllUnitsEnableAurasBJEnum(): void
7316
+ declare function BlzAllUnitsEnableAurasBJ(enable: boolean, affectsUI: boolean): void
6625
7317
  declare function UnitPauseTimedLifeBJ(flag: boolean, whichUnit: junit): void
6626
7318
  declare function UnitApplyTimedLifeBJ(duration: number, buffId: number, whichUnit: junit): void
6627
7319
  declare function UnitShareVisionBJ(share: boolean, whichUnit: junit, whichPlayer: jplayer): void
@@ -6847,6 +7539,13 @@ declare function SetUnitFacingToFaceUnitTimed(
6847
7539
  duration: number,
6848
7540
  ): void
6849
7541
  declare function QueueUnitAnimationBJ(whichUnit: junit, whichAnimation: string): void
7542
+ declare function SetDestructableVertexColorBJ(
7543
+ whichDestructable: jdestructable,
7544
+ red: number,
7545
+ green: number,
7546
+ blue: number,
7547
+ transparency: number,
7548
+ ): void
6850
7549
  declare function SetDestructableAnimationBJ(d: jdestructable, whichAnimation: string): void
6851
7550
  declare function QueueDestructableAnimationBJ(d: jdestructable, whichAnimation: string): void
6852
7551
  declare function SetDestAnimationSpeedPercent(d: jdestructable, percentScale: number): void
@@ -7275,6 +7974,7 @@ declare function TransmissionFromUnitTypeWithNameBJ(
7275
7974
  wait: boolean,
7276
7975
  ): void
7277
7976
  declare function GetLastTransmissionDurationBJ(): number
7977
+ declare function SetCameraBlockerForPlayerBJ(r: jrect, flag: boolean, whichPlayer: jplayer): void
7278
7978
  declare function ForceCinematicSubtitlesBJ(flag: boolean): void
7279
7979
  declare function CinematicModeExBJ(
7280
7980
  cineMode: boolean,
@@ -8250,3 +8950,4 @@ declare function BlzSetUnitWeaponStringFieldBJ(
8250
8950
  index: number,
8251
8951
  value: string,
8252
8952
  ): void
8953
+ declare function BlzEnableAuras(whichUnit: junit, enable: boolean): void