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,15 @@
1
+ /** @noSelfInFile */
2
+ import { BuffPolarity } from "../../auxiliary/buff-polarity";
3
+ import { BuffResistanceType } from "../../auxiliary/buff-resistance-type";
4
+ import { BuffType, BuffTypeId } from "../buff-type";
5
+ export type ApplicableBuffTypeId = BuffTypeId & {
6
+ readonly __applicableBuffTypeId: unique symbol;
7
+ };
8
+ export declare class ApplicableBuffType extends BuffType<ApplicableBuffTypeId> {
9
+ static readonly BASE_ID: BuffTypeId;
10
+ levelCount: number;
11
+ resistanceType?: Exclude<BuffResistanceType, BuffResistanceType.BOTH>;
12
+ polarity?: BuffPolarity;
13
+ constructor(object: WarObject);
14
+ static wrap(other: BuffType): ApplicableBuffType;
15
+ }
@@ -0,0 +1,333 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__InstanceOf = ____lualib.__TS__InstanceOf
5
+ local __TS__New = ____lualib.__TS__New
6
+ local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
7
+ local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
8
+ local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
9
+ local ____exports = {}
10
+ local preparePhysicalPositiveApplicatorAbility
11
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
12
+ local AbilityType = ____ability_2Dtype.AbilityType
13
+ local ____cripple = require("engine.object-data.entry.ability-type.cripple")
14
+ local CrippleAbilityType = ____cripple.CrippleAbilityType
15
+ local ____searing_2Darrows = require("engine.object-data.entry.ability-type.searing-arrows")
16
+ local SearingArrowsAbilityType = ____searing_2Darrows.SearingArrowsAbilityType
17
+ local ____slow_2Dpoison = require("engine.object-data.entry.ability-type.slow-poison")
18
+ local SlowPoisonAbilityType = ____slow_2Dpoison.SlowPoisonAbilityType
19
+ local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
20
+ local combatClassificationsOf = ____combat_2Dclassification.combatClassificationsOf
21
+ local ____buff_2Dtype = require("engine.object-data.entry.buff-type")
22
+ local BuffType = ____buff_2Dtype.BuffType
23
+ local ____dummy = require("core.dummy")
24
+ local InstantDummyCaster = ____dummy.InstantDummyCaster
25
+ local ____unit = require("engine.internal.unit")
26
+ local Unit = ____unit.Unit
27
+ local ____math = require("math")
28
+ local MAXIMUM_INTEGER = ____math.MAXIMUM_INTEGER
29
+ local ____arrays = require("utility.arrays")
30
+ local chunked = ____arrays.chunked
31
+ local map = ____arrays.map
32
+ local max = ____arrays.max
33
+ local toLuaSet = ____arrays.toLuaSet
34
+ local ____blood_2Dlust = require("engine.object-data.entry.ability-type.blood-lust")
35
+ local BloodLustAbilityType = ____blood_2Dlust.BloodLustAbilityType
36
+ local ____berserk = require("engine.object-data.entry.ability-type.berserk")
37
+ local BerserkAbilityType = ____berserk.BerserkAbilityType
38
+ local ____blank = require("engine.object-data.entry.upgrade.blank")
39
+ local BlankUpgrade = ____blank.BlankUpgrade
40
+ local ____unit_2Dtype = require("engine.object-data.entry.unit-type")
41
+ local UnitType = ____unit_2Dtype.UnitType
42
+ local ____permanent_2Dimmolation = require("engine.object-data.entry.ability-type.permanent-immolation")
43
+ local PermanentImmolationAbilityType = ____permanent_2Dimmolation.PermanentImmolationAbilityType
44
+ local ____cast_2Dability = require("engine.internal.mechanics.cast-ability")
45
+ local castAbility = ____cast_2Dability.castAbility
46
+ local createItem = CreateItem
47
+ local getAbilityId = BlzGetAbilityId
48
+ local getItemAbility = BlzGetItemAbility
49
+ local getOwningPlayer = GetOwningPlayer
50
+ local getUnitAbilityByIndex = BlzGetUnitAbilityByIndex
51
+ local itemAddAbility = BlzItemAddAbility
52
+ local removeItem = RemoveItem
53
+ local setAbilityIntegerField = BlzSetAbilityIntegerField
54
+ local setAbilityRealLevelField = BlzSetAbilityRealLevelField
55
+ local setItemBooleanField = BlzSetItemBooleanField
56
+ local setPlayerTechResearched = SetPlayerTechResearched
57
+ local unitAddAbility = UnitAddAbility
58
+ local unitAddItem = UnitAddItem
59
+ local unitDisableAbility = BlzUnitDisableAbility
60
+ local unitDropItemSlot = UnitDropItemSlot
61
+ local unitInventorySize = UnitInventorySize
62
+ local unitRemoveAbility = UnitRemoveAbility
63
+ local compiletimeApplicableBuffTypes = {}
64
+ ____exports.ApplicableBuffType = __TS__Class()
65
+ local ApplicableBuffType = ____exports.ApplicableBuffType
66
+ ApplicableBuffType.name = "ApplicableBuffType"
67
+ __TS__ClassExtends(ApplicableBuffType, BuffType)
68
+ function ApplicableBuffType.prototype.____constructor(self, object)
69
+ BuffType.prototype.____constructor(self, object)
70
+ self.levelCount = 4
71
+ compiletimeApplicableBuffTypes[self] = true
72
+ end
73
+ function ApplicableBuffType.wrap(self, other)
74
+ if __TS__InstanceOf(other, ____exports.ApplicableBuffType) then
75
+ return other
76
+ end
77
+ return __TS__New(____exports.ApplicableBuffType, other.object)
78
+ end
79
+ ApplicableBuffType.BASE_ID = fourCC("BHbz")
80
+ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId = table.unpack(postcompile(function()
81
+ local function prepareAbilityType(abilityTypeConstructor, applicableBuffType)
82
+ local abilityType = abilityTypeConstructor:create()
83
+ abilityType.isInternal = true
84
+ abilityType.levelCount = applicableBuffType.levelCount
85
+ abilityType.buttonPositionX = 0
86
+ abilityType.buttonPositionY = -11
87
+ abilityType.casterAttachmentPresets = {}
88
+ abilityType.targetEffectPresets = {}
89
+ abilityType.soundPresetName = ""
90
+ abilityType.learnLevelMinimum = 6
91
+ abilityType.race = "other"
92
+ abilityType.shouldCheckTechTreeDependencies = false
93
+ abilityType.techTreeDependencies = {}
94
+ abilityType.allowedTargetCombatClassifications = combatClassificationsOf(
95
+ 4,
96
+ 2,
97
+ 2097152,
98
+ 8,
99
+ 1048576,
100
+ 16
101
+ )
102
+ abilityType.areaOfEffect = 0
103
+ abilityType.castRange = 999999
104
+ abilityType.cooldown = 0
105
+ abilityType.manaCost = 0
106
+ abilityType.buffDuration = 0
107
+ abilityType.heroBuffDuration = 0
108
+ return abilityType
109
+ end
110
+ local multilevelPhysicalPositiveApplicatorAbilityTypes = {}
111
+ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId = {}
112
+ for applicableBuffType in pairs(compiletimeApplicableBuffTypes) do
113
+ local applicatorAbilityTypeIdByApplicatorType = {}
114
+ if applicableBuffType.resistanceType == 1 or applicableBuffType.resistanceType == nil then
115
+ if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
116
+ local applicatorAbilityType = prepareAbilityType(CrippleAbilityType, applicableBuffType)
117
+ applicatorAbilityType.movementSpeedDecreaseFactor = 0
118
+ applicatorAbilityType.attackSpeedDecreaseFactor = 0
119
+ applicatorAbilityType.damageDecreaseFactor = 0
120
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
121
+ applicatorAbilityTypeIdByApplicatorType[852189] = applicatorAbilityType.id
122
+ end
123
+ if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
124
+ local applicatorAbilityType = prepareAbilityType(BloodLustAbilityType, applicableBuffType)
125
+ applicatorAbilityType.attackSpeedIncreaseFactor = 0
126
+ applicatorAbilityType.movementSpeedIncreaseFactor = 0
127
+ applicatorAbilityType.scaleIncrease = 0
128
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
129
+ applicatorAbilityTypeIdByApplicatorType[852101] = applicatorAbilityType.id
130
+ end
131
+ end
132
+ if applicableBuffType.resistanceType == 2 or applicableBuffType.resistanceType == nil then
133
+ if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
134
+ local applicatorAbilityType = prepareAbilityType(SlowPoisonAbilityType, applicableBuffType)
135
+ applicatorAbilityType.damagePerSecond = 0
136
+ applicatorAbilityType.movementSpeedDecreaseFactor = 0
137
+ applicatorAbilityType.attackSpeedDecreaseFactor = 0
138
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id, applicableBuffType.id}
139
+ applicatorAbilityTypeIdByApplicatorType[852173] = applicatorAbilityType.id
140
+ end
141
+ if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
142
+ local applicatorAbilityType = prepareAbilityType(BerserkAbilityType, applicableBuffType)
143
+ applicatorAbilityType.attackSpeedIncreaseFactor = 0
144
+ applicatorAbilityType.movementSpeedIncreaseFactor = 0
145
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
146
+ if applicatorAbilityType.levelCount > 1 then
147
+ multilevelPhysicalPositiveApplicatorAbilityTypes[#multilevelPhysicalPositiveApplicatorAbilityTypes + 1] = applicatorAbilityType
148
+ end
149
+ applicatorAbilityTypeIdByApplicatorType[852100] = applicatorAbilityType.id
150
+ end
151
+ end
152
+ if applicableBuffType.polarity == 0 or applicableBuffType.polarity == nil then
153
+ local applicatorAbilityType = prepareAbilityType(PermanentImmolationAbilityType, applicableBuffType)
154
+ applicatorAbilityType.levelCount = 1
155
+ applicatorAbilityType.damagePerInterval = 0
156
+ applicatorAbilityType.castRange = 0
157
+ applicatorAbilityType.buffDuration = MAXIMUM_INTEGER
158
+ applicatorAbilityType.heroBuffDuration = MAXIMUM_INTEGER
159
+ applicatorAbilityType.allowedTargetCombatClassifications = combatClassificationsOf(1)
160
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
161
+ applicatorAbilityTypeIdByApplicatorType[0] = applicatorAbilityType.id
162
+ end
163
+ applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffType.id] = applicatorAbilityTypeIdByApplicatorType
164
+ end
165
+ local applicatorUpgradeIds = {}
166
+ local applicatorUpgradeIdByApplicatorAbilityTypeId = {}
167
+ for ____, multilevelPhysicalPositiveApplicatorAbilityTypesChunk in ipairs(chunked(multilevelPhysicalPositiveApplicatorAbilityTypes, 4)) do
168
+ local maxLevelCount = max(map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "levelCount"))
169
+ local applicatorAbilityTypeIds = map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "id")
170
+ local applicatorUpgrade = BlankUpgrade:create()
171
+ applicatorUpgrade.isInternal = true
172
+ applicatorUpgrade.levelCount = maxLevelCount - 1
173
+ applicatorUpgrade.effects = map(
174
+ applicatorAbilityTypeIds,
175
+ function(applicatorAbilityTypeId)
176
+ return {type = "rlev", bonusBase = 1, bonusIncrement = 1, abilityTypeId = applicatorAbilityTypeId}
177
+ end
178
+ )
179
+ applicatorUpgradeIds[#applicatorUpgradeIds + 1] = applicatorUpgrade.id
180
+ for ____, applicatorAbilityTypeId in ipairs(applicatorAbilityTypeIds) do
181
+ applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId] = applicatorUpgrade.id
182
+ end
183
+ end
184
+ for ____, unitType in ipairs(UnitType:getAll()) do
185
+ local ____array_0 = __TS__SparseArrayNew(table.unpack(unitType.affectingUpgradeIds))
186
+ __TS__SparseArrayPush(
187
+ ____array_0,
188
+ table.unpack(applicatorUpgradeIds)
189
+ )
190
+ unitType.affectingUpgradeIds = {__TS__SparseArraySpread(____array_0)}
191
+ end
192
+ return {applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId}
193
+ end))
194
+ local EVASION_ABILITY_TYPE_IDS = postcompile(function()
195
+ return AbilityType:getAllIdsByBaseIds(map({
196
+ "AEev",
197
+ "ACes",
198
+ "ACev",
199
+ "AIes",
200
+ "ANdb",
201
+ "Acdb",
202
+ "AOcr",
203
+ "ACct",
204
+ "AIcs"
205
+ }, fourCC))
206
+ end)
207
+ local INVENTORY_ABILITY_TYPE_IDS = postcompile(function()
208
+ return toLuaSet(AbilityType:getAllIdsByBaseIds(map({
209
+ "AInv",
210
+ "Aihn",
211
+ "Aien",
212
+ "Aion",
213
+ "Aiun"
214
+ }, fourCC)))
215
+ end)
216
+ local SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID = compiletime(function()
217
+ local abilityType = SearingArrowsAbilityType:create()
218
+ abilityType.isInternal = true
219
+ abilityType.levelCount = 1
220
+ abilityType.missileModelPath = ""
221
+ abilityType.race = "other"
222
+ abilityType.learnLevelMinimum = 6
223
+ abilityType.shouldCheckTechTreeDependencies = false
224
+ abilityType.techTreeDependencies = {}
225
+ abilityType.damageIncrease = 0
226
+ abilityType.castRange = 99999
227
+ abilityType.manaCost = 0
228
+ abilityType.cooldown = 0
229
+ abilityType.allowedTargetCombatClassifications = combatClassificationsOf(
230
+ 2,
231
+ 4,
232
+ 8,
233
+ 16,
234
+ 1048576,
235
+ 2097152
236
+ )
237
+ return abilityType.id
238
+ end)
239
+ Unit.abilityCastingStartEvent[SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID]:addListener(
240
+ 4,
241
+ function(unit)
242
+ unit:removeAbility(SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID)
243
+ end
244
+ )
245
+ ---
246
+ -- @internal For use by internal systems only.
247
+ ____exports.internalApplyBuff = function(unit, applicableBuffTypeId, polarity, resistanceType, level, duration, spellStealPriority, learnLevelMinimum, movementSpeedIncreaseFactor)
248
+ local applicatorType = polarity == 1 and (resistanceType == 1 and 852101 or 852100) or (polarity == 2 and (resistanceType == 1 and 852189 or 852173) or 0)
249
+ local ____opt_1 = applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffTypeId]
250
+ local applicatorAbilityTypeId = ____opt_1 and ____opt_1[applicatorType]
251
+ if applicatorAbilityTypeId == nil then
252
+ return false
253
+ end
254
+ if applicatorType == 0 then
255
+ return unitAddAbility(unit.handle, applicatorAbilityTypeId)
256
+ end
257
+ if applicatorType == 852100 then
258
+ local nativePlayer = unit.owner.handle
259
+ if level ~= nil and level > 0 then
260
+ local upgradeId = applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId]
261
+ if upgradeId ~= nil then
262
+ setPlayerTechResearched(nativePlayer, upgradeId, level)
263
+ end
264
+ end
265
+ local success = castAbility(
266
+ unit.handle,
267
+ applicatorAbilityTypeId,
268
+ preparePhysicalPositiveApplicatorAbility,
269
+ level,
270
+ duration or 0,
271
+ movementSpeedIncreaseFactor
272
+ )
273
+ if level ~= nil and level > 0 then
274
+ local upgradeId = applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId]
275
+ if upgradeId ~= nil then
276
+ setPlayerTechResearched(nativePlayer, upgradeId, 0)
277
+ end
278
+ end
279
+ return success
280
+ end
281
+ if applicatorType == 852173 then
282
+ for ____, abilityId in ipairs(EVASION_ABILITY_TYPE_IDS) do
283
+ unitDisableAbility(unit.handle, abilityId, true, false)
284
+ end
285
+ end
286
+ local success = InstantDummyCaster:getInstance():castTarget(
287
+ unit.owner,
288
+ {applicatorAbilityTypeId, SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID},
289
+ function(ability)
290
+ if level == nil then
291
+ ability:setField(ABILITY_IF_LEVELS, 1)
292
+ level = 0
293
+ end
294
+ ability.level = level
295
+ duration = duration or 0
296
+ local actualDuration = duration > 0 and duration or MAXIMUM_INTEGER
297
+ ability:setField(ABILITY_RLF_DURATION_NORMAL, level, actualDuration)
298
+ ability:setField(ABILITY_RLF_DURATION_HERO, level, actualDuration)
299
+ ability:setField(ABILITY_IF_PRIORITY, spellStealPriority or 0)
300
+ ability:setField(ABILITY_IF_REQUIRED_LEVEL, learnLevelMinimum or 6)
301
+ end,
302
+ applicatorType,
303
+ unit
304
+ )
305
+ if applicatorType == 852173 then
306
+ for ____, abilityId in ipairs(EVASION_ABILITY_TYPE_IDS) do
307
+ unitDisableAbility(unit.handle, abilityId, false, false)
308
+ end
309
+ end
310
+ return success
311
+ end
312
+ preparePhysicalPositiveApplicatorAbility = function(ability, level, duration, movementSpeedIncreaseFactor)
313
+ if level == nil then
314
+ setAbilityIntegerField(ability, ABILITY_IF_LEVELS, 1)
315
+ level = 1
316
+ end
317
+ setAbilityRealLevelField(ability, ABILITY_RLF_DURATION_NORMAL, level, duration)
318
+ setAbilityRealLevelField(ability, ABILITY_RLF_DURATION_HERO, level, duration)
319
+ if movementSpeedIncreaseFactor ~= nil then
320
+ setAbilityRealLevelField(ability, ABILITY_RLF_MOVEMENT_SPEED_INCREASE_BSK1, level, movementSpeedIncreaseFactor)
321
+ end
322
+ end
323
+ ---
324
+ -- @internal For use by internal systems only.
325
+ ____exports.removeBuff = function(unit, applicableBuffTypeId)
326
+ local ____opt_3 = applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffTypeId]
327
+ local applicatorAbilityTypeId = ____opt_3 and ____opt_3[0]
328
+ if applicatorAbilityTypeId ~= nil then
329
+ unitRemoveAbility(unit, applicatorAbilityTypeId)
330
+ end
331
+ return unitRemoveAbility(unit, applicableBuffTypeId)
332
+ end
333
+ return ____exports
@@ -0,0 +1,7 @@
1
+ /** @noSelfInFile */
2
+ import { BuffType, BuffTypeId } from "../buff-type";
3
+ export declare class BlankBuffType extends BuffType {
4
+ static readonly BASE_ID: BuffTypeId;
5
+ protected static readonly IS_SYNTHETIC = true;
6
+ constructor(object: WarObject);
7
+ }
@@ -0,0 +1,17 @@
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 ____buff_2Dtype = require("engine.object-data.entry.buff-type")
6
+ local BuffType = ____buff_2Dtype.BuffType
7
+ ____exports.BlankBuffType = __TS__Class()
8
+ local BlankBuffType = ____exports.BlankBuffType
9
+ BlankBuffType.name = "BlankBuffType"
10
+ __TS__ClassExtends(BlankBuffType, BuffType)
11
+ function BlankBuffType.prototype.____constructor(self, object)
12
+ BuffType.prototype.____constructor(self, object)
13
+ self.name = ""
14
+ end
15
+ BlankBuffType.BASE_ID = fourCC("BHbz")
16
+ BlankBuffType.IS_SYNTHETIC = true
17
+ return ____exports
@@ -0,0 +1,63 @@
1
+ /** @noSelfInFile */
2
+ import { TupleOf } from "../../../utility/types";
3
+ import { AttachmentPreset, AttachmentPresetInput } from "../auxiliary/attachment-preset";
4
+ import { Race } from "../auxiliary/race";
5
+ import { SoundPresetName } from "../auxiliary/sound-preset-name";
6
+ import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
7
+ import { LightningTypeId } from "./lightning-type";
8
+ export type BuffTypeId = ObjectDataEntryId & {
9
+ readonly __buffTypeId: unique symbol;
10
+ };
11
+ export declare abstract class BuffType<Id extends BuffTypeId = BuffTypeId> extends ObjectDataEntry<Id> {
12
+ private static readonly idGenerator;
13
+ protected static generateId(): number;
14
+ protected static getObjectData(map: WarMap): WarObjects;
15
+ get effectAttachmentPreset(): AttachmentPreset | undefined;
16
+ set effectAttachmentPreset(effectAttachmentPreset: AttachmentPresetInput | undefined);
17
+ get iconPath(): string;
18
+ set iconPath(iconPath: string);
19
+ get iconPathSD(): string;
20
+ set iconPathSD(iconPathSD: string);
21
+ get iconPathHD(): string;
22
+ set iconPathHD(iconPathHD: string);
23
+ get isMissileHoming(): boolean;
24
+ set isMissileHoming(isMissileHoming: boolean);
25
+ get lightningTypeIds(): LightningTypeId[];
26
+ set lightningTypeIds(lightningTypeIds: LightningTypeId[]);
27
+ get missileModelPath(): string;
28
+ set missileModelPath(missileModelPath: string);
29
+ get missileModelPathSD(): string;
30
+ set missileModelPathSD(missileModelPathSD: string);
31
+ get missileModelPathHD(): string;
32
+ set missileModelPathHD(missileModelPathHD: string);
33
+ get missileMovementArc(): number;
34
+ set missileMovementArc(missileMovementArc: number);
35
+ get missileMovementSpeed(): number;
36
+ set missileMovementSpeed(missileMovementSpeed: number);
37
+ get specialAttachmentPreset(): AttachmentPreset | undefined;
38
+ set specialAttachmentPreset(specialAttachmentPreset: AttachmentPresetInput | undefined);
39
+ get targetAttachmentPresets(): TupleOf<AttachmentPreset, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
40
+ set targetAttachmentPresets(targetAttachmentPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
41
+ get soundPresetName(): SoundPresetName;
42
+ set soundPresetName(soundPresetName: SoundPresetName);
43
+ get loopingSoundPresetName(): SoundPresetName;
44
+ set loopingSoundPresetName(loopingSoundPresetName: SoundPresetName);
45
+ get race(): Race;
46
+ set race(race: Race);
47
+ get name(): string;
48
+ set name(name: string);
49
+ get tooltipText(): string;
50
+ set tooltipText(tooltipText: string);
51
+ get tooltipExtendedText(): string;
52
+ set tooltipExtendedText(tooltipText: string);
53
+ }
54
+ declare const AvatarBuffType_base: typeof BuffType;
55
+ export declare class AvatarBuffType extends AvatarBuffType_base {
56
+ }
57
+ declare const DevotionAuraBuffType_base: typeof BuffType;
58
+ export declare class DevotionAuraBuffType extends DevotionAuraBuffType_base {
59
+ }
60
+ declare const DivineShieldBuffType_base: typeof BuffType;
61
+ export declare class DivineShieldBuffType extends DivineShieldBuffType_base {
62
+ }
63
+ export {};