warscript 0.0.1-dev.2af030d → 0.0.1-dev.2b3f95e

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 (500) hide show
  1. package/attributes.d.ts +6 -1
  2. package/attributes.lua +17 -1
  3. package/binaryreader.d.ts +1 -0
  4. package/binaryreader.lua +3 -0
  5. package/config.d.ts +5 -0
  6. package/config.lua +10 -0
  7. package/core/dummy.lua +4 -2
  8. package/core/types/effect.d.ts +24 -6
  9. package/core/types/effect.lua +169 -107
  10. package/core/types/frame.d.ts +29 -3
  11. package/core/types/frame.lua +222 -52
  12. package/core/types/group.d.ts +0 -1
  13. package/core/types/handle.lua +9 -9
  14. package/core/types/image.d.ts +0 -1
  15. package/core/types/item.d.ts +1 -0
  16. package/core/types/item.lua +1 -0
  17. package/core/types/missile.d.ts +2 -2
  18. package/core/types/missile.lua +14 -13
  19. package/core/types/player.d.ts +18 -1
  20. package/core/types/player.lua +76 -26
  21. package/core/types/playerCamera.d.ts +2 -0
  22. package/core/types/playerCamera.lua +123 -5
  23. package/core/types/playerColor.lua +4 -3
  24. package/core/types/sound.d.ts +18 -25
  25. package/core/types/sound.lua +113 -33
  26. package/core/types/tileCell.d.ts +18 -3
  27. package/core/types/tileCell.lua +108 -0
  28. package/core/types/timer.d.ts +9 -8
  29. package/core/types/timer.lua +45 -23
  30. package/core/types/unit.d.ts +5 -0
  31. package/core/types/unit.lua +13 -0
  32. package/core/util.d.ts +3 -1
  33. package/core/util.lua +127 -4
  34. package/decl/index.d.ts +1 -0
  35. package/decl/native.d.ts +1719 -964
  36. package/destroyable.d.ts +1 -0
  37. package/destroyable.lua +9 -0
  38. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  39. package/engine/ability-type-extended-tooltip.lua +44 -0
  40. package/engine/ability.d.ts +1 -1
  41. package/engine/behavior.d.ts +24 -11
  42. package/engine/behavior.lua +233 -73
  43. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  44. package/engine/behaviour/ability/always-enabled.lua +31 -0
  45. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  46. package/engine/behaviour/ability/apply-buff.lua +36 -4
  47. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  48. package/engine/behaviour/ability/apply-unit-behavior.lua +6 -0
  49. package/engine/behaviour/ability/damage.d.ts +44 -11
  50. package/engine/behaviour/ability/damage.lua +89 -39
  51. package/engine/behaviour/ability/emulate-impact.d.ts +20 -0
  52. package/engine/behaviour/ability/emulate-impact.lua +117 -0
  53. package/engine/behaviour/ability/heal.d.ts +33 -6
  54. package/engine/behaviour/ability/heal.lua +89 -10
  55. package/engine/behaviour/ability/instant-impact.d.ts +14 -3
  56. package/engine/behaviour/ability/instant-impact.lua +20 -16
  57. package/engine/behaviour/ability/on-command-impact.d.ts +9 -0
  58. package/engine/behaviour/ability/on-command-impact.lua +26 -0
  59. package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
  60. package/engine/behaviour/ability/remove-buffs.lua +49 -0
  61. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  62. package/engine/behaviour/ability/restore-mana.lua +29 -0
  63. package/engine/behaviour/ability.d.ts +43 -7
  64. package/engine/behaviour/ability.lua +264 -27
  65. package/engine/behaviour/unit/stun-immunity.d.ts +12 -7
  66. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  67. package/engine/behaviour/unit.d.ts +49 -4
  68. package/engine/behaviour/unit.lua +293 -2
  69. package/engine/buff.d.ts +189 -59
  70. package/engine/buff.lua +852 -281
  71. package/engine/game-map.d.ts +7 -0
  72. package/engine/game-map.lua +32 -0
  73. package/engine/index.d.ts +2 -1
  74. package/engine/internal/ability.d.ts +30 -14
  75. package/engine/internal/ability.lua +177 -104
  76. package/engine/internal/item/ability.lua +162 -4
  77. package/engine/internal/item/fields.d.ts +12 -0
  78. package/engine/internal/item/fields.lua +33 -0
  79. package/engine/internal/item/owner-cache.d.ts +5 -0
  80. package/engine/internal/item/owner-cache.lua +4 -0
  81. package/engine/internal/item+owner.d.ts +2 -0
  82. package/engine/internal/item+owner.lua +37 -8
  83. package/engine/internal/item.d.ts +34 -18
  84. package/engine/internal/item.lua +308 -102
  85. package/engine/internal/mechanics/ability-duration.lua +1 -1
  86. package/engine/internal/mechanics/cast-ability.lua +6 -3
  87. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  88. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  89. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  90. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  91. package/engine/internal/misc/frame-coordinates.lua +21 -0
  92. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  93. package/engine/internal/misc/get-terrain-z.lua +11 -0
  94. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  95. package/engine/internal/misc/player-local-handle.lua +5 -0
  96. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  97. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  98. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  99. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  100. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  101. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  102. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  103. package/engine/internal/object-data/evasion-probability.lua +16 -0
  104. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  105. package/engine/internal/object-data/health-bonus.lua +16 -0
  106. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  107. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  108. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  109. package/engine/internal/object-data/mana-bonus.lua +16 -0
  110. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  111. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  112. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  113. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  114. package/engine/internal/unit/ability.d.ts +45 -1
  115. package/engine/internal/unit/ability.lua +144 -17
  116. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  117. package/engine/internal/unit/add-item-to-slot-init.lua +12 -0
  118. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  119. package/engine/internal/unit/add-item-to-slot.lua +93 -0
  120. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  121. package/engine/internal/unit/allowed-targets.lua +9 -1
  122. package/engine/internal/unit/appearance.d.ts +15 -0
  123. package/engine/internal/unit/appearance.lua +85 -0
  124. package/engine/internal/unit/attributes.d.ts +17 -0
  125. package/engine/internal/unit/attributes.lua +46 -0
  126. package/engine/internal/unit/bonus.d.ts +28 -8
  127. package/engine/internal/unit/bonus.lua +136 -9
  128. package/engine/internal/unit/buff.d.ts +2 -2
  129. package/engine/internal/unit/buff.lua +34 -19
  130. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  131. package/engine/internal/unit/equipment-inventory.lua +233 -0
  132. package/engine/internal/unit/expiration-timer.lua +1 -1
  133. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  134. package/engine/internal/unit/extended-inventory.lua +99 -0
  135. package/engine/internal/unit/fly-height.d.ts +7 -0
  136. package/engine/internal/unit/fly-height.lua +20 -0
  137. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  138. package/engine/internal/unit/ignore-events-items.lua +14 -0
  139. package/engine/internal/unit/interrupts.d.ts +12 -0
  140. package/engine/internal/unit/interrupts.lua +28 -0
  141. package/engine/internal/unit/inventory.d.ts +28 -0
  142. package/engine/internal/unit/inventory.lua +87 -0
  143. package/engine/internal/unit/item-container.d.ts +25 -0
  144. package/engine/internal/unit/item-container.lua +11 -0
  145. package/engine/internal/unit/item-order-events.d.ts +17 -0
  146. package/engine/internal/unit/item-order-events.lua +67 -0
  147. package/engine/internal/unit/item-slot.d.ts +27 -0
  148. package/engine/internal/unit/item-slot.lua +92 -0
  149. package/engine/internal/unit/main-selected.d.ts +13 -0
  150. package/engine/internal/unit/main-selected.lua +36 -0
  151. package/engine/internal/unit/order.d.ts +20 -0
  152. package/engine/internal/unit/order.lua +136 -0
  153. package/engine/internal/unit/range-event.d.ts +12 -0
  154. package/engine/internal/unit/range-event.lua +90 -0
  155. package/engine/internal/unit/scale.d.ts +7 -0
  156. package/engine/internal/unit/scale.lua +20 -0
  157. package/engine/internal/unit/shared-vision-counter.d.ts +18 -0
  158. package/engine/internal/unit/shared-vision-counter.lua +31 -0
  159. package/engine/internal/unit+ability.d.ts +2 -1
  160. package/engine/internal/unit+ability.lua +85 -5
  161. package/engine/internal/unit+bonus.lua +3 -3
  162. package/engine/internal/unit+damage.d.ts +12 -38
  163. package/engine/internal/unit+damage.lua +48 -45
  164. package/engine/internal/unit+rally.lua +9 -31
  165. package/engine/internal/unit+spellSteal.lua +1 -2
  166. package/engine/internal/unit+transport.lua +4 -10
  167. package/engine/internal/unit-missile-data.lua +96 -68
  168. package/engine/internal/unit-missile-launch.lua +74 -13
  169. package/engine/internal/unit.d.ts +67 -35
  170. package/engine/internal/unit.lua +508 -308
  171. package/engine/internal/utility.lua +12 -0
  172. package/engine/lightning.d.ts +12 -5
  173. package/engine/lightning.lua +52 -18
  174. package/engine/local-client.d.ts +35 -2
  175. package/engine/local-client.lua +367 -15
  176. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  177. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  178. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  179. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  180. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -3
  181. package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
  182. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  183. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  184. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  185. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  186. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  187. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  188. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  189. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  190. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  191. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  192. package/engine/object-data/auxiliary/item-class.lua +2 -0
  193. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  194. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  195. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  196. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  197. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  198. package/engine/object-data/auxiliary/order-type.lua +2 -0
  199. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  200. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  201. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  202. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  203. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  204. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  205. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  206. package/engine/object-data/auxiliary/weapon-sound-type.d.ts +20 -14
  207. package/engine/object-data/auxiliary/weapon-sound-type.lua +58 -0
  208. package/engine/object-data/auxiliary/weapon-type.d.ts +25 -0
  209. package/engine/object-data/auxiliary/weapon-type.lua +2 -0
  210. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  211. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  212. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  213. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  214. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  215. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  216. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  217. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  218. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  219. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  220. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  221. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  222. package/engine/object-data/entry/ability-type/barrage.d.ts +12 -0
  223. package/engine/object-data/entry/ability-type/barrage.lua +52 -0
  224. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  225. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  226. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  227. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  228. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  229. package/engine/object-data/entry/ability-type/blank-configurable.lua +14 -3
  230. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  231. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  232. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -1
  233. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  234. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  235. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  236. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  237. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  238. package/engine/object-data/entry/ability-type/channel.d.ts +2 -3
  239. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  240. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  241. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  242. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  243. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  244. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  245. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  246. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  247. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  248. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  249. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  250. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  251. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  252. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  253. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  254. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  255. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  256. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  257. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  258. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  259. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  260. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  261. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  262. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  263. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  264. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  265. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  266. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  267. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  268. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  269. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  270. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  271. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  272. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  273. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  274. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  275. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  276. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  277. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  278. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  279. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  280. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  281. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  282. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  283. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  284. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  285. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  286. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  287. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  288. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  289. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  290. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  291. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  292. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  293. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  294. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  295. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  296. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  297. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  298. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  299. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  300. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  301. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  302. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  303. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  304. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  305. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  306. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  307. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  308. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  309. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  310. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  311. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  312. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  313. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  314. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  315. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  316. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  317. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  318. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  319. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  320. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  321. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  322. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  323. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  324. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  325. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  326. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  327. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  328. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  329. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  330. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  331. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  332. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  333. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  334. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  335. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  336. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  337. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  338. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  339. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  340. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  341. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  342. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  343. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  344. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  345. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  346. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  347. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  348. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  349. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  350. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  351. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  352. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  353. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  354. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  355. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  356. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  357. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  358. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  359. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  360. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  361. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  362. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  363. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  364. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  365. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  366. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  367. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  368. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  369. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  370. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  371. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  372. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  373. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  374. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  375. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  376. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  377. package/engine/object-data/entry/ability-type/web.lua +52 -0
  378. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  379. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  380. package/engine/object-data/entry/ability-type.d.ts +50 -22
  381. package/engine/object-data/entry/ability-type.lua +392 -47
  382. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  383. package/engine/object-data/entry/buff-type/applicable.lua +131 -139
  384. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  385. package/engine/object-data/entry/buff-type.d.ts +10 -13
  386. package/engine/object-data/entry/buff-type.lua +39 -29
  387. package/engine/object-data/entry/destructible-type.d.ts +32 -3
  388. package/engine/object-data/entry/destructible-type.lua +181 -0
  389. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  390. package/engine/object-data/entry/item-type.d.ts +32 -4
  391. package/engine/object-data/entry/item-type.lua +177 -2
  392. package/engine/object-data/entry/lightning-type.d.ts +6 -9
  393. package/engine/object-data/entry/lightning-type.lua +1 -1
  394. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  395. package/engine/object-data/entry/sound-preset.lua +140 -0
  396. package/engine/object-data/entry/unit-type.d.ts +81 -7
  397. package/engine/object-data/entry/unit-type.lua +619 -99
  398. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  399. package/engine/object-data/entry/upgrade.d.ts +2 -3
  400. package/engine/object-data/entry/upgrade.lua +4 -4
  401. package/engine/object-data/entry.d.ts +23 -17
  402. package/engine/object-data/entry.lua +68 -32
  403. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  404. package/engine/object-field/ability.d.ts +28 -5
  405. package/engine/object-field/ability.lua +61 -7
  406. package/engine/object-field/item.d.ts +22 -0
  407. package/engine/object-field/item.lua +118 -0
  408. package/engine/object-field/unit.d.ts +72 -3
  409. package/engine/object-field/unit.lua +268 -7
  410. package/engine/object-field.d.ts +26 -8
  411. package/engine/object-field.lua +362 -117
  412. package/engine/random.d.ts +11 -0
  413. package/engine/random.lua +30 -0
  414. package/engine/standard/entries/ability-type.d.ts +3102 -7
  415. package/engine/standard/entries/ability-type.lua +0 -6
  416. package/engine/standard/entries/buff-type.d.ts +48 -0
  417. package/engine/standard/entries/buff-type.lua +46 -0
  418. package/engine/standard/entries/item-type.d.ts +1299 -0
  419. package/engine/standard/entries/item-type.lua +2 -0
  420. package/engine/standard/entries/lightning-type.d.ts +42 -15
  421. package/engine/standard/entries/lightning-type.lua +0 -14
  422. package/engine/standard/entries/sound-preset.d.ts +10 -0
  423. package/engine/standard/entries/sound-preset.lua +10 -0
  424. package/engine/standard/entries/unit-type.d.ts +23 -0
  425. package/engine/standard/entries/unit-type.lua +23 -0
  426. package/engine/standard/fields/ability.d.ts +7 -5
  427. package/engine/standard/fields/ability.lua +7 -5
  428. package/engine/standard/fields/item.d.ts +4 -0
  429. package/engine/standard/fields/item.lua +6 -0
  430. package/engine/standard/fields/unit.d.ts +12 -0
  431. package/engine/standard/fields/unit.lua +20 -0
  432. package/engine/synchronization.d.ts +11 -0
  433. package/engine/synchronization.lua +77 -0
  434. package/engine/text-tag.d.ts +48 -2
  435. package/engine/text-tag.lua +287 -10
  436. package/engine/unit.d.ts +14 -0
  437. package/engine/unit.lua +23 -2
  438. package/event.d.ts +3 -4
  439. package/event.lua +9 -5
  440. package/index.d.ts +1 -0
  441. package/index.lua +1 -0
  442. package/lualib_bundle.lua +147 -43
  443. package/math/vec2.d.ts +2 -9
  444. package/math.d.ts +2 -2
  445. package/math.lua +14 -0
  446. package/net/socket.d.ts +7 -1
  447. package/net/socket.lua +45 -4
  448. package/network.d.ts +1 -0
  449. package/network.lua +28 -3
  450. package/objutil/ability.d.ts +0 -1
  451. package/objutil/buff.d.ts +0 -1
  452. package/objutil/buff.lua +13 -12
  453. package/objutil/object.d.ts +0 -1
  454. package/objutil/object.lua +1 -1
  455. package/objutil/unit.d.ts +0 -1
  456. package/objutil/unit.lua +8 -0
  457. package/operation.d.ts +8 -1
  458. package/operation.lua +38 -18
  459. package/package.json +3 -23
  460. package/patch-lua.d.ts +0 -0
  461. package/patch-lua.lua +25 -0
  462. package/patch-lualib.lua +1 -1
  463. package/patch-natives.lua +3 -0
  464. package/property.d.ts +55 -0
  465. package/property.lua +374 -0
  466. package/string.d.ts +16 -0
  467. package/string.lua +5 -0
  468. package/util/stream.d.ts +0 -1
  469. package/utility/arrays.d.ts +20 -6
  470. package/utility/arrays.lua +62 -3
  471. package/utility/bit-set.d.ts +0 -2
  472. package/utility/callback-array.d.ts +17 -0
  473. package/utility/callback-array.lua +61 -0
  474. package/utility/functions.d.ts +8 -0
  475. package/utility/functions.lua +13 -0
  476. package/utility/lazy.d.ts +2 -0
  477. package/utility/lazy.lua +14 -0
  478. package/utility/linked-map.d.ts +35 -0
  479. package/utility/linked-map.lua +107 -0
  480. package/utility/linked-set.d.ts +16 -4
  481. package/utility/linked-set.lua +54 -3
  482. package/utility/lua-maps.d.ts +16 -4
  483. package/utility/lua-maps.lua +53 -2
  484. package/utility/lua-sets.d.ts +3 -2
  485. package/utility/lua-sets.lua +7 -0
  486. package/utility/random.d.ts +102 -0
  487. package/utility/random.lua +273 -0
  488. package/utility/records.lua +20 -1
  489. package/utility/reflection.lua +11 -7
  490. package/utility/types.d.ts +4 -0
  491. package/utility/unordered-map.d.ts +27 -0
  492. package/utility/unordered-map.lua +99 -0
  493. package/core/mapbounds.d.ts +0 -8
  494. package/core/mapbounds.lua +0 -12
  495. package/core/types/order.d.ts +0 -25
  496. package/core/types/order.lua +0 -55
  497. /package/engine/internal/{object-data/armor-increase.d.ts → misc/ability-disable-counter.d.ts} +0 -0
  498. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  499. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  500. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -1,9 +1,20 @@
1
1
  local ____lualib = require("lualib_bundle")
2
2
  local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__New = ____lualib.__TS__New
5
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
3
6
  local __TS__ObjectAssign = ____lualib.__TS__ObjectAssign
4
7
  local ____exports = {}
5
8
  local ____color = require("core.types.color")
6
9
  local Color = ____color.Color
10
+ local ____timer = require("core.types.timer")
11
+ local Timer = ____timer.Timer
12
+ local ____destroyable = require("destroyable")
13
+ local AbstractDestroyable = ____destroyable.AbstractDestroyable
14
+ local ____playerCamera = require("core.types.playerCamera")
15
+ local worldCoordinatesToFrame = ____playerCamera.worldCoordinatesToFrame
16
+ local ____player_2Dlocal_2Dhandle = require("engine.internal.misc.player-local-handle")
17
+ local PLAYER_LOCAL_HANDLE = ____player_2Dlocal_2Dhandle.PLAYER_LOCAL_HANDLE
7
18
  local createTextTag = CreateTextTag
8
19
  local destroyTextTag = DestroyTextTag
9
20
  local setTextTagText = SetTextTagText
@@ -17,17 +28,17 @@ local setTextTagPermanent = SetTextTagPermanent
17
28
  local setTextTagAge = SetTextTagAge
18
29
  local setTextTagLifespan = SetTextTagLifespan
19
30
  local setTextTagFadepoint = SetTextTagFadepoint
31
+ local isUnitHidden = IsUnitHidden
32
+ local isUnitLoaded = IsUnitLoaded
33
+ local isUnitVisible = IsUnitVisible
34
+ local getUnitFlyHeight = GetUnitFlyHeight
35
+ local getUnitX = GetUnitX
36
+ local getUnitY = GetUnitY
37
+ local getUnitZ = BlzGetUnitZ
38
+ local unitAlive = UnitAlive
20
39
  local DEFAULT_FONT_SIZE = 0.024
21
- ____exports.TextTag = __TS__Class()
22
- local TextTag = ____exports.TextTag
23
- TextTag.name = "TextTag"
24
- function TextTag.prototype.____constructor(self, handle)
25
- self.handle = handle
26
- end
27
- function TextTag.flash(self, configuration, text, x, y, z)
28
- local textTag = createTextTag()
29
- setTextTagText(textTag, text, DEFAULT_FONT_SIZE)
30
- setTextTagPos(textTag, x + configuration.offsetX, y + configuration.offsetY, (z or 0) + configuration.offsetZ)
40
+ local VISIBILITY_CHECK_INTERVAL = 4
41
+ local function applyConfiguration(textTag, configuration)
31
42
  setTextTagFadepoint(textTag, configuration.fadepoint)
32
43
  setTextTagLifespan(textTag, configuration.lifespan)
33
44
  local color = configuration.color
@@ -42,6 +53,229 @@ function TextTag.flash(self, configuration, text, x, y, z)
42
53
  setTextTagPermanent(textTag, false)
43
54
  setTextTagVisibility(textTag, true)
44
55
  end
56
+ local unitTextTags = setmetatable({}, {__mode = "k"})
57
+ local nextVisibilityCheckPhase = 0
58
+ local function ensureHandle(textTag)
59
+ local handle = textTag[101]
60
+ if handle == nil then
61
+ handle = createTextTag()
62
+ applyConfiguration(handle, textTag[102])
63
+ setTextTagPermanent(handle, true)
64
+ setTextTagText(handle, textTag[103] or "", textTag[104] or DEFAULT_FONT_SIZE)
65
+ local color = textTag[105]
66
+ if color ~= nil then
67
+ setTextTagColor(
68
+ handle,
69
+ color.r,
70
+ color.g,
71
+ color.b,
72
+ color.a
73
+ )
74
+ end
75
+ local unit = textTag[100]
76
+ if unit ~= nil then
77
+ setTextTagPosUnit(handle, unit.handle, textTag[102].offsetZ)
78
+ else
79
+ setTextTagPos(handle, textTag[106] or 0, textTag[107] or 0, 0)
80
+ end
81
+ textTag[101] = handle
82
+ end
83
+ return handle
84
+ end
85
+ ____exports.TextTag = __TS__Class()
86
+ local TextTag = ____exports.TextTag
87
+ TextTag.name = "TextTag"
88
+ __TS__ClassExtends(TextTag, AbstractDestroyable)
89
+ function TextTag.prototype.____constructor(self, handle)
90
+ AbstractDestroyable.prototype.____constructor(self)
91
+ self[101] = handle
92
+ end
93
+ function TextTag.prototype.onDestroy(self)
94
+ local handle = self[101]
95
+ if handle ~= nil then
96
+ destroyTextTag(handle)
97
+ self[101] = nil
98
+ end
99
+ unitTextTags[self] = nil
100
+ return AbstractDestroyable.prototype.onDestroy(self)
101
+ end
102
+ function TextTag.flash(self, configuration, text, x, y, z)
103
+ local textTag = createTextTag()
104
+ setTextTagText(textTag, text, DEFAULT_FONT_SIZE)
105
+ setTextTagPos(textTag, x + configuration.offsetX, y + configuration.offsetY, (z or 0) + configuration.offsetZ)
106
+ applyConfiguration(textTag, configuration)
107
+ end
108
+ function TextTag.create(self, configuration, text, unit)
109
+ local textTag = __TS__New(____exports.TextTag)
110
+ textTag[103] = text
111
+ textTag[100] = unit
112
+ textTag[102] = configuration
113
+ textTag[113] = nextVisibilityCheckPhase
114
+ nextVisibilityCheckPhase = (nextVisibilityCheckPhase + 1) % VISIBILITY_CHECK_INTERVAL
115
+ textTag[112] = true
116
+ unitTextTags[textTag] = true
117
+ return textTag
118
+ end
119
+ __TS__SetDescriptor(
120
+ TextTag.prototype,
121
+ "text",
122
+ {
123
+ get = function(self)
124
+ return self[103] or ""
125
+ end,
126
+ set = function(self, text)
127
+ if text == self[103] then
128
+ return
129
+ end
130
+ self[103] = text
131
+ local handle = self[101]
132
+ if handle ~= nil then
133
+ setTextTagText(handle, text, self[104] or DEFAULT_FONT_SIZE)
134
+ end
135
+ end
136
+ },
137
+ true
138
+ )
139
+ __TS__SetDescriptor(
140
+ TextTag.prototype,
141
+ "fontSize",
142
+ {
143
+ get = function(self)
144
+ return self[104] or DEFAULT_FONT_SIZE
145
+ end,
146
+ set = function(self, fontSize)
147
+ if fontSize == self[104] then
148
+ return
149
+ end
150
+ self[104] = fontSize
151
+ local handle = self[101]
152
+ if handle ~= nil then
153
+ setTextTagText(handle, self[103] or "", fontSize)
154
+ end
155
+ end
156
+ },
157
+ true
158
+ )
159
+ __TS__SetDescriptor(
160
+ TextTag.prototype,
161
+ "color",
162
+ {
163
+ get = function(self)
164
+ return self[105] or Color.white
165
+ end,
166
+ set = function(self, color)
167
+ if color == self[105] then
168
+ return
169
+ end
170
+ self[105] = color
171
+ local handle = self[101]
172
+ if handle ~= nil then
173
+ setTextTagColor(
174
+ handle,
175
+ color.r,
176
+ color.g,
177
+ color.b,
178
+ color.a
179
+ )
180
+ end
181
+ end
182
+ },
183
+ true
184
+ )
185
+ __TS__SetDescriptor(
186
+ TextTag.prototype,
187
+ "unit",
188
+ {
189
+ get = function(self)
190
+ return self[100]
191
+ end,
192
+ set = function(self, unit)
193
+ if unit ~= nil then
194
+ self[106] = nil
195
+ self[107] = nil
196
+ self[108] = nil
197
+ self[109] = nil
198
+ self[111] = nil
199
+ self[112] = true
200
+ local handle = self[101]
201
+ if handle ~= nil then
202
+ setTextTagPosUnit(handle, unit.handle, self[102].offsetZ)
203
+ end
204
+ unitTextTags[self] = true
205
+ elseif self[100] ~= nil then
206
+ local unit = self[100]
207
+ local x = unit.x
208
+ local y = unit.y
209
+ setTextTagPos(
210
+ ensureHandle(self),
211
+ x,
212
+ y,
213
+ 0
214
+ )
215
+ self[106] = x
216
+ self[107] = y
217
+ unitTextTags[self] = nil
218
+ end
219
+ self[100] = unit
220
+ end
221
+ },
222
+ true
223
+ )
224
+ __TS__SetDescriptor(
225
+ TextTag.prototype,
226
+ "x",
227
+ {
228
+ get = function(self)
229
+ local ____self__106_2 = self[106]
230
+ if ____self__106_2 == nil then
231
+ local ____opt_0 = self[100]
232
+ ____self__106_2 = ____opt_0 and ____opt_0.x
233
+ end
234
+ return ____self__106_2 or 0
235
+ end,
236
+ set = function(self, x)
237
+ local ____ensureHandle_result_6 = ensureHandle(self)
238
+ local ____x_7 = x
239
+ local ____self__107_5 = self[107]
240
+ if ____self__107_5 == nil then
241
+ local ____opt_3 = self[100]
242
+ ____self__107_5 = ____opt_3 and ____opt_3.y
243
+ end
244
+ setTextTagPos(____ensureHandle_result_6, ____x_7, ____self__107_5 or 0, 0)
245
+ self[106] = x
246
+ self[100] = nil
247
+ unitTextTags[self] = nil
248
+ end
249
+ },
250
+ true
251
+ )
252
+ __TS__SetDescriptor(
253
+ TextTag.prototype,
254
+ "y",
255
+ {
256
+ get = function(self)
257
+ local ____self__107_10 = self[107]
258
+ if ____self__107_10 == nil then
259
+ local ____opt_8 = self[100]
260
+ ____self__107_10 = ____opt_8 and ____opt_8.y
261
+ end
262
+ return ____self__107_10 or 0
263
+ end,
264
+ set = function(self, y)
265
+ local ____ensureHandle_result_14 = ensureHandle(self)
266
+ local ____self__106_13 = self[106]
267
+ if ____self__106_13 == nil then
268
+ local ____opt_11 = self[100]
269
+ ____self__106_13 = ____opt_11 and ____opt_11.x
270
+ end
271
+ setTextTagPos(____ensureHandle_result_14, ____self__106_13 or 0, y, 0)
272
+ self[107] = y
273
+ self[100] = nil
274
+ unitTextTags[self] = nil
275
+ end
276
+ },
277
+ true
278
+ )
45
279
  TextTag.BASE = {
46
280
  fadepoint = 2,
47
281
  lifespan = 3,
@@ -106,4 +340,47 @@ TextTag.SHADOW_STRIKE = __TS__ObjectAssign(
106
340
  lifespan = 5
107
341
  }
108
342
  )
343
+ local visibilityCheckPhase = 0
344
+ Timer.onPeriod[1 / 64]:addListener(function()
345
+ visibilityCheckPhase = (visibilityCheckPhase + 1) % VISIBILITY_CHECK_INTERVAL
346
+ for textTag in pairs(unitTextTags) do
347
+ local handle = textTag[101]
348
+ local isVisibilityCheckDue = textTag[112] or textTag[113] == visibilityCheckPhase
349
+ if handle ~= nil or isVisibilityCheckDue then
350
+ local unit = textTag[100].handle
351
+ local x = getUnitX(unit)
352
+ local y = getUnitY(unit)
353
+ local flyHeight = getUnitFlyHeight(unit)
354
+ local hasPositionChanged = flyHeight ~= textTag[111]
355
+ if x ~= textTag[108] or y ~= textTag[109] then
356
+ textTag[108] = x
357
+ textTag[109] = y
358
+ textTag[110] = nil
359
+ hasPositionChanged = true
360
+ end
361
+ textTag[111] = flyHeight
362
+ local isShown = handle ~= nil
363
+ if isVisibilityCheckDue then
364
+ textTag[112] = nil
365
+ local z = textTag[110]
366
+ if z == nil then
367
+ z = getUnitZ(unit)
368
+ textTag[110] = z
369
+ end
370
+ local ____, ____, isInView = worldCoordinatesToFrame(x, y, flyHeight + z)
371
+ isShown = isInView and not isUnitHidden(unit) and not isUnitLoaded(unit) and isUnitVisible(unit, PLAYER_LOCAL_HANDLE) and unitAlive(unit)
372
+ end
373
+ if not isShown then
374
+ if handle ~= nil then
375
+ destroyTextTag(handle)
376
+ textTag[101] = nil
377
+ end
378
+ elseif handle == nil then
379
+ ensureHandle(textTag)
380
+ elseif hasPositionChanged then
381
+ setTextTagPosUnit(handle, unit, textTag[102].offsetZ)
382
+ end
383
+ end
384
+ end
385
+ end)
109
386
  return ____exports
package/engine/unit.d.ts CHANGED
@@ -1,9 +1,15 @@
1
1
  /** @noSelfInFile */
2
2
  import "./internal/unit";
3
+ import "./internal/unit/order";
3
4
  import "./internal/unit/ability";
5
+ import "./internal/unit/appearance";
6
+ import "./internal/unit/extended-inventory";
7
+ import "./internal/unit/equipment-inventory";
4
8
  import "./internal/unit/allowed-targets";
5
9
  import "./internal/unit/buff";
6
10
  import "./internal/unit/expiration-timer";
11
+ import "./internal/unit/inventory";
12
+ import "./internal/unit/item-order-events";
7
13
  import "./internal/unit+ability";
8
14
  import "./internal/unit+damage";
9
15
  import "./internal/unit+rally";
@@ -14,7 +20,15 @@ import "./internal/unit/missile";
14
20
  import "./internal/unit-missile-launch";
15
21
  import "./internal/unit/ghost-counter";
16
22
  import "./internal/unit/invulnerability-counter";
23
+ import "./internal/unit/shared-vision-counter";
17
24
  import "./internal/unit/detach-missiles";
25
+ import "./internal/unit/main-selected";
26
+ import "./internal/unit/add-item-to-slot-init";
27
+ import "./internal/unit/attributes";
28
+ import "./internal/unit/fly-height";
29
+ import "./internal/unit/scale";
30
+ import "./internal/unit/interrupts";
31
+ import "./internal/unit/range-event";
18
32
  import "./internal/unit/band-aids/ancestral-spirit-cannibalize";
19
33
  export { Unit, DamagingEvent, DamageEvent } from "./internal/unit";
20
34
  export * from "./internal/unit+damage";
package/engine/unit.lua CHANGED
@@ -1,9 +1,15 @@
1
1
  local ____exports = {}
2
2
  require("engine.internal.unit")
3
+ require("engine.internal.unit.order")
3
4
  require("engine.internal.unit.ability")
5
+ require("engine.internal.unit.appearance")
6
+ require("engine.internal.unit.extended-inventory")
7
+ require("engine.internal.unit.equipment-inventory")
4
8
  require("engine.internal.unit.allowed-targets")
5
9
  require("engine.internal.unit.buff")
6
10
  require("engine.internal.unit.expiration-timer")
11
+ require("engine.internal.unit.inventory")
12
+ require("engine.internal.unit.item-order-events")
7
13
  require("engine.internal.unit+ability")
8
14
  require("engine.internal.unit+damage")
9
15
  require("engine.internal.unit+rally")
@@ -14,12 +20,19 @@ require("engine.internal.unit.missile")
14
20
  require("engine.internal.unit-missile-launch")
15
21
  require("engine.internal.unit.ghost-counter")
16
22
  require("engine.internal.unit.invulnerability-counter")
23
+ require("engine.internal.unit.shared-vision-counter")
17
24
  require("engine.internal.unit.detach-missiles")
25
+ require("engine.internal.unit.main-selected")
26
+ require("engine.internal.unit.add-item-to-slot-init")
27
+ require("engine.internal.unit.attributes")
28
+ require("engine.internal.unit.fly-height")
29
+ require("engine.internal.unit.scale")
30
+ require("engine.internal.unit.interrupts")
31
+ require("engine.internal.unit.range-event")
18
32
  require("engine.internal.unit.band-aids.ancestral-spirit-cannibalize")
19
33
  do
20
34
  local ____unit = require("engine.internal.unit")
21
- local Unit = ____unit.Unit
22
- ____exports.Unit = Unit
35
+ ____exports.Unit = ____unit.Unit
23
36
  end
24
37
  do
25
38
  local ____export = require("engine.internal.unit+damage")
@@ -29,4 +42,12 @@ do
29
42
  end
30
43
  end
31
44
  end
45
+ do
46
+ local ____export = require("engine.internal.unit+rally")
47
+ for ____exportKey, ____exportValue in pairs(____export) do
48
+ if ____exportKey ~= "default" then
49
+ ____exports[____exportKey] = ____exportValue
50
+ end
51
+ end
52
+ end
32
53
  return ____exports
package/event.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- /// <reference types="@typescript-to-lua/language-extensions" />
2
1
  /** @noSelfInFile */
3
- export type EventListener<T extends any[]> = (...args: T) => void;
2
+ export type EventListener<T extends any[]> = (this: void, ...args: T) => void;
4
3
  export declare const enum EventListenerPriority {
5
4
  LOWEST = 0,
6
5
  LOW = 1,
@@ -38,10 +37,10 @@ export type EventDispatchTable<EventType extends Event<any>, KeyType extends num
38
37
  };
39
38
  export type DispatchingEvent<P extends any[], T extends Event<P> = Event<P>, S extends Event<P> = Event<P>> = T & EventDispatchTable<S>;
40
39
  export declare const createDispatchingEvent: {
41
- <T extends Event<any>, S extends Event<EventParameters<T>>>(underlyingEvent: T, extractKey: (...args: EventParameters<T>) => number, ...createEvent: [...(Event<any> extends S ? [(() => S)?] : [() => S])]): DispatchingEvent<EventParameters<T>, T>;
40
+ <T extends Event<any>, S extends Event<EventParameters<T>>>(underlyingEvent: T, extractKey: (this: void, ...args: EventParameters<T>) => number, invokeEvent?: (this: void, event: S, ...args: EventParameters<T>) => unknown, ...createEvent: [...(Event<any> extends S ? [((this: void) => S)?] : [(this: void) => S])]): DispatchingEvent<EventParameters<T>, T, S>;
42
41
  };
43
42
  export declare class DependentInitializingEvent<T extends any[], R extends any[]> extends InitializingEvent<R, EventListener<T>> {
44
- constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false] | [true, ...R]>);
43
+ constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false, ...unknown[]] | [boolean, ...R]>);
45
44
  }
46
45
  export declare class EventParametersCaptor<T extends any[]> {
47
46
  private readonly event;
package/event.lua CHANGED
@@ -146,8 +146,13 @@ function TriggerEvent.prototype.____constructor(self, r, c)
146
146
  end
147
147
  )
148
148
  end
149
- ____exports.createDispatchingEvent = function(underlyingEvent, extractKey, createEvent)
150
- local actualCreateEvent = createEvent or (function() return __TS__New(____exports.Event) end)
149
+ ____exports.createDispatchingEvent = function(underlyingEvent, extractKey, invokeEvent, createEvent)
150
+ if invokeEvent == nil then
151
+ invokeEvent = ____exports.Event.invoke
152
+ end
153
+ if createEvent == nil then
154
+ createEvent = function() return __TS__New(____exports.Event) end
155
+ end
151
156
  local initialized = false
152
157
  return setmetatable(
153
158
  {},
@@ -157,17 +162,16 @@ ____exports.createDispatchingEvent = function(underlyingEvent, extractKey, creat
157
162
  return underlyingEvent[id]
158
163
  end
159
164
  if not initialized then
160
- local invoke = ____exports.Event.invoke
161
165
  underlyingEvent:addListener(function(...)
162
166
  local key = extractKey(...)
163
167
  local event = rawget(self, key)
164
168
  if event then
165
- invoke(event, ...)
169
+ invokeEvent(event, ...)
166
170
  end
167
171
  end)
168
172
  initialized = true
169
173
  end
170
- local event = actualCreateEvent()
174
+ local event = createEvent()
171
175
  rawset(self, id, event)
172
176
  return event
173
177
  end,
package/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /** @noSelfInFile */
2
2
  import "./types";
3
+ import "./patch-lua";
3
4
  import "./patch-lualib";
4
5
  import "./patch-natives";
5
6
  import "./global/math";
package/index.lua CHANGED
@@ -1,5 +1,6 @@
1
1
  local ____exports = {}
2
2
  require("types")
3
+ require("patch-lua")
3
4
  require("patch-lualib")
4
5
  require("patch-natives")
5
6
  require("global.math")