warscript 0.0.1-dev.9b0216a → 0.0.1-dev.9bcb501

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 (442) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/config.d.ts +5 -0
  4. package/config.lua +10 -0
  5. package/core/dummy.lua +4 -2
  6. package/core/types/effect.d.ts +12 -4
  7. package/core/types/effect.lua +67 -104
  8. package/core/types/frame.d.ts +16 -2
  9. package/core/types/frame.lua +141 -77
  10. package/core/types/handle.lua +9 -9
  11. package/core/types/item.d.ts +1 -0
  12. package/core/types/item.lua +1 -0
  13. package/core/types/missile.lua +8 -7
  14. package/core/types/player.d.ts +18 -1
  15. package/core/types/player.lua +76 -26
  16. package/core/types/playerCamera.d.ts +2 -0
  17. package/core/types/playerCamera.lua +123 -5
  18. package/core/types/playerColor.lua +4 -3
  19. package/core/types/sound.d.ts +18 -25
  20. package/core/types/sound.lua +113 -33
  21. package/core/types/tileCell.d.ts +18 -3
  22. package/core/types/tileCell.lua +108 -0
  23. package/core/types/timer.d.ts +9 -8
  24. package/core/types/timer.lua +45 -23
  25. package/core/types/unit.d.ts +5 -0
  26. package/core/types/unit.lua +5 -0
  27. package/core/util.d.ts +3 -1
  28. package/core/util.lua +115 -4
  29. package/decl/native.d.ts +1719 -964
  30. package/destroyable.d.ts +1 -0
  31. package/destroyable.lua +9 -0
  32. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  33. package/engine/ability-type-extended-tooltip.lua +44 -0
  34. package/engine/behavior.d.ts +14 -1
  35. package/engine/behavior.lua +230 -70
  36. package/engine/behaviour/ability/apply-buff.d.ts +5 -0
  37. package/engine/behaviour/ability/apply-buff.lua +36 -4
  38. package/engine/behaviour/ability/apply-unit-behavior.lua +6 -0
  39. package/engine/behaviour/ability/damage.d.ts +13 -3
  40. package/engine/behaviour/ability/damage.lua +41 -49
  41. package/engine/behaviour/ability/emulate-impact.d.ts +15 -1
  42. package/engine/behaviour/ability/emulate-impact.lua +92 -4
  43. package/engine/behaviour/ability/instant-impact.d.ts +12 -1
  44. package/engine/behaviour/ability/instant-impact.lua +17 -2
  45. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  46. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  47. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  48. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  49. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  50. package/engine/behaviour/ability/restore-mana.lua +6 -6
  51. package/engine/behaviour/ability.d.ts +28 -6
  52. package/engine/behaviour/ability.lua +188 -27
  53. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  54. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  55. package/engine/behaviour/unit.d.ts +41 -2
  56. package/engine/behaviour/unit.lua +270 -6
  57. package/engine/buff.d.ts +130 -59
  58. package/engine/buff.lua +638 -307
  59. package/engine/index.d.ts +2 -1
  60. package/engine/internal/ability.d.ts +14 -1
  61. package/engine/internal/ability.lua +112 -42
  62. package/engine/internal/item/ability.lua +92 -15
  63. package/engine/internal/item/fields.d.ts +12 -0
  64. package/engine/internal/item/fields.lua +33 -0
  65. package/engine/internal/item/owner-cache.d.ts +5 -0
  66. package/engine/internal/item/owner-cache.lua +4 -0
  67. package/engine/internal/item+owner.d.ts +2 -0
  68. package/engine/internal/item+owner.lua +37 -8
  69. package/engine/internal/item.d.ts +34 -18
  70. package/engine/internal/item.lua +308 -102
  71. package/engine/internal/mechanics/ability-duration.lua +1 -1
  72. package/engine/internal/mechanics/cast-ability.lua +6 -3
  73. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  74. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  75. package/engine/internal/misc/frame-coordinates.lua +21 -0
  76. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  77. package/engine/internal/misc/get-terrain-z.lua +11 -0
  78. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  79. package/engine/internal/misc/player-local-handle.lua +5 -0
  80. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  81. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  82. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  83. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  84. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  85. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  86. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  87. package/engine/internal/object-data/evasion-probability.lua +16 -0
  88. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  89. package/engine/internal/object-data/health-bonus.lua +16 -0
  90. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  91. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  92. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  93. package/engine/internal/object-data/mana-bonus.lua +16 -0
  94. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  95. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  96. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  97. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  98. package/engine/internal/unit/ability.d.ts +35 -0
  99. package/engine/internal/unit/ability.lua +114 -9
  100. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  101. package/engine/internal/unit/add-item-to-slot-init.lua +12 -0
  102. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  103. package/engine/internal/unit/add-item-to-slot.lua +93 -0
  104. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  105. package/engine/internal/unit/allowed-targets.lua +9 -1
  106. package/engine/internal/unit/appearance.d.ts +15 -0
  107. package/engine/internal/unit/appearance.lua +85 -0
  108. package/engine/internal/unit/attributes.d.ts +17 -0
  109. package/engine/internal/unit/attributes.lua +46 -0
  110. package/engine/internal/unit/bonus.d.ts +19 -0
  111. package/engine/internal/unit/bonus.lua +130 -8
  112. package/engine/internal/unit/buff.d.ts +2 -2
  113. package/engine/internal/unit/buff.lua +34 -19
  114. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  115. package/engine/internal/unit/equipment-inventory.lua +233 -0
  116. package/engine/internal/unit/expiration-timer.lua +1 -1
  117. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  118. package/engine/internal/unit/extended-inventory.lua +99 -0
  119. package/engine/internal/unit/fly-height.d.ts +7 -0
  120. package/engine/internal/unit/fly-height.lua +20 -0
  121. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  122. package/engine/internal/unit/ignore-events-items.lua +14 -0
  123. package/engine/internal/unit/interrupts.d.ts +12 -0
  124. package/engine/internal/unit/interrupts.lua +28 -0
  125. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  126. package/engine/internal/unit/inventory.lua +87 -0
  127. package/engine/internal/unit/item-container.d.ts +25 -0
  128. package/engine/internal/unit/item-container.lua +11 -0
  129. package/engine/internal/unit/item-order-events.d.ts +17 -0
  130. package/engine/internal/unit/item-order-events.lua +67 -0
  131. package/engine/internal/unit/item-slot.d.ts +27 -0
  132. package/engine/internal/unit/item-slot.lua +92 -0
  133. package/engine/internal/unit/main-selected.lua +12 -27
  134. package/engine/internal/unit/order.d.ts +20 -0
  135. package/engine/internal/unit/order.lua +136 -0
  136. package/engine/internal/unit/range-event.d.ts +12 -0
  137. package/engine/internal/unit/range-event.lua +90 -0
  138. package/engine/internal/unit/scale.d.ts +7 -0
  139. package/engine/internal/unit/scale.lua +20 -0
  140. package/engine/internal/unit+ability.d.ts +2 -1
  141. package/engine/internal/unit+ability.lua +83 -3
  142. package/engine/internal/unit+bonus.lua +3 -3
  143. package/engine/internal/unit+damage.d.ts +11 -11
  144. package/engine/internal/unit+damage.lua +43 -14
  145. package/engine/internal/unit+rally.lua +9 -31
  146. package/engine/internal/unit+spellSteal.lua +1 -2
  147. package/engine/internal/unit-missile-data.lua +96 -68
  148. package/engine/internal/unit-missile-launch.lua +65 -27
  149. package/engine/internal/unit.d.ts +45 -34
  150. package/engine/internal/unit.lua +433 -327
  151. package/engine/lightning.d.ts +12 -5
  152. package/engine/lightning.lua +52 -18
  153. package/engine/local-client.d.ts +28 -0
  154. package/engine/local-client.lua +324 -54
  155. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  156. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  157. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  158. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  159. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -2
  160. package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
  161. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  162. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  163. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  164. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  165. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  166. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  167. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  168. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  169. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  170. package/engine/object-data/auxiliary/item-class.lua +2 -0
  171. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  172. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  173. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  174. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  175. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  176. package/engine/object-data/auxiliary/order-type.lua +2 -0
  177. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  178. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  179. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  180. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  181. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  182. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  183. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  184. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  185. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  186. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  187. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  188. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  189. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  190. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  191. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  192. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  193. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  194. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  195. package/engine/object-data/entry/ability-type/barrage.d.ts +12 -0
  196. package/engine/object-data/entry/ability-type/barrage.lua +52 -0
  197. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  198. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  199. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  200. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  201. package/engine/object-data/entry/ability-type/blank-configurable.lua +14 -3
  202. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  203. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  204. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  205. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  206. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  207. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  208. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  209. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  210. package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
  211. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  212. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  213. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  214. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  215. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  216. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  217. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  218. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  219. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  220. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  221. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  222. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  223. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  224. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  225. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  226. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  227. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  228. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  229. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  230. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  231. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  232. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  233. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  234. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  235. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  236. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  237. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  238. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  239. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  240. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  241. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  242. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  243. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  244. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  245. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  246. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  247. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  248. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  249. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  250. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  251. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  252. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  253. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  254. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  255. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  256. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  257. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  258. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  259. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  260. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  261. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  262. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  263. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  264. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  265. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  266. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  267. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  268. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  269. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  270. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  271. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  272. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  273. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  274. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  275. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  276. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  277. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  278. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  279. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  280. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  281. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  282. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  283. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  284. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  285. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  286. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  287. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  288. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  289. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  290. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  291. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  292. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  293. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  294. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  295. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  296. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  297. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  298. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  299. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  300. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  301. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  302. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  303. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  304. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  305. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  306. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  307. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  308. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  309. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  310. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  311. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  312. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  313. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  314. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  315. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  316. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  317. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  318. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  319. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  320. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  321. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  322. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  323. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  324. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  325. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  326. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  327. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  328. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  329. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  330. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  331. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  332. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  333. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  334. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  335. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  336. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  337. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  338. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  339. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  340. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  341. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  342. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  343. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  344. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  345. package/engine/object-data/entry/ability-type/web.lua +52 -0
  346. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  347. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  348. package/engine/object-data/entry/ability-type.d.ts +50 -21
  349. package/engine/object-data/entry/ability-type.lua +384 -35
  350. package/engine/object-data/entry/buff-type/applicable.lua +131 -139
  351. package/engine/object-data/entry/buff-type.d.ts +10 -12
  352. package/engine/object-data/entry/buff-type.lua +39 -29
  353. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  354. package/engine/object-data/entry/destructible-type.lua +181 -0
  355. package/engine/object-data/entry/item-type.d.ts +18 -3
  356. package/engine/object-data/entry/item-type.lua +88 -4
  357. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  358. package/engine/object-data/entry/lightning-type.lua +1 -1
  359. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  360. package/engine/object-data/entry/sound-preset.lua +140 -0
  361. package/engine/object-data/entry/unit-type.d.ts +81 -6
  362. package/engine/object-data/entry/unit-type.lua +606 -93
  363. package/engine/object-data/entry/upgrade.d.ts +2 -2
  364. package/engine/object-data/entry/upgrade.lua +4 -4
  365. package/engine/object-data/entry.d.ts +21 -14
  366. package/engine/object-data/entry.lua +68 -32
  367. package/engine/object-field/ability.d.ts +8 -5
  368. package/engine/object-field/ability.lua +10 -6
  369. package/engine/object-field/item.d.ts +22 -0
  370. package/engine/object-field/item.lua +118 -0
  371. package/engine/object-field/unit.d.ts +72 -3
  372. package/engine/object-field/unit.lua +268 -7
  373. package/engine/object-field.d.ts +26 -7
  374. package/engine/object-field.lua +362 -117
  375. package/engine/random.d.ts +10 -0
  376. package/engine/random.lua +21 -0
  377. package/engine/standard/entries/ability-type.d.ts +3102 -7
  378. package/engine/standard/entries/ability-type.lua +0 -6
  379. package/engine/standard/entries/buff-type.d.ts +48 -0
  380. package/engine/standard/entries/buff-type.lua +46 -0
  381. package/engine/standard/entries/item-type.d.ts +1299 -0
  382. package/engine/standard/entries/item-type.lua +2 -0
  383. package/engine/standard/entries/lightning-type.d.ts +42 -15
  384. package/engine/standard/entries/lightning-type.lua +0 -14
  385. package/engine/standard/entries/sound-preset.d.ts +10 -0
  386. package/engine/standard/entries/sound-preset.lua +10 -0
  387. package/engine/standard/entries/unit-type.d.ts +5 -0
  388. package/engine/standard/entries/unit-type.lua +5 -0
  389. package/engine/standard/fields/ability.d.ts +4 -4
  390. package/engine/standard/fields/ability.lua +4 -4
  391. package/engine/standard/fields/item.d.ts +4 -0
  392. package/engine/standard/fields/item.lua +6 -0
  393. package/engine/standard/fields/unit.d.ts +12 -0
  394. package/engine/standard/fields/unit.lua +20 -0
  395. package/engine/synchronization.d.ts +11 -0
  396. package/engine/synchronization.lua +77 -0
  397. package/engine/text-tag.d.ts +36 -2
  398. package/engine/text-tag.lua +250 -10
  399. package/engine/unit.d.ts +12 -1
  400. package/engine/unit.lua +12 -1
  401. package/event.d.ts +1 -1
  402. package/lualib_bundle.lua +1 -1
  403. package/math.d.ts +2 -0
  404. package/math.lua +14 -0
  405. package/net/socket.lua +1 -1
  406. package/network.lua +25 -1
  407. package/objutil/buff.lua +12 -11
  408. package/objutil/object.lua +1 -1
  409. package/objutil/unit.lua +8 -0
  410. package/operation.d.ts +8 -1
  411. package/operation.lua +38 -18
  412. package/package.json +3 -23
  413. package/patch-lua.lua +15 -0
  414. package/patch-lualib.lua +1 -1
  415. package/utility/arrays.d.ts +9 -1
  416. package/utility/arrays.lua +28 -0
  417. package/utility/callback-array.d.ts +17 -0
  418. package/utility/callback-array.lua +61 -0
  419. package/utility/functions.d.ts +8 -0
  420. package/utility/functions.lua +13 -0
  421. package/utility/linked-map.d.ts +35 -0
  422. package/utility/linked-map.lua +107 -0
  423. package/utility/linked-set.d.ts +5 -1
  424. package/utility/linked-set.lua +49 -1
  425. package/utility/lua-maps.d.ts +15 -2
  426. package/utility/lua-maps.lua +53 -2
  427. package/utility/lua-sets.d.ts +2 -0
  428. package/utility/lua-sets.lua +7 -0
  429. package/utility/random.d.ts +102 -0
  430. package/utility/random.lua +273 -0
  431. package/utility/records.lua +20 -1
  432. package/utility/reflection.lua +11 -7
  433. package/utility/types.d.ts +3 -0
  434. package/utility/unordered-map.d.ts +27 -0
  435. package/utility/unordered-map.lua +99 -0
  436. package/core/types/order.d.ts +0 -25
  437. package/core/types/order.lua +0 -55
  438. package/engine/internal/unit/item.lua +0 -79
  439. /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
  440. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  441. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  442. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -0,0 +1,130 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.BatteringRamAbilityType = __TS__Class()
9
+ local BatteringRamAbilityType = ____exports.BatteringRamAbilityType
10
+ BatteringRamAbilityType.name = "BatteringRamAbilityType"
11
+ __TS__ClassExtends(BatteringRamAbilityType, AbilityType)
12
+ BatteringRamAbilityType.BASE_ID = fourCC("AUbr")
13
+ __TS__SetDescriptor(
14
+ BatteringRamAbilityType.prototype,
15
+ "targetIntersectRadius",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("chra")
19
+ end,
20
+ set = function(self, targetIntersectRadius)
21
+ self:setNumberLevelField("chra", targetIntersectRadius)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ BatteringRamAbilityType.prototype,
28
+ "dashSpeed",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("chr1")
32
+ end,
33
+ set = function(self, dashSpeed)
34
+ self:setNumberLevelField("chr1", dashSpeed)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ __TS__SetDescriptor(
40
+ BatteringRamAbilityType.prototype,
41
+ "dashDamage",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("chr2")
45
+ end,
46
+ set = function(self, dashDamage)
47
+ self:setNumberLevelField("chr2", dashDamage)
48
+ end
49
+ },
50
+ true
51
+ )
52
+ __TS__SetDescriptor(
53
+ BatteringRamAbilityType.prototype,
54
+ "bonusCriticalStrike",
55
+ {
56
+ get = function(self)
57
+ return self:getNumberLevelField("chr3")
58
+ end,
59
+ set = function(self, bonusCriticalStrike)
60
+ self:setNumberLevelField("chr3", bonusCriticalStrike)
61
+ end
62
+ },
63
+ true
64
+ )
65
+ __TS__SetDescriptor(
66
+ BatteringRamAbilityType.prototype,
67
+ "removesBuffsOnStart",
68
+ {
69
+ get = function(self)
70
+ return self:getBooleanLevelField("chr6")
71
+ end,
72
+ set = function(self, removesBuffsOnStart)
73
+ self:setBooleanLevelField("chr6", removesBuffsOnStart)
74
+ end
75
+ },
76
+ true
77
+ )
78
+ __TS__SetDescriptor(
79
+ BatteringRamAbilityType.prototype,
80
+ "bonusDamage",
81
+ {
82
+ get = function(self)
83
+ return self:getNumberLevelField("ubr1")
84
+ end,
85
+ set = function(self, bonusDamage)
86
+ self:setNumberLevelField("ubr1", bonusDamage)
87
+ end
88
+ },
89
+ true
90
+ )
91
+ __TS__SetDescriptor(
92
+ BatteringRamAbilityType.prototype,
93
+ "bonusDamageDuration",
94
+ {
95
+ get = function(self)
96
+ return self:getNumberLevelField("ubr2")
97
+ end,
98
+ set = function(self, bonusDamageDuration)
99
+ self:setNumberLevelField("ubr2", bonusDamageDuration)
100
+ end
101
+ },
102
+ true
103
+ )
104
+ __TS__SetDescriptor(
105
+ BatteringRamAbilityType.prototype,
106
+ "maximumCharges",
107
+ {
108
+ get = function(self)
109
+ return self:getNumberLevelField("ubr3")
110
+ end,
111
+ set = function(self, maximumCharges)
112
+ self:setNumberLevelField("ubr3", maximumCharges)
113
+ end
114
+ },
115
+ true
116
+ )
117
+ __TS__SetDescriptor(
118
+ BatteringRamAbilityType.prototype,
119
+ "chargeRegenerationTime",
120
+ {
121
+ get = function(self)
122
+ return self:getNumberLevelField("ubr4")
123
+ end,
124
+ set = function(self, chargeRegenerationTime)
125
+ self:setNumberLevelField("ubr4", chargeRegenerationTime)
126
+ end
127
+ },
128
+ true
129
+ )
130
+ return ____exports
@@ -7,4 +7,6 @@ export declare class BerserkAbilityType extends AbilityType {
7
7
  set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
8
8
  get attackSpeedIncreaseFactor(): number[];
9
9
  set attackSpeedIncreaseFactor(attackSpeedIncreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
10
+ get receivedDamageIncreaseFactor(): number[];
11
+ set receivedDamageIncreaseFactor(receivedDamageIncreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
10
12
  }
@@ -36,4 +36,17 @@ __TS__SetDescriptor(
36
36
  },
37
37
  true
38
38
  )
39
+ __TS__SetDescriptor(
40
+ BerserkAbilityType.prototype,
41
+ "receivedDamageIncreaseFactor",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("bsk3")
45
+ end,
46
+ set = function(self, receivedDamageIncreaseFactor)
47
+ self:setNumberLevelField("bsk3", receivedDamageIncreaseFactor)
48
+ end
49
+ },
50
+ true
51
+ )
39
52
  return ____exports
@@ -6,6 +6,8 @@ local __TS__New = ____lualib.__TS__New
6
6
  local ____exports = {}
7
7
  local ____channel = require("engine.object-data.entry.ability-type.channel")
8
8
  local ChannelAbilityType = ____channel.ChannelAbilityType
9
+ local ____animation_2Dname = require("engine.object-data.auxiliary.animation-name")
10
+ local isAnimationName = ____animation_2Dname.isAnimationName
9
11
  local ____order_2Dtype_2Dstring_2Did_2Dfactory = require("engine.object-data.utility.order-type-string-id-factory")
10
12
  local orderTypeStringIdFactory = ____order_2Dtype_2Dstring_2Did_2Dfactory.orderTypeStringIdFactory
11
13
  local ____timer = require("core.types.timer")
@@ -35,7 +37,7 @@ function BlankConfigurableAbilityType.prototype.____constructor(self, object)
35
37
  self._isChanneling = false
36
38
  self.buttonPositionX = 0
37
39
  self.buttonPositionY = 0
38
- self.casterAttachmentPresets = {}
40
+ self.casterEffectPresets = {}
39
41
  self.effectModelPaths = {}
40
42
  self.targetEffectPresets = {}
41
43
  self.levelCount = 1
@@ -44,7 +46,7 @@ function BlankConfigurableAbilityType.prototype.____constructor(self, object)
44
46
  self.isPhysical = false
45
47
  self.isUniversal = false
46
48
  self.isUniqueCast = true
47
- self.casterAttachmentPresetsDuration = 0
49
+ self.casterEffectPresetsDuration = 0
48
50
  self.disablesOtherAbilities = false
49
51
  self:setAutoOrderTypeStringIds()
50
52
  usesAttackAnimationByAbilityTypeId[self.id] = false
@@ -211,7 +213,16 @@ for abilityTypeId, usesAttackAnimation in pairs(postcompile(function()
211
213
  for abilityTypeId, usesAttackAnimation in pairs(usesAttackAnimationByAbilityTypeId) do
212
214
  if usesAttackAnimation then
213
215
  local abilityType = checkNotNull(____exports.BlankConfigurableAbilityType:of(abilityTypeId))
214
- abilityType.channelingAnimation = {"attack"}
216
+ if isAnimationName(abilityType.channelingAnimation[1]) then
217
+ if abilityType.channelingAnimation[1] ~= "attack" then
218
+ abilityType.channelingAnimation = {"attack"}
219
+ end
220
+ else
221
+ abilityType.channelingAnimation = {
222
+ "attack",
223
+ table.unpack(abilityType.channelingAnimation)
224
+ }
225
+ end
215
226
  end
216
227
  end
217
228
  return usesAttackAnimationByAbilityTypeId
@@ -0,0 +1,23 @@
1
+ /** @noSelfInFile */
2
+ import { ExhumeCorpsesAbilityType } from "./exhume-corpses";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ /**
5
+ * A passive ability whose cooldown can be started (`Ability.startCooldown`): Exhume
6
+ * Corpses (`Aexh`) is the only passive base ability that shows a cooldown.
7
+ *
8
+ * The corpse fields of the underlying Exhume Corpses are fixed at zero and its native
9
+ * durations at a practically infinite value. {@link buffDuration} and
10
+ * {@link heroBuffDuration} are kept for scripts separately from the native fields.
11
+ *
12
+ * The game ignores per-ability extended tooltips of this base ability, so the type's own
13
+ * tooltip is replaced locally with the one of the locally main selected unit's ability.
14
+ * Read the type's tooltip with `getAbilityTypeExtendedTooltip`, not with the native.
15
+ */
16
+ export declare class BlankPassiveAbilityWithCooldownAbilityType extends ExhumeCorpsesAbilityType {
17
+ static readonly IS_SYNTHETIC = true;
18
+ constructor(object: WarObject);
19
+ get buffDuration(): number[];
20
+ set buffDuration(buffDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
21
+ get heroBuffDuration(): number[];
22
+ set heroBuffDuration(heroBuffDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
23
+ }
@@ -0,0 +1,112 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____exhume_2Dcorpses = require("engine.object-data.entry.ability-type.exhume-corpses")
7
+ local ExhumeCorpsesAbilityType = ____exhume_2Dcorpses.ExhumeCorpsesAbilityType
8
+ local ____ability = require("engine.standard.fields.ability")
9
+ local DURATION_HERO_ABILITY_FLOAT_LEVEL_FIELD = ____ability.DURATION_HERO_ABILITY_FLOAT_LEVEL_FIELD
10
+ local DURATION_NORMAL_ABILITY_FLOAT_LEVEL_FIELD = ____ability.DURATION_NORMAL_ABILITY_FLOAT_LEVEL_FIELD
11
+ local TOOLTIP_NORMAL_EXTENDED_ABILITY_STRING_LEVEL_FIELD = ____ability.TOOLTIP_NORMAL_EXTENDED_ABILITY_STRING_LEVEL_FIELD
12
+ local ____ability_2Dtype_2Dextended_2Dtooltip = require("engine.ability-type-extended-tooltip")
13
+ local overrideAbilityTypeExtendedTooltipLocally = ____ability_2Dtype_2Dextended_2Dtooltip.overrideAbilityTypeExtendedTooltipLocally
14
+ local ____local_2Dclient = require("engine.local-client")
15
+ local LocalClient = ____local_2Dclient.LocalClient
16
+ local ____timer = require("core.types.timer")
17
+ local Timer = ____timer.Timer
18
+ local NATIVE_DURATION = 2147483
19
+ local compiletimeAbilityTypeIds = {}
20
+ --- A passive ability whose cooldown can be started (`Ability.startCooldown`): Exhume
21
+ -- Corpses (`Aexh`) is the only passive base ability that shows a cooldown.
22
+ --
23
+ -- The corpse fields of the underlying Exhume Corpses are fixed at zero and its native
24
+ -- durations at a practically infinite value. {@link buffDuration} and
25
+ -- {@link heroBuffDuration} are kept for scripts separately from the native fields.
26
+ --
27
+ -- The game ignores per-ability extended tooltips of this base ability, so the type's own
28
+ -- tooltip is replaced locally with the one of the locally main selected unit's ability.
29
+ -- Read the type's tooltip with `getAbilityTypeExtendedTooltip`, not with the native.
30
+ ____exports.BlankPassiveAbilityWithCooldownAbilityType = __TS__Class()
31
+ local BlankPassiveAbilityWithCooldownAbilityType = ____exports.BlankPassiveAbilityWithCooldownAbilityType
32
+ BlankPassiveAbilityWithCooldownAbilityType.name = "BlankPassiveAbilityWithCooldownAbilityType"
33
+ __TS__ClassExtends(BlankPassiveAbilityWithCooldownAbilityType, ExhumeCorpsesAbilityType)
34
+ function BlankPassiveAbilityWithCooldownAbilityType.prototype.____constructor(self, object)
35
+ ExhumeCorpsesAbilityType.prototype.____constructor(self, object)
36
+ self.levelCount = 1
37
+ self.iconPath = ""
38
+ self.targetEffectPresets = {}
39
+ self.maximumCorpseCount = function() return 0 end
40
+ self.corpseUnitTypeId = function() return 0 end
41
+ self:setNumberLevelField(
42
+ "adur",
43
+ function() return NATIVE_DURATION end
44
+ )
45
+ self:setNumberLevelField(
46
+ "ahdu",
47
+ function() return NATIVE_DURATION end
48
+ )
49
+ self.buffDuration = function() return 0 end
50
+ self.heroBuffDuration = function() return 0 end
51
+ self.buffTypeIds = function() return {} end
52
+ self.techTreeDependencies = {}
53
+ compiletimeAbilityTypeIds[self.id] = true
54
+ end
55
+ BlankPassiveAbilityWithCooldownAbilityType.IS_SYNTHETIC = true
56
+ __TS__SetDescriptor(
57
+ BlankPassiveAbilityWithCooldownAbilityType.prototype,
58
+ "buffDuration",
59
+ {
60
+ get = function(self)
61
+ return DURATION_NORMAL_ABILITY_FLOAT_LEVEL_FIELD:getValue(self)
62
+ end,
63
+ set = function(self, buffDuration)
64
+ DURATION_NORMAL_ABILITY_FLOAT_LEVEL_FIELD:setValue(self, buffDuration)
65
+ end
66
+ },
67
+ true
68
+ )
69
+ __TS__SetDescriptor(
70
+ BlankPassiveAbilityWithCooldownAbilityType.prototype,
71
+ "heroBuffDuration",
72
+ {
73
+ get = function(self)
74
+ return DURATION_HERO_ABILITY_FLOAT_LEVEL_FIELD:getValue(self)
75
+ end,
76
+ set = function(self, heroBuffDuration)
77
+ DURATION_HERO_ABILITY_FLOAT_LEVEL_FIELD:setValue(self, heroBuffDuration)
78
+ end
79
+ },
80
+ true
81
+ )
82
+ local abilityTypeIds = postcompile(function() return compiletimeAbilityTypeIds end)
83
+ if (next(abilityTypeIds)) ~= nil then
84
+ local overriddenLevelCountByAbilityTypeId = {}
85
+ Timer.onPeriod[1 / 32]:addListener(
86
+ 0,
87
+ function()
88
+ local unit = LocalClient.mainSelectedUnit
89
+ for abilityTypeId in pairs(abilityTypeIds) do
90
+ local ability = unit and unit:getAbility(abilityTypeId)
91
+ local levelCount = ability and ability.levelCount or 0
92
+ if ability ~= nil then
93
+ for level = 0, levelCount - 1 do
94
+ overrideAbilityTypeExtendedTooltipLocally(
95
+ abilityTypeId,
96
+ level,
97
+ TOOLTIP_NORMAL_EXTENDED_ABILITY_STRING_LEVEL_FIELD:getValue(ability, level)
98
+ )
99
+ end
100
+ end
101
+ local overriddenLevelCount = overriddenLevelCountByAbilityTypeId[abilityTypeId] or 0
102
+ for level = levelCount, overriddenLevelCount - 1 do
103
+ overrideAbilityTypeExtendedTooltipLocally(abilityTypeId, level, nil)
104
+ end
105
+ if levelCount ~= overriddenLevelCount then
106
+ overriddenLevelCountByAbilityTypeId[abilityTypeId] = levelCount
107
+ end
108
+ end
109
+ end
110
+ )
111
+ end
112
+ return ____exports
@@ -1,6 +1,10 @@
1
1
  /** @noSelfInFile */
2
2
  import { DiseaseCloudAbilityType } from "./disease-cloud";
3
+ import { CombatClassifications } from "../../auxiliary/combat-classification";
4
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
3
5
  export declare class BlankPassiveAbilityType extends DiseaseCloudAbilityType {
4
6
  static readonly IS_SYNTHETIC = true;
5
7
  constructor(object: WarObject);
8
+ get allowedTargetCombatClassifications(): CombatClassifications[];
9
+ set allowedTargetCombatClassifications(allowedTargetCombatClassifications: ObjectDataEntryLevelFieldValueSupplier<CombatClassifications>);
6
10
  }
@@ -1,11 +1,18 @@
1
1
  local ____lualib = require("lualib_bundle")
2
2
  local __TS__Class = ____lualib.__TS__Class
3
3
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
4
5
  local ____exports = {}
5
6
  local ____disease_2Dcloud = require("engine.object-data.entry.ability-type.disease-cloud")
6
7
  local DiseaseCloudAbilityType = ____disease_2Dcloud.DiseaseCloudAbilityType
7
8
  local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
8
9
  local combatClassificationsOf = ____combat_2Dclassification.combatClassificationsOf
10
+ local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
11
+ local ____ability = require("engine.standard.fields.ability")
12
+ local ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD = ____ability.ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD
13
+ local function noneCombatClassificationStrings()
14
+ return combatClassificationsToStringArray(combatClassificationsOf(1))
15
+ end
9
16
  ____exports.BlankPassiveAbilityType = __TS__Class()
10
17
  local BlankPassiveAbilityType = ____exports.BlankPassiveAbilityType
11
18
  BlankPassiveAbilityType.name = "BlankPassiveAbilityType"
@@ -15,14 +22,27 @@ function BlankPassiveAbilityType.prototype.____constructor(self, object)
15
22
  self.levelCount = 1
16
23
  self.iconPath = ""
17
24
  self.targetEffectPresets = {}
18
- self.diseaseDuration = 0
19
- self.damagePerSecond = 0
20
- self.plagueWardDuration = 0
21
- self.plagueWardUnitTypeId = 0
22
- self.allowedTargetCombatClassifications = combatClassificationsOf(1)
23
- self.areaOfEffect = 0
24
- self.buffTypeIds = {}
25
+ self.diseaseDuration = function() return 0 end
26
+ self.damagePerSecond = function() return 0 end
27
+ self.plagueWardDuration = function() return 0 end
28
+ self.plagueWardUnitTypeId = function() return 0 end
29
+ self:setStringsLevelField("atar", noneCombatClassificationStrings)
30
+ self.areaOfEffect = function() return 0 end
31
+ self.buffTypeIds = function() return {} end
25
32
  self.techTreeDependencies = {}
26
33
  end
27
34
  BlankPassiveAbilityType.IS_SYNTHETIC = true
35
+ __TS__SetDescriptor(
36
+ BlankPassiveAbilityType.prototype,
37
+ "allowedTargetCombatClassifications",
38
+ {
39
+ get = function(self)
40
+ return ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD:getValue(self)
41
+ end,
42
+ set = function(self, allowedTargetCombatClassifications)
43
+ ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD:setValue(self, allowedTargetCombatClassifications)
44
+ end
45
+ },
46
+ true
47
+ )
28
48
  return ____exports
@@ -0,0 +1,11 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ import { CarrionSwarmAbilityType } from "./carrion-swarm";
5
+ /** Brewmaster's Breath of Fire (`ANbf`): Carrion Swarm's wave fields plus a burning damage. */
6
+ export declare class BreathOfFireAbilityType extends CarrionSwarmAbilityType {
7
+ static readonly BASE_ID: AbilityTypeId;
8
+ /** Damage Per Second (of the burning buff) */
9
+ get damagePerSecond(): number[];
10
+ set damagePerSecond(damagePerSecond: ObjectDataEntryLevelFieldValueSupplier<number>);
11
+ }
@@ -0,0 +1,27 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____carrion_2Dswarm = require("engine.object-data.entry.ability-type.carrion-swarm")
7
+ local CarrionSwarmAbilityType = ____carrion_2Dswarm.CarrionSwarmAbilityType
8
+ --- Brewmaster's Breath of Fire (`ANbf`): Carrion Swarm's wave fields plus a burning damage.
9
+ ____exports.BreathOfFireAbilityType = __TS__Class()
10
+ local BreathOfFireAbilityType = ____exports.BreathOfFireAbilityType
11
+ BreathOfFireAbilityType.name = "BreathOfFireAbilityType"
12
+ __TS__ClassExtends(BreathOfFireAbilityType, CarrionSwarmAbilityType)
13
+ BreathOfFireAbilityType.BASE_ID = fourCC("ANbf")
14
+ __TS__SetDescriptor(
15
+ BreathOfFireAbilityType.prototype,
16
+ "damagePerSecond",
17
+ {
18
+ get = function(self)
19
+ return self:getNumberLevelField("Nbf5")
20
+ end,
21
+ set = function(self, damagePerSecond)
22
+ self:setNumberLevelField("Nbf5", damagePerSecond)
23
+ end
24
+ },
25
+ true
26
+ )
27
+ return ____exports
@@ -0,0 +1,14 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class CarrionSwarmAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ get damagePerTarget(): number[];
7
+ set damagePerTarget(damagePerTarget: ObjectDataEntryLevelFieldValueSupplier<number>);
8
+ get maximumTotalDamage(): number[];
9
+ set maximumTotalDamage(maximumTotalDamage: ObjectDataEntryLevelFieldValueSupplier<number>);
10
+ get distance(): number[];
11
+ set distance(distance: ObjectDataEntryLevelFieldValueSupplier<number>);
12
+ get finalAreaOfEffect(): number[];
13
+ set finalAreaOfEffect(finalAreaOfEffect: ObjectDataEntryLevelFieldValueSupplier<number>);
14
+ }
@@ -0,0 +1,65 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.CarrionSwarmAbilityType = __TS__Class()
9
+ local CarrionSwarmAbilityType = ____exports.CarrionSwarmAbilityType
10
+ CarrionSwarmAbilityType.name = "CarrionSwarmAbilityType"
11
+ __TS__ClassExtends(CarrionSwarmAbilityType, AbilityType)
12
+ CarrionSwarmAbilityType.BASE_ID = fourCC("AUcs")
13
+ __TS__SetDescriptor(
14
+ CarrionSwarmAbilityType.prototype,
15
+ "damagePerTarget",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("Ucs1")
19
+ end,
20
+ set = function(self, damagePerTarget)
21
+ self:setNumberLevelField("Ucs1", damagePerTarget)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ CarrionSwarmAbilityType.prototype,
28
+ "maximumTotalDamage",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("Ucs2")
32
+ end,
33
+ set = function(self, maximumTotalDamage)
34
+ self:setNumberLevelField("Ucs2", maximumTotalDamage)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ __TS__SetDescriptor(
40
+ CarrionSwarmAbilityType.prototype,
41
+ "distance",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("Ucs3")
45
+ end,
46
+ set = function(self, distance)
47
+ self:setNumberLevelField("Ucs3", distance)
48
+ end
49
+ },
50
+ true
51
+ )
52
+ __TS__SetDescriptor(
53
+ CarrionSwarmAbilityType.prototype,
54
+ "finalAreaOfEffect",
55
+ {
56
+ get = function(self)
57
+ return self:getNumberLevelField("Ucs4")
58
+ end,
59
+ set = function(self, finalAreaOfEffect)
60
+ self:setNumberLevelField("Ucs4", finalAreaOfEffect)
61
+ end
62
+ },
63
+ true
64
+ )
65
+ return ____exports
@@ -33,8 +33,8 @@ export declare class ChannelAbilityType extends AbilityType {
33
33
  */
34
34
  get isUniqueCast(): boolean[];
35
35
  set isUniqueCast(isUniqueCast: ObjectDataEntryLevelFieldValueSupplier<boolean>);
36
- get casterAttachmentPresetsDuration(): number[];
37
- set casterAttachmentPresetsDuration(casterAttachmentsDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
36
+ get casterEffectPresetsDuration(): number[];
37
+ set casterEffectPresetsDuration(casterEffectPresetsDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
38
38
  /**
39
39
  * Whether the ability should disable and hide other abilities while being channeled.
40
40
  */
@@ -100,13 +100,13 @@ __TS__SetDescriptor(
100
100
  )
101
101
  __TS__SetDescriptor(
102
102
  ChannelAbilityType.prototype,
103
- "casterAttachmentPresetsDuration",
103
+ "casterEffectPresetsDuration",
104
104
  {
105
105
  get = function(self)
106
106
  return self:getNumberLevelField("Ncl4")
107
107
  end,
108
- set = function(self, casterAttachmentsDuration)
109
- self:setNumberLevelField("Ncl4", casterAttachmentsDuration)
108
+ set = function(self, casterEffectPresetsDuration)
109
+ self:setNumberLevelField("Ncl4", casterEffectPresetsDuration)
110
110
  end
111
111
  },
112
112
  true
@@ -0,0 +1,27 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class CleansingFireAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ /** Ally Healing Base */
7
+ get allyBaseHealing(): number[];
8
+ set allyBaseHealing(allyBaseHealing: ObjectDataEntryLevelFieldValueSupplier<number>);
9
+ /** Ally Healing Per Debuff Removed */
10
+ get allyHealingPerDebuffRemoved(): number[];
11
+ set allyHealingPerDebuffRemoved(allyHealingPerDebuffRemoved: ObjectDataEntryLevelFieldValueSupplier<number>);
12
+ /** Ally Buff Duration */
13
+ get allyBuffDuration(): number[];
14
+ set allyBuffDuration(allyBuffDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
15
+ /** Ally Damage Bonus Percent Base */
16
+ get allyBaseDamageBonusPercentage(): number[];
17
+ set allyBaseDamageBonusPercentage(allyBaseDamageBonusPercentage: ObjectDataEntryLevelFieldValueSupplier<number>);
18
+ /** Ally Damage Bonus Percent Per Debuff Removed */
19
+ get allyDamageBonusPercentagePerDebuffRemoved(): number[];
20
+ set allyDamageBonusPercentagePerDebuffRemoved(allyDamageBonusPercentagePerDebuffRemoved: ObjectDataEntryLevelFieldValueSupplier<number>);
21
+ /** Enemy Stun Duration */
22
+ get enemyStunDuration(): number[];
23
+ set enemyStunDuration(enemyStunDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
24
+ /** Summoned Damage */
25
+ get summonedDamage(): number[];
26
+ set summonedDamage(summonedDamage: ObjectDataEntryLevelFieldValueSupplier<number>);
27
+ }