warscript 0.0.1-dev.404878c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/LICENSE +23 -0
  2. package/binaryreader.d.ts +20 -0
  3. package/binaryreader.lua +50 -0
  4. package/binarywriter.d.ts +21 -0
  5. package/binarywriter.lua +90 -0
  6. package/core/dummy.d.ts +22 -0
  7. package/core/dummy.lua +133 -0
  8. package/core/game.d.ts +3 -0
  9. package/core/game.lua +24 -0
  10. package/core/mapbounds.d.ts +8 -0
  11. package/core/mapbounds.lua +12 -0
  12. package/core/thread.d.ts +8 -0
  13. package/core/thread.lua +40 -0
  14. package/core/types/ability.d.ts +4 -0
  15. package/core/types/ability.lua +10 -0
  16. package/core/types/async.d.ts +3 -0
  17. package/core/types/async.lua +2 -0
  18. package/core/types/camera.d.ts +4 -0
  19. package/core/types/camera.lua +21 -0
  20. package/core/types/cameraField.d.ts +15 -0
  21. package/core/types/cameraField.lua +38 -0
  22. package/core/types/color.d.ts +16 -0
  23. package/core/types/color.lua +93 -0
  24. package/core/types/destructable.d.ts +31 -0
  25. package/core/types/destructable.lua +245 -0
  26. package/core/types/effect.d.ts +31 -0
  27. package/core/types/effect.lua +209 -0
  28. package/core/types/frame.d.ts +140 -0
  29. package/core/types/frame.lua +882 -0
  30. package/core/types/game.d.ts +8 -0
  31. package/core/types/game.lua +41 -0
  32. package/core/types/group.d.ts +22 -0
  33. package/core/types/group.lua +94 -0
  34. package/core/types/handle.d.ts +48 -0
  35. package/core/types/handle.lua +169 -0
  36. package/core/types/image.d.ts +30 -0
  37. package/core/types/image.lua +121 -0
  38. package/core/types/internal/ability+cooldownRemaining.d.ts +1 -0
  39. package/core/types/internal/ability+cooldownRemaining.lua +0 -0
  40. package/core/types/item.d.ts +4 -0
  41. package/core/types/item.lua +6 -0
  42. package/core/types/missile.d.ts +22 -0
  43. package/core/types/missile.lua +233 -0
  44. package/core/types/order.d.ts +25 -0
  45. package/core/types/order.lua +55 -0
  46. package/core/types/player.d.ts +71 -0
  47. package/core/types/player.lua +448 -0
  48. package/core/types/playerCamera.d.ts +32 -0
  49. package/core/types/playerCamera.lua +162 -0
  50. package/core/types/playerColor.d.ts +40 -0
  51. package/core/types/playerColor.lua +203 -0
  52. package/core/types/rect.d.ts +39 -0
  53. package/core/types/rect.lua +152 -0
  54. package/core/types/region.d.ts +14 -0
  55. package/core/types/region.lua +84 -0
  56. package/core/types/sound.d.ts +69 -0
  57. package/core/types/sound.lua +247 -0
  58. package/core/types/tileCell.d.ts +13 -0
  59. package/core/types/tileCell.lua +100 -0
  60. package/core/types/timer.d.ts +36 -0
  61. package/core/types/timer.lua +230 -0
  62. package/core/types/timerDialog.d.ts +19 -0
  63. package/core/types/timerDialog.lua +95 -0
  64. package/core/types/unit.d.ts +10 -0
  65. package/core/types/unit.lua +24 -0
  66. package/core/types/widget.d.ts +5 -0
  67. package/core/types/widget.lua +2 -0
  68. package/core/util.d.ts +62 -0
  69. package/core/util.lua +464 -0
  70. package/core/vecmath/common.d.ts +18 -0
  71. package/core/vecmath/common.lua +29 -0
  72. package/core/vecmath/mat2.d.ts +73 -0
  73. package/core/vecmath/mat2.lua +261 -0
  74. package/core/vecmath/vec3.d.ts +47 -0
  75. package/core/vecmath/vec3.lua +350 -0
  76. package/core/vecmath/vec4.d.ts +54 -0
  77. package/core/vecmath/vec4.lua +400 -0
  78. package/crypto/ecc.d.ts +6 -0
  79. package/crypto/ecc.lua +1734 -0
  80. package/decl/index.d.ts +116 -0
  81. package/decl/native.d.ts +8198 -0
  82. package/destroyable.d.ts +20 -0
  83. package/destroyable.lua +31 -0
  84. package/engine/ability.d.ts +5 -0
  85. package/engine/ability.lua +7 -0
  86. package/engine/behavior.d.ts +28 -0
  87. package/engine/behavior.lua +181 -0
  88. package/engine/behaviour/ability/apply-buff.d.ts +38 -0
  89. package/engine/behaviour/ability/apply-buff.lua +126 -0
  90. package/engine/behaviour/ability/apply-unit-behavior.d.ts +12 -0
  91. package/engine/behaviour/ability/apply-unit-behavior.lua +36 -0
  92. package/engine/behaviour/ability/damage.d.ts +25 -0
  93. package/engine/behaviour/ability/damage.lua +75 -0
  94. package/engine/behaviour/ability/heal.d.ts +16 -0
  95. package/engine/behaviour/ability/heal.lua +35 -0
  96. package/engine/behaviour/ability/instant-impact.d.ts +6 -0
  97. package/engine/behaviour/ability/instant-impact.lua +25 -0
  98. package/engine/behaviour/ability.d.ts +40 -0
  99. package/engine/behaviour/ability.lua +175 -0
  100. package/engine/behaviour/unit/stun-immunity.d.ts +19 -0
  101. package/engine/behaviour/unit/stun-immunity.lua +67 -0
  102. package/engine/behaviour/unit.d.ts +20 -0
  103. package/engine/behaviour/unit.lua +75 -0
  104. package/engine/buff.d.ts +221 -0
  105. package/engine/buff.lua +1093 -0
  106. package/engine/constants.d.ts +7 -0
  107. package/engine/constants.lua +8 -0
  108. package/engine/index.d.ts +5 -0
  109. package/engine/index.lua +2 -0
  110. package/engine/internal/ability.d.ts +91 -0
  111. package/engine/internal/ability.lua +531 -0
  112. package/engine/internal/item/ability.d.ts +2 -0
  113. package/engine/internal/item/ability.lua +48 -0
  114. package/engine/internal/item+owner.d.ts +7 -0
  115. package/engine/internal/item+owner.lua +22 -0
  116. package/engine/internal/item.d.ts +86 -0
  117. package/engine/internal/item.lua +580 -0
  118. package/engine/internal/mechanics/ability-duration.d.ts +4 -0
  119. package/engine/internal/mechanics/ability-duration.lua +11 -0
  120. package/engine/internal/mechanics/area-damage.d.ts +2 -0
  121. package/engine/internal/mechanics/area-damage.lua +33 -0
  122. package/engine/internal/misc/dummy-units.d.ts +2 -0
  123. package/engine/internal/misc/dummy-units.lua +14 -0
  124. package/engine/internal/object-data/armor-increase.d.ts +2 -0
  125. package/engine/internal/object-data/armor-increase.lua +19 -0
  126. package/engine/internal/object-data/attribute-bonus.d.ts +2 -0
  127. package/engine/internal/object-data/attribute-bonus.lua +15 -0
  128. package/engine/internal/object-data/auto-attack-damage-increase.d.ts +2 -0
  129. package/engine/internal/object-data/auto-attack-damage-increase.lua +17 -0
  130. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +2 -0
  131. package/engine/internal/object-data/auto-attack-speed-increase.lua +14 -0
  132. package/engine/internal/object-data/dummy-inventory.d.ts +2 -0
  133. package/engine/internal/object-data/dummy-inventory.lua +16 -0
  134. package/engine/internal/object-data/dummy-item.d.ts +2 -0
  135. package/engine/internal/object-data/dummy-item.lua +10 -0
  136. package/engine/internal/object-data/ghost-visible.d.ts +2 -0
  137. package/engine/internal/object-data/ghost-visible.lua +15 -0
  138. package/engine/internal/object-data/invulnerable.d.ts +2 -0
  139. package/engine/internal/object-data/invulnerable.lua +11 -0
  140. package/engine/internal/object-data/movement-speed-increase-factor.d.ts +2 -0
  141. package/engine/internal/object-data/movement-speed-increase-factor.lua +18 -0
  142. package/engine/internal/unit/ability.d.ts +143 -0
  143. package/engine/internal/unit/ability.lua +369 -0
  144. package/engine/internal/unit/allowed-targets.d.ts +17 -0
  145. package/engine/internal/unit/allowed-targets.lua +19 -0
  146. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.d.ts +2 -0
  147. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.lua +21 -0
  148. package/engine/internal/unit/bonus.d.ts +41 -0
  149. package/engine/internal/unit/bonus.lua +188 -0
  150. package/engine/internal/unit/buff.d.ts +38 -0
  151. package/engine/internal/unit/buff.lua +81 -0
  152. package/engine/internal/unit/expiration-timer.d.ts +22 -0
  153. package/engine/internal/unit/expiration-timer.lua +44 -0
  154. package/engine/internal/unit/ghost-counter.d.ts +12 -0
  155. package/engine/internal/unit/ghost-counter.lua +26 -0
  156. package/engine/internal/unit/invulnerability-counter.d.ts +12 -0
  157. package/engine/internal/unit/invulnerability-counter.lua +26 -0
  158. package/engine/internal/unit/missile.d.ts +42 -0
  159. package/engine/internal/unit/missile.lua +70 -0
  160. package/engine/internal/unit/movement-speed.d.ts +18 -0
  161. package/engine/internal/unit/movement-speed.lua +42 -0
  162. package/engine/internal/unit/summon-event.d.ts +12 -0
  163. package/engine/internal/unit/summon-event.lua +50 -0
  164. package/engine/internal/unit+ability.d.ts +9 -0
  165. package/engine/internal/unit+ability.lua +59 -0
  166. package/engine/internal/unit+bonus.d.ts +8 -0
  167. package/engine/internal/unit+bonus.lua +40 -0
  168. package/engine/internal/unit+damage.d.ts +69 -0
  169. package/engine/internal/unit+damage.lua +123 -0
  170. package/engine/internal/unit+rally.d.ts +10 -0
  171. package/engine/internal/unit+rally.lua +159 -0
  172. package/engine/internal/unit+spellSteal.d.ts +7 -0
  173. package/engine/internal/unit+spellSteal.lua +64 -0
  174. package/engine/internal/unit+transport.d.ts +12 -0
  175. package/engine/internal/unit+transport.lua +102 -0
  176. package/engine/internal/unit-missile-data.d.ts +2 -0
  177. package/engine/internal/unit-missile-data.lua +107 -0
  178. package/engine/internal/unit-missile-launch.d.ts +7 -0
  179. package/engine/internal/unit-missile-launch.lua +32 -0
  180. package/engine/internal/unit.d.ts +312 -0
  181. package/engine/internal/unit.lua +2430 -0
  182. package/engine/internal/utility.d.ts +2 -0
  183. package/engine/internal/utility.lua +13 -0
  184. package/engine/lightning.d.ts +51 -0
  185. package/engine/lightning.lua +303 -0
  186. package/engine/local-client.d.ts +16 -0
  187. package/engine/local-client.lua +86 -0
  188. package/engine/object-data/auxiliary/animation-name.d.ts +14 -0
  189. package/engine/object-data/auxiliary/animation-name.lua +2 -0
  190. package/engine/object-data/auxiliary/animation-qualifier.d.ts +53 -0
  191. package/engine/object-data/auxiliary/animation-qualifier.lua +2 -0
  192. package/engine/object-data/auxiliary/armor-sound-type.d.ts +8 -0
  193. package/engine/object-data/auxiliary/armor-sound-type.lua +2 -0
  194. package/engine/object-data/auxiliary/attachment-preset.d.ts +15 -0
  195. package/engine/object-data/auxiliary/attachment-preset.lua +29 -0
  196. package/engine/object-data/auxiliary/attack-type.d.ts +11 -0
  197. package/engine/object-data/auxiliary/attack-type.lua +2 -0
  198. package/engine/object-data/auxiliary/buff-polarity.d.ts +6 -0
  199. package/engine/object-data/auxiliary/buff-polarity.lua +2 -0
  200. package/engine/object-data/auxiliary/buff-resistance-type.d.ts +6 -0
  201. package/engine/object-data/auxiliary/buff-resistance-type.lua +2 -0
  202. package/engine/object-data/auxiliary/combat-classification.d.ts +46 -0
  203. package/engine/object-data/auxiliary/combat-classification.lua +206 -0
  204. package/engine/object-data/auxiliary/detection-type.d.ts +7 -0
  205. package/engine/object-data/auxiliary/detection-type.lua +2 -0
  206. package/engine/object-data/auxiliary/model-node-name.d.ts +12 -0
  207. package/engine/object-data/auxiliary/model-node-name.lua +2 -0
  208. package/engine/object-data/auxiliary/model-node-qualifier.d.ts +21 -0
  209. package/engine/object-data/auxiliary/model-node-qualifier.lua +2 -0
  210. package/engine/object-data/auxiliary/movement-type.d.ts +10 -0
  211. package/engine/object-data/auxiliary/movement-type.lua +2 -0
  212. package/engine/object-data/auxiliary/race.d.ts +14 -0
  213. package/engine/object-data/auxiliary/race.lua +2 -0
  214. package/engine/object-data/auxiliary/sound-preset-name.d.ts +8 -0
  215. package/engine/object-data/auxiliary/sound-preset-name.lua +2 -0
  216. package/engine/object-data/auxiliary/sound-set-name.d.ts +35 -0
  217. package/engine/object-data/auxiliary/sound-set-name.lua +2 -0
  218. package/engine/object-data/auxiliary/targeting-type.d.ts +8 -0
  219. package/engine/object-data/auxiliary/targeting-type.lua +2 -0
  220. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +16 -0
  221. package/engine/object-data/auxiliary/tech-tree-dependency.lua +8 -0
  222. package/engine/object-data/auxiliary/unit-classification.d.ts +19 -0
  223. package/engine/object-data/auxiliary/unit-classification.lua +50 -0
  224. package/engine/object-data/auxiliary/weapon-sound-type.d.ts +17 -0
  225. package/engine/object-data/auxiliary/weapon-sound-type.lua +2 -0
  226. package/engine/object-data/entry/ability-type/armor-increase.d.ts +8 -0
  227. package/engine/object-data/entry/ability-type/armor-increase.lua +26 -0
  228. package/engine/object-data/entry/ability-type/attribute-increase.d.ts +12 -0
  229. package/engine/object-data/entry/ability-type/attribute-increase.lua +52 -0
  230. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.d.ts +8 -0
  231. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.lua +26 -0
  232. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.d.ts +12 -0
  233. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.lua +52 -0
  234. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.d.ts +8 -0
  235. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.lua +26 -0
  236. package/engine/object-data/entry/ability-type/bash.d.ts +16 -0
  237. package/engine/object-data/entry/ability-type/bash.lua +78 -0
  238. package/engine/object-data/entry/ability-type/berserk.d.ts +10 -0
  239. package/engine/object-data/entry/ability-type/berserk.lua +39 -0
  240. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +21 -0
  241. package/engine/object-data/entry/ability-type/blank-configurable.lua +249 -0
  242. package/engine/object-data/entry/ability-type/blank-passive.d.ts +7 -0
  243. package/engine/object-data/entry/ability-type/blank-passive.lua +28 -0
  244. package/engine/object-data/entry/ability-type/blizzard.d.ts +16 -0
  245. package/engine/object-data/entry/ability-type/blizzard.lua +78 -0
  246. package/engine/object-data/entry/ability-type/blood-lust.d.ts +12 -0
  247. package/engine/object-data/entry/ability-type/blood-lust.lua +52 -0
  248. package/engine/object-data/entry/ability-type/chain-lightning.d.ts +12 -0
  249. package/engine/object-data/entry/ability-type/chain-lightning.lua +52 -0
  250. package/engine/object-data/entry/ability-type/channel.d.ts +48 -0
  251. package/engine/object-data/entry/ability-type/channel.lua +140 -0
  252. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.d.ts +14 -0
  253. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.lua +65 -0
  254. package/engine/object-data/entry/ability-type/cleaving-attack.d.ts +8 -0
  255. package/engine/object-data/entry/ability-type/cleaving-attack.lua +26 -0
  256. package/engine/object-data/entry/ability-type/cluster-rockets.d.ts +18 -0
  257. package/engine/object-data/entry/ability-type/cluster-rockets.lua +91 -0
  258. package/engine/object-data/entry/ability-type/cripple.d.ts +12 -0
  259. package/engine/object-data/entry/ability-type/cripple.lua +52 -0
  260. package/engine/object-data/entry/ability-type/critical-strike.d.ts +18 -0
  261. package/engine/object-data/entry/ability-type/critical-strike.lua +91 -0
  262. package/engine/object-data/entry/ability-type/curse.d.ts +8 -0
  263. package/engine/object-data/entry/ability-type/curse.lua +26 -0
  264. package/engine/object-data/entry/ability-type/dark-summoning.d.ts +10 -0
  265. package/engine/object-data/entry/ability-type/dark-summoning.lua +39 -0
  266. package/engine/object-data/entry/ability-type/death-coil.d.ts +8 -0
  267. package/engine/object-data/entry/ability-type/death-coil.lua +26 -0
  268. package/engine/object-data/entry/ability-type/disease-cloud.d.ts +15 -0
  269. package/engine/object-data/entry/ability-type/disease-cloud.lua +65 -0
  270. package/engine/object-data/entry/ability-type/divine-shield.d.ts +5 -0
  271. package/engine/object-data/entry/ability-type/divine-shield.lua +12 -0
  272. package/engine/object-data/entry/ability-type/endurance-aura.d.ts +10 -0
  273. package/engine/object-data/entry/ability-type/endurance-aura.lua +39 -0
  274. package/engine/object-data/entry/ability-type/engineering-upgrade.d.ts +13 -0
  275. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +88 -0
  276. package/engine/object-data/entry/ability-type/evasion.d.ts +8 -0
  277. package/engine/object-data/entry/ability-type/evasion.lua +26 -0
  278. package/engine/object-data/entry/ability-type/faerie-fire.d.ts +10 -0
  279. package/engine/object-data/entry/ability-type/faerie-fire.lua +39 -0
  280. package/engine/object-data/entry/ability-type/far-sight.d.ts +9 -0
  281. package/engine/object-data/entry/ability-type/far-sight.lua +26 -0
  282. package/engine/object-data/entry/ability-type/feral-spirit.d.ts +11 -0
  283. package/engine/object-data/entry/ability-type/feral-spirit.lua +39 -0
  284. package/engine/object-data/entry/ability-type/frenzy.d.ts +12 -0
  285. package/engine/object-data/entry/ability-type/frenzy.lua +52 -0
  286. package/engine/object-data/entry/ability-type/frost-nova.d.ts +12 -0
  287. package/engine/object-data/entry/ability-type/frost-nova.lua +52 -0
  288. package/engine/object-data/entry/ability-type/ghost-visible.d.ts +10 -0
  289. package/engine/object-data/entry/ability-type/ghost-visible.lua +39 -0
  290. package/engine/object-data/entry/ability-type/gold-mine.d.ts +12 -0
  291. package/engine/object-data/entry/ability-type/gold-mine.lua +52 -0
  292. package/engine/object-data/entry/ability-type/heal.d.ts +8 -0
  293. package/engine/object-data/entry/ability-type/heal.lua +26 -0
  294. package/engine/object-data/entry/ability-type/healing-salve.d.ts +22 -0
  295. package/engine/object-data/entry/ability-type/healing-salve.lua +78 -0
  296. package/engine/object-data/entry/ability-type/healing-spray.d.ts +18 -0
  297. package/engine/object-data/entry/ability-type/healing-spray.lua +91 -0
  298. package/engine/object-data/entry/ability-type/healing-wave.d.ts +12 -0
  299. package/engine/object-data/entry/ability-type/healing-wave.lua +52 -0
  300. package/engine/object-data/entry/ability-type/holy-light.d.ts +8 -0
  301. package/engine/object-data/entry/ability-type/holy-light.lua +26 -0
  302. package/engine/object-data/entry/ability-type/incinerate.d.ts +18 -0
  303. package/engine/object-data/entry/ability-type/incinerate.lua +91 -0
  304. package/engine/object-data/entry/ability-type/inner-fire.d.ts +14 -0
  305. package/engine/object-data/entry/ability-type/inner-fire.lua +65 -0
  306. package/engine/object-data/entry/ability-type/inventory.d.ts +16 -0
  307. package/engine/object-data/entry/ability-type/inventory.lua +78 -0
  308. package/engine/object-data/entry/ability-type/invulnerable.d.ts +5 -0
  309. package/engine/object-data/entry/ability-type/invulnerable.lua +12 -0
  310. package/engine/object-data/entry/ability-type/lightning-shield.d.ts +8 -0
  311. package/engine/object-data/entry/ability-type/lightning-shield.lua +26 -0
  312. package/engine/object-data/entry/ability-type/movement-speed-increase.d.ts +8 -0
  313. package/engine/object-data/entry/ability-type/movement-speed-increase.lua +26 -0
  314. package/engine/object-data/entry/ability-type/permanent-immolation.d.ts +8 -0
  315. package/engine/object-data/entry/ability-type/permanent-immolation.lua +26 -0
  316. package/engine/object-data/entry/ability-type/phoenix-morph.d.ts +25 -0
  317. package/engine/object-data/entry/ability-type/phoenix-morph.lua +130 -0
  318. package/engine/object-data/entry/ability-type/recall.d.ts +10 -0
  319. package/engine/object-data/entry/ability-type/recall.lua +39 -0
  320. package/engine/object-data/entry/ability-type/rejuvenation.d.ts +20 -0
  321. package/engine/object-data/entry/ability-type/rejuvenation.lua +65 -0
  322. package/engine/object-data/entry/ability-type/searing-arrows.d.ts +8 -0
  323. package/engine/object-data/entry/ability-type/searing-arrows.lua +26 -0
  324. package/engine/object-data/entry/ability-type/shock-wave.d.ts +10 -0
  325. package/engine/object-data/entry/ability-type/shock-wave.lua +39 -0
  326. package/engine/object-data/entry/ability-type/slow-poison.d.ts +12 -0
  327. package/engine/object-data/entry/ability-type/slow-poison.lua +52 -0
  328. package/engine/object-data/entry/ability-type/slow.d.ts +12 -0
  329. package/engine/object-data/entry/ability-type/slow.lua +52 -0
  330. package/engine/object-data/entry/ability-type/spell-damage-reduction.d.ts +10 -0
  331. package/engine/object-data/entry/ability-type/spell-damage-reduction.lua +39 -0
  332. package/engine/object-data/entry/ability-type/spiked-carapace.d.ts +12 -0
  333. package/engine/object-data/entry/ability-type/spiked-carapace.lua +52 -0
  334. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +14 -0
  335. package/engine/object-data/entry/ability-type/spirit-touch.lua +65 -0
  336. package/engine/object-data/entry/ability-type/storm-bolt.d.ts +8 -0
  337. package/engine/object-data/entry/ability-type/storm-bolt.lua +26 -0
  338. package/engine/object-data/entry/ability-type/summon-quilbeast.d.ts +11 -0
  339. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +39 -0
  340. package/engine/object-data/entry/ability-type/summon-water-elemental.d.ts +11 -0
  341. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +39 -0
  342. package/engine/object-data/entry/ability-type.d.ts +148 -0
  343. package/engine/object-data/entry/ability-type.lua +1058 -0
  344. package/engine/object-data/entry/buff-type/applicable.d.ts +16 -0
  345. package/engine/object-data/entry/buff-type/applicable.lua +377 -0
  346. package/engine/object-data/entry/buff-type/blank.d.ts +8 -0
  347. package/engine/object-data/entry/buff-type/blank.lua +17 -0
  348. package/engine/object-data/entry/buff-type.d.ts +64 -0
  349. package/engine/object-data/entry/buff-type.lua +316 -0
  350. package/engine/object-data/entry/destructible-type.d.ts +21 -0
  351. package/engine/object-data/entry/destructible-type.lua +83 -0
  352. package/engine/object-data/entry/item-type/blank.d.ts +8 -0
  353. package/engine/object-data/entry/item-type/blank.lua +21 -0
  354. package/engine/object-data/entry/item-type.d.ts +49 -0
  355. package/engine/object-data/entry/item-type.lua +259 -0
  356. package/engine/object-data/entry/lightning-type.d.ts +37 -0
  357. package/engine/object-data/entry/lightning-type.lua +191 -0
  358. package/engine/object-data/entry/unit-type/blank.d.ts +6 -0
  359. package/engine/object-data/entry/unit-type/blank.lua +13 -0
  360. package/engine/object-data/entry/unit-type.d.ts +218 -0
  361. package/engine/object-data/entry/unit-type.lua +1306 -0
  362. package/engine/object-data/entry/upgrade/blank.d.ts +8 -0
  363. package/engine/object-data/entry/upgrade/blank.lua +22 -0
  364. package/engine/object-data/entry/upgrade.d.ts +59 -0
  365. package/engine/object-data/entry/upgrade.lua +238 -0
  366. package/engine/object-data/entry.d.ts +80 -0
  367. package/engine/object-data/entry.lua +634 -0
  368. package/engine/object-data/utility/object-data-entry-id-generator.d.ts +6 -0
  369. package/engine/object-data/utility/object-data-entry-id-generator.lua +63 -0
  370. package/engine/object-data/utility/order-type-string-id-factory.d.ts +9 -0
  371. package/engine/object-data/utility/order-type-string-id-factory.lua +368 -0
  372. package/engine/object-field/ability.d.ts +115 -0
  373. package/engine/object-field/ability.lua +471 -0
  374. package/engine/object-field/unit.d.ts +15 -0
  375. package/engine/object-field/unit.lua +49 -0
  376. package/engine/object-field.d.ts +84 -0
  377. package/engine/object-field.lua +444 -0
  378. package/engine/random.d.ts +10 -0
  379. package/engine/random.lua +9 -0
  380. package/engine/standard/entries/ability-type.d.ts +8 -0
  381. package/engine/standard/entries/ability-type.lua +8 -0
  382. package/engine/standard/entries/lightning-type.d.ts +16 -0
  383. package/engine/standard/entries/lightning-type.lua +16 -0
  384. package/engine/standard/entries/unit-type.d.ts +63 -0
  385. package/engine/standard/entries/unit-type.lua +63 -0
  386. package/engine/standard/entries/upgrade.d.ts +92 -0
  387. package/engine/standard/entries/upgrade.lua +92 -0
  388. package/engine/standard/fields/ability.d.ts +737 -0
  389. package/engine/standard/fields/ability.lua +749 -0
  390. package/engine/standard/pathing-textures.d.ts +6 -0
  391. package/engine/standard/pathing-textures.lua +7 -0
  392. package/engine/text-tag.d.ts +25 -0
  393. package/engine/text-tag.lua +109 -0
  394. package/engine/unit.d.ts +20 -0
  395. package/engine/unit.lua +31 -0
  396. package/event.d.ts +53 -0
  397. package/event.lua +269 -0
  398. package/exception.d.ts +17 -0
  399. package/exception.lua +53 -0
  400. package/file.d.ts +4 -0
  401. package/file.lua +42 -0
  402. package/global/math.d.ts +21 -0
  403. package/global/math.lua +72 -0
  404. package/global/vec2.d.ts +66 -0
  405. package/global/vec2.lua +159 -0
  406. package/index.d.ts +8 -0
  407. package/index.lua +9 -0
  408. package/lualib_bundle.lua +2629 -0
  409. package/math/vec2.d.ts +18 -0
  410. package/math/vec2.lua +42 -0
  411. package/math.d.ts +39 -0
  412. package/math.lua +91 -0
  413. package/net/signal.d.ts +11 -0
  414. package/net/signal.lua +56 -0
  415. package/net/socket.d.ts +9 -0
  416. package/net/socket.lua +26 -0
  417. package/network.d.ts +31 -0
  418. package/network.lua +194 -0
  419. package/objutil/ability.d.ts +710 -0
  420. package/objutil/ability.lua +3781 -0
  421. package/objutil/buff.d.ts +110 -0
  422. package/objutil/buff.lua +769 -0
  423. package/objutil/dummy.d.ts +2 -0
  424. package/objutil/dummy.lua +49 -0
  425. package/objutil/idgen.d.ts +9 -0
  426. package/objutil/idgen.lua +92 -0
  427. package/objutil/item.d.ts +38 -0
  428. package/objutil/item.lua +254 -0
  429. package/objutil/object.d.ts +43 -0
  430. package/objutil/object.lua +213 -0
  431. package/objutil/unit.d.ts +134 -0
  432. package/objutil/unit.lua +913 -0
  433. package/objutil/upgrade.d.ts +22 -0
  434. package/objutil/upgrade.lua +127 -0
  435. package/operation.d.ts +35 -0
  436. package/operation.lua +179 -0
  437. package/package.json +47 -0
  438. package/patch-lualib.d.ts +2 -0
  439. package/patch-lualib.lua +67 -0
  440. package/patch-natives.d.ts +11 -0
  441. package/patch-natives.lua +14 -0
  442. package/string.d.ts +106 -0
  443. package/string.lua +34 -0
  444. package/time/dayOfWeek.d.ts +97 -0
  445. package/time/dayOfWeek.lua +53 -0
  446. package/time/localDate.d.ts +145 -0
  447. package/time/localDate.lua +236 -0
  448. package/time/localDateTime.d.ts +133 -0
  449. package/time/localDateTime.lua +154 -0
  450. package/time/localTime.d.ts +87 -0
  451. package/time/localTime.lua +91 -0
  452. package/time/month.d.ts +146 -0
  453. package/time/month.lua +129 -0
  454. package/time/year.d.ts +117 -0
  455. package/time/year.lua +81 -0
  456. package/types.d.ts +13 -0
  457. package/types.lua +0 -0
  458. package/util/objectPool.d.ts +6 -0
  459. package/util/objectPool.lua +28 -0
  460. package/util/stream.d.ts +29 -0
  461. package/util/stream.lua +453 -0
  462. package/util/stringBuilder.d.ts +8 -0
  463. package/util/stringBuilder.lua +25 -0
  464. package/utility/arrays.d.ts +57 -0
  465. package/utility/arrays.lua +369 -0
  466. package/utility/base64.d.ts +23 -0
  467. package/utility/base64.lua +177 -0
  468. package/utility/bit-set.d.ts +18 -0
  469. package/utility/bit-set.lua +12 -0
  470. package/utility/functions.d.ts +5 -0
  471. package/utility/functions.lua +90 -0
  472. package/utility/json.d.ts +2 -0
  473. package/utility/json.lua +400 -0
  474. package/utility/linked-set.d.ts +49 -0
  475. package/utility/linked-set.lua +181 -0
  476. package/utility/lua-maps.d.ts +6 -0
  477. package/utility/lua-maps.lua +25 -0
  478. package/utility/lua-sets.d.ts +6 -0
  479. package/utility/lua-sets.lua +37 -0
  480. package/utility/lzw.d.ts +2 -0
  481. package/utility/lzw.lua +161 -0
  482. package/utility/observable-array.d.ts +17 -0
  483. package/utility/observable-array.lua +30 -0
  484. package/utility/preconditions.d.ts +23 -0
  485. package/utility/preconditions.lua +58 -0
  486. package/utility/records.d.ts +3 -0
  487. package/utility/records.lua +9 -0
  488. package/utility/reflection.d.ts +4 -0
  489. package/utility/reflection.lua +31 -0
  490. package/utility/strings.d.ts +2 -0
  491. package/utility/strings.lua +44 -0
  492. package/utility/types.d.ts +39 -0
  493. package/utility/types.lua +2 -0
@@ -0,0 +1,16 @@
1
+ /// <reference types="warpack-types/warpack" />
2
+ /** @noSelfInFile */
3
+ import { BuffPolarity } from "../../auxiliary/buff-polarity";
4
+ import { BuffResistanceType } from "../../auxiliary/buff-resistance-type";
5
+ import { BuffType, BuffTypeId } from "../buff-type";
6
+ export type ApplicableBuffTypeId = BuffTypeId & {
7
+ readonly __applicableBuffTypeId: unique symbol;
8
+ };
9
+ export declare class ApplicableBuffType extends BuffType<ApplicableBuffTypeId> {
10
+ static readonly BASE_ID: BuffTypeId;
11
+ levelCount: number;
12
+ resistanceType?: Exclude<BuffResistanceType, BuffResistanceType.BOTH>;
13
+ polarity?: BuffPolarity;
14
+ constructor(object: WarObject);
15
+ static wrap(other: BuffType): ApplicableBuffType;
16
+ }
@@ -0,0 +1,377 @@
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 ____ability_2Dtype = require("engine.object-data.entry.ability-type")
11
+ local AbilityType = ____ability_2Dtype.AbilityType
12
+ local ____cripple = require("engine.object-data.entry.ability-type.cripple")
13
+ local CrippleAbilityType = ____cripple.CrippleAbilityType
14
+ local ____searing_2Darrows = require("engine.object-data.entry.ability-type.searing-arrows")
15
+ local SearingArrowsAbilityType = ____searing_2Darrows.SearingArrowsAbilityType
16
+ local ____slow_2Dpoison = require("engine.object-data.entry.ability-type.slow-poison")
17
+ local SlowPoisonAbilityType = ____slow_2Dpoison.SlowPoisonAbilityType
18
+ local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
19
+ local combatClassificationsOf = ____combat_2Dclassification.combatClassificationsOf
20
+ local ____buff_2Dtype = require("engine.object-data.entry.buff-type")
21
+ local BuffType = ____buff_2Dtype.BuffType
22
+ local ____dummy = require("core.dummy")
23
+ local InstantDummyCaster = ____dummy.InstantDummyCaster
24
+ local ____unit = require("engine.internal.unit")
25
+ local Unit = ____unit.Unit
26
+ local ____math = require("math")
27
+ local MAXIMUM_INTEGER = ____math.MAXIMUM_INTEGER
28
+ local ____arrays = require("utility.arrays")
29
+ local chunked = ____arrays.chunked
30
+ local map = ____arrays.map
31
+ local max = ____arrays.max
32
+ local toLuaSet = ____arrays.toLuaSet
33
+ local ____blood_2Dlust = require("engine.object-data.entry.ability-type.blood-lust")
34
+ local BloodLustAbilityType = ____blood_2Dlust.BloodLustAbilityType
35
+ local ____berserk = require("engine.object-data.entry.ability-type.berserk")
36
+ local BerserkAbilityType = ____berserk.BerserkAbilityType
37
+ local ____dummy_2Ditem = require("engine.internal.object-data.dummy-item")
38
+ local DUMMY_ITEM_ID = ____dummy_2Ditem.DUMMY_ITEM_ID
39
+ local ____dummy_2Dinventory = require("engine.internal.object-data.dummy-inventory")
40
+ local INVENTORY_ABILITY_TYPE_ID = ____dummy_2Dinventory.INVENTORY_ABILITY_TYPE_ID
41
+ local ____blank = require("engine.object-data.entry.upgrade.blank")
42
+ local BlankUpgrade = ____blank.BlankUpgrade
43
+ local ____dummy_2Dunits = require("engine.internal.misc.dummy-units")
44
+ local INVENTORY_DUMMY_NATIVE_UNIT = ____dummy_2Dunits.INVENTORY_DUMMY_NATIVE_UNIT
45
+ local ____preconditions = require("utility.preconditions")
46
+ local checkNotNull = ____preconditions.checkNotNull
47
+ local ____unit_2Dtype = require("engine.object-data.entry.unit-type")
48
+ local UnitType = ____unit_2Dtype.UnitType
49
+ local ____permanent_2Dimmolation = require("engine.object-data.entry.ability-type.permanent-immolation")
50
+ local PermanentImmolationAbilityType = ____permanent_2Dimmolation.PermanentImmolationAbilityType
51
+ local createItem = CreateItem
52
+ local getAbilityId = BlzGetAbilityId
53
+ local getItemAbility = BlzGetItemAbility
54
+ local getOwningPlayer = GetOwningPlayer
55
+ local getUnitAbilityByIndex = BlzGetUnitAbilityByIndex
56
+ local itemAddAbility = BlzItemAddAbility
57
+ local removeItem = RemoveItem
58
+ local setAbilityIntegerField = BlzSetAbilityIntegerField
59
+ local setAbilityRealLevelField = BlzSetAbilityRealLevelField
60
+ local setItemBooleanField = BlzSetItemBooleanField
61
+ local setPlayerTechResearched = SetPlayerTechResearched
62
+ local unitAddAbility = UnitAddAbility
63
+ local unitAddItem = UnitAddItem
64
+ local unitDisableAbility = BlzUnitDisableAbility
65
+ local unitDropItemSlot = UnitDropItemSlot
66
+ local unitInventorySize = UnitInventorySize
67
+ local unitRemoveAbility = UnitRemoveAbility
68
+ local compiletimeApplicableBuffTypes = {}
69
+ ____exports.ApplicableBuffType = __TS__Class()
70
+ local ApplicableBuffType = ____exports.ApplicableBuffType
71
+ ApplicableBuffType.name = "ApplicableBuffType"
72
+ __TS__ClassExtends(ApplicableBuffType, BuffType)
73
+ function ApplicableBuffType.prototype.____constructor(self, object)
74
+ BuffType.prototype.____constructor(self, object)
75
+ self.levelCount = 4
76
+ compiletimeApplicableBuffTypes[self] = true
77
+ end
78
+ function ApplicableBuffType.wrap(self, other)
79
+ if __TS__InstanceOf(other, ____exports.ApplicableBuffType) then
80
+ return other
81
+ end
82
+ return __TS__New(____exports.ApplicableBuffType, other.object)
83
+ end
84
+ ApplicableBuffType.BASE_ID = fourCC("BHbz")
85
+ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId = table.unpack(postcompile(function()
86
+ local function prepareAbilityType(abilityTypeConstructor, applicableBuffType)
87
+ local abilityType = abilityTypeConstructor:create()
88
+ abilityType.isInternal = true
89
+ abilityType.levelCount = applicableBuffType.levelCount
90
+ abilityType.buttonPositionX = 0
91
+ abilityType.buttonPositionY = -11
92
+ abilityType.casterAttachmentPresets = {}
93
+ abilityType.targetEffectPresets = {}
94
+ abilityType.soundPresetName = ""
95
+ abilityType.learnLevelMinimum = 6
96
+ abilityType.race = "other"
97
+ abilityType.shouldCheckTechTreeDependencies = false
98
+ abilityType.techTreeDependencies = {}
99
+ abilityType.allowedTargetCombatClassifications = combatClassificationsOf(
100
+ 4,
101
+ 2,
102
+ 2097152,
103
+ 8,
104
+ 1048576,
105
+ 16
106
+ )
107
+ abilityType.areaOfEffect = 0
108
+ abilityType.castRange = 999999
109
+ abilityType.cooldown = 0
110
+ abilityType.manaCost = 0
111
+ abilityType.buffDuration = 0
112
+ abilityType.heroBuffDuration = 0
113
+ return abilityType
114
+ end
115
+ local multilevelPhysicalPositiveApplicatorAbilityTypes = {}
116
+ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId = {}
117
+ for applicableBuffType in pairs(compiletimeApplicableBuffTypes) do
118
+ local applicatorAbilityTypeIdByApplicatorType = {}
119
+ if applicableBuffType.resistanceType == 1 or applicableBuffType.resistanceType == nil then
120
+ if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
121
+ local applicatorAbilityType = prepareAbilityType(CrippleAbilityType, applicableBuffType)
122
+ applicatorAbilityType.movementSpeedDecreaseFactor = 0
123
+ applicatorAbilityType.attackSpeedDecreaseFactor = 0
124
+ applicatorAbilityType.damageDecreaseFactor = 0
125
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
126
+ applicatorAbilityTypeIdByApplicatorType[852189] = applicatorAbilityType.id
127
+ end
128
+ if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
129
+ local applicatorAbilityType = prepareAbilityType(BloodLustAbilityType, applicableBuffType)
130
+ applicatorAbilityType.attackSpeedIncreaseFactor = 0
131
+ applicatorAbilityType.movementSpeedIncreaseFactor = 0
132
+ applicatorAbilityType.scaleIncrease = 0
133
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
134
+ applicatorAbilityTypeIdByApplicatorType[852101] = applicatorAbilityType.id
135
+ end
136
+ end
137
+ if applicableBuffType.resistanceType == 2 or applicableBuffType.resistanceType == nil then
138
+ if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
139
+ local applicatorAbilityType = prepareAbilityType(SlowPoisonAbilityType, applicableBuffType)
140
+ applicatorAbilityType.damagePerSecond = 0
141
+ applicatorAbilityType.movementSpeedDecreaseFactor = 0
142
+ applicatorAbilityType.attackSpeedDecreaseFactor = 0
143
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id, applicableBuffType.id}
144
+ applicatorAbilityTypeIdByApplicatorType[852173] = applicatorAbilityType.id
145
+ end
146
+ if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
147
+ local applicatorAbilityType = prepareAbilityType(BerserkAbilityType, applicableBuffType)
148
+ applicatorAbilityType.attackSpeedIncreaseFactor = 0
149
+ applicatorAbilityType.movementSpeedIncreaseFactor = 0
150
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
151
+ if applicatorAbilityType.levelCount > 1 then
152
+ multilevelPhysicalPositiveApplicatorAbilityTypes[#multilevelPhysicalPositiveApplicatorAbilityTypes + 1] = applicatorAbilityType
153
+ end
154
+ applicatorAbilityTypeIdByApplicatorType[852100] = applicatorAbilityType.id
155
+ end
156
+ end
157
+ if applicableBuffType.polarity == 0 or applicableBuffType.polarity == nil then
158
+ local applicatorAbilityType = prepareAbilityType(PermanentImmolationAbilityType, applicableBuffType)
159
+ applicatorAbilityType.levelCount = 1
160
+ applicatorAbilityType.damagePerInterval = 0
161
+ applicatorAbilityType.castRange = 0
162
+ applicatorAbilityType.buffDuration = MAXIMUM_INTEGER
163
+ applicatorAbilityType.heroBuffDuration = MAXIMUM_INTEGER
164
+ applicatorAbilityType.allowedTargetCombatClassifications = combatClassificationsOf(1)
165
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
166
+ applicatorAbilityTypeIdByApplicatorType[0] = applicatorAbilityType.id
167
+ end
168
+ applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffType.id] = applicatorAbilityTypeIdByApplicatorType
169
+ end
170
+ local applicatorUpgradeIds = {}
171
+ local applicatorUpgradeIdByApplicatorAbilityTypeId = {}
172
+ for ____, multilevelPhysicalPositiveApplicatorAbilityTypesChunk in ipairs(chunked(multilevelPhysicalPositiveApplicatorAbilityTypes, 4)) do
173
+ local maxLevelCount = max(map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "levelCount"))
174
+ local applicatorAbilityTypeIds = map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "id")
175
+ local applicatorUpgrade = BlankUpgrade:create()
176
+ applicatorUpgrade.isInternal = true
177
+ applicatorUpgrade.levelCount = maxLevelCount - 1
178
+ applicatorUpgrade.effects = map(
179
+ applicatorAbilityTypeIds,
180
+ function(applicatorAbilityTypeId)
181
+ return {type = "rlev", bonusBase = 1, bonusIncrement = 1, abilityTypeId = applicatorAbilityTypeId}
182
+ end
183
+ )
184
+ applicatorUpgradeIds[#applicatorUpgradeIds + 1] = applicatorUpgrade.id
185
+ for ____, applicatorAbilityTypeId in ipairs(applicatorAbilityTypeIds) do
186
+ applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId] = applicatorUpgrade.id
187
+ end
188
+ end
189
+ for ____, unitType in ipairs(UnitType:getAll()) do
190
+ local ____array_0 = __TS__SparseArrayNew(table.unpack(unitType.affectingUpgradeIds))
191
+ __TS__SparseArrayPush(
192
+ ____array_0,
193
+ table.unpack(applicatorUpgradeIds)
194
+ )
195
+ unitType.affectingUpgradeIds = {__TS__SparseArraySpread(____array_0)}
196
+ end
197
+ return {applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId}
198
+ end))
199
+ local EVASION_ABILITY_TYPE_IDS = postcompile(function()
200
+ return AbilityType:getAllIdsByBaseIds(map({
201
+ "AEev",
202
+ "ACes",
203
+ "ACev",
204
+ "AIes",
205
+ "ANdb",
206
+ "Acdb",
207
+ "AOcr",
208
+ "ACct",
209
+ "AIcs"
210
+ }, fourCC))
211
+ end)
212
+ local INVENTORY_ABILITY_TYPE_IDS = postcompile(function()
213
+ return toLuaSet(AbilityType:getAllIdsByBaseIds(map({
214
+ "AInv",
215
+ "Aihn",
216
+ "Aien",
217
+ "Aion",
218
+ "Aiun"
219
+ }, fourCC)))
220
+ end)
221
+ local SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID = compiletime(function()
222
+ local abilityType = SearingArrowsAbilityType:create()
223
+ abilityType.isInternal = true
224
+ abilityType.levelCount = 1
225
+ abilityType.missileModelPath = ""
226
+ abilityType.race = "other"
227
+ abilityType.learnLevelMinimum = 6
228
+ abilityType.shouldCheckTechTreeDependencies = false
229
+ abilityType.techTreeDependencies = {}
230
+ abilityType.damageIncrease = 0
231
+ abilityType.castRange = 99999
232
+ abilityType.manaCost = 0
233
+ abilityType.cooldown = 0
234
+ abilityType.allowedTargetCombatClassifications = combatClassificationsOf(
235
+ 2,
236
+ 4,
237
+ 8,
238
+ 16,
239
+ 1048576,
240
+ 2097152
241
+ )
242
+ return abilityType.id
243
+ end)
244
+ Unit.abilityCastingStartEvent[SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID]:addListener(
245
+ 4,
246
+ function(unit)
247
+ unit:removeAbility(SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID)
248
+ end
249
+ )
250
+ ---
251
+ -- @internal For use by internal systems only.
252
+ ____exports.internalApplyBuff = function(unit, applicableBuffTypeId, polarity, resistanceType, level, duration, spellStealPriority, learnLevelMinimum, movementSpeedIncreaseFactor)
253
+ local applicatorType = polarity == 1 and (resistanceType == 1 and 852101 or 852100) or (polarity == 2 and (resistanceType == 1 and 852189 or 852173) or 0)
254
+ local ____opt_1 = applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffTypeId]
255
+ local applicatorAbilityTypeId = ____opt_1 and ____opt_1[applicatorType]
256
+ if applicatorAbilityTypeId == nil then
257
+ return false
258
+ end
259
+ if applicatorType == 0 then
260
+ return unitAddAbility(unit.handle, applicatorAbilityTypeId)
261
+ end
262
+ if applicatorType == 852100 then
263
+ local success
264
+ local nativeUnit = unit.handle
265
+ local nativeItem = createItem(DUMMY_ITEM_ID, 0, 0)
266
+ unitAddItem(INVENTORY_DUMMY_NATIVE_UNIT, nativeItem)
267
+ itemAddAbility(nativeItem, applicatorAbilityTypeId)
268
+ local applicatorAbility = checkNotNull(getItemAbility(nativeItem, applicatorAbilityTypeId))
269
+ if level == nil then
270
+ level = 0
271
+ setAbilityIntegerField(applicatorAbility, ABILITY_IF_LEVELS, 1)
272
+ end
273
+ setAbilityRealLevelField(applicatorAbility, ABILITY_RLF_DURATION_NORMAL, level, duration or 0)
274
+ setAbilityRealLevelField(applicatorAbility, ABILITY_RLF_DURATION_HERO, level, duration or 0)
275
+ if movementSpeedIncreaseFactor ~= nil then
276
+ setAbilityRealLevelField(applicatorAbility, ABILITY_RLF_MOVEMENT_SPEED_INCREASE_BSK1, level, movementSpeedIncreaseFactor)
277
+ end
278
+ setItemBooleanField(nativeItem, ITEM_BF_ACTIVELY_USED, true)
279
+ setItemBooleanField(nativeItem, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED, true)
280
+ if level > 0 then
281
+ local upgradeId = applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId]
282
+ if upgradeId ~= nil then
283
+ setPlayerTechResearched(
284
+ getOwningPlayer(nativeUnit),
285
+ upgradeId,
286
+ level
287
+ )
288
+ end
289
+ end
290
+ if not unitAddItem(nativeUnit, nativeItem) then
291
+ local latestInventoryAbilityTypeId = 0
292
+ local nativeItemBySlot = {}
293
+ local inventorySize = unitInventorySize(nativeUnit)
294
+ if inventorySize ~= 0 then
295
+ for slot = 0, inventorySize - 1 do
296
+ nativeItemBySlot[slot] = UnitRemoveItemFromSlot(nativeUnit, slot)
297
+ end
298
+ local unitNativeAbility = getUnitAbilityByIndex(nativeUnit, 0)
299
+ local i = 1
300
+ while unitNativeAbility ~= nil do
301
+ local abilityTypeId = getAbilityId(unitNativeAbility)
302
+ if INVENTORY_ABILITY_TYPE_IDS[abilityTypeId] ~= nil then
303
+ latestInventoryAbilityTypeId = abilityTypeId
304
+ end
305
+ unitNativeAbility = getUnitAbilityByIndex(nativeUnit, i)
306
+ i = i + 1
307
+ end
308
+ unitRemoveAbility(nativeUnit, latestInventoryAbilityTypeId)
309
+ end
310
+ unitAddAbility(nativeUnit, INVENTORY_ABILITY_TYPE_ID)
311
+ success = unitAddItem(nativeUnit, nativeItem)
312
+ unitRemoveAbility(nativeUnit, INVENTORY_ABILITY_TYPE_ID)
313
+ if latestInventoryAbilityTypeId ~= 0 then
314
+ unitAddAbility(nativeUnit, latestInventoryAbilityTypeId)
315
+ for slot, nativeItem in pairs(nativeItemBySlot) do
316
+ unitAddItem(nativeUnit, nativeItem)
317
+ unitDropItemSlot(nativeUnit, nativeItem, slot)
318
+ end
319
+ end
320
+ else
321
+ success = true
322
+ end
323
+ removeItem(nativeItem)
324
+ if level ~= nil and level > 1 then
325
+ local upgradeId = applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId]
326
+ if upgradeId ~= nil then
327
+ setPlayerTechResearched(
328
+ getOwningPlayer(nativeUnit),
329
+ upgradeId,
330
+ 0
331
+ )
332
+ end
333
+ end
334
+ return success
335
+ end
336
+ if applicatorType == 852173 then
337
+ for ____, abilityId in ipairs(EVASION_ABILITY_TYPE_IDS) do
338
+ unitDisableAbility(unit.handle, abilityId, true, false)
339
+ end
340
+ end
341
+ local success = InstantDummyCaster:getInstance():castTarget(
342
+ unit.owner,
343
+ {applicatorAbilityTypeId, SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID},
344
+ function(ability)
345
+ if level == nil then
346
+ ability:setField(ABILITY_IF_LEVELS, 1)
347
+ level = 0
348
+ end
349
+ ability.level = level
350
+ duration = duration or 0
351
+ local actualDuration = duration > 0 and duration or MAXIMUM_INTEGER
352
+ ability:setField(ABILITY_RLF_DURATION_NORMAL, level, actualDuration)
353
+ ability:setField(ABILITY_RLF_DURATION_HERO, level, actualDuration)
354
+ ability:setField(ABILITY_IF_PRIORITY, spellStealPriority or 0)
355
+ ability:setField(ABILITY_IF_REQUIRED_LEVEL, learnLevelMinimum or 6)
356
+ end,
357
+ applicatorType,
358
+ unit
359
+ )
360
+ if applicatorType == 852173 then
361
+ for ____, abilityId in ipairs(EVASION_ABILITY_TYPE_IDS) do
362
+ unitDisableAbility(unit.handle, abilityId, false, false)
363
+ end
364
+ end
365
+ return success
366
+ end
367
+ ---
368
+ -- @internal For use by internal systems only.
369
+ ____exports.removeBuff = function(unit, applicableBuffTypeId)
370
+ local ____opt_3 = applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffTypeId]
371
+ local applicatorAbilityTypeId = ____opt_3 and ____opt_3[0]
372
+ if applicatorAbilityTypeId ~= nil then
373
+ unitRemoveAbility(unit, applicatorAbilityTypeId)
374
+ end
375
+ return unitRemoveAbility(unit, applicableBuffTypeId)
376
+ end
377
+ return ____exports
@@ -0,0 +1,8 @@
1
+ /// <reference types="warpack-types/warpack" />
2
+ /** @noSelfInFile */
3
+ import { BuffType, BuffTypeId } from "../buff-type";
4
+ export declare class BlankBuffType extends BuffType {
5
+ static readonly BASE_ID: BuffTypeId;
6
+ protected static readonly IS_SYNTHETIC = true;
7
+ constructor(object: WarObject);
8
+ }
@@ -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,64 @@
1
+ /// <reference types="warpack-types/warpack" />
2
+ /** @noSelfInFile */
3
+ import { TupleOf } from "../../../utility/types";
4
+ import { AttachmentPreset, AttachmentPresetInput } from "../auxiliary/attachment-preset";
5
+ import { Race } from "../auxiliary/race";
6
+ import { SoundPresetName } from "../auxiliary/sound-preset-name";
7
+ import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
8
+ import { LightningTypeId } from "./lightning-type";
9
+ export type BuffTypeId = ObjectDataEntryId & {
10
+ readonly __buffTypeId: unique symbol;
11
+ };
12
+ export declare abstract class BuffType<Id extends BuffTypeId = BuffTypeId> extends ObjectDataEntry<Id> {
13
+ private static readonly idGenerator;
14
+ protected static generateId(): number;
15
+ protected static getObjectData(map: WarMap): WarObjects;
16
+ get effectAttachmentPreset(): AttachmentPreset | undefined;
17
+ set effectAttachmentPreset(effectAttachmentPreset: AttachmentPresetInput | undefined);
18
+ get iconPath(): string;
19
+ set iconPath(iconPath: string);
20
+ get iconPathSD(): string;
21
+ set iconPathSD(iconPathSD: string);
22
+ get iconPathHD(): string;
23
+ set iconPathHD(iconPathHD: string);
24
+ get isMissileHoming(): boolean;
25
+ set isMissileHoming(isMissileHoming: boolean);
26
+ get lightningTypeIds(): LightningTypeId[];
27
+ set lightningTypeIds(lightningTypeIds: LightningTypeId[]);
28
+ get missileModelPath(): string;
29
+ set missileModelPath(missileModelPath: string);
30
+ get missileModelPathSD(): string;
31
+ set missileModelPathSD(missileModelPathSD: string);
32
+ get missileModelPathHD(): string;
33
+ set missileModelPathHD(missileModelPathHD: string);
34
+ get missileMovementArc(): number;
35
+ set missileMovementArc(missileMovementArc: number);
36
+ get missileMovementSpeed(): number;
37
+ set missileMovementSpeed(missileMovementSpeed: number);
38
+ get specialAttachmentPreset(): AttachmentPreset | undefined;
39
+ set specialAttachmentPreset(specialAttachmentPreset: AttachmentPresetInput | undefined);
40
+ get targetAttachmentPresets(): TupleOf<AttachmentPreset, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
41
+ set targetAttachmentPresets(targetAttachmentPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
42
+ get soundPresetName(): SoundPresetName;
43
+ set soundPresetName(soundPresetName: SoundPresetName);
44
+ get loopingSoundPresetName(): SoundPresetName;
45
+ set loopingSoundPresetName(loopingSoundPresetName: SoundPresetName);
46
+ get race(): Race;
47
+ set race(race: Race);
48
+ get name(): string;
49
+ set name(name: string);
50
+ get tooltipText(): string;
51
+ set tooltipText(tooltipText: string);
52
+ get tooltipExtendedText(): string;
53
+ set tooltipExtendedText(tooltipText: string);
54
+ }
55
+ declare const AvatarBuffType_base: typeof BuffType;
56
+ export declare class AvatarBuffType extends AvatarBuffType_base {
57
+ }
58
+ declare const DevotionAuraBuffType_base: typeof BuffType;
59
+ export declare class DevotionAuraBuffType extends DevotionAuraBuffType_base {
60
+ }
61
+ declare const DivineShieldBuffType_base: typeof BuffType;
62
+ export declare class DivineShieldBuffType extends DivineShieldBuffType_base {
63
+ }
64
+ export {};