warscript 0.0.1-dev.404878c

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 (493) hide show
  1. package/LICENSE +23 -0
  2. package/binaryreader.d.ts +20 -0
  3. package/binaryreader.lua +50 -0
  4. package/binarywriter.d.ts +21 -0
  5. package/binarywriter.lua +90 -0
  6. package/core/dummy.d.ts +22 -0
  7. package/core/dummy.lua +133 -0
  8. package/core/game.d.ts +3 -0
  9. package/core/game.lua +24 -0
  10. package/core/mapbounds.d.ts +8 -0
  11. package/core/mapbounds.lua +12 -0
  12. package/core/thread.d.ts +8 -0
  13. package/core/thread.lua +40 -0
  14. package/core/types/ability.d.ts +4 -0
  15. package/core/types/ability.lua +10 -0
  16. package/core/types/async.d.ts +3 -0
  17. package/core/types/async.lua +2 -0
  18. package/core/types/camera.d.ts +4 -0
  19. package/core/types/camera.lua +21 -0
  20. package/core/types/cameraField.d.ts +15 -0
  21. package/core/types/cameraField.lua +38 -0
  22. package/core/types/color.d.ts +16 -0
  23. package/core/types/color.lua +93 -0
  24. package/core/types/destructable.d.ts +31 -0
  25. package/core/types/destructable.lua +245 -0
  26. package/core/types/effect.d.ts +31 -0
  27. package/core/types/effect.lua +209 -0
  28. package/core/types/frame.d.ts +140 -0
  29. package/core/types/frame.lua +882 -0
  30. package/core/types/game.d.ts +8 -0
  31. package/core/types/game.lua +41 -0
  32. package/core/types/group.d.ts +22 -0
  33. package/core/types/group.lua +94 -0
  34. package/core/types/handle.d.ts +48 -0
  35. package/core/types/handle.lua +169 -0
  36. package/core/types/image.d.ts +30 -0
  37. package/core/types/image.lua +121 -0
  38. package/core/types/internal/ability+cooldownRemaining.d.ts +1 -0
  39. package/core/types/internal/ability+cooldownRemaining.lua +0 -0
  40. package/core/types/item.d.ts +4 -0
  41. package/core/types/item.lua +6 -0
  42. package/core/types/missile.d.ts +22 -0
  43. package/core/types/missile.lua +233 -0
  44. package/core/types/order.d.ts +25 -0
  45. package/core/types/order.lua +55 -0
  46. package/core/types/player.d.ts +71 -0
  47. package/core/types/player.lua +448 -0
  48. package/core/types/playerCamera.d.ts +32 -0
  49. package/core/types/playerCamera.lua +162 -0
  50. package/core/types/playerColor.d.ts +40 -0
  51. package/core/types/playerColor.lua +203 -0
  52. package/core/types/rect.d.ts +39 -0
  53. package/core/types/rect.lua +152 -0
  54. package/core/types/region.d.ts +14 -0
  55. package/core/types/region.lua +84 -0
  56. package/core/types/sound.d.ts +69 -0
  57. package/core/types/sound.lua +247 -0
  58. package/core/types/tileCell.d.ts +13 -0
  59. package/core/types/tileCell.lua +100 -0
  60. package/core/types/timer.d.ts +36 -0
  61. package/core/types/timer.lua +230 -0
  62. package/core/types/timerDialog.d.ts +19 -0
  63. package/core/types/timerDialog.lua +95 -0
  64. package/core/types/unit.d.ts +10 -0
  65. package/core/types/unit.lua +24 -0
  66. package/core/types/widget.d.ts +5 -0
  67. package/core/types/widget.lua +2 -0
  68. package/core/util.d.ts +62 -0
  69. package/core/util.lua +464 -0
  70. package/core/vecmath/common.d.ts +18 -0
  71. package/core/vecmath/common.lua +29 -0
  72. package/core/vecmath/mat2.d.ts +73 -0
  73. package/core/vecmath/mat2.lua +261 -0
  74. package/core/vecmath/vec3.d.ts +47 -0
  75. package/core/vecmath/vec3.lua +350 -0
  76. package/core/vecmath/vec4.d.ts +54 -0
  77. package/core/vecmath/vec4.lua +400 -0
  78. package/crypto/ecc.d.ts +6 -0
  79. package/crypto/ecc.lua +1734 -0
  80. package/decl/index.d.ts +116 -0
  81. package/decl/native.d.ts +8198 -0
  82. package/destroyable.d.ts +20 -0
  83. package/destroyable.lua +31 -0
  84. package/engine/ability.d.ts +5 -0
  85. package/engine/ability.lua +7 -0
  86. package/engine/behavior.d.ts +28 -0
  87. package/engine/behavior.lua +181 -0
  88. package/engine/behaviour/ability/apply-buff.d.ts +38 -0
  89. package/engine/behaviour/ability/apply-buff.lua +126 -0
  90. package/engine/behaviour/ability/apply-unit-behavior.d.ts +12 -0
  91. package/engine/behaviour/ability/apply-unit-behavior.lua +36 -0
  92. package/engine/behaviour/ability/damage.d.ts +25 -0
  93. package/engine/behaviour/ability/damage.lua +75 -0
  94. package/engine/behaviour/ability/heal.d.ts +16 -0
  95. package/engine/behaviour/ability/heal.lua +35 -0
  96. package/engine/behaviour/ability/instant-impact.d.ts +6 -0
  97. package/engine/behaviour/ability/instant-impact.lua +25 -0
  98. package/engine/behaviour/ability.d.ts +40 -0
  99. package/engine/behaviour/ability.lua +175 -0
  100. package/engine/behaviour/unit/stun-immunity.d.ts +19 -0
  101. package/engine/behaviour/unit/stun-immunity.lua +67 -0
  102. package/engine/behaviour/unit.d.ts +20 -0
  103. package/engine/behaviour/unit.lua +75 -0
  104. package/engine/buff.d.ts +221 -0
  105. package/engine/buff.lua +1093 -0
  106. package/engine/constants.d.ts +7 -0
  107. package/engine/constants.lua +8 -0
  108. package/engine/index.d.ts +5 -0
  109. package/engine/index.lua +2 -0
  110. package/engine/internal/ability.d.ts +91 -0
  111. package/engine/internal/ability.lua +531 -0
  112. package/engine/internal/item/ability.d.ts +2 -0
  113. package/engine/internal/item/ability.lua +48 -0
  114. package/engine/internal/item+owner.d.ts +7 -0
  115. package/engine/internal/item+owner.lua +22 -0
  116. package/engine/internal/item.d.ts +86 -0
  117. package/engine/internal/item.lua +580 -0
  118. package/engine/internal/mechanics/ability-duration.d.ts +4 -0
  119. package/engine/internal/mechanics/ability-duration.lua +11 -0
  120. package/engine/internal/mechanics/area-damage.d.ts +2 -0
  121. package/engine/internal/mechanics/area-damage.lua +33 -0
  122. package/engine/internal/misc/dummy-units.d.ts +2 -0
  123. package/engine/internal/misc/dummy-units.lua +14 -0
  124. package/engine/internal/object-data/armor-increase.d.ts +2 -0
  125. package/engine/internal/object-data/armor-increase.lua +19 -0
  126. package/engine/internal/object-data/attribute-bonus.d.ts +2 -0
  127. package/engine/internal/object-data/attribute-bonus.lua +15 -0
  128. package/engine/internal/object-data/auto-attack-damage-increase.d.ts +2 -0
  129. package/engine/internal/object-data/auto-attack-damage-increase.lua +17 -0
  130. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +2 -0
  131. package/engine/internal/object-data/auto-attack-speed-increase.lua +14 -0
  132. package/engine/internal/object-data/dummy-inventory.d.ts +2 -0
  133. package/engine/internal/object-data/dummy-inventory.lua +16 -0
  134. package/engine/internal/object-data/dummy-item.d.ts +2 -0
  135. package/engine/internal/object-data/dummy-item.lua +10 -0
  136. package/engine/internal/object-data/ghost-visible.d.ts +2 -0
  137. package/engine/internal/object-data/ghost-visible.lua +15 -0
  138. package/engine/internal/object-data/invulnerable.d.ts +2 -0
  139. package/engine/internal/object-data/invulnerable.lua +11 -0
  140. package/engine/internal/object-data/movement-speed-increase-factor.d.ts +2 -0
  141. package/engine/internal/object-data/movement-speed-increase-factor.lua +18 -0
  142. package/engine/internal/unit/ability.d.ts +143 -0
  143. package/engine/internal/unit/ability.lua +369 -0
  144. package/engine/internal/unit/allowed-targets.d.ts +17 -0
  145. package/engine/internal/unit/allowed-targets.lua +19 -0
  146. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.d.ts +2 -0
  147. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.lua +21 -0
  148. package/engine/internal/unit/bonus.d.ts +41 -0
  149. package/engine/internal/unit/bonus.lua +188 -0
  150. package/engine/internal/unit/buff.d.ts +38 -0
  151. package/engine/internal/unit/buff.lua +81 -0
  152. package/engine/internal/unit/expiration-timer.d.ts +22 -0
  153. package/engine/internal/unit/expiration-timer.lua +44 -0
  154. package/engine/internal/unit/ghost-counter.d.ts +12 -0
  155. package/engine/internal/unit/ghost-counter.lua +26 -0
  156. package/engine/internal/unit/invulnerability-counter.d.ts +12 -0
  157. package/engine/internal/unit/invulnerability-counter.lua +26 -0
  158. package/engine/internal/unit/missile.d.ts +42 -0
  159. package/engine/internal/unit/missile.lua +70 -0
  160. package/engine/internal/unit/movement-speed.d.ts +18 -0
  161. package/engine/internal/unit/movement-speed.lua +42 -0
  162. package/engine/internal/unit/summon-event.d.ts +12 -0
  163. package/engine/internal/unit/summon-event.lua +50 -0
  164. package/engine/internal/unit+ability.d.ts +9 -0
  165. package/engine/internal/unit+ability.lua +59 -0
  166. package/engine/internal/unit+bonus.d.ts +8 -0
  167. package/engine/internal/unit+bonus.lua +40 -0
  168. package/engine/internal/unit+damage.d.ts +69 -0
  169. package/engine/internal/unit+damage.lua +123 -0
  170. package/engine/internal/unit+rally.d.ts +10 -0
  171. package/engine/internal/unit+rally.lua +159 -0
  172. package/engine/internal/unit+spellSteal.d.ts +7 -0
  173. package/engine/internal/unit+spellSteal.lua +64 -0
  174. package/engine/internal/unit+transport.d.ts +12 -0
  175. package/engine/internal/unit+transport.lua +102 -0
  176. package/engine/internal/unit-missile-data.d.ts +2 -0
  177. package/engine/internal/unit-missile-data.lua +107 -0
  178. package/engine/internal/unit-missile-launch.d.ts +7 -0
  179. package/engine/internal/unit-missile-launch.lua +32 -0
  180. package/engine/internal/unit.d.ts +312 -0
  181. package/engine/internal/unit.lua +2430 -0
  182. package/engine/internal/utility.d.ts +2 -0
  183. package/engine/internal/utility.lua +13 -0
  184. package/engine/lightning.d.ts +51 -0
  185. package/engine/lightning.lua +303 -0
  186. package/engine/local-client.d.ts +16 -0
  187. package/engine/local-client.lua +86 -0
  188. package/engine/object-data/auxiliary/animation-name.d.ts +14 -0
  189. package/engine/object-data/auxiliary/animation-name.lua +2 -0
  190. package/engine/object-data/auxiliary/animation-qualifier.d.ts +53 -0
  191. package/engine/object-data/auxiliary/animation-qualifier.lua +2 -0
  192. package/engine/object-data/auxiliary/armor-sound-type.d.ts +8 -0
  193. package/engine/object-data/auxiliary/armor-sound-type.lua +2 -0
  194. package/engine/object-data/auxiliary/attachment-preset.d.ts +15 -0
  195. package/engine/object-data/auxiliary/attachment-preset.lua +29 -0
  196. package/engine/object-data/auxiliary/attack-type.d.ts +11 -0
  197. package/engine/object-data/auxiliary/attack-type.lua +2 -0
  198. package/engine/object-data/auxiliary/buff-polarity.d.ts +6 -0
  199. package/engine/object-data/auxiliary/buff-polarity.lua +2 -0
  200. package/engine/object-data/auxiliary/buff-resistance-type.d.ts +6 -0
  201. package/engine/object-data/auxiliary/buff-resistance-type.lua +2 -0
  202. package/engine/object-data/auxiliary/combat-classification.d.ts +46 -0
  203. package/engine/object-data/auxiliary/combat-classification.lua +206 -0
  204. package/engine/object-data/auxiliary/detection-type.d.ts +7 -0
  205. package/engine/object-data/auxiliary/detection-type.lua +2 -0
  206. package/engine/object-data/auxiliary/model-node-name.d.ts +12 -0
  207. package/engine/object-data/auxiliary/model-node-name.lua +2 -0
  208. package/engine/object-data/auxiliary/model-node-qualifier.d.ts +21 -0
  209. package/engine/object-data/auxiliary/model-node-qualifier.lua +2 -0
  210. package/engine/object-data/auxiliary/movement-type.d.ts +10 -0
  211. package/engine/object-data/auxiliary/movement-type.lua +2 -0
  212. package/engine/object-data/auxiliary/race.d.ts +14 -0
  213. package/engine/object-data/auxiliary/race.lua +2 -0
  214. package/engine/object-data/auxiliary/sound-preset-name.d.ts +8 -0
  215. package/engine/object-data/auxiliary/sound-preset-name.lua +2 -0
  216. package/engine/object-data/auxiliary/sound-set-name.d.ts +35 -0
  217. package/engine/object-data/auxiliary/sound-set-name.lua +2 -0
  218. package/engine/object-data/auxiliary/targeting-type.d.ts +8 -0
  219. package/engine/object-data/auxiliary/targeting-type.lua +2 -0
  220. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +16 -0
  221. package/engine/object-data/auxiliary/tech-tree-dependency.lua +8 -0
  222. package/engine/object-data/auxiliary/unit-classification.d.ts +19 -0
  223. package/engine/object-data/auxiliary/unit-classification.lua +50 -0
  224. package/engine/object-data/auxiliary/weapon-sound-type.d.ts +17 -0
  225. package/engine/object-data/auxiliary/weapon-sound-type.lua +2 -0
  226. package/engine/object-data/entry/ability-type/armor-increase.d.ts +8 -0
  227. package/engine/object-data/entry/ability-type/armor-increase.lua +26 -0
  228. package/engine/object-data/entry/ability-type/attribute-increase.d.ts +12 -0
  229. package/engine/object-data/entry/ability-type/attribute-increase.lua +52 -0
  230. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.d.ts +8 -0
  231. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.lua +26 -0
  232. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.d.ts +12 -0
  233. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.lua +52 -0
  234. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.d.ts +8 -0
  235. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.lua +26 -0
  236. package/engine/object-data/entry/ability-type/bash.d.ts +16 -0
  237. package/engine/object-data/entry/ability-type/bash.lua +78 -0
  238. package/engine/object-data/entry/ability-type/berserk.d.ts +10 -0
  239. package/engine/object-data/entry/ability-type/berserk.lua +39 -0
  240. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +21 -0
  241. package/engine/object-data/entry/ability-type/blank-configurable.lua +249 -0
  242. package/engine/object-data/entry/ability-type/blank-passive.d.ts +7 -0
  243. package/engine/object-data/entry/ability-type/blank-passive.lua +28 -0
  244. package/engine/object-data/entry/ability-type/blizzard.d.ts +16 -0
  245. package/engine/object-data/entry/ability-type/blizzard.lua +78 -0
  246. package/engine/object-data/entry/ability-type/blood-lust.d.ts +12 -0
  247. package/engine/object-data/entry/ability-type/blood-lust.lua +52 -0
  248. package/engine/object-data/entry/ability-type/chain-lightning.d.ts +12 -0
  249. package/engine/object-data/entry/ability-type/chain-lightning.lua +52 -0
  250. package/engine/object-data/entry/ability-type/channel.d.ts +48 -0
  251. package/engine/object-data/entry/ability-type/channel.lua +140 -0
  252. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.d.ts +14 -0
  253. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.lua +65 -0
  254. package/engine/object-data/entry/ability-type/cleaving-attack.d.ts +8 -0
  255. package/engine/object-data/entry/ability-type/cleaving-attack.lua +26 -0
  256. package/engine/object-data/entry/ability-type/cluster-rockets.d.ts +18 -0
  257. package/engine/object-data/entry/ability-type/cluster-rockets.lua +91 -0
  258. package/engine/object-data/entry/ability-type/cripple.d.ts +12 -0
  259. package/engine/object-data/entry/ability-type/cripple.lua +52 -0
  260. package/engine/object-data/entry/ability-type/critical-strike.d.ts +18 -0
  261. package/engine/object-data/entry/ability-type/critical-strike.lua +91 -0
  262. package/engine/object-data/entry/ability-type/curse.d.ts +8 -0
  263. package/engine/object-data/entry/ability-type/curse.lua +26 -0
  264. package/engine/object-data/entry/ability-type/dark-summoning.d.ts +10 -0
  265. package/engine/object-data/entry/ability-type/dark-summoning.lua +39 -0
  266. package/engine/object-data/entry/ability-type/death-coil.d.ts +8 -0
  267. package/engine/object-data/entry/ability-type/death-coil.lua +26 -0
  268. package/engine/object-data/entry/ability-type/disease-cloud.d.ts +15 -0
  269. package/engine/object-data/entry/ability-type/disease-cloud.lua +65 -0
  270. package/engine/object-data/entry/ability-type/divine-shield.d.ts +5 -0
  271. package/engine/object-data/entry/ability-type/divine-shield.lua +12 -0
  272. package/engine/object-data/entry/ability-type/endurance-aura.d.ts +10 -0
  273. package/engine/object-data/entry/ability-type/endurance-aura.lua +39 -0
  274. package/engine/object-data/entry/ability-type/engineering-upgrade.d.ts +13 -0
  275. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +88 -0
  276. package/engine/object-data/entry/ability-type/evasion.d.ts +8 -0
  277. package/engine/object-data/entry/ability-type/evasion.lua +26 -0
  278. package/engine/object-data/entry/ability-type/faerie-fire.d.ts +10 -0
  279. package/engine/object-data/entry/ability-type/faerie-fire.lua +39 -0
  280. package/engine/object-data/entry/ability-type/far-sight.d.ts +9 -0
  281. package/engine/object-data/entry/ability-type/far-sight.lua +26 -0
  282. package/engine/object-data/entry/ability-type/feral-spirit.d.ts +11 -0
  283. package/engine/object-data/entry/ability-type/feral-spirit.lua +39 -0
  284. package/engine/object-data/entry/ability-type/frenzy.d.ts +12 -0
  285. package/engine/object-data/entry/ability-type/frenzy.lua +52 -0
  286. package/engine/object-data/entry/ability-type/frost-nova.d.ts +12 -0
  287. package/engine/object-data/entry/ability-type/frost-nova.lua +52 -0
  288. package/engine/object-data/entry/ability-type/ghost-visible.d.ts +10 -0
  289. package/engine/object-data/entry/ability-type/ghost-visible.lua +39 -0
  290. package/engine/object-data/entry/ability-type/gold-mine.d.ts +12 -0
  291. package/engine/object-data/entry/ability-type/gold-mine.lua +52 -0
  292. package/engine/object-data/entry/ability-type/heal.d.ts +8 -0
  293. package/engine/object-data/entry/ability-type/heal.lua +26 -0
  294. package/engine/object-data/entry/ability-type/healing-salve.d.ts +22 -0
  295. package/engine/object-data/entry/ability-type/healing-salve.lua +78 -0
  296. package/engine/object-data/entry/ability-type/healing-spray.d.ts +18 -0
  297. package/engine/object-data/entry/ability-type/healing-spray.lua +91 -0
  298. package/engine/object-data/entry/ability-type/healing-wave.d.ts +12 -0
  299. package/engine/object-data/entry/ability-type/healing-wave.lua +52 -0
  300. package/engine/object-data/entry/ability-type/holy-light.d.ts +8 -0
  301. package/engine/object-data/entry/ability-type/holy-light.lua +26 -0
  302. package/engine/object-data/entry/ability-type/incinerate.d.ts +18 -0
  303. package/engine/object-data/entry/ability-type/incinerate.lua +91 -0
  304. package/engine/object-data/entry/ability-type/inner-fire.d.ts +14 -0
  305. package/engine/object-data/entry/ability-type/inner-fire.lua +65 -0
  306. package/engine/object-data/entry/ability-type/inventory.d.ts +16 -0
  307. package/engine/object-data/entry/ability-type/inventory.lua +78 -0
  308. package/engine/object-data/entry/ability-type/invulnerable.d.ts +5 -0
  309. package/engine/object-data/entry/ability-type/invulnerable.lua +12 -0
  310. package/engine/object-data/entry/ability-type/lightning-shield.d.ts +8 -0
  311. package/engine/object-data/entry/ability-type/lightning-shield.lua +26 -0
  312. package/engine/object-data/entry/ability-type/movement-speed-increase.d.ts +8 -0
  313. package/engine/object-data/entry/ability-type/movement-speed-increase.lua +26 -0
  314. package/engine/object-data/entry/ability-type/permanent-immolation.d.ts +8 -0
  315. package/engine/object-data/entry/ability-type/permanent-immolation.lua +26 -0
  316. package/engine/object-data/entry/ability-type/phoenix-morph.d.ts +25 -0
  317. package/engine/object-data/entry/ability-type/phoenix-morph.lua +130 -0
  318. package/engine/object-data/entry/ability-type/recall.d.ts +10 -0
  319. package/engine/object-data/entry/ability-type/recall.lua +39 -0
  320. package/engine/object-data/entry/ability-type/rejuvenation.d.ts +20 -0
  321. package/engine/object-data/entry/ability-type/rejuvenation.lua +65 -0
  322. package/engine/object-data/entry/ability-type/searing-arrows.d.ts +8 -0
  323. package/engine/object-data/entry/ability-type/searing-arrows.lua +26 -0
  324. package/engine/object-data/entry/ability-type/shock-wave.d.ts +10 -0
  325. package/engine/object-data/entry/ability-type/shock-wave.lua +39 -0
  326. package/engine/object-data/entry/ability-type/slow-poison.d.ts +12 -0
  327. package/engine/object-data/entry/ability-type/slow-poison.lua +52 -0
  328. package/engine/object-data/entry/ability-type/slow.d.ts +12 -0
  329. package/engine/object-data/entry/ability-type/slow.lua +52 -0
  330. package/engine/object-data/entry/ability-type/spell-damage-reduction.d.ts +10 -0
  331. package/engine/object-data/entry/ability-type/spell-damage-reduction.lua +39 -0
  332. package/engine/object-data/entry/ability-type/spiked-carapace.d.ts +12 -0
  333. package/engine/object-data/entry/ability-type/spiked-carapace.lua +52 -0
  334. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +14 -0
  335. package/engine/object-data/entry/ability-type/spirit-touch.lua +65 -0
  336. package/engine/object-data/entry/ability-type/storm-bolt.d.ts +8 -0
  337. package/engine/object-data/entry/ability-type/storm-bolt.lua +26 -0
  338. package/engine/object-data/entry/ability-type/summon-quilbeast.d.ts +11 -0
  339. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +39 -0
  340. package/engine/object-data/entry/ability-type/summon-water-elemental.d.ts +11 -0
  341. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +39 -0
  342. package/engine/object-data/entry/ability-type.d.ts +148 -0
  343. package/engine/object-data/entry/ability-type.lua +1058 -0
  344. package/engine/object-data/entry/buff-type/applicable.d.ts +16 -0
  345. package/engine/object-data/entry/buff-type/applicable.lua +377 -0
  346. package/engine/object-data/entry/buff-type/blank.d.ts +8 -0
  347. package/engine/object-data/entry/buff-type/blank.lua +17 -0
  348. package/engine/object-data/entry/buff-type.d.ts +64 -0
  349. package/engine/object-data/entry/buff-type.lua +316 -0
  350. package/engine/object-data/entry/destructible-type.d.ts +21 -0
  351. package/engine/object-data/entry/destructible-type.lua +83 -0
  352. package/engine/object-data/entry/item-type/blank.d.ts +8 -0
  353. package/engine/object-data/entry/item-type/blank.lua +21 -0
  354. package/engine/object-data/entry/item-type.d.ts +49 -0
  355. package/engine/object-data/entry/item-type.lua +259 -0
  356. package/engine/object-data/entry/lightning-type.d.ts +37 -0
  357. package/engine/object-data/entry/lightning-type.lua +191 -0
  358. package/engine/object-data/entry/unit-type/blank.d.ts +6 -0
  359. package/engine/object-data/entry/unit-type/blank.lua +13 -0
  360. package/engine/object-data/entry/unit-type.d.ts +218 -0
  361. package/engine/object-data/entry/unit-type.lua +1306 -0
  362. package/engine/object-data/entry/upgrade/blank.d.ts +8 -0
  363. package/engine/object-data/entry/upgrade/blank.lua +22 -0
  364. package/engine/object-data/entry/upgrade.d.ts +59 -0
  365. package/engine/object-data/entry/upgrade.lua +238 -0
  366. package/engine/object-data/entry.d.ts +80 -0
  367. package/engine/object-data/entry.lua +634 -0
  368. package/engine/object-data/utility/object-data-entry-id-generator.d.ts +6 -0
  369. package/engine/object-data/utility/object-data-entry-id-generator.lua +63 -0
  370. package/engine/object-data/utility/order-type-string-id-factory.d.ts +9 -0
  371. package/engine/object-data/utility/order-type-string-id-factory.lua +368 -0
  372. package/engine/object-field/ability.d.ts +115 -0
  373. package/engine/object-field/ability.lua +471 -0
  374. package/engine/object-field/unit.d.ts +15 -0
  375. package/engine/object-field/unit.lua +49 -0
  376. package/engine/object-field.d.ts +84 -0
  377. package/engine/object-field.lua +444 -0
  378. package/engine/random.d.ts +10 -0
  379. package/engine/random.lua +9 -0
  380. package/engine/standard/entries/ability-type.d.ts +8 -0
  381. package/engine/standard/entries/ability-type.lua +8 -0
  382. package/engine/standard/entries/lightning-type.d.ts +16 -0
  383. package/engine/standard/entries/lightning-type.lua +16 -0
  384. package/engine/standard/entries/unit-type.d.ts +63 -0
  385. package/engine/standard/entries/unit-type.lua +63 -0
  386. package/engine/standard/entries/upgrade.d.ts +92 -0
  387. package/engine/standard/entries/upgrade.lua +92 -0
  388. package/engine/standard/fields/ability.d.ts +737 -0
  389. package/engine/standard/fields/ability.lua +749 -0
  390. package/engine/standard/pathing-textures.d.ts +6 -0
  391. package/engine/standard/pathing-textures.lua +7 -0
  392. package/engine/text-tag.d.ts +25 -0
  393. package/engine/text-tag.lua +109 -0
  394. package/engine/unit.d.ts +20 -0
  395. package/engine/unit.lua +31 -0
  396. package/event.d.ts +53 -0
  397. package/event.lua +269 -0
  398. package/exception.d.ts +17 -0
  399. package/exception.lua +53 -0
  400. package/file.d.ts +4 -0
  401. package/file.lua +42 -0
  402. package/global/math.d.ts +21 -0
  403. package/global/math.lua +72 -0
  404. package/global/vec2.d.ts +66 -0
  405. package/global/vec2.lua +159 -0
  406. package/index.d.ts +8 -0
  407. package/index.lua +9 -0
  408. package/lualib_bundle.lua +2629 -0
  409. package/math/vec2.d.ts +18 -0
  410. package/math/vec2.lua +42 -0
  411. package/math.d.ts +39 -0
  412. package/math.lua +91 -0
  413. package/net/signal.d.ts +11 -0
  414. package/net/signal.lua +56 -0
  415. package/net/socket.d.ts +9 -0
  416. package/net/socket.lua +26 -0
  417. package/network.d.ts +31 -0
  418. package/network.lua +194 -0
  419. package/objutil/ability.d.ts +710 -0
  420. package/objutil/ability.lua +3781 -0
  421. package/objutil/buff.d.ts +110 -0
  422. package/objutil/buff.lua +769 -0
  423. package/objutil/dummy.d.ts +2 -0
  424. package/objutil/dummy.lua +49 -0
  425. package/objutil/idgen.d.ts +9 -0
  426. package/objutil/idgen.lua +92 -0
  427. package/objutil/item.d.ts +38 -0
  428. package/objutil/item.lua +254 -0
  429. package/objutil/object.d.ts +43 -0
  430. package/objutil/object.lua +213 -0
  431. package/objutil/unit.d.ts +134 -0
  432. package/objutil/unit.lua +913 -0
  433. package/objutil/upgrade.d.ts +22 -0
  434. package/objutil/upgrade.lua +127 -0
  435. package/operation.d.ts +35 -0
  436. package/operation.lua +179 -0
  437. package/package.json +47 -0
  438. package/patch-lualib.d.ts +2 -0
  439. package/patch-lualib.lua +67 -0
  440. package/patch-natives.d.ts +11 -0
  441. package/patch-natives.lua +14 -0
  442. package/string.d.ts +106 -0
  443. package/string.lua +34 -0
  444. package/time/dayOfWeek.d.ts +97 -0
  445. package/time/dayOfWeek.lua +53 -0
  446. package/time/localDate.d.ts +145 -0
  447. package/time/localDate.lua +236 -0
  448. package/time/localDateTime.d.ts +133 -0
  449. package/time/localDateTime.lua +154 -0
  450. package/time/localTime.d.ts +87 -0
  451. package/time/localTime.lua +91 -0
  452. package/time/month.d.ts +146 -0
  453. package/time/month.lua +129 -0
  454. package/time/year.d.ts +117 -0
  455. package/time/year.lua +81 -0
  456. package/types.d.ts +13 -0
  457. package/types.lua +0 -0
  458. package/util/objectPool.d.ts +6 -0
  459. package/util/objectPool.lua +28 -0
  460. package/util/stream.d.ts +29 -0
  461. package/util/stream.lua +453 -0
  462. package/util/stringBuilder.d.ts +8 -0
  463. package/util/stringBuilder.lua +25 -0
  464. package/utility/arrays.d.ts +57 -0
  465. package/utility/arrays.lua +369 -0
  466. package/utility/base64.d.ts +23 -0
  467. package/utility/base64.lua +177 -0
  468. package/utility/bit-set.d.ts +18 -0
  469. package/utility/bit-set.lua +12 -0
  470. package/utility/functions.d.ts +5 -0
  471. package/utility/functions.lua +90 -0
  472. package/utility/json.d.ts +2 -0
  473. package/utility/json.lua +400 -0
  474. package/utility/linked-set.d.ts +49 -0
  475. package/utility/linked-set.lua +181 -0
  476. package/utility/lua-maps.d.ts +6 -0
  477. package/utility/lua-maps.lua +25 -0
  478. package/utility/lua-sets.d.ts +6 -0
  479. package/utility/lua-sets.lua +37 -0
  480. package/utility/lzw.d.ts +2 -0
  481. package/utility/lzw.lua +161 -0
  482. package/utility/observable-array.d.ts +17 -0
  483. package/utility/observable-array.lua +30 -0
  484. package/utility/preconditions.d.ts +23 -0
  485. package/utility/preconditions.lua +58 -0
  486. package/utility/records.d.ts +3 -0
  487. package/utility/records.lua +9 -0
  488. package/utility/reflection.d.ts +4 -0
  489. package/utility/reflection.lua +31 -0
  490. package/utility/strings.d.ts +2 -0
  491. package/utility/strings.lua +44 -0
  492. package/utility/types.d.ts +39 -0
  493. package/utility/types.lua +2 -0
@@ -0,0 +1,7 @@
1
+ /** @noSelfInFile */
2
+ import { Unit } from "./unit";
3
+ declare module "./item" {
4
+ interface Item {
5
+ readonly owner?: Unit;
6
+ }
7
+ }
@@ -0,0 +1,22 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
3
+ local ____exports = {}
4
+ local ____item = require("engine.internal.item")
5
+ local Item = ____item.Item
6
+ local ____unit = require("engine.internal.unit")
7
+ local Unit = ____unit.Unit
8
+ local ownerByItem = setmetatable({}, {__mode = "kv"})
9
+ Unit.onItemPickup:addListener(function(unit, item)
10
+ ownerByItem[item] = unit
11
+ end)
12
+ Unit.onItemDrop:addListener(function(unit, item)
13
+ ownerByItem[item] = nil
14
+ end)
15
+ __TS__ObjectDefineProperty(
16
+ Item.prototype,
17
+ "owner",
18
+ {get = function(self)
19
+ return ownerByItem[self]
20
+ end}
21
+ )
22
+ return ____exports
@@ -0,0 +1,86 @@
1
+ /** @noSelfInFile */
2
+ import { Handle, HandleDestructor } from "../../core/types/handle";
3
+ import { Color } from "../../core/types/color";
4
+ import { Event } from "../../event";
5
+ import { ReadonlyRect } from "../../core/types/rect";
6
+ import { ItemAbility } from "./ability";
7
+ import { AbilityTypeId } from "../object-data/entry/ability-type";
8
+ type DefenseType = 0 | 1 | 2 | 3 | 4 | 5;
9
+ export declare const addAndGetAbility: (handle: jitem, abilityTypeId: AbilityTypeId) => jability | null;
10
+ declare const enum ItemPropertyKey {
11
+ ABILITIES = 100,
12
+ LUA_INDEX_BY_ABILITY_TYPE_ID = 101
13
+ }
14
+ export declare class Item extends Handle<jitem> {
15
+ private readonly [ItemPropertyKey.ABILITIES];
16
+ private readonly [ItemPropertyKey.LUA_INDEX_BY_ABILITY_TYPE_ID];
17
+ constructor(handle: jitem);
18
+ protected onDestroy(): HandleDestructor;
19
+ static create<T extends Item>(this: typeof Item & (new (handle: jitem) => T), id: number, x: number, y: number, skinId?: number): T;
20
+ get typeId(): number;
21
+ set skinId(v: number);
22
+ get skinId(): number;
23
+ set name(v: string);
24
+ get name(): string;
25
+ set description(v: string);
26
+ get description(): string;
27
+ set tooltip(v: string);
28
+ get tooltip(): string;
29
+ set extendedTooltip(v: string);
30
+ get extendedTooltip(): string;
31
+ set iconPath(v: string);
32
+ get iconPath(): string;
33
+ set dropOnDeath(v: boolean);
34
+ get dropOnDeath(): boolean;
35
+ set droppable(v: boolean);
36
+ get droppable(): boolean;
37
+ set pawnable(v: boolean);
38
+ get pawnable(): boolean;
39
+ set perishable(v: boolean);
40
+ get perishable(): boolean;
41
+ set powerup(v: boolean);
42
+ get powerup(): boolean;
43
+ get isAlive(): boolean;
44
+ get isDead(): boolean;
45
+ set isInvulnerable(isInvulnerable: boolean);
46
+ get isInvulnerable(): boolean;
47
+ set usable(v: boolean);
48
+ get usable(): boolean;
49
+ set visible(v: boolean);
50
+ get visible(): boolean;
51
+ set level(v: number);
52
+ get level(): number;
53
+ set priority(v: number);
54
+ get priority(): number;
55
+ set health(v: number);
56
+ get health(): number;
57
+ set maxHealth(v: number);
58
+ get maxHealth(): number;
59
+ set defenseType(v: DefenseType);
60
+ get defenseType(): DefenseType;
61
+ set cooldownId(v: number);
62
+ get cooldownId(): number;
63
+ get x(): number;
64
+ set x(v: number);
65
+ get y(): number;
66
+ set y(v: number);
67
+ set scale(v: number);
68
+ get scale(): number;
69
+ set vertexColor(v: Color);
70
+ get vertexColor(): Color;
71
+ get model(): string;
72
+ get position(): Vec2;
73
+ set position(v: Vec2);
74
+ set charges(v: number);
75
+ get charges(): number;
76
+ addAbility(abilityTypeId: AbilityTypeId): ItemAbility | undefined;
77
+ removeAbility(abilityTypeId: AbilityTypeId): boolean;
78
+ hasAbility(abilityTypeId: AbilityTypeId): boolean;
79
+ getAbility(abilityTypeId: AbilityTypeId): ItemAbility | undefined;
80
+ get abilities(): readonly ItemAbility[];
81
+ static getInRange(pos: Vec2, range: number): Item[];
82
+ static getInRect(rect: ReadonlyRect): Item[];
83
+ static get onCreate(): Event<[Item]>;
84
+ static get onDestroy(): Event<[Item]>;
85
+ }
86
+ export {};
@@ -0,0 +1,580 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
6
+ local __TS__Delete = ____lualib.__TS__Delete
7
+ local ____exports = {}
8
+ local ____handle = require("core.types.handle")
9
+ local Handle = ____handle.Handle
10
+ local ____color = require("core.types.color")
11
+ local Color = ____color.Color
12
+ local ____rect = require("core.types.rect")
13
+ local Rect = ____rect.Rect
14
+ local ____ability = require("engine.internal.ability")
15
+ local ItemAbility = ____ability.ItemAbility
16
+ local ____ability = require("engine.internal.item.ability")
17
+ local doAbilityAction = ____ability.doAbilityAction
18
+ local itemAddAbility = BlzItemAddAbility
19
+ local itemRemoveAbility = BlzItemRemoveAbility
20
+ local getItemAbility = BlzGetItemAbility
21
+ local isItemPowerup = IsItemPowerup
22
+ local getItemAbilityByIndex = BlzGetItemAbilityByIndex
23
+ local getAbilityId = BlzGetAbilityId
24
+ local getWidgetLife = GetWidgetLife
25
+ local removeItem = RemoveItem
26
+ local getHandleId = GetHandleId
27
+ local getItemIntegerField = BlzGetItemIntegerField
28
+ local setItemBooleanField = BlzSetItemBooleanField
29
+ local getItemBooleanField = BlzGetItemBooleanField
30
+ local enumRect = Rect:create(0, 0, 0, 0).handle
31
+ ____exports.addAndGetAbility = function(handle, abilityTypeId)
32
+ if itemAddAbility(handle, abilityTypeId) then
33
+ return getItemAbility(handle, abilityTypeId)
34
+ end
35
+ return nil
36
+ end
37
+ local function getItemAbilities(handle, item)
38
+ local abilities = {}
39
+ do
40
+ local i = 0
41
+ local ability = getItemAbilityByIndex(handle, i)
42
+ while ability ~= nil do
43
+ abilities[i + 1] = ItemAbility:of(
44
+ ability,
45
+ getAbilityId(ability),
46
+ item
47
+ )
48
+ do
49
+ i = i + 1
50
+ ability = getItemAbilityByIndex(handle, i)
51
+ end
52
+ end
53
+ end
54
+ return abilities
55
+ end
56
+ ____exports.Item = __TS__Class()
57
+ local Item = ____exports.Item
58
+ Item.name = "Item"
59
+ __TS__ClassExtends(Item, Handle)
60
+ function Item.prototype.____constructor(self, handle)
61
+ Handle.prototype.____constructor(self, handle)
62
+ local abilities = doAbilityAction(handle, getItemAbilities, self)
63
+ self[100] = abilities
64
+ local luaIndexByAbilityTypeId = {}
65
+ for i = 1, #abilities do
66
+ luaIndexByAbilityTypeId[abilities[i].typeId] = i
67
+ end
68
+ self[101] = luaIndexByAbilityTypeId
69
+ end
70
+ function Item.prototype.onDestroy(self)
71
+ local abilities = self[100]
72
+ for i = 1, #abilities do
73
+ abilities[i]:destroy()
74
+ end
75
+ removeItem(self.handle)
76
+ return Handle.prototype.onDestroy(self)
77
+ end
78
+ function Item.create(self, id, x, y, skinId)
79
+ return self:of(BlzCreateItemWithSkin(id, x, y, skinId or id))
80
+ end
81
+ function Item.prototype.addAbility(self, abilityTypeId)
82
+ local nativeAbility = doAbilityAction(self.handle, ____exports.addAndGetAbility, abilityTypeId)
83
+ if nativeAbility ~= nil then
84
+ local ability = ItemAbility:of(nativeAbility, abilityTypeId, self)
85
+ local abilities = self[100]
86
+ local luaIndex = #abilities + 1
87
+ abilities[luaIndex] = ability
88
+ self[101][abilityTypeId] = luaIndex
89
+ return ability
90
+ end
91
+ return nil
92
+ end
93
+ function Item.prototype.removeAbility(self, abilityTypeId)
94
+ local luaIndexByAbilityTypeId = self[101]
95
+ local luaIndex = luaIndexByAbilityTypeId[abilityTypeId]
96
+ if luaIndex ~= nil and doAbilityAction(self.handle, itemRemoveAbility, abilityTypeId) then
97
+ luaIndexByAbilityTypeId[abilityTypeId] = nil
98
+ local abilities = self[100]
99
+ abilities[luaIndex]:destroy()
100
+ local abilityTypeIdsLength = #abilities
101
+ for j = luaIndex, abilityTypeIdsLength do
102
+ abilities[j] = abilities[j + 1]
103
+ end
104
+ end
105
+ return false
106
+ end
107
+ function Item.prototype.hasAbility(self, abilityTypeId)
108
+ return self[101][abilityTypeId] ~= nil
109
+ end
110
+ function Item.prototype.getAbility(self, abilityTypeId)
111
+ local ability = self[101][abilityTypeId] ~= nil and doAbilityAction(self.handle, getItemAbility, abilityTypeId)
112
+ return ability and ItemAbility:of(ability, abilityTypeId, self) or nil
113
+ end
114
+ function Item.getInRange(self, pos, range)
115
+ local collection = {}
116
+ SetRect(
117
+ enumRect,
118
+ pos.x - range,
119
+ pos.y - range,
120
+ pos.x + range,
121
+ pos.y + range
122
+ )
123
+ EnumItemsInRect(
124
+ enumRect,
125
+ nil,
126
+ function()
127
+ collection[#collection + 1] = self:of(GetEnumItem())
128
+ end
129
+ )
130
+ return collection
131
+ end
132
+ function Item.getInRect(self, rect)
133
+ local collection = {}
134
+ EnumItemsInRect(
135
+ rect.handle,
136
+ nil,
137
+ function()
138
+ collection[#collection + 1] = self:of(GetEnumItem())
139
+ end
140
+ )
141
+ return collection
142
+ end
143
+ __TS__SetDescriptor(
144
+ Item.prototype,
145
+ "typeId",
146
+ {get = function(self)
147
+ return GetItemTypeId(self.handle)
148
+ end},
149
+ true
150
+ )
151
+ __TS__SetDescriptor(
152
+ Item.prototype,
153
+ "skinId",
154
+ {
155
+ get = function(self)
156
+ return BlzGetItemSkin(self.handle)
157
+ end,
158
+ set = function(self, v)
159
+ BlzSetItemSkin(self.handle, v)
160
+ end
161
+ },
162
+ true
163
+ )
164
+ __TS__SetDescriptor(
165
+ Item.prototype,
166
+ "name",
167
+ {
168
+ get = function(self)
169
+ return GetItemName(self.handle)
170
+ end,
171
+ set = function(self, v)
172
+ BlzSetItemName(self.handle, v)
173
+ end
174
+ },
175
+ true
176
+ )
177
+ __TS__SetDescriptor(
178
+ Item.prototype,
179
+ "description",
180
+ {
181
+ get = function(self)
182
+ return BlzGetItemDescription(self.handle)
183
+ end,
184
+ set = function(self, v)
185
+ BlzSetItemDescription(self.handle, v)
186
+ end
187
+ },
188
+ true
189
+ )
190
+ __TS__SetDescriptor(
191
+ Item.prototype,
192
+ "tooltip",
193
+ {
194
+ get = function(self)
195
+ return BlzGetItemTooltip(self.handle)
196
+ end,
197
+ set = function(self, v)
198
+ BlzSetItemTooltip(self.handle, v)
199
+ end
200
+ },
201
+ true
202
+ )
203
+ __TS__SetDescriptor(
204
+ Item.prototype,
205
+ "extendedTooltip",
206
+ {
207
+ get = function(self)
208
+ return BlzGetItemExtendedTooltip(self.handle)
209
+ end,
210
+ set = function(self, v)
211
+ BlzSetItemExtendedTooltip(self.handle, v)
212
+ end
213
+ },
214
+ true
215
+ )
216
+ __TS__SetDescriptor(
217
+ Item.prototype,
218
+ "iconPath",
219
+ {
220
+ get = function(self)
221
+ return BlzGetItemIconPath(self.handle)
222
+ end,
223
+ set = function(self, v)
224
+ BlzSetItemIconPath(self.handle, v)
225
+ end
226
+ },
227
+ true
228
+ )
229
+ __TS__SetDescriptor(
230
+ Item.prototype,
231
+ "dropOnDeath",
232
+ {
233
+ get = function(self)
234
+ return BlzGetItemBooleanField(self.handle, ITEM_BF_DROPPED_WHEN_CARRIER_DIES)
235
+ end,
236
+ set = function(self, v)
237
+ SetItemDropOnDeath(self.handle, v)
238
+ end
239
+ },
240
+ true
241
+ )
242
+ __TS__SetDescriptor(
243
+ Item.prototype,
244
+ "droppable",
245
+ {
246
+ get = function(self)
247
+ return BlzGetItemBooleanField(self.handle, ITEM_BF_CAN_BE_DROPPED)
248
+ end,
249
+ set = function(self, v)
250
+ SetItemDroppable(self.handle, v)
251
+ end
252
+ },
253
+ true
254
+ )
255
+ __TS__SetDescriptor(
256
+ Item.prototype,
257
+ "pawnable",
258
+ {
259
+ get = function(self)
260
+ return IsItemPawnable(self.handle)
261
+ end,
262
+ set = function(self, v)
263
+ SetItemPawnable(self.handle, v)
264
+ end
265
+ },
266
+ true
267
+ )
268
+ __TS__SetDescriptor(
269
+ Item.prototype,
270
+ "perishable",
271
+ {
272
+ get = function(self)
273
+ return BlzGetItemBooleanField(self.handle, ITEM_BF_PERISHABLE)
274
+ end,
275
+ set = function(self, v)
276
+ BlzSetItemBooleanField(self.handle, ITEM_BF_PERISHABLE, v)
277
+ end
278
+ },
279
+ true
280
+ )
281
+ __TS__SetDescriptor(
282
+ Item.prototype,
283
+ "powerup",
284
+ {
285
+ get = function(self)
286
+ return isItemPowerup(self.handle)
287
+ end,
288
+ set = function(self, v)
289
+ setItemBooleanField(self.handle, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED, v)
290
+ end
291
+ },
292
+ true
293
+ )
294
+ __TS__SetDescriptor(
295
+ Item.prototype,
296
+ "isAlive",
297
+ {get = function(self)
298
+ return getWidgetLife(self.handle) > 0
299
+ end},
300
+ true
301
+ )
302
+ __TS__SetDescriptor(
303
+ Item.prototype,
304
+ "isDead",
305
+ {get = function(self)
306
+ return getWidgetLife(self.handle) <= 0
307
+ end},
308
+ true
309
+ )
310
+ __TS__SetDescriptor(
311
+ Item.prototype,
312
+ "isInvulnerable",
313
+ {
314
+ get = function(self)
315
+ return IsItemInvulnerable(self.handle)
316
+ end,
317
+ set = function(self, isInvulnerable)
318
+ SetItemInvulnerable(self.handle, isInvulnerable)
319
+ end
320
+ },
321
+ true
322
+ )
323
+ __TS__SetDescriptor(
324
+ Item.prototype,
325
+ "usable",
326
+ {
327
+ get = function(self)
328
+ return getItemBooleanField(self.handle, ITEM_BF_ACTIVELY_USED)
329
+ end,
330
+ set = function(self, v)
331
+ local handle = self.handle
332
+ local powerup = isItemPowerup(handle)
333
+ setItemBooleanField(handle, ITEM_BF_ACTIVELY_USED, v)
334
+ setItemBooleanField(handle, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED, powerup)
335
+ end
336
+ },
337
+ true
338
+ )
339
+ __TS__SetDescriptor(
340
+ Item.prototype,
341
+ "visible",
342
+ {
343
+ get = function(self)
344
+ return IsItemVisible(self.handle)
345
+ end,
346
+ set = function(self, v)
347
+ SetItemVisible(self.handle, v)
348
+ end
349
+ },
350
+ true
351
+ )
352
+ __TS__SetDescriptor(
353
+ Item.prototype,
354
+ "level",
355
+ {
356
+ get = function(self)
357
+ return GetItemLevel(self.handle)
358
+ end,
359
+ set = function(self, v)
360
+ BlzSetItemIntegerField(self.handle, ITEM_IF_LEVEL, v)
361
+ end
362
+ },
363
+ true
364
+ )
365
+ __TS__SetDescriptor(
366
+ Item.prototype,
367
+ "priority",
368
+ {
369
+ get = function(self)
370
+ return BlzGetItemIntegerField(self.handle, ITEM_IF_PRIORITY)
371
+ end,
372
+ set = function(self, v)
373
+ BlzSetItemIntegerField(self.handle, ITEM_IF_PRIORITY, v)
374
+ end
375
+ },
376
+ true
377
+ )
378
+ __TS__SetDescriptor(
379
+ Item.prototype,
380
+ "health",
381
+ {
382
+ get = function(self)
383
+ return GetWidgetLife(self.handle)
384
+ end,
385
+ set = function(self, v)
386
+ SetWidgetLife(self.handle, v)
387
+ end
388
+ },
389
+ true
390
+ )
391
+ __TS__SetDescriptor(
392
+ Item.prototype,
393
+ "maxHealth",
394
+ {
395
+ get = function(self)
396
+ return BlzGetItemIntegerField(self.handle, ITEM_IF_MAX_HIT_POINTS)
397
+ end,
398
+ set = function(self, v)
399
+ BlzSetItemIntegerField(self.handle, ITEM_IF_MAX_HIT_POINTS, v)
400
+ end
401
+ },
402
+ true
403
+ )
404
+ __TS__SetDescriptor(
405
+ Item.prototype,
406
+ "defenseType",
407
+ {
408
+ get = function(self)
409
+ return BlzGetItemIntegerField(self.handle, ITEM_IF_ARMOR_TYPE)
410
+ end,
411
+ set = function(self, v)
412
+ BlzSetItemIntegerField(self.handle, ITEM_IF_ARMOR_TYPE, v)
413
+ end
414
+ },
415
+ true
416
+ )
417
+ __TS__SetDescriptor(
418
+ Item.prototype,
419
+ "cooldownId",
420
+ {
421
+ get = function(self)
422
+ return BlzGetItemIntegerField(self.handle, ITEM_IF_COOLDOWN_GROUP)
423
+ end,
424
+ set = function(self, v)
425
+ BlzSetItemIntegerField(self.handle, ITEM_IF_COOLDOWN_GROUP, v)
426
+ end
427
+ },
428
+ true
429
+ )
430
+ __TS__SetDescriptor(
431
+ Item.prototype,
432
+ "x",
433
+ {
434
+ get = function(self)
435
+ return GetItemX(self.handle)
436
+ end,
437
+ set = function(self, v)
438
+ SetItemPosition(
439
+ self.handle,
440
+ v,
441
+ GetItemY(self.handle)
442
+ )
443
+ end
444
+ },
445
+ true
446
+ )
447
+ __TS__SetDescriptor(
448
+ Item.prototype,
449
+ "y",
450
+ {
451
+ get = function(self)
452
+ return GetItemY(self.handle)
453
+ end,
454
+ set = function(self, v)
455
+ SetItemPosition(
456
+ self.handle,
457
+ GetItemX(self.handle),
458
+ v
459
+ )
460
+ end
461
+ },
462
+ true
463
+ )
464
+ __TS__SetDescriptor(
465
+ Item.prototype,
466
+ "scale",
467
+ {
468
+ get = function(self)
469
+ return BlzGetItemRealField(self.handle, ITEM_RF_SCALING_VALUE)
470
+ end,
471
+ set = function(self, v)
472
+ BlzSetItemRealField(self.handle, ITEM_RF_SCALING_VALUE, v)
473
+ end
474
+ },
475
+ true
476
+ )
477
+ __TS__SetDescriptor(
478
+ Item.prototype,
479
+ "vertexColor",
480
+ {
481
+ get = function(self)
482
+ local handle = self.handle
483
+ return Color:of(
484
+ getItemIntegerField(handle, ITEM_IF_TINTING_COLOR_RED),
485
+ getItemIntegerField(handle, ITEM_IF_TINTING_COLOR_GREEN),
486
+ getItemIntegerField(handle, ITEM_IF_TINTING_COLOR_BLUE),
487
+ getItemIntegerField(handle, ITEM_IF_TINTING_COLOR_ALPHA)
488
+ )
489
+ end,
490
+ set = function(self, v)
491
+ local handle = self.handle
492
+ BlzSetItemIntegerField(handle, ITEM_IF_TINTING_COLOR_RED, v.r)
493
+ BlzSetItemIntegerField(handle, ITEM_IF_TINTING_COLOR_GREEN, v.g)
494
+ BlzSetItemIntegerField(handle, ITEM_IF_TINTING_COLOR_BLUE, v.b)
495
+ BlzSetItemIntegerField(handle, ITEM_IF_TINTING_COLOR_ALPHA, v.a)
496
+ end
497
+ },
498
+ true
499
+ )
500
+ __TS__SetDescriptor(
501
+ Item.prototype,
502
+ "model",
503
+ {get = function(self)
504
+ return BlzGetItemStringField(self.handle, ITEM_SF_MODEL_USED)
505
+ end},
506
+ true
507
+ )
508
+ __TS__SetDescriptor(
509
+ Item.prototype,
510
+ "position",
511
+ {
512
+ get = function(self)
513
+ return vec2(
514
+ GetItemX(self.handle),
515
+ GetItemY(self.handle)
516
+ )
517
+ end,
518
+ set = function(self, v)
519
+ SetItemPosition(self.handle, v.x, v.y)
520
+ end
521
+ },
522
+ true
523
+ )
524
+ __TS__SetDescriptor(
525
+ Item.prototype,
526
+ "charges",
527
+ {
528
+ get = function(self)
529
+ return GetItemCharges(self.handle)
530
+ end,
531
+ set = function(self, v)
532
+ SetItemCharges(self.handle, v)
533
+ end
534
+ },
535
+ true
536
+ )
537
+ __TS__SetDescriptor(
538
+ Item.prototype,
539
+ "abilities",
540
+ {get = function(self)
541
+ return self[100]
542
+ end},
543
+ true
544
+ )
545
+ __TS__ObjectDefineProperty(
546
+ Item,
547
+ "onCreate",
548
+ {get = function(self)
549
+ return self.onCreateEvent
550
+ end}
551
+ )
552
+ __TS__ObjectDefineProperty(
553
+ Item,
554
+ "onDestroy",
555
+ {get = function(self)
556
+ return self.onDestroyEvent
557
+ end}
558
+ )
559
+ local getManipulatedItem = GetManipulatedItem
560
+ local trigger = CreateTrigger()
561
+ TriggerRegisterAnyUnitEventBJ(trigger, EVENT_PLAYER_UNIT_PICKUP_ITEM)
562
+ TriggerAddAction(
563
+ trigger,
564
+ function()
565
+ local item = getManipulatedItem()
566
+ local abilities = ____exports.Item:of(item)[100]
567
+ local memoized = ItemAbility.memoized
568
+ for ____, ability in ipairs(abilities) do
569
+ local newHandle = getItemAbility(item, ability.typeId)
570
+ if newHandle ~= nil then
571
+ local oldId = getHandleId(ability.handle)
572
+ local newId = getHandleId(newHandle)
573
+ __TS__Delete(memoized, oldId)
574
+ memoized[newId] = ability
575
+ ability.handle = newHandle
576
+ end
577
+ end
578
+ end
579
+ )
580
+ return ____exports
@@ -0,0 +1,4 @@
1
+ /** @noSelfInFile */
2
+ import { Ability } from "../ability";
3
+ import { Unit } from "../unit";
4
+ export declare const getAbilityDuration: (ability: Ability, target?: Unit) => number;
@@ -0,0 +1,11 @@
1
+ local ____exports = {}
2
+ local ____unit = require("engine.internal.unit")
3
+ local UnitClassification = ____unit.UnitClassification
4
+ local ____ability = require("engine.standard.fields.ability")
5
+ local DURATION_HERO_ABILITY_FLOAT_LEVEL_FIELD = ____ability.DURATION_HERO_ABILITY_FLOAT_LEVEL_FIELD
6
+ local DURATION_NORMAL_ABILITY_FLOAT_LEVEL_FIELD = ____ability.DURATION_NORMAL_ABILITY_FLOAT_LEVEL_FIELD
7
+ ____exports.getAbilityDuration = function(ability, target)
8
+ local level = ability.level
9
+ return target ~= nil and target:hasClassification(UnitClassification.RESISTANT) and DURATION_HERO_ABILITY_FLOAT_LEVEL_FIELD:getValue(ability, level) or DURATION_NORMAL_ABILITY_FLOAT_LEVEL_FIELD:getValue(ability, level)
10
+ end
11
+ return ____exports
@@ -0,0 +1,2 @@
1
+ /** @noSelfInFile */
2
+ export {};