warscript 0.0.1-dev.4f7cd3b → 0.0.1-dev.5005a48

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 (433) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/config.d.ts +5 -0
  4. package/config.lua +10 -0
  5. package/core/dummy.lua +4 -2
  6. package/core/types/effect.d.ts +12 -4
  7. package/core/types/effect.lua +67 -104
  8. package/core/types/frame.d.ts +16 -2
  9. package/core/types/frame.lua +141 -77
  10. package/core/types/handle.lua +9 -9
  11. package/core/types/item.d.ts +1 -0
  12. package/core/types/item.lua +1 -0
  13. package/core/types/player.d.ts +18 -1
  14. package/core/types/player.lua +76 -26
  15. package/core/types/playerCamera.d.ts +2 -0
  16. package/core/types/playerCamera.lua +123 -5
  17. package/core/types/playerColor.lua +4 -3
  18. package/core/types/sound.d.ts +18 -25
  19. package/core/types/sound.lua +113 -33
  20. package/core/types/tileCell.d.ts +18 -3
  21. package/core/types/tileCell.lua +108 -0
  22. package/core/types/timer.d.ts +9 -8
  23. package/core/types/timer.lua +45 -23
  24. package/core/types/unit.d.ts +5 -0
  25. package/core/types/unit.lua +5 -0
  26. package/core/util.d.ts +3 -1
  27. package/core/util.lua +115 -4
  28. package/decl/native.d.ts +1718 -964
  29. package/destroyable.d.ts +1 -0
  30. package/destroyable.lua +9 -0
  31. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  32. package/engine/ability-type-extended-tooltip.lua +44 -0
  33. package/engine/behavior.d.ts +14 -1
  34. package/engine/behavior.lua +230 -70
  35. package/engine/behaviour/ability/apply-buff.d.ts +5 -0
  36. package/engine/behaviour/ability/apply-buff.lua +36 -4
  37. package/engine/behaviour/ability/apply-unit-behavior.lua +6 -0
  38. package/engine/behaviour/ability/damage.d.ts +13 -3
  39. package/engine/behaviour/ability/damage.lua +41 -49
  40. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  41. package/engine/behaviour/ability/emulate-impact.lua +23 -7
  42. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  43. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  44. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  45. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  46. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  47. package/engine/behaviour/ability/restore-mana.lua +6 -6
  48. package/engine/behaviour/ability.d.ts +17 -5
  49. package/engine/behaviour/ability.lua +97 -24
  50. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  51. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  52. package/engine/behaviour/unit.d.ts +41 -2
  53. package/engine/behaviour/unit.lua +270 -6
  54. package/engine/buff.d.ts +121 -59
  55. package/engine/buff.lua +605 -301
  56. package/engine/index.d.ts +2 -1
  57. package/engine/internal/ability.d.ts +14 -1
  58. package/engine/internal/ability.lua +113 -46
  59. package/engine/internal/item/ability.lua +82 -14
  60. package/engine/internal/item/fields.d.ts +12 -0
  61. package/engine/internal/item/fields.lua +33 -0
  62. package/engine/internal/item/owner-cache.d.ts +5 -0
  63. package/engine/internal/item/owner-cache.lua +4 -0
  64. package/engine/internal/item+owner.d.ts +2 -0
  65. package/engine/internal/item+owner.lua +37 -8
  66. package/engine/internal/item.d.ts +34 -18
  67. package/engine/internal/item.lua +308 -102
  68. package/engine/internal/mechanics/ability-duration.lua +1 -1
  69. package/engine/internal/mechanics/cast-ability.lua +6 -3
  70. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  71. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  72. package/engine/internal/misc/frame-coordinates.lua +21 -0
  73. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  74. package/engine/internal/misc/get-terrain-z.lua +11 -0
  75. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  76. package/engine/internal/misc/player-local-handle.lua +5 -0
  77. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  78. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  79. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  80. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  81. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  82. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  83. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  84. package/engine/internal/object-data/evasion-probability.lua +16 -0
  85. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  86. package/engine/internal/object-data/health-bonus.lua +16 -0
  87. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  88. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  89. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  90. package/engine/internal/object-data/mana-bonus.lua +16 -0
  91. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  92. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  93. package/engine/internal/unit/ability.d.ts +35 -0
  94. package/engine/internal/unit/ability.lua +98 -9
  95. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  96. package/engine/internal/unit/add-item-to-slot-init.lua +12 -0
  97. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  98. package/engine/internal/unit/add-item-to-slot.lua +93 -0
  99. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  100. package/engine/internal/unit/allowed-targets.lua +9 -1
  101. package/engine/internal/unit/appearance.d.ts +15 -0
  102. package/engine/internal/unit/appearance.lua +85 -0
  103. package/engine/internal/unit/attributes.d.ts +17 -0
  104. package/engine/internal/unit/attributes.lua +46 -0
  105. package/engine/internal/unit/bonus.d.ts +16 -0
  106. package/engine/internal/unit/bonus.lua +119 -8
  107. package/engine/internal/unit/buff.d.ts +2 -2
  108. package/engine/internal/unit/buff.lua +34 -19
  109. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  110. package/engine/internal/unit/equipment-inventory.lua +233 -0
  111. package/engine/internal/unit/expiration-timer.lua +1 -1
  112. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  113. package/engine/internal/unit/extended-inventory.lua +99 -0
  114. package/engine/internal/unit/fly-height.d.ts +7 -0
  115. package/engine/internal/unit/fly-height.lua +20 -0
  116. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  117. package/engine/internal/unit/ignore-events-items.lua +14 -0
  118. package/engine/internal/unit/interrupts.d.ts +12 -0
  119. package/engine/internal/unit/interrupts.lua +28 -0
  120. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  121. package/engine/internal/unit/inventory.lua +87 -0
  122. package/engine/internal/unit/item-container.d.ts +25 -0
  123. package/engine/internal/unit/item-container.lua +11 -0
  124. package/engine/internal/unit/item-order-events.d.ts +17 -0
  125. package/engine/internal/unit/item-order-events.lua +67 -0
  126. package/engine/internal/unit/item-slot.d.ts +27 -0
  127. package/engine/internal/unit/item-slot.lua +92 -0
  128. package/engine/internal/unit/main-selected.lua +12 -27
  129. package/engine/internal/unit/order.d.ts +20 -0
  130. package/engine/internal/unit/order.lua +136 -0
  131. package/engine/internal/unit/range-event.d.ts +12 -0
  132. package/engine/internal/unit/range-event.lua +90 -0
  133. package/engine/internal/unit/scale.d.ts +7 -0
  134. package/engine/internal/unit/scale.lua +20 -0
  135. package/engine/internal/unit+ability.d.ts +2 -1
  136. package/engine/internal/unit+ability.lua +73 -3
  137. package/engine/internal/unit+bonus.lua +3 -3
  138. package/engine/internal/unit+damage.d.ts +11 -11
  139. package/engine/internal/unit+damage.lua +43 -14
  140. package/engine/internal/unit+rally.lua +9 -31
  141. package/engine/internal/unit+spellSteal.lua +1 -2
  142. package/engine/internal/unit-missile-data.lua +58 -32
  143. package/engine/internal/unit-missile-launch.lua +65 -27
  144. package/engine/internal/unit.d.ts +45 -34
  145. package/engine/internal/unit.lua +411 -323
  146. package/engine/lightning.d.ts +12 -5
  147. package/engine/lightning.lua +48 -14
  148. package/engine/local-client.d.ts +28 -0
  149. package/engine/local-client.lua +324 -54
  150. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  151. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  152. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  153. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  154. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -2
  155. package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
  156. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  157. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  158. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  159. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  160. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  161. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  162. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  163. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  164. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  165. package/engine/object-data/auxiliary/item-class.lua +2 -0
  166. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  167. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  168. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  169. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  170. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  171. package/engine/object-data/auxiliary/order-type.lua +2 -0
  172. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  173. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  174. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  175. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  176. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  177. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  178. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  179. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  180. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  181. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  182. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  183. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  184. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  185. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  186. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  187. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  188. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  189. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  190. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  191. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  192. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  193. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  194. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  195. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  196. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  197. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  198. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  199. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  200. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  201. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  202. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  203. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  204. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  205. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  206. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  207. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  208. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  209. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  210. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  211. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  212. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  213. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  214. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  215. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  216. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  217. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  218. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  219. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  220. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  221. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  222. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  223. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  224. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  225. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  226. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  227. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  228. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  229. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  230. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  231. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  232. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  233. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  234. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  235. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  236. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  237. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  238. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  239. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  240. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  241. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  242. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  243. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  244. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  245. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  246. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  247. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  248. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  249. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  250. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  251. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  252. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  253. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  254. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  255. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  256. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  257. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  258. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  259. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  260. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  261. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  262. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  263. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  264. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  265. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  266. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  267. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  268. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  269. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  270. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  271. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  272. package/engine/object-data/entry/ability-type/passive-with-cooldown.d.ts +23 -0
  273. package/engine/object-data/entry/ability-type/passive-with-cooldown.lua +112 -0
  274. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  275. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  276. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  277. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  278. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  279. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  280. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  281. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  282. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  283. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  284. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  285. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  286. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  287. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  288. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  289. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  290. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  291. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  292. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  293. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  294. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  295. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  296. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  297. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  298. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  299. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  300. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  301. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  302. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  303. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  304. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  305. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  306. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  307. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  308. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  309. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  310. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  311. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  312. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  313. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  314. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  315. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  316. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  317. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  318. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  319. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  320. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  321. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  322. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  323. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  324. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  325. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  326. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  327. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  328. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  329. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  330. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  331. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  332. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  333. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  334. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  335. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  336. package/engine/object-data/entry/ability-type/web.lua +52 -0
  337. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  338. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  339. package/engine/object-data/entry/ability-type.d.ts +41 -20
  340. package/engine/object-data/entry/ability-type.lua +329 -32
  341. package/engine/object-data/entry/buff-type/applicable.lua +122 -137
  342. package/engine/object-data/entry/buff-type.d.ts +10 -12
  343. package/engine/object-data/entry/buff-type.lua +39 -29
  344. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  345. package/engine/object-data/entry/destructible-type.lua +181 -0
  346. package/engine/object-data/entry/item-type.d.ts +18 -3
  347. package/engine/object-data/entry/item-type.lua +88 -4
  348. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  349. package/engine/object-data/entry/lightning-type.lua +1 -1
  350. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  351. package/engine/object-data/entry/sound-preset.lua +140 -0
  352. package/engine/object-data/entry/unit-type.d.ts +71 -6
  353. package/engine/object-data/entry/unit-type.lua +592 -93
  354. package/engine/object-data/entry/upgrade.d.ts +2 -2
  355. package/engine/object-data/entry/upgrade.lua +4 -4
  356. package/engine/object-data/entry.d.ts +21 -14
  357. package/engine/object-data/entry.lua +68 -32
  358. package/engine/object-field/ability.d.ts +5 -4
  359. package/engine/object-field/ability.lua +10 -6
  360. package/engine/object-field/item.d.ts +22 -0
  361. package/engine/object-field/item.lua +118 -0
  362. package/engine/object-field/unit.d.ts +72 -3
  363. package/engine/object-field/unit.lua +268 -7
  364. package/engine/object-field.d.ts +26 -7
  365. package/engine/object-field.lua +362 -117
  366. package/engine/random.d.ts +10 -0
  367. package/engine/random.lua +21 -0
  368. package/engine/standard/entries/ability-type.d.ts +3102 -7
  369. package/engine/standard/entries/ability-type.lua +0 -6
  370. package/engine/standard/entries/buff-type.d.ts +48 -0
  371. package/engine/standard/entries/buff-type.lua +46 -0
  372. package/engine/standard/entries/item-type.d.ts +1299 -0
  373. package/engine/standard/entries/item-type.lua +2 -0
  374. package/engine/standard/entries/lightning-type.d.ts +42 -15
  375. package/engine/standard/entries/lightning-type.lua +0 -14
  376. package/engine/standard/entries/sound-preset.d.ts +10 -0
  377. package/engine/standard/entries/sound-preset.lua +10 -0
  378. package/engine/standard/entries/unit-type.d.ts +5 -0
  379. package/engine/standard/entries/unit-type.lua +5 -0
  380. package/engine/standard/fields/ability.d.ts +2 -2
  381. package/engine/standard/fields/ability.lua +2 -2
  382. package/engine/standard/fields/item.d.ts +4 -0
  383. package/engine/standard/fields/item.lua +6 -0
  384. package/engine/standard/fields/unit.d.ts +12 -0
  385. package/engine/standard/fields/unit.lua +20 -0
  386. package/engine/synchronization.d.ts +11 -0
  387. package/engine/synchronization.lua +77 -0
  388. package/engine/text-tag.d.ts +36 -2
  389. package/engine/text-tag.lua +250 -10
  390. package/engine/unit.d.ts +12 -1
  391. package/engine/unit.lua +12 -1
  392. package/event.d.ts +1 -1
  393. package/lualib_bundle.lua +1 -1
  394. package/math.d.ts +2 -0
  395. package/math.lua +14 -0
  396. package/net/socket.lua +1 -1
  397. package/network.lua +25 -1
  398. package/objutil/buff.lua +12 -11
  399. package/objutil/object.lua +1 -1
  400. package/objutil/unit.lua +8 -0
  401. package/operation.d.ts +8 -1
  402. package/operation.lua +38 -18
  403. package/package.json +3 -23
  404. package/patch-lua.lua +15 -0
  405. package/patch-lualib.lua +1 -1
  406. package/utility/arrays.d.ts +9 -1
  407. package/utility/arrays.lua +28 -0
  408. package/utility/callback-array.d.ts +17 -0
  409. package/utility/callback-array.lua +61 -0
  410. package/utility/functions.d.ts +8 -0
  411. package/utility/functions.lua +13 -0
  412. package/utility/linked-map.d.ts +35 -0
  413. package/utility/linked-map.lua +107 -0
  414. package/utility/linked-set.d.ts +5 -1
  415. package/utility/linked-set.lua +49 -1
  416. package/utility/lua-maps.d.ts +15 -2
  417. package/utility/lua-maps.lua +53 -2
  418. package/utility/lua-sets.d.ts +2 -0
  419. package/utility/lua-sets.lua +7 -0
  420. package/utility/random.d.ts +102 -0
  421. package/utility/random.lua +273 -0
  422. package/utility/records.lua +20 -1
  423. package/utility/reflection.lua +11 -7
  424. package/utility/types.d.ts +3 -0
  425. package/utility/unordered-map.d.ts +27 -0
  426. package/utility/unordered-map.lua +99 -0
  427. package/core/types/order.d.ts +0 -25
  428. package/core/types/order.lua +0 -55
  429. package/engine/internal/unit/item.lua +0 -79
  430. /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
  431. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  432. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  433. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -0,0 +1,12 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class ManaEfficiencyAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ /** Mana Efficiency */
7
+ get manaEfficiency(): number[];
8
+ set manaEfficiency(manaEfficiency: ObjectDataEntryLevelFieldValueSupplier<number>);
9
+ /** Flat Bonus */
10
+ get isFlatBonus(): boolean[];
11
+ set isFlatBonus(isFlatBonus: ObjectDataEntryLevelFieldValueSupplier<boolean>);
12
+ }
@@ -0,0 +1,39 @@
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 ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.ManaEfficiencyAbilityType = __TS__Class()
9
+ local ManaEfficiencyAbilityType = ____exports.ManaEfficiencyAbilityType
10
+ ManaEfficiencyAbilityType.name = "ManaEfficiencyAbilityType"
11
+ __TS__ClassExtends(ManaEfficiencyAbilityType, AbilityType)
12
+ ManaEfficiencyAbilityType.BASE_ID = fourCC("AIme")
13
+ __TS__SetDescriptor(
14
+ ManaEfficiencyAbilityType.prototype,
15
+ "manaEfficiency",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("Ime1")
19
+ end,
20
+ set = function(self, manaEfficiency)
21
+ self:setNumberLevelField("Ime1", manaEfficiency)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ ManaEfficiencyAbilityType.prototype,
28
+ "isFlatBonus",
29
+ {
30
+ get = function(self)
31
+ return self:getBooleanLevelField("Ime2")
32
+ end,
33
+ set = function(self, isFlatBonus)
34
+ self:setBooleanLevelField("Ime2", isFlatBonus)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ return ____exports
@@ -0,0 +1,8 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class ManaRegenerationAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ get manaRegenerationRateIncreaseFactor(): number[];
7
+ set manaRegenerationRateIncreaseFactor(manaRegenerationRateIncreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
8
+ }
@@ -0,0 +1,26 @@
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 ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.ManaRegenerationAbilityType = __TS__Class()
9
+ local ManaRegenerationAbilityType = ____exports.ManaRegenerationAbilityType
10
+ ManaRegenerationAbilityType.name = "ManaRegenerationAbilityType"
11
+ __TS__ClassExtends(ManaRegenerationAbilityType, AbilityType)
12
+ ManaRegenerationAbilityType.BASE_ID = fourCC("AIrn")
13
+ __TS__SetDescriptor(
14
+ ManaRegenerationAbilityType.prototype,
15
+ "manaRegenerationRateIncreaseFactor",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("Imrp")
19
+ end,
20
+ set = function(self, manaRegenerationRateIncreaseFactor)
21
+ self:setNumberLevelField("Imrp", manaRegenerationRateIncreaseFactor)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ return ____exports
@@ -0,0 +1,21 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class MindControlAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ /** Maximum Creep Level */
7
+ get maximumCreepLevel(): number[];
8
+ set maximumCreepLevel(maximumCreepLevel: ObjectDataEntryLevelFieldValueSupplier<number>);
9
+ /** Explosion Damage */
10
+ get explosionDamage(): number[];
11
+ set explosionDamage(explosionDamage: ObjectDataEntryLevelFieldValueSupplier<number>);
12
+ /** Mind Controlled Unit Limit */
13
+ get mindControlledUnitLimit(): number[];
14
+ set mindControlledUnitLimit(mindControlledUnitLimit: ObjectDataEntryLevelFieldValueSupplier<number>);
15
+ /** Explosion Radius */
16
+ get explosionRadius(): number[];
17
+ set explosionRadius(explosionRadius: ObjectDataEntryLevelFieldValueSupplier<number>);
18
+ /** Duration - Normal */
19
+ get duration(): number[];
20
+ set duration(duration: ObjectDataEntryLevelFieldValueSupplier<number>);
21
+ }
@@ -0,0 +1,78 @@
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 ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.MindControlAbilityType = __TS__Class()
9
+ local MindControlAbilityType = ____exports.MindControlAbilityType
10
+ MindControlAbilityType.name = "MindControlAbilityType"
11
+ __TS__ClassExtends(MindControlAbilityType, AbilityType)
12
+ MindControlAbilityType.BASE_ID = fourCC("AHmc")
13
+ __TS__SetDescriptor(
14
+ MindControlAbilityType.prototype,
15
+ "maximumCreepLevel",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("Pos1")
19
+ end,
20
+ set = function(self, maximumCreepLevel)
21
+ self:setNumberLevelField("Pos1", maximumCreepLevel)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ MindControlAbilityType.prototype,
28
+ "explosionDamage",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("hmc2")
32
+ end,
33
+ set = function(self, explosionDamage)
34
+ self:setNumberLevelField("hmc2", explosionDamage)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ __TS__SetDescriptor(
40
+ MindControlAbilityType.prototype,
41
+ "mindControlledUnitLimit",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("hmc3")
45
+ end,
46
+ set = function(self, mindControlledUnitLimit)
47
+ self:setNumberLevelField("hmc3", mindControlledUnitLimit)
48
+ end
49
+ },
50
+ true
51
+ )
52
+ __TS__SetDescriptor(
53
+ MindControlAbilityType.prototype,
54
+ "explosionRadius",
55
+ {
56
+ get = function(self)
57
+ return self:getNumberLevelField("mcrd")
58
+ end,
59
+ set = function(self, explosionRadius)
60
+ self:setNumberLevelField("mcrd", explosionRadius)
61
+ end
62
+ },
63
+ true
64
+ )
65
+ __TS__SetDescriptor(
66
+ MindControlAbilityType.prototype,
67
+ "duration",
68
+ {
69
+ get = function(self)
70
+ return self:getNumberLevelField("mcdr")
71
+ end,
72
+ set = function(self, duration)
73
+ self:setNumberLevelField("mcdr", duration)
74
+ end
75
+ },
76
+ true
77
+ )
78
+ return ____exports
@@ -0,0 +1,21 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare const enum OnAttackCastSpellAbilityTypeTargetType {
5
+ SELF = 0,
6
+ ENEMIES = 1
7
+ }
8
+ /**
9
+ * Common fields of the "on attack, cast spell" proc abilities (Aoas, Asas, Atds).
10
+ */
11
+ export declare abstract class OnAttackCastSpellAbilityType extends AbilityType {
12
+ /** Ability */
13
+ get abilityTypeIds(): AbilityTypeId[][];
14
+ set abilityTypeIds(abilityTypeIds: ObjectDataEntryLevelFieldValueSupplier<AbilityTypeId[]>);
15
+ /** % Hit Chance */
16
+ get hitChancePercentage(): number[];
17
+ set hitChancePercentage(hitChancePercentage: ObjectDataEntryLevelFieldValueSupplier<number>);
18
+ /** Target Type */
19
+ get targetType(): OnAttackCastSpellAbilityTypeTargetType[];
20
+ set targetType(targetType: ObjectDataEntryLevelFieldValueSupplier<OnAttackCastSpellAbilityTypeTargetType>);
21
+ }
@@ -0,0 +1,52 @@
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 ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ --- Common fields of the "on attack, cast spell" proc abilities (Aoas, Asas, Atds).
9
+ ____exports.OnAttackCastSpellAbilityType = __TS__Class()
10
+ local OnAttackCastSpellAbilityType = ____exports.OnAttackCastSpellAbilityType
11
+ OnAttackCastSpellAbilityType.name = "OnAttackCastSpellAbilityType"
12
+ __TS__ClassExtends(OnAttackCastSpellAbilityType, AbilityType)
13
+ __TS__SetDescriptor(
14
+ OnAttackCastSpellAbilityType.prototype,
15
+ "abilityTypeIds",
16
+ {
17
+ get = function(self)
18
+ return self:getObjectDataEntryNumericIdsLevelField("opp1")
19
+ end,
20
+ set = function(self, abilityTypeIds)
21
+ self:setObjectDataEntryNumericIdsLevelField("opp1", abilityTypeIds)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ OnAttackCastSpellAbilityType.prototype,
28
+ "hitChancePercentage",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("opp2")
32
+ end,
33
+ set = function(self, hitChancePercentage)
34
+ self:setNumberLevelField("opp2", hitChancePercentage)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ __TS__SetDescriptor(
40
+ OnAttackCastSpellAbilityType.prototype,
41
+ "targetType",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("opp3")
45
+ end,
46
+ set = function(self, targetType)
47
+ self:setNumberLevelField("opp3", targetType)
48
+ end
49
+ },
50
+ true
51
+ )
52
+ return ____exports
@@ -0,0 +1,19 @@
1
+ /** @noSelfInFile */
2
+ import { OnAttackCastSpellAbilityType } from "./on-attack-cast-spell";
3
+ import { AbilityTypeId } from "../ability-type";
4
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
5
+ export declare class OnBasicAttackCastSpellAbilityType extends OnAttackCastSpellAbilityType {
6
+ static readonly BASE_ID: AbilityTypeId;
7
+ /** % Hit chance on Unit */
8
+ get unitHitChancePercentage(): number[];
9
+ set unitHitChancePercentage(unitHitChancePercentage: ObjectDataEntryLevelFieldValueSupplier<number>);
10
+ /** % Hit chance on Hero */
11
+ get heroHitChancePercentage(): number[];
12
+ set heroHitChancePercentage(heroHitChancePercentage: ObjectDataEntryLevelFieldValueSupplier<number>);
13
+ /** % Hit chance on Summon */
14
+ get summonHitChancePercentage(): number[];
15
+ set summonHitChancePercentage(summonHitChancePercentage: ObjectDataEntryLevelFieldValueSupplier<number>);
16
+ /** % Hit chance on Critical Strike */
17
+ get criticalStrikeHitChancePercentage(): number[];
18
+ set criticalStrikeHitChancePercentage(criticalStrikeHitChancePercentage: ObjectDataEntryLevelFieldValueSupplier<number>);
19
+ }
@@ -0,0 +1,65 @@
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 ____exports = {}
6
+ local ____on_2Dattack_2Dcast_2Dspell = require("engine.object-data.entry.ability-type.on-attack-cast-spell")
7
+ local OnAttackCastSpellAbilityType = ____on_2Dattack_2Dcast_2Dspell.OnAttackCastSpellAbilityType
8
+ ____exports.OnBasicAttackCastSpellAbilityType = __TS__Class()
9
+ local OnBasicAttackCastSpellAbilityType = ____exports.OnBasicAttackCastSpellAbilityType
10
+ OnBasicAttackCastSpellAbilityType.name = "OnBasicAttackCastSpellAbilityType"
11
+ __TS__ClassExtends(OnBasicAttackCastSpellAbilityType, OnAttackCastSpellAbilityType)
12
+ OnBasicAttackCastSpellAbilityType.BASE_ID = fourCC("Aoas")
13
+ __TS__SetDescriptor(
14
+ OnBasicAttackCastSpellAbilityType.prototype,
15
+ "unitHitChancePercentage",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("oap1")
19
+ end,
20
+ set = function(self, unitHitChancePercentage)
21
+ self:setNumberLevelField("oap1", unitHitChancePercentage)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ OnBasicAttackCastSpellAbilityType.prototype,
28
+ "heroHitChancePercentage",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("oap2")
32
+ end,
33
+ set = function(self, heroHitChancePercentage)
34
+ self:setNumberLevelField("oap2", heroHitChancePercentage)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ __TS__SetDescriptor(
40
+ OnBasicAttackCastSpellAbilityType.prototype,
41
+ "summonHitChancePercentage",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("oap3")
45
+ end,
46
+ set = function(self, summonHitChancePercentage)
47
+ self:setNumberLevelField("oap3", summonHitChancePercentage)
48
+ end
49
+ },
50
+ true
51
+ )
52
+ __TS__SetDescriptor(
53
+ OnBasicAttackCastSpellAbilityType.prototype,
54
+ "criticalStrikeHitChancePercentage",
55
+ {
56
+ get = function(self)
57
+ return self:getNumberLevelField("oap4")
58
+ end,
59
+ set = function(self, criticalStrikeHitChancePercentage)
60
+ self:setNumberLevelField("oap4", criticalStrikeHitChancePercentage)
61
+ end
62
+ },
63
+ true
64
+ )
65
+ return ____exports
@@ -0,0 +1,15 @@
1
+ /** @noSelfInFile */
2
+ import { OnAttackCastSpellAbilityType } from "./on-attack-cast-spell";
3
+ import { AbilityTypeId } from "../ability-type";
4
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
5
+ export declare const enum OnHitCastSpellAbilityTypeDamageType {
6
+ MELEE = 0,
7
+ RANGED = 1,
8
+ ALL = 2
9
+ }
10
+ export declare class OnHitCastSpellAbilityType extends OnAttackCastSpellAbilityType {
11
+ static readonly BASE_ID: AbilityTypeId;
12
+ /** Allowed Damage Type */
13
+ get allowedDamageType(): OnHitCastSpellAbilityTypeDamageType[];
14
+ set allowedDamageType(allowedDamageType: ObjectDataEntryLevelFieldValueSupplier<OnHitCastSpellAbilityTypeDamageType>);
15
+ }
@@ -0,0 +1,26 @@
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 ____exports = {}
6
+ local ____on_2Dattack_2Dcast_2Dspell = require("engine.object-data.entry.ability-type.on-attack-cast-spell")
7
+ local OnAttackCastSpellAbilityType = ____on_2Dattack_2Dcast_2Dspell.OnAttackCastSpellAbilityType
8
+ ____exports.OnHitCastSpellAbilityType = __TS__Class()
9
+ local OnHitCastSpellAbilityType = ____exports.OnHitCastSpellAbilityType
10
+ OnHitCastSpellAbilityType.name = "OnHitCastSpellAbilityType"
11
+ __TS__ClassExtends(OnHitCastSpellAbilityType, OnAttackCastSpellAbilityType)
12
+ OnHitCastSpellAbilityType.BASE_ID = fourCC("Atds")
13
+ __TS__SetDescriptor(
14
+ OnHitCastSpellAbilityType.prototype,
15
+ "allowedDamageType",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("ohp1")
19
+ end,
20
+ set = function(self, allowedDamageType)
21
+ self:setNumberLevelField("ohp1", allowedDamageType)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ return ____exports
@@ -0,0 +1,6 @@
1
+ /** @noSelfInFile */
2
+ import { OnAttackCastSpellAbilityType } from "./on-attack-cast-spell";
3
+ import { AbilityTypeId } from "../ability-type";
4
+ export declare class OnMagicAttackCastSpellAbilityType extends OnAttackCastSpellAbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ }
@@ -0,0 +1,12 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local ____exports = {}
5
+ local ____on_2Dattack_2Dcast_2Dspell = require("engine.object-data.entry.ability-type.on-attack-cast-spell")
6
+ local OnAttackCastSpellAbilityType = ____on_2Dattack_2Dcast_2Dspell.OnAttackCastSpellAbilityType
7
+ ____exports.OnMagicAttackCastSpellAbilityType = __TS__Class()
8
+ local OnMagicAttackCastSpellAbilityType = ____exports.OnMagicAttackCastSpellAbilityType
9
+ OnMagicAttackCastSpellAbilityType.name = "OnMagicAttackCastSpellAbilityType"
10
+ __TS__ClassExtends(OnMagicAttackCastSpellAbilityType, OnAttackCastSpellAbilityType)
11
+ OnMagicAttackCastSpellAbilityType.BASE_ID = fourCC("Asas")
12
+ return ____exports
@@ -0,0 +1,23 @@
1
+ /** @noSelfInFile */
2
+ import { ExhumeCorpsesAbilityType } from "./exhume-corpses";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ /**
5
+ * A passive ability whose cooldown can be started (`Ability.startCooldown`): Exhume
6
+ * Corpses (`Aexh`) is the only passive base ability that shows a cooldown.
7
+ *
8
+ * The corpse fields of the underlying Exhume Corpses are fixed at zero and its native
9
+ * durations at a practically infinite value. {@link buffDuration} and
10
+ * {@link heroBuffDuration} are kept for scripts separately from the native fields.
11
+ *
12
+ * The game ignores per-ability extended tooltips of this base ability, so the type's own
13
+ * tooltip is replaced locally with the one of the locally main selected unit's ability.
14
+ * Read the type's tooltip with `getAbilityTypeExtendedTooltip`, not with the native.
15
+ */
16
+ export declare class PassiveAbilityWithCooldownAbilityType extends ExhumeCorpsesAbilityType {
17
+ static readonly IS_SYNTHETIC = true;
18
+ constructor(object: WarObject);
19
+ get buffDuration(): number[];
20
+ set buffDuration(buffDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
21
+ get heroBuffDuration(): number[];
22
+ set heroBuffDuration(heroBuffDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
23
+ }
@@ -0,0 +1,112 @@
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 ____exports = {}
6
+ local ____exhume_2Dcorpses = require("engine.object-data.entry.ability-type.exhume-corpses")
7
+ local ExhumeCorpsesAbilityType = ____exhume_2Dcorpses.ExhumeCorpsesAbilityType
8
+ local ____ability = require("engine.standard.fields.ability")
9
+ local DURATION_HERO_ABILITY_FLOAT_LEVEL_FIELD = ____ability.DURATION_HERO_ABILITY_FLOAT_LEVEL_FIELD
10
+ local DURATION_NORMAL_ABILITY_FLOAT_LEVEL_FIELD = ____ability.DURATION_NORMAL_ABILITY_FLOAT_LEVEL_FIELD
11
+ local TOOLTIP_NORMAL_EXTENDED_ABILITY_STRING_LEVEL_FIELD = ____ability.TOOLTIP_NORMAL_EXTENDED_ABILITY_STRING_LEVEL_FIELD
12
+ local ____ability_2Dtype_2Dextended_2Dtooltip = require("engine.ability-type-extended-tooltip")
13
+ local overrideAbilityTypeExtendedTooltipLocally = ____ability_2Dtype_2Dextended_2Dtooltip.overrideAbilityTypeExtendedTooltipLocally
14
+ local ____local_2Dclient = require("engine.local-client")
15
+ local LocalClient = ____local_2Dclient.LocalClient
16
+ local ____timer = require("core.types.timer")
17
+ local Timer = ____timer.Timer
18
+ local NATIVE_DURATION = 2147483
19
+ local compiletimeAbilityTypeIds = {}
20
+ --- A passive ability whose cooldown can be started (`Ability.startCooldown`): Exhume
21
+ -- Corpses (`Aexh`) is the only passive base ability that shows a cooldown.
22
+ --
23
+ -- The corpse fields of the underlying Exhume Corpses are fixed at zero and its native
24
+ -- durations at a practically infinite value. {@link buffDuration} and
25
+ -- {@link heroBuffDuration} are kept for scripts separately from the native fields.
26
+ --
27
+ -- The game ignores per-ability extended tooltips of this base ability, so the type's own
28
+ -- tooltip is replaced locally with the one of the locally main selected unit's ability.
29
+ -- Read the type's tooltip with `getAbilityTypeExtendedTooltip`, not with the native.
30
+ ____exports.PassiveAbilityWithCooldownAbilityType = __TS__Class()
31
+ local PassiveAbilityWithCooldownAbilityType = ____exports.PassiveAbilityWithCooldownAbilityType
32
+ PassiveAbilityWithCooldownAbilityType.name = "PassiveAbilityWithCooldownAbilityType"
33
+ __TS__ClassExtends(PassiveAbilityWithCooldownAbilityType, ExhumeCorpsesAbilityType)
34
+ function PassiveAbilityWithCooldownAbilityType.prototype.____constructor(self, object)
35
+ ExhumeCorpsesAbilityType.prototype.____constructor(self, object)
36
+ self.levelCount = 1
37
+ self.iconPath = ""
38
+ self.targetEffectPresets = {}
39
+ self.maximumCorpseCount = function() return 0 end
40
+ self.corpseUnitTypeId = function() return 0 end
41
+ self:setNumberLevelField(
42
+ "adur",
43
+ function() return NATIVE_DURATION end
44
+ )
45
+ self:setNumberLevelField(
46
+ "ahdu",
47
+ function() return NATIVE_DURATION end
48
+ )
49
+ self.buffDuration = function() return 0 end
50
+ self.heroBuffDuration = function() return 0 end
51
+ self.buffTypeIds = function() return {} end
52
+ self.techTreeDependencies = {}
53
+ compiletimeAbilityTypeIds[self.id] = true
54
+ end
55
+ PassiveAbilityWithCooldownAbilityType.IS_SYNTHETIC = true
56
+ __TS__SetDescriptor(
57
+ PassiveAbilityWithCooldownAbilityType.prototype,
58
+ "buffDuration",
59
+ {
60
+ get = function(self)
61
+ return DURATION_NORMAL_ABILITY_FLOAT_LEVEL_FIELD:getValue(self)
62
+ end,
63
+ set = function(self, buffDuration)
64
+ DURATION_NORMAL_ABILITY_FLOAT_LEVEL_FIELD:setValue(self, buffDuration)
65
+ end
66
+ },
67
+ true
68
+ )
69
+ __TS__SetDescriptor(
70
+ PassiveAbilityWithCooldownAbilityType.prototype,
71
+ "heroBuffDuration",
72
+ {
73
+ get = function(self)
74
+ return DURATION_HERO_ABILITY_FLOAT_LEVEL_FIELD:getValue(self)
75
+ end,
76
+ set = function(self, heroBuffDuration)
77
+ DURATION_HERO_ABILITY_FLOAT_LEVEL_FIELD:setValue(self, heroBuffDuration)
78
+ end
79
+ },
80
+ true
81
+ )
82
+ local abilityTypeIds = postcompile(function() return compiletimeAbilityTypeIds end)
83
+ if (next(abilityTypeIds)) ~= nil then
84
+ local overriddenLevelCountByAbilityTypeId = {}
85
+ Timer.onPeriod[1 / 32]:addListener(
86
+ 0,
87
+ function()
88
+ local unit = LocalClient.mainSelectedUnit
89
+ for abilityTypeId in pairs(abilityTypeIds) do
90
+ local ability = unit and unit:getAbility(abilityTypeId)
91
+ local levelCount = ability and ability.levelCount or 0
92
+ if ability ~= nil then
93
+ for level = 0, levelCount - 1 do
94
+ overrideAbilityTypeExtendedTooltipLocally(
95
+ abilityTypeId,
96
+ level,
97
+ TOOLTIP_NORMAL_EXTENDED_ABILITY_STRING_LEVEL_FIELD:getValue(ability, level)
98
+ )
99
+ end
100
+ end
101
+ local overriddenLevelCount = overriddenLevelCountByAbilityTypeId[abilityTypeId] or 0
102
+ for level = levelCount, overriddenLevelCount - 1 do
103
+ overrideAbilityTypeExtendedTooltipLocally(abilityTypeId, level, nil)
104
+ end
105
+ if levelCount ~= overriddenLevelCount then
106
+ overriddenLevelCountByAbilityTypeId[abilityTypeId] = levelCount
107
+ end
108
+ end
109
+ end
110
+ )
111
+ end
112
+ return ____exports
@@ -0,0 +1,8 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class PermanentInvisibilityAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ get shouldAutoAcquireAttackTargets(): boolean[];
7
+ set shouldAutoAcquireAttackTargets(shouldAutoAcquireAttackTargets: ObjectDataEntryLevelFieldValueSupplier<boolean>);
8
+ }
@@ -0,0 +1,26 @@
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 ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.PermanentInvisibilityAbilityType = __TS__Class()
9
+ local PermanentInvisibilityAbilityType = ____exports.PermanentInvisibilityAbilityType
10
+ PermanentInvisibilityAbilityType.name = "PermanentInvisibilityAbilityType"
11
+ __TS__ClassExtends(PermanentInvisibilityAbilityType, AbilityType)
12
+ PermanentInvisibilityAbilityType.BASE_ID = fourCC("Apiv")
13
+ __TS__SetDescriptor(
14
+ PermanentInvisibilityAbilityType.prototype,
15
+ "shouldAutoAcquireAttackTargets",
16
+ {
17
+ get = function(self)
18
+ return self:getBooleanLevelField("Gho1")
19
+ end,
20
+ set = function(self, shouldAutoAcquireAttackTargets)
21
+ self:setBooleanLevelField("Gho1", shouldAutoAcquireAttackTargets)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ return ____exports
@@ -0,0 +1,10 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class PhaseShiftAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ get movementSpeedDecreaseFactor(): number[];
7
+ set movementSpeedDecreaseFactor(movementSpeedDecreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
8
+ get attackSpeedDecreaseFactor(): number[];
9
+ set attackSpeedDecreaseFactor(attackSpeedDecreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
10
+ }
@@ -0,0 +1,39 @@
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 ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.PhaseShiftAbilityType = __TS__Class()
9
+ local PhaseShiftAbilityType = ____exports.PhaseShiftAbilityType
10
+ PhaseShiftAbilityType.name = "PhaseShiftAbilityType"
11
+ __TS__ClassExtends(PhaseShiftAbilityType, AbilityType)
12
+ PhaseShiftAbilityType.BASE_ID = fourCC("Apsh")
13
+ __TS__SetDescriptor(
14
+ PhaseShiftAbilityType.prototype,
15
+ "movementSpeedDecreaseFactor",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("Hbn1")
19
+ end,
20
+ set = function(self, movementSpeedDecreaseFactor)
21
+ self:setNumberLevelField("Hbn1", movementSpeedDecreaseFactor)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ PhaseShiftAbilityType.prototype,
28
+ "attackSpeedDecreaseFactor",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("Hbn2")
32
+ end,
33
+ set = function(self, attackSpeedDecreaseFactor)
34
+ self:setNumberLevelField("Hbn2", attackSpeedDecreaseFactor)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ return ____exports