warscript 0.0.1-dev.aaf0a9d → 0.0.1-dev.ac2149a

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 (492) hide show
  1. package/attributes.d.ts +18 -0
  2. package/attributes.lua +32 -0
  3. package/binaryreader.d.ts +1 -0
  4. package/binaryreader.lua +3 -0
  5. package/config.d.ts +5 -0
  6. package/config.lua +10 -0
  7. package/core/dummy.lua +4 -2
  8. package/core/types/effect.d.ts +24 -6
  9. package/core/types/effect.lua +169 -107
  10. package/core/types/frame.d.ts +24 -3
  11. package/core/types/frame.lua +198 -42
  12. package/core/types/group.d.ts +0 -1
  13. package/core/types/handle.d.ts +2 -1
  14. package/core/types/handle.lua +14 -9
  15. package/core/types/image.d.ts +0 -1
  16. package/core/types/item.d.ts +1 -0
  17. package/core/types/item.lua +1 -0
  18. package/core/types/missile.d.ts +2 -2
  19. package/core/types/missile.lua +8 -2
  20. package/core/types/player.d.ts +18 -1
  21. package/core/types/player.lua +76 -26
  22. package/core/types/playerCamera.d.ts +2 -0
  23. package/core/types/playerCamera.lua +123 -5
  24. package/core/types/playerColor.lua +4 -3
  25. package/core/types/sound.d.ts +18 -25
  26. package/core/types/sound.lua +113 -33
  27. package/core/types/tileCell.d.ts +18 -3
  28. package/core/types/tileCell.lua +108 -0
  29. package/core/types/timer.d.ts +9 -8
  30. package/core/types/timer.lua +45 -23
  31. package/core/types/unit.d.ts +5 -0
  32. package/core/types/unit.lua +13 -0
  33. package/core/util.d.ts +3 -1
  34. package/core/util.lua +127 -4
  35. package/decl/index.d.ts +1 -0
  36. package/decl/native.d.ts +1718 -964
  37. package/destroyable.d.ts +1 -0
  38. package/destroyable.lua +9 -0
  39. package/engine/ability.d.ts +1 -1
  40. package/engine/behavior.d.ts +24 -11
  41. package/engine/behavior.lua +233 -73
  42. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  43. package/engine/behaviour/ability/always-enabled.lua +31 -0
  44. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  45. package/engine/behaviour/ability/apply-buff.lua +36 -4
  46. package/engine/behaviour/ability/apply-unit-behavior.d.ts +13 -4
  47. package/engine/behaviour/ability/apply-unit-behavior.lua +37 -9
  48. package/engine/behaviour/ability/damage.d.ts +43 -11
  49. package/engine/behaviour/ability/damage.lua +89 -39
  50. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  51. package/engine/behaviour/ability/emulate-impact.lua +44 -0
  52. package/engine/behaviour/ability/heal.d.ts +33 -6
  53. package/engine/behaviour/ability/heal.lua +89 -10
  54. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  55. package/engine/behaviour/ability/instant-impact.lua +4 -15
  56. package/engine/behaviour/ability/on-command-impact.d.ts +9 -0
  57. package/engine/behaviour/ability/on-command-impact.lua +26 -0
  58. package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
  59. package/engine/behaviour/ability/remove-buffs.lua +49 -0
  60. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  61. package/engine/behaviour/ability/restore-mana.lua +29 -0
  62. package/engine/behaviour/ability.d.ts +37 -7
  63. package/engine/behaviour/ability.lua +208 -27
  64. package/engine/behaviour/unit/stun-immunity.d.ts +12 -7
  65. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  66. package/engine/behaviour/unit.d.ts +49 -4
  67. package/engine/behaviour/unit.lua +293 -2
  68. package/engine/buff.d.ts +168 -59
  69. package/engine/buff.lua +767 -277
  70. package/engine/game-map.d.ts +7 -0
  71. package/engine/game-map.lua +32 -0
  72. package/engine/index.d.ts +2 -1
  73. package/engine/internal/ability.d.ts +31 -15
  74. package/engine/internal/ability.lua +177 -104
  75. package/engine/internal/item/ability.lua +162 -4
  76. package/engine/internal/item/fields.d.ts +12 -0
  77. package/engine/internal/item/fields.lua +33 -0
  78. package/engine/internal/item/owner-cache.d.ts +5 -0
  79. package/engine/internal/item/owner-cache.lua +4 -0
  80. package/engine/internal/item+owner.d.ts +2 -0
  81. package/engine/internal/item+owner.lua +37 -8
  82. package/engine/internal/item.d.ts +34 -18
  83. package/engine/internal/item.lua +308 -102
  84. package/engine/internal/mechanics/ability-duration.d.ts +1 -3
  85. package/engine/internal/mechanics/ability-duration.lua +3 -1
  86. package/engine/internal/mechanics/cast-ability.lua +89 -0
  87. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  88. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  89. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  90. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  91. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  92. package/engine/internal/misc/frame-coordinates.lua +21 -0
  93. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  94. package/engine/internal/misc/get-terrain-z.lua +11 -0
  95. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  96. package/engine/internal/misc/player-local-handle.lua +5 -0
  97. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  98. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  99. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  100. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  101. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  102. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  103. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  104. package/engine/internal/object-data/evasion-probability.lua +16 -0
  105. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  106. package/engine/internal/object-data/health-bonus.lua +16 -0
  107. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  108. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  109. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  110. package/engine/internal/object-data/mana-bonus.lua +16 -0
  111. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  112. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  113. package/engine/internal/unit/ability.d.ts +45 -1
  114. package/engine/internal/unit/ability.lua +142 -19
  115. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  116. package/engine/internal/unit/add-item-to-slot-init.lua +12 -0
  117. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  118. package/engine/internal/unit/add-item-to-slot.lua +93 -0
  119. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  120. package/engine/internal/unit/allowed-targets.lua +9 -1
  121. package/engine/internal/unit/appearance.d.ts +15 -0
  122. package/engine/internal/unit/appearance.lua +85 -0
  123. package/engine/internal/unit/attributes.d.ts +17 -0
  124. package/engine/internal/unit/attributes.lua +46 -0
  125. package/engine/internal/unit/bonus.d.ts +25 -8
  126. package/engine/internal/unit/bonus.lua +125 -9
  127. package/engine/internal/unit/buff.d.ts +2 -2
  128. package/engine/internal/unit/buff.lua +34 -19
  129. package/engine/internal/unit/detach-missiles.d.ts +7 -0
  130. package/engine/internal/unit/detach-missiles.lua +30 -0
  131. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  132. package/engine/internal/unit/equipment-inventory.lua +233 -0
  133. package/engine/internal/unit/expiration-timer.lua +1 -1
  134. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  135. package/engine/internal/unit/extended-inventory.lua +99 -0
  136. package/engine/internal/unit/fly-height.d.ts +7 -0
  137. package/engine/internal/unit/fly-height.lua +20 -0
  138. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  139. package/engine/internal/unit/ignore-events-items.lua +14 -0
  140. package/engine/internal/unit/interrupts.d.ts +12 -0
  141. package/engine/internal/unit/interrupts.lua +28 -0
  142. package/engine/internal/unit/inventory.d.ts +28 -0
  143. package/engine/internal/unit/inventory.lua +87 -0
  144. package/engine/internal/unit/item-container.d.ts +25 -0
  145. package/engine/internal/unit/item-container.lua +11 -0
  146. package/engine/internal/unit/item-order-events.d.ts +17 -0
  147. package/engine/internal/unit/item-order-events.lua +67 -0
  148. package/engine/internal/unit/item-slot.d.ts +27 -0
  149. package/engine/internal/unit/item-slot.lua +92 -0
  150. package/engine/internal/unit/main-selected.d.ts +13 -0
  151. package/engine/internal/unit/main-selected.lua +36 -0
  152. package/engine/internal/unit/order.d.ts +20 -0
  153. package/engine/internal/unit/order.lua +136 -0
  154. package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
  155. package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
  156. package/engine/internal/unit/range-event.d.ts +12 -0
  157. package/engine/internal/unit/range-event.lua +90 -0
  158. package/engine/internal/unit/scale.d.ts +7 -0
  159. package/engine/internal/unit/scale.lua +20 -0
  160. package/engine/internal/unit+ability.d.ts +2 -1
  161. package/engine/internal/unit+ability.lua +75 -5
  162. package/engine/internal/unit+bonus.lua +3 -3
  163. package/engine/internal/unit+damage.d.ts +11 -11
  164. package/engine/internal/unit+damage.lua +43 -14
  165. package/engine/internal/unit+rally.lua +9 -31
  166. package/engine/internal/unit+spellSteal.lua +1 -2
  167. package/engine/internal/unit+transport.lua +4 -10
  168. package/engine/internal/unit-missile-data.lua +58 -32
  169. package/engine/internal/unit-missile-launch.lua +70 -13
  170. package/engine/internal/unit.d.ts +91 -38
  171. package/engine/internal/unit.lua +667 -352
  172. package/engine/internal/utility.lua +12 -0
  173. package/engine/lightning.d.ts +12 -5
  174. package/engine/lightning.lua +48 -14
  175. package/engine/local-client.d.ts +35 -2
  176. package/engine/local-client.lua +367 -15
  177. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  178. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  179. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  180. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  181. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -3
  182. package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
  183. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  184. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  185. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  186. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  187. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  188. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  189. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  190. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  191. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  192. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  193. package/engine/object-data/auxiliary/item-class.lua +2 -0
  194. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  195. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  196. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  197. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  198. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  199. package/engine/object-data/auxiliary/order-type.lua +2 -0
  200. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  201. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  202. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  203. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  204. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  205. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  206. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  207. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  208. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  209. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  210. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  211. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  212. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  213. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  214. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  215. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  216. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  217. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  218. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  219. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  220. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  221. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  222. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  223. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -1
  224. package/engine/object-data/entry/ability-type/blank-configurable.lua +42 -1
  225. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -1
  226. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  227. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  228. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  229. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  230. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  231. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  232. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  233. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  234. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  235. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  236. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  237. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  238. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  239. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  240. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  241. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  242. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  243. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  244. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  245. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  246. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  247. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  248. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  249. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  250. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  251. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  252. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  253. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  254. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  255. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  256. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  257. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  258. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  259. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  260. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  261. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  262. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  263. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  264. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  265. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  266. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  267. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  268. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  269. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  270. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  271. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  272. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  273. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  274. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  275. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  276. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  277. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  278. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  279. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  280. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  281. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  282. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  283. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  284. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  285. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  286. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  287. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  288. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  289. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  290. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  291. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  292. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  293. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  294. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  295. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  296. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  297. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  298. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  299. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  300. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  301. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  302. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  303. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  304. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  305. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  306. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  307. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  308. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  309. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  310. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  311. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  312. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  313. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  314. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  315. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  316. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  317. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  318. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  319. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  320. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  321. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  322. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  323. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  324. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  325. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  326. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  327. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  328. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  329. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  330. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  331. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  332. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  333. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  334. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  335. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  336. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  337. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  338. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  339. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  340. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  341. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  342. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  343. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  344. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  345. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  346. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  347. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  348. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  349. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  350. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  351. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  352. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  353. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  354. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  355. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  356. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  357. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  358. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  359. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  360. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  361. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  362. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  363. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  364. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  365. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  366. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  367. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  368. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  369. package/engine/object-data/entry/ability-type/web.lua +52 -0
  370. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  371. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  372. package/engine/object-data/entry/ability-type.d.ts +42 -21
  373. package/engine/object-data/entry/ability-type.lua +338 -44
  374. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  375. package/engine/object-data/entry/buff-type/applicable.lua +143 -202
  376. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  377. package/engine/object-data/entry/buff-type.d.ts +10 -13
  378. package/engine/object-data/entry/buff-type.lua +39 -29
  379. package/engine/object-data/entry/destructible-type.d.ts +32 -3
  380. package/engine/object-data/entry/destructible-type.lua +181 -0
  381. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  382. package/engine/object-data/entry/item-type.d.ts +32 -4
  383. package/engine/object-data/entry/item-type.lua +177 -2
  384. package/engine/object-data/entry/lightning-type.d.ts +6 -9
  385. package/engine/object-data/entry/lightning-type.lua +1 -1
  386. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  387. package/engine/object-data/entry/sound-preset.lua +140 -0
  388. package/engine/object-data/entry/unit-type.d.ts +111 -6
  389. package/engine/object-data/entry/unit-type.lua +945 -118
  390. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  391. package/engine/object-data/entry/upgrade.d.ts +2 -3
  392. package/engine/object-data/entry/upgrade.lua +4 -4
  393. package/engine/object-data/entry.d.ts +23 -17
  394. package/engine/object-data/entry.lua +68 -32
  395. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  396. package/engine/object-field/ability.d.ts +33 -8
  397. package/engine/object-field/ability.lua +63 -3
  398. package/engine/object-field/item.d.ts +22 -0
  399. package/engine/object-field/item.lua +118 -0
  400. package/engine/object-field/unit.d.ts +72 -2
  401. package/engine/object-field/unit.lua +268 -4
  402. package/engine/object-field.d.ts +30 -10
  403. package/engine/object-field.lua +386 -119
  404. package/engine/random.d.ts +11 -0
  405. package/engine/random.lua +30 -0
  406. package/engine/standard/entries/ability-type.d.ts +3102 -7
  407. package/engine/standard/entries/ability-type.lua +0 -6
  408. package/engine/standard/entries/buff-type.d.ts +48 -0
  409. package/engine/standard/entries/buff-type.lua +46 -0
  410. package/engine/standard/entries/item-type.d.ts +1299 -0
  411. package/engine/standard/entries/item-type.lua +2 -0
  412. package/engine/standard/entries/lightning-type.d.ts +42 -15
  413. package/engine/standard/entries/lightning-type.lua +0 -14
  414. package/engine/standard/entries/sound-preset.d.ts +10 -0
  415. package/engine/standard/entries/sound-preset.lua +10 -0
  416. package/engine/standard/entries/unit-type.d.ts +47 -1
  417. package/engine/standard/entries/unit-type.lua +47 -1
  418. package/engine/standard/fields/ability.d.ts +5 -3
  419. package/engine/standard/fields/ability.lua +5 -3
  420. package/engine/standard/fields/item.d.ts +4 -0
  421. package/engine/standard/fields/item.lua +6 -0
  422. package/engine/standard/fields/unit.d.ts +12 -0
  423. package/engine/standard/fields/unit.lua +20 -0
  424. package/engine/synchronization.d.ts +11 -0
  425. package/engine/synchronization.lua +77 -0
  426. package/engine/text-tag.d.ts +36 -2
  427. package/engine/text-tag.lua +250 -10
  428. package/engine/unit.d.ts +14 -0
  429. package/engine/unit.lua +23 -2
  430. package/event.d.ts +3 -4
  431. package/event.lua +9 -5
  432. package/global/vec2.lua +1 -0
  433. package/index.d.ts +1 -0
  434. package/index.lua +1 -0
  435. package/lualib_bundle.lua +147 -43
  436. package/math/vec2.d.ts +2 -9
  437. package/math.d.ts +2 -2
  438. package/math.lua +14 -0
  439. package/net/socket.d.ts +7 -1
  440. package/net/socket.lua +45 -4
  441. package/network.d.ts +1 -0
  442. package/network.lua +28 -3
  443. package/objutil/ability.d.ts +0 -1
  444. package/objutil/buff.d.ts +0 -1
  445. package/objutil/buff.lua +13 -12
  446. package/objutil/object.d.ts +0 -1
  447. package/objutil/object.lua +1 -1
  448. package/objutil/unit.d.ts +0 -1
  449. package/objutil/unit.lua +8 -0
  450. package/operation.d.ts +8 -1
  451. package/operation.lua +38 -18
  452. package/package.json +3 -24
  453. package/patch-lua.d.ts +0 -0
  454. package/patch-lua.lua +25 -0
  455. package/patch-lualib.lua +1 -1
  456. package/property.d.ts +55 -0
  457. package/property.lua +374 -0
  458. package/string.d.ts +30 -0
  459. package/string.lua +14 -0
  460. package/util/stream.d.ts +0 -1
  461. package/utility/arrays.d.ts +19 -6
  462. package/utility/arrays.lua +60 -3
  463. package/utility/bit-set.d.ts +0 -2
  464. package/utility/callback-array.d.ts +17 -0
  465. package/utility/callback-array.lua +61 -0
  466. package/utility/functions.d.ts +8 -0
  467. package/utility/functions.lua +13 -0
  468. package/utility/lazy.d.ts +2 -0
  469. package/utility/lazy.lua +14 -0
  470. package/utility/linked-map.d.ts +35 -0
  471. package/utility/linked-map.lua +107 -0
  472. package/utility/linked-set.d.ts +17 -4
  473. package/utility/linked-set.lua +70 -3
  474. package/utility/lua-maps.d.ts +16 -4
  475. package/utility/lua-maps.lua +53 -2
  476. package/utility/lua-sets.d.ts +3 -2
  477. package/utility/lua-sets.lua +7 -0
  478. package/utility/random.d.ts +102 -0
  479. package/utility/random.lua +273 -0
  480. package/utility/records.lua +20 -1
  481. package/utility/reflection.lua +11 -7
  482. package/utility/types.d.ts +6 -2
  483. package/utility/unordered-map.d.ts +27 -0
  484. package/utility/unordered-map.lua +99 -0
  485. package/core/mapbounds.d.ts +0 -8
  486. package/core/mapbounds.lua +0 -12
  487. package/core/types/order.d.ts +0 -25
  488. package/core/types/order.lua +0 -55
  489. /package/engine/internal/{object-data/armor-increase.d.ts → mechanics/cast-ability.d.ts} +0 -0
  490. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  491. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  492. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -1,11 +1,13 @@
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__New = ____lualib.__TS__New
5
4
  local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local __TS__InstanceOf = ____lualib.__TS__InstanceOf
6
+ local __TS__ArraySome = ____lualib.__TS__ArraySome
6
7
  local ____exports = {}
7
8
  local ____unit = require("engine.internal.unit")
8
9
  local Unit = ____unit.Unit
10
+ require("engine.internal.unit.ability")
9
11
  local ____timer = require("core.types.timer")
10
12
  local Timer = ____timer.Timer
11
13
  local ____effect = require("core.types.effect")
@@ -17,9 +19,11 @@ local array = ____arrays.array
17
19
  local map = ____arrays.map
18
20
  local mapIndexed = ____arrays.mapIndexed
19
21
  local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
22
+ local attachmentPointToNodeFQN = ____attachment_2Dpreset.attachmentPointToNodeFQN
20
23
  local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
21
24
  local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
22
- local toAttachmentPreset = ____attachment_2Dpreset.toAttachmentPreset
25
+ local splitAttachmentNodeFQN = ____attachment_2Dpreset.splitAttachmentNodeFQN
26
+ local toEffectPreset = ____attachment_2Dpreset.toEffectPreset
23
27
  local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
24
28
  local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
25
29
  local stringArrayToCombatClassifications = ____combat_2Dclassification.stringArrayToCombatClassifications
@@ -30,14 +34,27 @@ local ____entry = require("engine.object-data.entry")
30
34
  local extractObjectDataEntryLevelFieldValue = ____entry.extractObjectDataEntryLevelFieldValue
31
35
  local ObjectDataEntry = ____entry.ObjectDataEntry
32
36
  local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
33
- local ObjectDataEntryIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.ObjectDataEntryIdGenerator
37
+ local abilityTypeIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.abilityTypeIdGenerator
34
38
  local ____upgrade = require("engine.object-data.entry.upgrade")
35
39
  local Upgrade = ____upgrade.Upgrade
40
+ local ____sound = require("core.types.sound")
41
+ local isSoundLabelCustom = ____sound.isSoundLabelCustom
42
+ local Sound3D = ____sound.Sound3D
43
+ local SoundSettings = ____sound.SoundSettings
44
+ local ____lua_2Dsets = require("utility.lua-sets")
45
+ local luaSetOf = ____lua_2Dsets.luaSetOf
46
+ local ____local_2Dclient = require("engine.local-client")
47
+ local LocalClient = ____local_2Dclient.LocalClient
36
48
  local castAnimationFQNByAbilityTypeId = {}
37
49
  local isButtonVisibleFalseAbilityTypes = {}
38
50
  local casterCastingEffectPresetsByAbilityTypeId = {}
39
51
  local casterChannelingEffectPresetsByAbilityTypeId = {}
40
52
  local targetCastingEffectPresetsByAbilityTypeId = {}
53
+ local targetChannelingEffectPresetsByAbilityTypeId = {}
54
+ local targetChannelingEffectPresetsSDByAbilityTypeId = {}
55
+ local targetChannelingEffectPresetsHDByAbilityTypeId = {}
56
+ local targetChannelingEffectPresetsDEByAbilityTypeId = {}
57
+ local targetEffectSoundPresetByAbilityTypeId = {}
41
58
  ____exports.AbilityType = __TS__Class()
42
59
  local AbilityType = ____exports.AbilityType
43
60
  AbilityType.name = "AbilityType"
@@ -52,10 +69,7 @@ end
52
69
  function AbilityType.getObjectData(self, map)
53
70
  return map.objects.ability
54
71
  end
55
- AbilityType.idGenerator = __TS__New(
56
- ObjectDataEntryIdGenerator,
57
- fourCC("A000")
58
- )
72
+ AbilityType.idGenerator = abilityTypeIdGenerator
59
73
  __TS__SetDescriptor(
60
74
  AbilityType.prototype,
61
75
  "channelingAnimation",
@@ -116,7 +130,7 @@ __TS__SetDescriptor(
116
130
  return casterCastingEffectPresetsByAbilityTypeId[self.id] or ({})
117
131
  end,
118
132
  set = function(self, casterCastingEffectPresets)
119
- casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toAttachmentPreset)
133
+ casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toEffectPreset)
120
134
  end
121
135
  },
122
136
  true
@@ -129,7 +143,7 @@ __TS__SetDescriptor(
129
143
  return casterChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
130
144
  end,
131
145
  set = function(self, casterChannelingEffectPresets)
132
- casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toAttachmentPreset)
146
+ casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toEffectPreset)
133
147
  end
134
148
  },
135
149
  true
@@ -199,6 +213,19 @@ __TS__SetDescriptor(
199
213
  },
200
214
  true
201
215
  )
216
+ __TS__SetDescriptor(
217
+ AbilityType.prototype,
218
+ "iconPathDE",
219
+ {
220
+ get = function(self)
221
+ return self:getStringField("aart:de")
222
+ end,
223
+ set = function(self, iconPathDE)
224
+ self:setStringField("aart:de", iconPathDE)
225
+ end
226
+ },
227
+ true
228
+ )
202
229
  __TS__SetDescriptor(
203
230
  AbilityType.prototype,
204
231
  "isButtonVisible",
@@ -274,10 +301,10 @@ __TS__SetDescriptor(
274
301
  "lightningTypeIds",
275
302
  {
276
303
  get = function(self)
277
- return self:getObjectDataEntryIdsField("alig")
304
+ return self:getObjectDataEntryNumericIdsField("alig")
278
305
  end,
279
306
  set = function(self, lightningTypeIds)
280
- self:setObjectDataEntryIdsField("alig", lightningTypeIds)
307
+ self:setObjectDataEntryNumericIdsField("alig", lightningTypeIds)
281
308
  end
282
309
  },
283
310
  true
@@ -321,6 +348,19 @@ __TS__SetDescriptor(
321
348
  },
322
349
  true
323
350
  )
351
+ __TS__SetDescriptor(
352
+ AbilityType.prototype,
353
+ "missileModelPathDE",
354
+ {
355
+ get = function(self)
356
+ return self:getStringField("amat:de")
357
+ end,
358
+ set = function(self, missileModelPathDE)
359
+ self:setStringField("amat:de", missileModelPathDE)
360
+ end
361
+ },
362
+ true
363
+ )
324
364
  __TS__SetDescriptor(
325
365
  AbilityType.prototype,
326
366
  "missileMovementArc",
@@ -349,13 +389,30 @@ __TS__SetDescriptor(
349
389
  )
350
390
  __TS__SetDescriptor(
351
391
  AbilityType.prototype,
352
- "specialAttachmentPreset",
392
+ "specialEffectModelPaths",
393
+ {
394
+ get = function(self)
395
+ return self:getStringsField("asat")
396
+ end,
397
+ set = function(self, specialEffectModelPaths)
398
+ self:setStringsField("asat", specialEffectModelPaths)
399
+ end
400
+ },
401
+ true
402
+ )
403
+ __TS__SetDescriptor(
404
+ AbilityType.prototype,
405
+ "specialEffectAttachmentPoint",
353
406
  {
354
407
  get = function(self)
355
- return self:getAttachmentPresetField("asat", "aspt")
408
+ local nodeName, nodeQualifiers = splitAttachmentNodeFQN(self:getStringField("aspt"))
409
+ return {nodeName = nodeName, nodeQualifiers = nodeQualifiers}
356
410
  end,
357
- set = function(self, specialAttachmentPreset)
358
- self:setAttachmentPresetField("asat", "aspt", specialAttachmentPreset)
411
+ set = function(self, specialEffectAttachmentPoint)
412
+ self:setStringField(
413
+ "aspt",
414
+ attachmentPointToNodeFQN(specialEffectAttachmentPoint)
415
+ )
359
416
  end
360
417
  },
361
418
  true
@@ -368,7 +425,59 @@ __TS__SetDescriptor(
368
425
  return targetCastingEffectPresetsByAbilityTypeId[self.id] or ({})
369
426
  end,
370
427
  set = function(self, targetCastingEffectPresets)
371
- targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets, toAttachmentPreset)
428
+ targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets, toEffectPreset)
429
+ end
430
+ },
431
+ true
432
+ )
433
+ __TS__SetDescriptor(
434
+ AbilityType.prototype,
435
+ "targetChannelingEffectPresets",
436
+ {
437
+ get = function(self)
438
+ return targetChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
439
+ end,
440
+ set = function(self, targetChannelingEffectPresets)
441
+ targetChannelingEffectPresetsByAbilityTypeId[self.id] = map(targetChannelingEffectPresets, toEffectPreset)
442
+ end
443
+ },
444
+ true
445
+ )
446
+ __TS__SetDescriptor(
447
+ AbilityType.prototype,
448
+ "targetChannelingEffectPresetsSD",
449
+ {
450
+ get = function(self)
451
+ return targetChannelingEffectPresetsSDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
452
+ end,
453
+ set = function(self, targetChannelingEffectPresetsSD)
454
+ targetChannelingEffectPresetsSDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsSD, toEffectPreset)
455
+ end
456
+ },
457
+ true
458
+ )
459
+ __TS__SetDescriptor(
460
+ AbilityType.prototype,
461
+ "targetChannelingEffectPresetsHD",
462
+ {
463
+ get = function(self)
464
+ return targetChannelingEffectPresetsHDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
465
+ end,
466
+ set = function(self, targetChannelingEffectPresetsHD)
467
+ targetChannelingEffectPresetsHDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsHD, toEffectPreset)
468
+ end
469
+ },
470
+ true
471
+ )
472
+ __TS__SetDescriptor(
473
+ AbilityType.prototype,
474
+ "targetChannelingEffectPresetsDE",
475
+ {
476
+ get = function(self)
477
+ return targetChannelingEffectPresetsDEByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
478
+ end,
479
+ set = function(self, targetChannelingEffectPresetsDE)
480
+ targetChannelingEffectPresetsDEByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsDE, toEffectPreset)
372
481
  end
373
482
  },
374
483
  true
@@ -454,6 +563,33 @@ __TS__SetDescriptor(
454
563
  },
455
564
  true
456
565
  )
566
+ __TS__SetDescriptor(
567
+ AbilityType.prototype,
568
+ "targetEffectPresetsDE",
569
+ {
570
+ get = function(self)
571
+ return self:getAttachmentPresetListField(
572
+ "atat:de",
573
+ array(
574
+ 6,
575
+ function(i) return ("ata" .. tostring(i)) .. ":de" end
576
+ )
577
+ )
578
+ end,
579
+ set = function(self, targetEffectPresetsDE)
580
+ self:setAttachmentPresetListField(
581
+ "atat:de",
582
+ array(
583
+ 6,
584
+ function(i) return ("ata" .. tostring(i)) .. ":de" end
585
+ ),
586
+ "atac:de",
587
+ targetEffectPresetsDE
588
+ )
589
+ end
590
+ },
591
+ true
592
+ )
457
593
  __TS__SetDescriptor(
458
594
  AbilityType.prototype,
459
595
  "turnOffButtonPositionX",
@@ -511,7 +647,7 @@ __TS__SetDescriptor(
511
647
  "techTreeDependencies",
512
648
  {
513
649
  get = function(self)
514
- local techTreeDependencyIds = self:getObjectDataEntryIdsField("areq")
650
+ local techTreeDependencyIds = self:getObjectDataEntryNumericIdsField("areq")
515
651
  local techTreeDependencyInternalLevels = self:getNumbersField("arqa")
516
652
  return mapIndexed(
517
653
  techTreeDependencyIds,
@@ -531,7 +667,7 @@ __TS__SetDescriptor(
531
667
  map(techTreeDependencies, extractTechTreeDependencyInputLevel),
532
668
  function(techTreeDependencyLevel) return techTreeDependencyLevel + 1 end
533
669
  )
534
- self:setObjectDataEntryIdsField("areq", techTreeDependencyIds)
670
+ self:setObjectDataEntryNumericIdsField("areq", techTreeDependencyIds)
535
671
  self:setNumbersField("arqa", techTreeDependencyInternalLevels)
536
672
  end
537
673
  },
@@ -721,26 +857,40 @@ __TS__SetDescriptor(
721
857
  )
722
858
  __TS__SetDescriptor(
723
859
  AbilityType.prototype,
724
- "soundPresetName",
860
+ "casterEffectSoundPresetId",
725
861
  {
726
862
  get = function(self)
727
- return self:getStringField("aefs")
863
+ local casterEffectSoundPresetId = self:getStringField("aefs")
864
+ return casterEffectSoundPresetId ~= "" and casterEffectSoundPresetId or nil
728
865
  end,
729
- set = function(self, soundPresetName)
730
- self:setStringField("aefs", soundPresetName)
866
+ set = function(self, casterEffectSoundPresetId)
867
+ self:setStringField("aefs", casterEffectSoundPresetId or "")
731
868
  end
732
869
  },
733
870
  true
734
871
  )
735
872
  __TS__SetDescriptor(
736
873
  AbilityType.prototype,
737
- "loopingSoundPresetName",
874
+ "casterEffectLoopingSoundPresetId",
738
875
  {
739
876
  get = function(self)
740
877
  return self:getStringField("aefl")
741
878
  end,
742
- set = function(self, loopingSoundPresetName)
743
- self:setStringField("aefl", loopingSoundPresetName)
879
+ set = function(self, casterEffectLoopingSoundPresetId)
880
+ self:setStringField("aefl", casterEffectLoopingSoundPresetId)
881
+ end
882
+ },
883
+ true
884
+ )
885
+ __TS__SetDescriptor(
886
+ AbilityType.prototype,
887
+ "targetEffectSoundPresetId",
888
+ {
889
+ get = function(self)
890
+ return targetEffectSoundPresetByAbilityTypeId[self.id]
891
+ end,
892
+ set = function(self, targetEffectSoundPresetId)
893
+ targetEffectSoundPresetByAbilityTypeId[self.id] = targetEffectSoundPresetId
744
894
  end
745
895
  },
746
896
  true
@@ -799,10 +949,10 @@ __TS__SetDescriptor(
799
949
  "buffTypeIds",
800
950
  {
801
951
  get = function(self)
802
- return self:getObjectDataEntryIdsLevelField("abuf")
952
+ return self:getObjectDataEntryNumericIdsLevelField("abuf")
803
953
  end,
804
954
  set = function(self, buffTypeIds)
805
- self:setObjectDataEntryIdsLevelField("abuf", buffTypeIds)
955
+ self:setObjectDataEntryNumericIdsLevelField("abuf", buffTypeIds)
806
956
  end
807
957
  },
808
958
  true
@@ -851,10 +1001,10 @@ __TS__SetDescriptor(
851
1001
  "effectBuffTypeIds",
852
1002
  {
853
1003
  get = function(self)
854
- return self:getObjectDataEntryIdsLevelField("aeff")
1004
+ return self:getObjectDataEntryNumericIdsLevelField("aeff")
855
1005
  end,
856
1006
  set = function(self, effectBuffTypeIds)
857
- self:setObjectDataEntryIdsLevelField("aeff", effectBuffTypeIds)
1007
+ self:setObjectDataEntryNumericIdsLevelField("aeff", effectBuffTypeIds)
858
1008
  end
859
1009
  },
860
1010
  true
@@ -962,13 +1112,38 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
962
1112
  4,
963
1113
  function(caster, ability)
964
1114
  if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
965
- Timer:run(function()
966
- caster:playAnimation(animationFQN)
967
- end)
1115
+ Timer:run(caster, "playAnimation", animationFQN)
968
1116
  end
969
1117
  end
970
1118
  )
971
1119
  end
1120
+ for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEffectSoundPresetByAbilityTypeId end)) do
1121
+ if soundPresetId ~= nil then
1122
+ Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(
1123
+ 4,
1124
+ function(caster, ability, target)
1125
+ if __TS__InstanceOf(target, Unit) then
1126
+ Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target)
1127
+ else
1128
+ Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target.x, target.y)
1129
+ end
1130
+ end
1131
+ )
1132
+ Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(
1133
+ 4,
1134
+ function(caster, ability, x, y)
1135
+ Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, x, y)
1136
+ end
1137
+ )
1138
+ end
1139
+ end
1140
+ local unsupportedEffectSoundAbilityTypeIds = luaSetOf(fourCC("AAns"))
1141
+ Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
1142
+ local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
1143
+ if isSoundLabelCustom(soundPresetId) or soundPresetId ~= "" and unsupportedEffectSoundAbilityTypeIds[ability.parentTypeId] ~= nil then
1144
+ Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
1145
+ end
1146
+ end)
972
1147
  local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
973
1148
  return mapValues(
974
1149
  casterCastingEffectPresetsByAbilityTypeId,
@@ -981,10 +1156,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
981
1156
  function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
982
1157
  )
983
1158
  end)
1159
+ local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
1160
+ return mapValues(
1161
+ casterCastingEffectPresetsByAbilityTypeId,
1162
+ function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
1163
+ )
1164
+ end)
984
1165
  local casterCastingEffectsByCaster = {}
985
1166
  local function handleAbilityCastingStartEvent(caster, ability)
986
1167
  local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
987
1168
  local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
1169
+ local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
988
1170
  local effects = {}
989
1171
  if effectModelPaths ~= nil then
990
1172
  for i = 1, #effectModelPaths do
@@ -993,12 +1175,12 @@ local function handleAbilityCastingStartEvent(caster, ability)
993
1175
  if attachmentPoint == nil or attachmentPoint == "" then
994
1176
  attachmentPoint = "origin"
995
1177
  end
996
- effects[i] = Effect:createTarget(effectModelPath, caster, attachmentPoint)
1178
+ effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
997
1179
  end
998
1180
  end
999
1181
  casterCastingEffectsByCaster[caster] = effects
1000
1182
  end
1001
- local function handleAbilityStopEvent(caster)
1183
+ local function handleAbilityStopCastingEvent(caster)
1002
1184
  local effects = casterCastingEffectsByCaster[caster]
1003
1185
  if effects ~= nil then
1004
1186
  for i = 1, #effects do
@@ -1009,8 +1191,8 @@ local function handleAbilityStopEvent(caster)
1009
1191
  end
1010
1192
  for abilityTypeId in pairs(casterCastingEffectModelPathsByAbilityTypeId) do
1011
1193
  Unit.abilityCastingStartEvent[abilityTypeId]:addListener(4, handleAbilityCastingStartEvent)
1012
- Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityStopEvent)
1013
- Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopEvent)
1194
+ Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
1195
+ Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
1014
1196
  end
1015
1197
  local casterChannelingEffectModelPathsByAbilityTypeId = postcompile(function()
1016
1198
  return mapValues(
@@ -1024,10 +1206,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
1024
1206
  function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
1025
1207
  )
1026
1208
  end)
1209
+ local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
1210
+ return mapValues(
1211
+ casterChannelingEffectPresetsByAbilityTypeId,
1212
+ function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
1213
+ )
1214
+ end)
1027
1215
  local casterChannelingEffectsByCaster = {}
1028
1216
  local function handleAbilityChannelingStartEvent(caster, ability)
1029
1217
  local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
1030
1218
  local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
1219
+ local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
1031
1220
  local effects = {}
1032
1221
  if effectModelPaths ~= nil then
1033
1222
  for i = 1, #effectModelPaths do
@@ -1036,23 +1225,128 @@ local function handleAbilityChannelingStartEvent(caster, ability)
1036
1225
  if attachmentPoint == nil or attachmentPoint == "" then
1037
1226
  attachmentPoint = "origin"
1038
1227
  end
1039
- effects[i] = Effect:createTarget(effectModelPath, caster, attachmentPoint)
1228
+ effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
1040
1229
  end
1041
1230
  end
1042
1231
  casterChannelingEffectsByCaster[caster] = effects
1043
1232
  end
1044
- local function handleAbilityStopEventV2(caster)
1045
- local effects = casterChannelingEffectsByCaster[caster]
1046
- if effects ~= nil then
1047
- for i = 1, #effects do
1048
- effects[i]:destroy()
1233
+ local targetChannelingEffectsDataByAbilityTypeId = postcompile(function()
1234
+ local function toData(presets)
1235
+ if presets == nil then
1236
+ return nil
1237
+ end
1238
+ local attachmentPoints = map(presets, extractAttachmentPresetInputNodeFQN)
1239
+ local parameters = map(presets, "parameters")
1240
+ return {
1241
+ modelPaths = map(presets, extractAttachmentPresetInputModelPath),
1242
+ attachmentPoints = __TS__ArraySome(
1243
+ attachmentPoints,
1244
+ function(____, attachmentPoint) return attachmentPoint ~= "" end
1245
+ ) and attachmentPoints or nil,
1246
+ parameters = __TS__ArraySome(
1247
+ presets,
1248
+ function(____, preset) return preset.parameters ~= nil end
1249
+ ) and parameters or nil
1250
+ }
1251
+ end
1252
+ local abilityTypeIds = {}
1253
+ for ____, presetsByAbilityTypeId in ipairs({targetChannelingEffectPresetsByAbilityTypeId, targetChannelingEffectPresetsSDByAbilityTypeId, targetChannelingEffectPresetsHDByAbilityTypeId, targetChannelingEffectPresetsDEByAbilityTypeId}) do
1254
+ for abilityTypeId in pairs(presetsByAbilityTypeId) do
1255
+ abilityTypeIds[abilityTypeId] = true
1256
+ end
1257
+ end
1258
+ local result = {}
1259
+ for abilityTypeId in pairs(abilityTypeIds) do
1260
+ local presets = targetChannelingEffectPresetsByAbilityTypeId[abilityTypeId]
1261
+ local presetsSD = targetChannelingEffectPresetsSDByAbilityTypeId[abilityTypeId]
1262
+ local presetsHD = targetChannelingEffectPresetsHDByAbilityTypeId[abilityTypeId]
1263
+ local presetsDE = targetChannelingEffectPresetsDEByAbilityTypeId[abilityTypeId]
1264
+ local ____math_max_8 = math.max
1265
+ local ____opt_0 = presetsSD or presets
1266
+ local ____temp_6 = ____opt_0 and #____opt_0 or 0
1267
+ local ____opt_2 = presetsHD or presets
1268
+ local ____temp_7 = ____opt_2 and #____opt_2 or 0
1269
+ local ____opt_4 = presetsDE or presets
1270
+ result[abilityTypeId] = {
1271
+ effectCount = ____math_max_8(____temp_6, ____temp_7, ____opt_4 and #____opt_4 or 0),
1272
+ data = toData(presets),
1273
+ dataSD = toData(presetsSD),
1274
+ dataHD = toData(presetsHD),
1275
+ dataDE = toData(presetsDE)
1276
+ }
1277
+ end
1278
+ return result
1279
+ end)
1280
+ local targetChannelingEffectsByCaster = {}
1281
+ local function createTargetChannelingEffects(caster, abilityTypeId, xOrWidget, y)
1282
+ local effectsData = targetChannelingEffectsDataByAbilityTypeId[abilityTypeId]
1283
+ if effectsData == nil then
1284
+ return
1285
+ end
1286
+ local graphicsMode = LocalClient.graphicsMode
1287
+ local ____temp_10
1288
+ if graphicsMode == 0 then
1289
+ ____temp_10 = effectsData.dataSD
1290
+ else
1291
+ local ____temp_9
1292
+ if graphicsMode == 1 then
1293
+ ____temp_9 = effectsData.dataHD
1294
+ else
1295
+ ____temp_9 = effectsData.dataDE
1296
+ end
1297
+ ____temp_10 = ____temp_9
1298
+ end
1299
+ local data = ____temp_10 or effectsData.data
1300
+ local modelPaths = data and data.modelPaths
1301
+ local attachmentPoints = data and data.attachmentPoints
1302
+ local parameters = data and data.parameters
1303
+ local effects = {}
1304
+ for i = 1, effectsData.effectCount do
1305
+ local effectModelPath = modelPaths and modelPaths[i] or ""
1306
+ local effectParameters = parameters and parameters[i]
1307
+ if type(xOrWidget) == "number" then
1308
+ effects[i] = Effect:create(effectModelPath, xOrWidget, y, effectParameters)
1309
+ else
1310
+ local attachmentPoint = attachmentPoints and attachmentPoints[i]
1311
+ if attachmentPoint == nil or attachmentPoint == "" then
1312
+ attachmentPoint = "origin"
1313
+ end
1314
+ effects[i] = Effect:create(effectModelPath, xOrWidget, attachmentPoint, effectParameters)
1315
+ end
1316
+ end
1317
+ targetChannelingEffectsByCaster[caster] = effects
1318
+ end
1319
+ local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
1320
+ createTargetChannelingEffects(caster, ability.typeId, target)
1321
+ end
1322
+ local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
1323
+ createTargetChannelingEffects(caster, ability.typeId, x, y)
1324
+ end
1325
+ local function handleAbilityStopChannelingEvent(caster)
1326
+ local casterEffects = casterChannelingEffectsByCaster[caster]
1327
+ if casterEffects ~= nil then
1328
+ for i = 1, #casterEffects do
1329
+ casterEffects[i]:destroy()
1049
1330
  end
1050
1331
  casterChannelingEffectsByCaster[caster] = nil
1051
1332
  end
1333
+ local targetEffects = targetChannelingEffectsByCaster[caster]
1334
+ if targetEffects ~= nil then
1335
+ for i = 1, #targetEffects do
1336
+ targetEffects[i]:destroy()
1337
+ end
1338
+ targetChannelingEffectsByCaster[caster] = nil
1339
+ end
1052
1340
  end
1053
1341
  for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
1054
1342
  Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
1055
- Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopEventV2)
1056
- Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopEventV2)
1343
+ Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1344
+ Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1345
+ end
1346
+ for abilityTypeId in pairs(targetChannelingEffectsDataByAbilityTypeId) do
1347
+ Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
1348
+ Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
1349
+ Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1350
+ Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1057
1351
  end
1058
1352
  return ____exports
@@ -1,4 +1,3 @@
1
- /// <reference types="warpack-types/warpack" />
2
1
  /** @noSelfInFile */
3
2
  import { BuffPolarity } from "../../auxiliary/buff-polarity";
4
3
  import { BuffResistanceType } from "../../auxiliary/buff-resistance-type";