warscript 0.0.1-dev.008d8ef

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 (507) hide show
  1. package/LICENSE +23 -0
  2. package/attributes.d.ts +12 -0
  3. package/attributes.lua +16 -0
  4. package/binaryreader.d.ts +21 -0
  5. package/binaryreader.lua +53 -0
  6. package/binarywriter.d.ts +21 -0
  7. package/binarywriter.lua +90 -0
  8. package/core/dummy.d.ts +22 -0
  9. package/core/dummy.lua +133 -0
  10. package/core/game.d.ts +3 -0
  11. package/core/game.lua +24 -0
  12. package/core/thread.d.ts +8 -0
  13. package/core/thread.lua +40 -0
  14. package/core/types/ability.d.ts +4 -0
  15. package/core/types/ability.lua +10 -0
  16. package/core/types/async.d.ts +3 -0
  17. package/core/types/async.lua +2 -0
  18. package/core/types/camera.d.ts +4 -0
  19. package/core/types/camera.lua +21 -0
  20. package/core/types/cameraField.d.ts +15 -0
  21. package/core/types/cameraField.lua +38 -0
  22. package/core/types/color.d.ts +16 -0
  23. package/core/types/color.lua +93 -0
  24. package/core/types/destructable.d.ts +31 -0
  25. package/core/types/destructable.lua +245 -0
  26. package/core/types/effect.d.ts +31 -0
  27. package/core/types/effect.lua +209 -0
  28. package/core/types/frame.d.ts +141 -0
  29. package/core/types/frame.lua +884 -0
  30. package/core/types/game.d.ts +8 -0
  31. package/core/types/game.lua +41 -0
  32. package/core/types/group.d.ts +21 -0
  33. package/core/types/group.lua +94 -0
  34. package/core/types/handle.d.ts +49 -0
  35. package/core/types/handle.lua +174 -0
  36. package/core/types/image.d.ts +29 -0
  37. package/core/types/image.lua +121 -0
  38. package/core/types/internal/ability+cooldownRemaining.d.ts +1 -0
  39. package/core/types/internal/ability+cooldownRemaining.lua +0 -0
  40. package/core/types/item.d.ts +4 -0
  41. package/core/types/item.lua +6 -0
  42. package/core/types/missile.d.ts +22 -0
  43. package/core/types/missile.lua +239 -0
  44. package/core/types/order.d.ts +25 -0
  45. package/core/types/order.lua +55 -0
  46. package/core/types/player.d.ts +71 -0
  47. package/core/types/player.lua +448 -0
  48. package/core/types/playerCamera.d.ts +32 -0
  49. package/core/types/playerCamera.lua +162 -0
  50. package/core/types/playerColor.d.ts +40 -0
  51. package/core/types/playerColor.lua +203 -0
  52. package/core/types/rect.d.ts +39 -0
  53. package/core/types/rect.lua +152 -0
  54. package/core/types/region.d.ts +14 -0
  55. package/core/types/region.lua +84 -0
  56. package/core/types/sound.d.ts +69 -0
  57. package/core/types/sound.lua +247 -0
  58. package/core/types/tileCell.d.ts +13 -0
  59. package/core/types/tileCell.lua +100 -0
  60. package/core/types/timer.d.ts +36 -0
  61. package/core/types/timer.lua +230 -0
  62. package/core/types/timerDialog.d.ts +19 -0
  63. package/core/types/timerDialog.lua +95 -0
  64. package/core/types/unit.d.ts +10 -0
  65. package/core/types/unit.lua +32 -0
  66. package/core/types/widget.d.ts +5 -0
  67. package/core/types/widget.lua +2 -0
  68. package/core/util.d.ts +62 -0
  69. package/core/util.lua +464 -0
  70. package/core/vecmath/common.d.ts +18 -0
  71. package/core/vecmath/common.lua +29 -0
  72. package/core/vecmath/mat2.d.ts +73 -0
  73. package/core/vecmath/mat2.lua +261 -0
  74. package/core/vecmath/vec3.d.ts +47 -0
  75. package/core/vecmath/vec3.lua +350 -0
  76. package/core/vecmath/vec4.d.ts +54 -0
  77. package/core/vecmath/vec4.lua +400 -0
  78. package/crypto/ecc.d.ts +6 -0
  79. package/crypto/ecc.lua +1734 -0
  80. package/decl/index.d.ts +117 -0
  81. package/decl/native.d.ts +8198 -0
  82. package/destroyable.d.ts +20 -0
  83. package/destroyable.lua +31 -0
  84. package/engine/ability.d.ts +5 -0
  85. package/engine/ability.lua +7 -0
  86. package/engine/behavior.d.ts +28 -0
  87. package/engine/behavior.lua +181 -0
  88. package/engine/behaviour/ability/apply-buff.d.ts +38 -0
  89. package/engine/behaviour/ability/apply-buff.lua +126 -0
  90. package/engine/behaviour/ability/apply-unit-behavior.d.ts +21 -0
  91. package/engine/behaviour/ability/apply-unit-behavior.lua +58 -0
  92. package/engine/behaviour/ability/damage.d.ts +47 -0
  93. package/engine/behaviour/ability/damage.lua +133 -0
  94. package/engine/behaviour/ability/heal.d.ts +43 -0
  95. package/engine/behaviour/ability/heal.lua +114 -0
  96. package/engine/behaviour/ability/instant-impact.d.ts +6 -0
  97. package/engine/behaviour/ability/instant-impact.lua +29 -0
  98. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  99. package/engine/behaviour/ability/restore-mana.lua +29 -0
  100. package/engine/behaviour/ability.d.ts +47 -0
  101. package/engine/behaviour/ability.lua +237 -0
  102. package/engine/behaviour/unit/stun-immunity.d.ts +18 -0
  103. package/engine/behaviour/unit/stun-immunity.lua +67 -0
  104. package/engine/behaviour/unit.d.ts +21 -0
  105. package/engine/behaviour/unit.lua +82 -0
  106. package/engine/buff.d.ts +221 -0
  107. package/engine/buff.lua +1091 -0
  108. package/engine/constants.d.ts +7 -0
  109. package/engine/constants.lua +8 -0
  110. package/engine/game-map.d.ts +7 -0
  111. package/engine/game-map.lua +32 -0
  112. package/engine/index.d.ts +5 -0
  113. package/engine/index.lua +2 -0
  114. package/engine/internal/ability.d.ts +91 -0
  115. package/engine/internal/ability.lua +531 -0
  116. package/engine/internal/item/ability.d.ts +2 -0
  117. package/engine/internal/item/ability.lua +48 -0
  118. package/engine/internal/item+owner.d.ts +7 -0
  119. package/engine/internal/item+owner.lua +22 -0
  120. package/engine/internal/item.d.ts +86 -0
  121. package/engine/internal/item.lua +580 -0
  122. package/engine/internal/mechanics/ability-duration.d.ts +2 -0
  123. package/engine/internal/mechanics/ability-duration.lua +13 -0
  124. package/engine/internal/mechanics/area-damage.d.ts +2 -0
  125. package/engine/internal/mechanics/area-damage.lua +33 -0
  126. package/engine/internal/mechanics/cast-ability.d.ts +2 -0
  127. package/engine/internal/mechanics/cast-ability.lua +86 -0
  128. package/engine/internal/misc/dummy-units.d.ts +2 -0
  129. package/engine/internal/misc/dummy-units.lua +14 -0
  130. package/engine/internal/object-data/armor-increase.d.ts +2 -0
  131. package/engine/internal/object-data/armor-increase.lua +19 -0
  132. package/engine/internal/object-data/attribute-bonus.d.ts +2 -0
  133. package/engine/internal/object-data/attribute-bonus.lua +15 -0
  134. package/engine/internal/object-data/auto-attack-damage-increase.d.ts +2 -0
  135. package/engine/internal/object-data/auto-attack-damage-increase.lua +17 -0
  136. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +2 -0
  137. package/engine/internal/object-data/auto-attack-speed-increase.lua +14 -0
  138. package/engine/internal/object-data/dummy-inventory.d.ts +2 -0
  139. package/engine/internal/object-data/dummy-inventory.lua +16 -0
  140. package/engine/internal/object-data/dummy-item.d.ts +2 -0
  141. package/engine/internal/object-data/dummy-item.lua +10 -0
  142. package/engine/internal/object-data/ghost-visible.d.ts +2 -0
  143. package/engine/internal/object-data/ghost-visible.lua +15 -0
  144. package/engine/internal/object-data/invulnerable.d.ts +2 -0
  145. package/engine/internal/object-data/invulnerable.lua +11 -0
  146. package/engine/internal/object-data/movement-speed-increase-factor.d.ts +2 -0
  147. package/engine/internal/object-data/movement-speed-increase-factor.lua +18 -0
  148. package/engine/internal/unit/ability.d.ts +143 -0
  149. package/engine/internal/unit/ability.lua +369 -0
  150. package/engine/internal/unit/allowed-targets.d.ts +17 -0
  151. package/engine/internal/unit/allowed-targets.lua +19 -0
  152. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.d.ts +2 -0
  153. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.lua +21 -0
  154. package/engine/internal/unit/bonus.d.ts +40 -0
  155. package/engine/internal/unit/bonus.lua +188 -0
  156. package/engine/internal/unit/buff.d.ts +38 -0
  157. package/engine/internal/unit/buff.lua +81 -0
  158. package/engine/internal/unit/detach-missiles.d.ts +7 -0
  159. package/engine/internal/unit/detach-missiles.lua +30 -0
  160. package/engine/internal/unit/expiration-timer.d.ts +22 -0
  161. package/engine/internal/unit/expiration-timer.lua +44 -0
  162. package/engine/internal/unit/ghost-counter.d.ts +12 -0
  163. package/engine/internal/unit/ghost-counter.lua +26 -0
  164. package/engine/internal/unit/invulnerability-counter.d.ts +12 -0
  165. package/engine/internal/unit/invulnerability-counter.lua +26 -0
  166. package/engine/internal/unit/missile.d.ts +42 -0
  167. package/engine/internal/unit/missile.lua +70 -0
  168. package/engine/internal/unit/movement-speed.d.ts +18 -0
  169. package/engine/internal/unit/movement-speed.lua +42 -0
  170. package/engine/internal/unit/summon-event.d.ts +12 -0
  171. package/engine/internal/unit/summon-event.lua +50 -0
  172. package/engine/internal/unit+ability.d.ts +9 -0
  173. package/engine/internal/unit+ability.lua +59 -0
  174. package/engine/internal/unit+bonus.d.ts +8 -0
  175. package/engine/internal/unit+bonus.lua +40 -0
  176. package/engine/internal/unit+damage.d.ts +69 -0
  177. package/engine/internal/unit+damage.lua +123 -0
  178. package/engine/internal/unit+rally.d.ts +10 -0
  179. package/engine/internal/unit+rally.lua +159 -0
  180. package/engine/internal/unit+spellSteal.d.ts +7 -0
  181. package/engine/internal/unit+spellSteal.lua +64 -0
  182. package/engine/internal/unit+transport.d.ts +12 -0
  183. package/engine/internal/unit+transport.lua +96 -0
  184. package/engine/internal/unit-missile-data.d.ts +2 -0
  185. package/engine/internal/unit-missile-data.lua +107 -0
  186. package/engine/internal/unit-missile-launch.d.ts +7 -0
  187. package/engine/internal/unit-missile-launch.lua +32 -0
  188. package/engine/internal/unit.d.ts +339 -0
  189. package/engine/internal/unit.lua +2590 -0
  190. package/engine/internal/utility.d.ts +2 -0
  191. package/engine/internal/utility.lua +13 -0
  192. package/engine/lightning.d.ts +51 -0
  193. package/engine/lightning.lua +303 -0
  194. package/engine/local-client.d.ts +16 -0
  195. package/engine/local-client.lua +86 -0
  196. package/engine/object-data/auxiliary/animation-name.d.ts +14 -0
  197. package/engine/object-data/auxiliary/animation-name.lua +2 -0
  198. package/engine/object-data/auxiliary/animation-qualifier.d.ts +53 -0
  199. package/engine/object-data/auxiliary/animation-qualifier.lua +2 -0
  200. package/engine/object-data/auxiliary/armor-sound-type.d.ts +8 -0
  201. package/engine/object-data/auxiliary/armor-sound-type.lua +2 -0
  202. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -0
  203. package/engine/object-data/auxiliary/attachment-preset.lua +29 -0
  204. package/engine/object-data/auxiliary/attack-type.d.ts +11 -0
  205. package/engine/object-data/auxiliary/attack-type.lua +2 -0
  206. package/engine/object-data/auxiliary/buff-polarity.d.ts +6 -0
  207. package/engine/object-data/auxiliary/buff-polarity.lua +2 -0
  208. package/engine/object-data/auxiliary/buff-resistance-type.d.ts +6 -0
  209. package/engine/object-data/auxiliary/buff-resistance-type.lua +2 -0
  210. package/engine/object-data/auxiliary/combat-classification.d.ts +44 -0
  211. package/engine/object-data/auxiliary/combat-classification.lua +206 -0
  212. package/engine/object-data/auxiliary/detection-type.d.ts +7 -0
  213. package/engine/object-data/auxiliary/detection-type.lua +2 -0
  214. package/engine/object-data/auxiliary/model-node-name.d.ts +12 -0
  215. package/engine/object-data/auxiliary/model-node-name.lua +2 -0
  216. package/engine/object-data/auxiliary/model-node-qualifier.d.ts +21 -0
  217. package/engine/object-data/auxiliary/model-node-qualifier.lua +2 -0
  218. package/engine/object-data/auxiliary/movement-type.d.ts +10 -0
  219. package/engine/object-data/auxiliary/movement-type.lua +2 -0
  220. package/engine/object-data/auxiliary/race.d.ts +14 -0
  221. package/engine/object-data/auxiliary/race.lua +2 -0
  222. package/engine/object-data/auxiliary/sound-preset-name.d.ts +8 -0
  223. package/engine/object-data/auxiliary/sound-preset-name.lua +2 -0
  224. package/engine/object-data/auxiliary/sound-set-name.d.ts +35 -0
  225. package/engine/object-data/auxiliary/sound-set-name.lua +2 -0
  226. package/engine/object-data/auxiliary/targeting-type.d.ts +8 -0
  227. package/engine/object-data/auxiliary/targeting-type.lua +2 -0
  228. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +16 -0
  229. package/engine/object-data/auxiliary/tech-tree-dependency.lua +8 -0
  230. package/engine/object-data/auxiliary/unit-classification.d.ts +19 -0
  231. package/engine/object-data/auxiliary/unit-classification.lua +50 -0
  232. package/engine/object-data/auxiliary/weapon-sound-type.d.ts +17 -0
  233. package/engine/object-data/auxiliary/weapon-sound-type.lua +2 -0
  234. package/engine/object-data/entry/ability-type/armor-increase.d.ts +8 -0
  235. package/engine/object-data/entry/ability-type/armor-increase.lua +26 -0
  236. package/engine/object-data/entry/ability-type/attribute-increase.d.ts +12 -0
  237. package/engine/object-data/entry/ability-type/attribute-increase.lua +52 -0
  238. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.d.ts +8 -0
  239. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.lua +26 -0
  240. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.d.ts +12 -0
  241. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.lua +52 -0
  242. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.d.ts +8 -0
  243. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.lua +26 -0
  244. package/engine/object-data/entry/ability-type/bash.d.ts +16 -0
  245. package/engine/object-data/entry/ability-type/bash.lua +78 -0
  246. package/engine/object-data/entry/ability-type/berserk.d.ts +10 -0
  247. package/engine/object-data/entry/ability-type/berserk.lua +39 -0
  248. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +20 -0
  249. package/engine/object-data/entry/ability-type/blank-configurable.lua +249 -0
  250. package/engine/object-data/entry/ability-type/blank-passive.d.ts +6 -0
  251. package/engine/object-data/entry/ability-type/blank-passive.lua +28 -0
  252. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  253. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  254. package/engine/object-data/entry/ability-type/blizzard.d.ts +16 -0
  255. package/engine/object-data/entry/ability-type/blizzard.lua +78 -0
  256. package/engine/object-data/entry/ability-type/blood-lust.d.ts +12 -0
  257. package/engine/object-data/entry/ability-type/blood-lust.lua +52 -0
  258. package/engine/object-data/entry/ability-type/chain-lightning.d.ts +12 -0
  259. package/engine/object-data/entry/ability-type/chain-lightning.lua +52 -0
  260. package/engine/object-data/entry/ability-type/channel.d.ts +47 -0
  261. package/engine/object-data/entry/ability-type/channel.lua +140 -0
  262. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.d.ts +14 -0
  263. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.lua +65 -0
  264. package/engine/object-data/entry/ability-type/cleaving-attack.d.ts +8 -0
  265. package/engine/object-data/entry/ability-type/cleaving-attack.lua +26 -0
  266. package/engine/object-data/entry/ability-type/cluster-rockets.d.ts +18 -0
  267. package/engine/object-data/entry/ability-type/cluster-rockets.lua +91 -0
  268. package/engine/object-data/entry/ability-type/cripple.d.ts +12 -0
  269. package/engine/object-data/entry/ability-type/cripple.lua +52 -0
  270. package/engine/object-data/entry/ability-type/critical-strike.d.ts +18 -0
  271. package/engine/object-data/entry/ability-type/critical-strike.lua +91 -0
  272. package/engine/object-data/entry/ability-type/curse.d.ts +8 -0
  273. package/engine/object-data/entry/ability-type/curse.lua +26 -0
  274. package/engine/object-data/entry/ability-type/dark-summoning.d.ts +10 -0
  275. package/engine/object-data/entry/ability-type/dark-summoning.lua +39 -0
  276. package/engine/object-data/entry/ability-type/death-coil.d.ts +8 -0
  277. package/engine/object-data/entry/ability-type/death-coil.lua +26 -0
  278. package/engine/object-data/entry/ability-type/disease-cloud.d.ts +15 -0
  279. package/engine/object-data/entry/ability-type/disease-cloud.lua +65 -0
  280. package/engine/object-data/entry/ability-type/divine-shield.d.ts +5 -0
  281. package/engine/object-data/entry/ability-type/divine-shield.lua +12 -0
  282. package/engine/object-data/entry/ability-type/endurance-aura.d.ts +10 -0
  283. package/engine/object-data/entry/ability-type/endurance-aura.lua +39 -0
  284. package/engine/object-data/entry/ability-type/engineering-upgrade.d.ts +13 -0
  285. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +88 -0
  286. package/engine/object-data/entry/ability-type/evasion.d.ts +8 -0
  287. package/engine/object-data/entry/ability-type/evasion.lua +26 -0
  288. package/engine/object-data/entry/ability-type/faerie-fire.d.ts +10 -0
  289. package/engine/object-data/entry/ability-type/faerie-fire.lua +39 -0
  290. package/engine/object-data/entry/ability-type/far-sight.d.ts +9 -0
  291. package/engine/object-data/entry/ability-type/far-sight.lua +26 -0
  292. package/engine/object-data/entry/ability-type/feral-spirit.d.ts +11 -0
  293. package/engine/object-data/entry/ability-type/feral-spirit.lua +39 -0
  294. package/engine/object-data/entry/ability-type/frenzy.d.ts +12 -0
  295. package/engine/object-data/entry/ability-type/frenzy.lua +52 -0
  296. package/engine/object-data/entry/ability-type/frost-nova.d.ts +12 -0
  297. package/engine/object-data/entry/ability-type/frost-nova.lua +52 -0
  298. package/engine/object-data/entry/ability-type/ghost-visible.d.ts +10 -0
  299. package/engine/object-data/entry/ability-type/ghost-visible.lua +39 -0
  300. package/engine/object-data/entry/ability-type/gold-mine.d.ts +12 -0
  301. package/engine/object-data/entry/ability-type/gold-mine.lua +52 -0
  302. package/engine/object-data/entry/ability-type/heal.d.ts +8 -0
  303. package/engine/object-data/entry/ability-type/heal.lua +26 -0
  304. package/engine/object-data/entry/ability-type/healing-salve.d.ts +22 -0
  305. package/engine/object-data/entry/ability-type/healing-salve.lua +78 -0
  306. package/engine/object-data/entry/ability-type/healing-spray.d.ts +18 -0
  307. package/engine/object-data/entry/ability-type/healing-spray.lua +91 -0
  308. package/engine/object-data/entry/ability-type/healing-wave.d.ts +12 -0
  309. package/engine/object-data/entry/ability-type/healing-wave.lua +52 -0
  310. package/engine/object-data/entry/ability-type/holy-light.d.ts +8 -0
  311. package/engine/object-data/entry/ability-type/holy-light.lua +26 -0
  312. package/engine/object-data/entry/ability-type/incinerate.d.ts +18 -0
  313. package/engine/object-data/entry/ability-type/incinerate.lua +91 -0
  314. package/engine/object-data/entry/ability-type/inner-fire.d.ts +14 -0
  315. package/engine/object-data/entry/ability-type/inner-fire.lua +65 -0
  316. package/engine/object-data/entry/ability-type/inventory.d.ts +16 -0
  317. package/engine/object-data/entry/ability-type/inventory.lua +78 -0
  318. package/engine/object-data/entry/ability-type/invulnerable.d.ts +5 -0
  319. package/engine/object-data/entry/ability-type/invulnerable.lua +12 -0
  320. package/engine/object-data/entry/ability-type/lightning-shield.d.ts +8 -0
  321. package/engine/object-data/entry/ability-type/lightning-shield.lua +26 -0
  322. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  323. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  324. package/engine/object-data/entry/ability-type/movement-speed-increase.d.ts +8 -0
  325. package/engine/object-data/entry/ability-type/movement-speed-increase.lua +26 -0
  326. package/engine/object-data/entry/ability-type/permanent-immolation.d.ts +8 -0
  327. package/engine/object-data/entry/ability-type/permanent-immolation.lua +26 -0
  328. package/engine/object-data/entry/ability-type/phoenix-morph.d.ts +25 -0
  329. package/engine/object-data/entry/ability-type/phoenix-morph.lua +130 -0
  330. package/engine/object-data/entry/ability-type/recall.d.ts +10 -0
  331. package/engine/object-data/entry/ability-type/recall.lua +39 -0
  332. package/engine/object-data/entry/ability-type/rejuvenation.d.ts +20 -0
  333. package/engine/object-data/entry/ability-type/rejuvenation.lua +65 -0
  334. package/engine/object-data/entry/ability-type/searing-arrows.d.ts +8 -0
  335. package/engine/object-data/entry/ability-type/searing-arrows.lua +26 -0
  336. package/engine/object-data/entry/ability-type/shock-wave.d.ts +10 -0
  337. package/engine/object-data/entry/ability-type/shock-wave.lua +39 -0
  338. package/engine/object-data/entry/ability-type/slow-poison.d.ts +12 -0
  339. package/engine/object-data/entry/ability-type/slow-poison.lua +52 -0
  340. package/engine/object-data/entry/ability-type/slow.d.ts +12 -0
  341. package/engine/object-data/entry/ability-type/slow.lua +52 -0
  342. package/engine/object-data/entry/ability-type/spell-damage-reduction.d.ts +10 -0
  343. package/engine/object-data/entry/ability-type/spell-damage-reduction.lua +39 -0
  344. package/engine/object-data/entry/ability-type/spiked-carapace.d.ts +12 -0
  345. package/engine/object-data/entry/ability-type/spiked-carapace.lua +52 -0
  346. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +14 -0
  347. package/engine/object-data/entry/ability-type/spirit-touch.lua +65 -0
  348. package/engine/object-data/entry/ability-type/storm-bolt.d.ts +8 -0
  349. package/engine/object-data/entry/ability-type/storm-bolt.lua +26 -0
  350. package/engine/object-data/entry/ability-type/summon-quilbeast.d.ts +11 -0
  351. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +39 -0
  352. package/engine/object-data/entry/ability-type/summon-water-elemental.d.ts +11 -0
  353. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +39 -0
  354. package/engine/object-data/entry/ability-type.d.ts +148 -0
  355. package/engine/object-data/entry/ability-type.lua +1059 -0
  356. package/engine/object-data/entry/buff-type/applicable.d.ts +15 -0
  357. package/engine/object-data/entry/buff-type/applicable.lua +333 -0
  358. package/engine/object-data/entry/buff-type/blank.d.ts +7 -0
  359. package/engine/object-data/entry/buff-type/blank.lua +17 -0
  360. package/engine/object-data/entry/buff-type.d.ts +63 -0
  361. package/engine/object-data/entry/buff-type.lua +316 -0
  362. package/engine/object-data/entry/destructible-type.d.ts +20 -0
  363. package/engine/object-data/entry/destructible-type.lua +83 -0
  364. package/engine/object-data/entry/item-type/blank.d.ts +7 -0
  365. package/engine/object-data/entry/item-type/blank.lua +21 -0
  366. package/engine/object-data/entry/item-type.d.ts +48 -0
  367. package/engine/object-data/entry/item-type.lua +259 -0
  368. package/engine/object-data/entry/lightning-type.d.ts +36 -0
  369. package/engine/object-data/entry/lightning-type.lua +191 -0
  370. package/engine/object-data/entry/unit-type/blank.d.ts +6 -0
  371. package/engine/object-data/entry/unit-type/blank.lua +13 -0
  372. package/engine/object-data/entry/unit-type.d.ts +258 -0
  373. package/engine/object-data/entry/unit-type.lua +1634 -0
  374. package/engine/object-data/entry/upgrade/blank.d.ts +7 -0
  375. package/engine/object-data/entry/upgrade/blank.lua +22 -0
  376. package/engine/object-data/entry/upgrade.d.ts +58 -0
  377. package/engine/object-data/entry/upgrade.lua +238 -0
  378. package/engine/object-data/entry.d.ts +79 -0
  379. package/engine/object-data/entry.lua +634 -0
  380. package/engine/object-data/utility/object-data-entry-id-generator.d.ts +6 -0
  381. package/engine/object-data/utility/object-data-entry-id-generator.lua +63 -0
  382. package/engine/object-data/utility/order-type-string-id-factory.d.ts +9 -0
  383. package/engine/object-data/utility/order-type-string-id-factory.lua +368 -0
  384. package/engine/object-field/ability.d.ts +117 -0
  385. package/engine/object-field/ability.lua +477 -0
  386. package/engine/object-field/unit.d.ts +16 -0
  387. package/engine/object-field/unit.lua +52 -0
  388. package/engine/object-field.d.ts +86 -0
  389. package/engine/object-field.lua +470 -0
  390. package/engine/random.d.ts +11 -0
  391. package/engine/random.lua +18 -0
  392. package/engine/standard/entries/ability-type.d.ts +8 -0
  393. package/engine/standard/entries/ability-type.lua +8 -0
  394. package/engine/standard/entries/lightning-type.d.ts +16 -0
  395. package/engine/standard/entries/lightning-type.lua +16 -0
  396. package/engine/standard/entries/unit-type.d.ts +104 -0
  397. package/engine/standard/entries/unit-type.lua +104 -0
  398. package/engine/standard/entries/upgrade.d.ts +92 -0
  399. package/engine/standard/entries/upgrade.lua +92 -0
  400. package/engine/standard/fields/ability.d.ts +737 -0
  401. package/engine/standard/fields/ability.lua +749 -0
  402. package/engine/standard/pathing-textures.d.ts +6 -0
  403. package/engine/standard/pathing-textures.lua +7 -0
  404. package/engine/text-tag.d.ts +25 -0
  405. package/engine/text-tag.lua +109 -0
  406. package/engine/unit.d.ts +21 -0
  407. package/engine/unit.lua +39 -0
  408. package/event.d.ts +52 -0
  409. package/event.lua +273 -0
  410. package/exception.d.ts +19 -0
  411. package/exception.lua +57 -0
  412. package/file.d.ts +4 -0
  413. package/file.lua +42 -0
  414. package/global/math.d.ts +21 -0
  415. package/global/math.lua +72 -0
  416. package/global/vec2.d.ts +66 -0
  417. package/global/vec2.lua +160 -0
  418. package/index.d.ts +8 -0
  419. package/index.lua +9 -0
  420. package/lualib_bundle.lua +2733 -0
  421. package/math/vec2.d.ts +11 -0
  422. package/math/vec2.lua +42 -0
  423. package/math.d.ts +37 -0
  424. package/math.lua +91 -0
  425. package/net/signal.d.ts +11 -0
  426. package/net/signal.lua +56 -0
  427. package/net/socket.d.ts +9 -0
  428. package/net/socket.lua +26 -0
  429. package/network.d.ts +31 -0
  430. package/network.lua +194 -0
  431. package/objutil/ability.d.ts +709 -0
  432. package/objutil/ability.lua +3781 -0
  433. package/objutil/buff.d.ts +109 -0
  434. package/objutil/buff.lua +769 -0
  435. package/objutil/dummy.d.ts +2 -0
  436. package/objutil/dummy.lua +49 -0
  437. package/objutil/idgen.d.ts +9 -0
  438. package/objutil/idgen.lua +92 -0
  439. package/objutil/item.d.ts +38 -0
  440. package/objutil/item.lua +254 -0
  441. package/objutil/object.d.ts +42 -0
  442. package/objutil/object.lua +213 -0
  443. package/objutil/unit.d.ts +133 -0
  444. package/objutil/unit.lua +913 -0
  445. package/objutil/upgrade.d.ts +22 -0
  446. package/objutil/upgrade.lua +127 -0
  447. package/operation.d.ts +35 -0
  448. package/operation.lua +179 -0
  449. package/package.json +46 -0
  450. package/patch-lualib.d.ts +2 -0
  451. package/patch-lualib.lua +67 -0
  452. package/patch-natives.d.ts +11 -0
  453. package/patch-natives.lua +14 -0
  454. package/property.d.ts +55 -0
  455. package/property.lua +374 -0
  456. package/string.d.ts +136 -0
  457. package/string.lua +48 -0
  458. package/time/dayOfWeek.d.ts +97 -0
  459. package/time/dayOfWeek.lua +53 -0
  460. package/time/localDate.d.ts +145 -0
  461. package/time/localDate.lua +236 -0
  462. package/time/localDateTime.d.ts +133 -0
  463. package/time/localDateTime.lua +154 -0
  464. package/time/localTime.d.ts +87 -0
  465. package/time/localTime.lua +91 -0
  466. package/time/month.d.ts +146 -0
  467. package/time/month.lua +129 -0
  468. package/time/year.d.ts +117 -0
  469. package/time/year.lua +81 -0
  470. package/types.d.ts +13 -0
  471. package/types.lua +0 -0
  472. package/util/objectPool.d.ts +6 -0
  473. package/util/objectPool.lua +28 -0
  474. package/util/stream.d.ts +28 -0
  475. package/util/stream.lua +453 -0
  476. package/util/stringBuilder.d.ts +8 -0
  477. package/util/stringBuilder.lua +25 -0
  478. package/utility/arrays.d.ts +56 -0
  479. package/utility/arrays.lua +372 -0
  480. package/utility/base64.d.ts +23 -0
  481. package/utility/base64.lua +177 -0
  482. package/utility/bit-set.d.ts +16 -0
  483. package/utility/bit-set.lua +12 -0
  484. package/utility/functions.d.ts +5 -0
  485. package/utility/functions.lua +90 -0
  486. package/utility/json.d.ts +2 -0
  487. package/utility/json.lua +400 -0
  488. package/utility/linked-set.d.ts +49 -0
  489. package/utility/linked-set.lua +197 -0
  490. package/utility/lua-maps.d.ts +5 -0
  491. package/utility/lua-maps.lua +25 -0
  492. package/utility/lua-sets.d.ts +5 -0
  493. package/utility/lua-sets.lua +37 -0
  494. package/utility/lzw.d.ts +2 -0
  495. package/utility/lzw.lua +161 -0
  496. package/utility/observable-array.d.ts +17 -0
  497. package/utility/observable-array.lua +30 -0
  498. package/utility/preconditions.d.ts +23 -0
  499. package/utility/preconditions.lua +58 -0
  500. package/utility/records.d.ts +3 -0
  501. package/utility/records.lua +9 -0
  502. package/utility/reflection.d.ts +4 -0
  503. package/utility/reflection.lua +31 -0
  504. package/utility/strings.d.ts +2 -0
  505. package/utility/strings.lua +44 -0
  506. package/utility/types.d.ts +39 -0
  507. package/utility/types.lua +2 -0
@@ -0,0 +1,18 @@
1
+ /** @noSelfInFile */
2
+ import { UnitBehavior } from "../unit";
3
+ import { Unit } from "../../unit";
4
+ import { BuffTypeId } from "../../object-data/entry/buff-type";
5
+ import { TextTagPreset } from "../../text-tag";
6
+ import { Destructor } from "../../../destroyable";
7
+ export type StunImmunityUnitBehaviourParameters = {
8
+ buffTypeIds?: LuaSet<BuffTypeId>;
9
+ textTagPreset?: TextTagPreset;
10
+ textTagText?: string;
11
+ };
12
+ export declare class StunImmunityUnitBehavior extends UnitBehavior {
13
+ private readonly parameters;
14
+ static defaultParameters: StunImmunityUnitBehaviourParameters;
15
+ constructor(unit: Unit, parameters?: StunImmunityUnitBehaviourParameters);
16
+ protected onDestroy(): Destructor;
17
+ private onBuffsCheck;
18
+ }
@@ -0,0 +1,67 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__ArrayFlat = ____lualib.__TS__ArrayFlat
3
+ local __TS__Class = ____lualib.__TS__Class
4
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
5
+ local ____exports = {}
6
+ local ____unit = require("engine.behaviour.unit")
7
+ local UnitBehavior = ____unit.UnitBehavior
8
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
9
+ local AbilityType = ____ability_2Dtype.AbilityType
10
+ local ____arrays = require("utility.arrays")
11
+ local flatMapToLuaSet = ____arrays.flatMapToLuaSet
12
+ local map = ____arrays.map
13
+ local ____text_2Dtag = require("engine.text-tag")
14
+ local TextTag = ____text_2Dtag.TextTag
15
+ local DEFAULT_BUFF_TYPE_IDS = postcompile(function()
16
+ return flatMapToLuaSet(
17
+ AbilityType:getAllByBaseIds(map({
18
+ "Aslo",
19
+ "AHtc",
20
+ "Aens",
21
+ "Aprg",
22
+ "Apg2",
23
+ "AOeq",
24
+ "SNeq",
25
+ "Aweb",
26
+ "Afra",
27
+ "Afrb",
28
+ "Afrc",
29
+ "Afr2",
30
+ "Acri",
31
+ "Scri",
32
+ "AUfn",
33
+ "Aspo",
34
+ "AEer",
35
+ "ACwb"
36
+ }, fourCC)),
37
+ function(abilityType) return __TS__ArrayFlat(abilityType.buffTypeIds) end
38
+ )
39
+ end)
40
+ ____exports.StunImmunityUnitBehavior = __TS__Class()
41
+ local StunImmunityUnitBehavior = ____exports.StunImmunityUnitBehavior
42
+ StunImmunityUnitBehavior.name = "StunImmunityUnitBehavior"
43
+ __TS__ClassExtends(StunImmunityUnitBehavior, UnitBehavior)
44
+ function StunImmunityUnitBehavior.prototype.____constructor(self, unit, parameters)
45
+ if parameters == nil then
46
+ parameters = ____exports.StunImmunityUnitBehavior.defaultParameters
47
+ end
48
+ UnitBehavior.prototype.____constructor(self, unit)
49
+ self.parameters = parameters
50
+ unit:decrementStunCounter()
51
+ self:onBuffsCheck()
52
+ end
53
+ function StunImmunityUnitBehavior.prototype.onDestroy(self)
54
+ self.unit:incrementStunCounter()
55
+ return UnitBehavior.prototype.onDestroy(self)
56
+ end
57
+ function StunImmunityUnitBehavior.prototype.onBuffsCheck(self)
58
+ local hasRemovedBuffs = false
59
+ for buffTypeId in pairs(self.parameters.buffTypeIds or DEFAULT_BUFF_TYPE_IDS) do
60
+ hasRemovedBuffs = hasRemovedBuffs or self.unit:removeBuff(buffTypeId)
61
+ end
62
+ if hasRemovedBuffs and self.parameters.textTagText ~= nil then
63
+ TextTag:flash(TextTag.MISS, self.parameters.textTagText, self.unit.x, self.unit.y)
64
+ end
65
+ end
66
+ StunImmunityUnitBehavior.defaultParameters = {buffTypeIds = DEFAULT_BUFF_TYPE_IDS, textTagPreset = TextTag.MISS, textTagText = nil}
67
+ return ____exports
@@ -0,0 +1,21 @@
1
+ /** @noSelfInFile */
2
+ import { Behavior } from "../behavior";
3
+ import { Ability } from "../internal/ability";
4
+ import { DamageEvent, DamagingEvent, Unit } from "../internal/unit";
5
+ import "../internal/unit+ability";
6
+ import "../internal/unit-missile-launch";
7
+ export type UnitBehaviorConstructor<Args extends any[]> = new (unit: Unit, ...args: Args) => UnitBehavior;
8
+ export declare abstract class UnitBehavior<PeriodicActionParameters extends any[] = any[]> extends Behavior<Unit, PeriodicActionParameters> {
9
+ constructor(unit: Unit);
10
+ get unit(): Unit;
11
+ onAutoAttackStart(target: Unit): void;
12
+ onAutoAttackFinish(target: Unit): void;
13
+ onDamageDealing(target: Unit, event: DamagingEvent): void;
14
+ onDamageDealt(target: Unit, event: DamageEvent): void;
15
+ onDamageReceiving(source: Unit | undefined, event: DamagingEvent): void;
16
+ onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
17
+ onAbilityGained(ability: Ability): void;
18
+ onAbilityLost(ability: Ability): void;
19
+ onKill(target: Unit): void;
20
+ onDeath(source: Unit | undefined): void;
21
+ }
@@ -0,0 +1,82 @@
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 ____behavior = require("engine.behavior")
7
+ local Behavior = ____behavior.Behavior
8
+ local ____unit = require("engine.internal.unit")
9
+ local Unit = ____unit.Unit
10
+ require("engine.internal.unit+ability")
11
+ require("engine.internal.unit-missile-launch")
12
+ ____exports.UnitBehavior = __TS__Class()
13
+ local UnitBehavior = ____exports.UnitBehavior
14
+ UnitBehavior.name = "UnitBehavior"
15
+ __TS__ClassExtends(UnitBehavior, Behavior)
16
+ function UnitBehavior.prototype.____constructor(self, unit)
17
+ Behavior.prototype.____constructor(self, unit)
18
+ end
19
+ function UnitBehavior.prototype.onAutoAttackStart(self, target)
20
+ end
21
+ function UnitBehavior.prototype.onAutoAttackFinish(self, target)
22
+ end
23
+ function UnitBehavior.prototype.onDamageDealing(self, target, event)
24
+ end
25
+ function UnitBehavior.prototype.onDamageDealt(self, target, event)
26
+ end
27
+ function UnitBehavior.prototype.onDamageReceiving(self, source, event)
28
+ end
29
+ function UnitBehavior.prototype.onDamageReceived(self, source, event)
30
+ end
31
+ function UnitBehavior.prototype.onAbilityGained(self, ability)
32
+ end
33
+ function UnitBehavior.prototype.onAbilityLost(self, ability)
34
+ end
35
+ function UnitBehavior.prototype.onKill(self, target)
36
+ end
37
+ function UnitBehavior.prototype.onDeath(self, source)
38
+ end
39
+ __TS__SetDescriptor(
40
+ UnitBehavior.prototype,
41
+ "unit",
42
+ {get = function(self)
43
+ return self.object
44
+ end},
45
+ true
46
+ );
47
+ (function(self)
48
+ Unit.autoAttackStartEvent:addListener(function(source, target)
49
+ ____exports.UnitBehavior:forAll(source, "onAutoAttackStart", target)
50
+ end)
51
+ Unit.autoAttackFinishEvent:addListener(function(source, target)
52
+ ____exports.UnitBehavior:forAll(source, "onAutoAttackFinish", target)
53
+ end)
54
+ Unit.onDamaging:addListener(function(source, target, event)
55
+ if source ~= nil then
56
+ ____exports.UnitBehavior:forAll(source, "onDamageDealing", target, event)
57
+ end
58
+ ____exports.UnitBehavior:forAll(target, "onDamageReceiving", source, event)
59
+ end)
60
+ Unit.onDamage:addListener(function(source, target, event)
61
+ if source ~= nil then
62
+ ____exports.UnitBehavior:forAll(source, "onDamageDealt", target, event)
63
+ end
64
+ ____exports.UnitBehavior:forAll(target, "onDamageReceived", source, event)
65
+ end)
66
+ Unit.abilityGainedEvent:addListener(function(source, target)
67
+ ____exports.UnitBehavior:forAll(source, "onAbilityGained", target)
68
+ end)
69
+ Unit.abilityLostEvent:addListener(function(source, target)
70
+ ____exports.UnitBehavior:forAll(source, "onAbilityLost", target)
71
+ end)
72
+ Unit.deathEvent:addListener(function(target, source)
73
+ if source ~= nil then
74
+ ____exports.UnitBehavior:forAll(source, "onKill", target)
75
+ end
76
+ ____exports.UnitBehavior:forAll(target, "onDeath", source)
77
+ end)
78
+ end)(UnitBehavior)
79
+ Unit.destroyEvent:addListener(function(unit)
80
+ ____exports.UnitBehavior:forAll(unit, "destroy")
81
+ end)
82
+ return ____exports
@@ -0,0 +1,221 @@
1
+ /** @noSelfInFile */
2
+ import { DamageEvent, Unit } from "./internal/unit";
3
+ import { ApplicableBuffTypeId } from "./object-data/entry/buff-type/applicable";
4
+ import { Ability } from "./internal/ability";
5
+ import { AbilityTypeId } from "./object-data/entry/ability-type";
6
+ import { BuffPolarity } from "./object-data/auxiliary/buff-polarity";
7
+ import { BuffResistanceType } from "./object-data/auxiliary/buff-resistance-type";
8
+ import { AbilityBooleanField, AbilityBooleanLevelField, AbilityCombatClassificationsLevelField, AbilityDependentValue, AbilityIntegerField, AbilityIntegerLevelField, AbilityNumberField, AbilityNumberLevelField } from "./object-field/ability";
9
+ import { CombatClassifications } from "./object-data/auxiliary/combat-classification";
10
+ import { IsExactlyAny, NonEmptyArray, Prohibit } from "../utility/types";
11
+ import { UnitBehavior } from "./behaviour/unit";
12
+ import type { Widget } from "../core/types/widget";
13
+ import { Destructor } from "../destroyable";
14
+ export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
15
+ type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
16
+ type IntegerParameterValueType = number | AbilityIntegerField | AbilityIntegerLevelField;
17
+ type BooleanParameterValueType = boolean | AbilityBooleanField | AbilityBooleanLevelField;
18
+ export declare class BuffUniqueGroup {
19
+ }
20
+ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
21
+ spellStealPriority?: number;
22
+ level?: number;
23
+ duration?: number;
24
+ learnLevelMinimum?: number;
25
+ source?: Unit;
26
+ behaviorConstructors?: (new (unit: Unit) => UnitBehavior)[];
27
+ abilityTypeIds?: Record<AbilityTypeId, {
28
+ [numberField: (AbilityNumberField | AbilityNumberLevelField) & symbol]: NumberParameterValueType;
29
+ } & {
30
+ /** Default `true`. */
31
+ readonly isButtonVisible?: boolean;
32
+ /** Default is the level of the source ability or 0 if it is absent. */
33
+ readonly level?: number;
34
+ }>;
35
+ damageUponDeathAllowedTargetCombatClassifications?: CombatClassifications | AbilityCombatClassificationsLevelField;
36
+ damageUponDeath?: NumberParameterValueType;
37
+ damageUponDeathRange?: NumberParameterValueType;
38
+ mediumDamageUponDeath?: NumberParameterValueType;
39
+ mediumDamageUponDeathRange?: NumberParameterValueType;
40
+ smallDamageUponDeath?: NumberParameterValueType;
41
+ smallDamageUponDeathRange?: NumberParameterValueType;
42
+ damageOverDuration?: NumberParameterValueType;
43
+ damagePerInterval?: NumberParameterValueType;
44
+ damageInterval?: NumberParameterValueType;
45
+ healingOverDuration?: NumberParameterValueType;
46
+ healingPerInterval?: NumberParameterValueType;
47
+ healingInterval?: NumberParameterValueType;
48
+ damageIncrease?: NumberParameterValueType;
49
+ damageIncreaseFactor?: NumberParameterValueType;
50
+ armorIncrease?: NumberParameterValueType;
51
+ armorIncreaseFactor?: NumberParameterValueType;
52
+ attackSpeedIncreaseFactor?: NumberParameterValueType;
53
+ movementSpeedIncreaseFactor?: NumberParameterValueType;
54
+ receivedDamageFactor?: NumberParameterValueType;
55
+ receivedMagicDamageFactor?: NumberParameterValueType;
56
+ durationIncreaseOnAutoAttack?: NumberParameterValueType;
57
+ maximumRemainingDuration?: NumberParameterValueType;
58
+ maximumDuration?: NumberParameterValueType;
59
+ stuns?: BooleanParameterValueType;
60
+ ignoresStunImmunity?: BooleanParameterValueType;
61
+ providesStunImmunity?: BooleanParameterValueType;
62
+ providesSpellImmunity?: BooleanParameterValueType;
63
+ providesInvulnerability?: BooleanParameterValueType;
64
+ disablesAutoAttack?: BooleanParameterValueType;
65
+ destroysOnDamage?: BooleanParameterValueType;
66
+ maximumAutoAttackCount?: IntegerParameterValueType;
67
+ uniqueGroup?: BuffUniqueGroup;
68
+ } : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : object);
69
+ declare const enum BuffPropertyKey {
70
+ UNIT = 100,
71
+ SOURCE = 101,
72
+ DURATION = 102,
73
+ UNIQUE_GROUP = 103,
74
+ EFFECT_MODEL_PATH = 104,
75
+ SPECIAL_EFFECT_MODEL_PATH = 105,
76
+ DURATION_INCREASE_ON_AUTO_ATTACK = 106,
77
+ MAXIMUM_DURATION = 107,
78
+ MAXIMUM_REMAINING_DURATION = 108,
79
+ DAMAGE_OVER_DURATION = 109,
80
+ DAMAGE_PER_INTERVAL = 110,
81
+ DAMAGE_INTERVAL = 111,
82
+ REMAINING_DAMAGE_OVER_DURATION = 112,
83
+ DAMAGE_INTERVAL_TIMER = 113,
84
+ HEALING_OVER_DURATION = 114,
85
+ HEALING_PER_INTERVAL = 115,
86
+ HEALING_INTERVAL = 116,
87
+ REMAINING_HEALING_OVER_DURATION = 117,
88
+ HEALING_INTERVAL_TIMER = 118,
89
+ DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS = 119,
90
+ DAMAGE_UPON_DEATH = 120,
91
+ DAMAGE_UPON_DEATH_RANGE = 121,
92
+ MEDIUM_DAMAGE_UPON_DEATH = 122,
93
+ MEDIUM_DAMAGE_UPON_DEATH_RANGE = 123,
94
+ SMALL_DAMAGE_UPON_DEATH = 124,
95
+ SMALL_DAMAGE_UPON_DEATH_RANGE = 125,
96
+ AUTO_ATTACK_COUNT = 126,
97
+ MAXIMUM_AUTO_ATTACK_COUNT = 127,
98
+ STUNS = 128,
99
+ IGNORES_STUN_IMMUNITY = 129,
100
+ DISABLES_AUTO_ATTACK = 130,
101
+ PROVIDES_INVULNERABILITY = 131
102
+ }
103
+ export declare const enum BuffTypeIdSelectionPolicy {
104
+ LEAST_DURATION = 0
105
+ }
106
+ export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
107
+ export type BuffConstructorParameters<AdditionalParameters extends BuffAdditionalParameters> = [
108
+ ...typeId: [ApplicableBuffTypeId] | [
109
+ typeIds: NonEmptyArray<ApplicableBuffTypeId>,
110
+ typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
111
+ ],
112
+ polarity: BuffPolarity,
113
+ resistanceType: BuffResistanceType,
114
+ ...abilityOrParameters: [
115
+ ability: Ability,
116
+ parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
117
+ ] | [parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>]
118
+ ];
119
+ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
120
+ private _unit;
121
+ protected readonly __additionalParametersBrand?: AdditionalParameters;
122
+ private [BuffPropertyKey.UNIT];
123
+ private [BuffPropertyKey.SOURCE]?;
124
+ private [BuffPropertyKey.DURATION];
125
+ private [BuffPropertyKey.UNIQUE_GROUP]?;
126
+ private [BuffPropertyKey.EFFECT_MODEL_PATH];
127
+ private [BuffPropertyKey.SPECIAL_EFFECT_MODEL_PATH];
128
+ private [BuffPropertyKey.DURATION_INCREASE_ON_AUTO_ATTACK]?;
129
+ private [BuffPropertyKey.MAXIMUM_DURATION]?;
130
+ private [BuffPropertyKey.MAXIMUM_REMAINING_DURATION]?;
131
+ private [BuffPropertyKey.DAMAGE_OVER_DURATION]?;
132
+ private [BuffPropertyKey.DAMAGE_PER_INTERVAL]?;
133
+ private [BuffPropertyKey.DAMAGE_INTERVAL]?;
134
+ private [BuffPropertyKey.REMAINING_DAMAGE_OVER_DURATION]?;
135
+ private [BuffPropertyKey.DAMAGE_INTERVAL_TIMER]?;
136
+ private [BuffPropertyKey.HEALING_OVER_DURATION]?;
137
+ private [BuffPropertyKey.HEALING_PER_INTERVAL]?;
138
+ private [BuffPropertyKey.HEALING_INTERVAL]?;
139
+ private [BuffPropertyKey.REMAINING_HEALING_OVER_DURATION]?;
140
+ private [BuffPropertyKey.HEALING_INTERVAL_TIMER]?;
141
+ private [BuffPropertyKey.DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS]?;
142
+ private [BuffPropertyKey.DAMAGE_UPON_DEATH]?;
143
+ private [BuffPropertyKey.DAMAGE_UPON_DEATH_RANGE]?;
144
+ private [BuffPropertyKey.MEDIUM_DAMAGE_UPON_DEATH]?;
145
+ private [BuffPropertyKey.MEDIUM_DAMAGE_UPON_DEATH_RANGE]?;
146
+ private [BuffPropertyKey.SMALL_DAMAGE_UPON_DEATH]?;
147
+ private [BuffPropertyKey.SMALL_DAMAGE_UPON_DEATH_RANGE]?;
148
+ private [BuffPropertyKey.MAXIMUM_AUTO_ATTACK_COUNT]?;
149
+ private [BuffPropertyKey.AUTO_ATTACK_COUNT]?;
150
+ private [BuffPropertyKey.STUNS]?;
151
+ private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
152
+ private [BuffPropertyKey.DISABLES_AUTO_ATTACK]?;
153
+ private [BuffPropertyKey.PROVIDES_INVULNERABILITY]?;
154
+ protected static readonly defaultParameters: BuffParameters;
155
+ get source(): Unit;
156
+ readonly typeId: ApplicableBuffTypeId;
157
+ readonly polarity: BuffPolarity;
158
+ readonly resistanceType: BuffResistanceType;
159
+ readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any : keyof AdditionalParameters extends never ? undefined : {
160
+ [K in keyof Omit<AdditionalParameters, keyof BuffParameters>]: AdditionalParameters[K] extends AbilityDependentValue<infer T> ? T : AdditionalParameters[K];
161
+ };
162
+ private readonly handle;
163
+ private _timer?;
164
+ private readonly _level?;
165
+ private readonly _spellStealPriority?;
166
+ private readonly _learnLevelMinimum?;
167
+ private _bonusIdByBonusType?;
168
+ private readonly _abilityTypeIds?;
169
+ private _behaviors?;
170
+ private getUnitBonus;
171
+ private addOrUpdateOrRemoveUnitBonus;
172
+ constructor(target: Unit, ...parameters: BuffConstructorParameters<AdditionalParameters>);
173
+ get level(): number;
174
+ get remainingDamageOverDuration(): number;
175
+ set remainingDamageOverDuration(remainingDamageOverDuration: number);
176
+ get damageOverDuration(): number;
177
+ set damageOverDuration(damageOverDuration: number);
178
+ get damagePerInterval(): number;
179
+ set damagePerInterval(damagePerInterval: number);
180
+ get damageInterval(): number;
181
+ set damageInterval(damageInterval: number);
182
+ get remainingHealingOverDuration(): number;
183
+ set remainingHealingOverDuration(remainingHealingOverDuration: number);
184
+ get healingOverDuration(): number;
185
+ set healingOverDuration(healingOverDuration: number);
186
+ get healingPerInterval(): number;
187
+ set healingPerInterval(healingPerInterval: number);
188
+ get healingInterval(): number;
189
+ set healingInterval(healingInterval: number);
190
+ get receivedDamageFactor(): number;
191
+ set receivedDamageFactor(receivedDamageFactor: number);
192
+ get armorIncrease(): number;
193
+ set armorIncrease(armorIncrease: number);
194
+ get stuns(): boolean;
195
+ set stuns(stuns: boolean);
196
+ get ignoresStunImmunity(): boolean;
197
+ set ignoresStunImmunity(ignoresStunImmunity: boolean);
198
+ get disablesAutoAttack(): boolean;
199
+ set disablesAutoAttack(disablesAutoAttack: boolean);
200
+ get providesInvulnerability(): boolean;
201
+ set providesInvulnerability(providesInvulnerability: boolean);
202
+ get maximumAutoAttackCount(): number;
203
+ set maximumAutoAttackCount(maximumAutoAttackCount: number);
204
+ get durationIncreaseOnAutoAttack(): number;
205
+ set durationIncreaseOnAutoAttack(durationIncreaseOnAutoAttack: number);
206
+ get attackSpeedIncreaseFactor(): number;
207
+ set attackSpeedIncreaseFactor(attackSpeedIncreaseFactor: number);
208
+ get movementSpeedIncreaseFactor(): number;
209
+ set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
210
+ get duration(): number;
211
+ get remainingDuration(): number;
212
+ set remainingDuration(remainingDuration: number);
213
+ flashEffect(...parameters: [...widget: [] | [Widget], ...duration: [] | [number]]): void;
214
+ flashSpecialEffect(...parameters: [...widget: [] | [Widget], ...duration: [] | [number]]): void;
215
+ protected onDestroy(): Destructor;
216
+ static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
217
+ static getByTypeId<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, unit: Unit, typeId: ApplicableBuffTypeId): T | undefined;
218
+ onDeath(source: Unit | undefined): void;
219
+ onDamageDealt(target: Unit, event: DamageEvent): void;
220
+ }
221
+ export {};