warscript 0.0.1-dev.ab8c392 → 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 (484) hide show
  1. package/attributes.d.ts +6 -1
  2. package/attributes.lua +17 -1
  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.lua +9 -9
  14. package/core/types/image.d.ts +0 -1
  15. package/core/types/item.d.ts +1 -0
  16. package/core/types/item.lua +1 -0
  17. package/core/types/missile.d.ts +2 -2
  18. package/core/types/missile.lua +8 -2
  19. package/core/types/player.d.ts +18 -1
  20. package/core/types/player.lua +76 -26
  21. package/core/types/playerCamera.d.ts +2 -0
  22. package/core/types/playerCamera.lua +123 -5
  23. package/core/types/playerColor.lua +4 -3
  24. package/core/types/sound.d.ts +18 -25
  25. package/core/types/sound.lua +113 -33
  26. package/core/types/tileCell.d.ts +18 -3
  27. package/core/types/tileCell.lua +108 -0
  28. package/core/types/timer.d.ts +9 -8
  29. package/core/types/timer.lua +45 -23
  30. package/core/types/unit.d.ts +5 -0
  31. package/core/types/unit.lua +13 -0
  32. package/core/util.d.ts +3 -1
  33. package/core/util.lua +127 -4
  34. package/decl/index.d.ts +1 -0
  35. package/decl/native.d.ts +1718 -964
  36. package/destroyable.d.ts +1 -0
  37. package/destroyable.lua +9 -0
  38. package/engine/ability.d.ts +1 -1
  39. package/engine/behavior.d.ts +24 -11
  40. package/engine/behavior.lua +233 -73
  41. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  42. package/engine/behaviour/ability/always-enabled.lua +31 -0
  43. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  44. package/engine/behaviour/ability/apply-buff.lua +36 -4
  45. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  46. package/engine/behaviour/ability/apply-unit-behavior.lua +6 -0
  47. package/engine/behaviour/ability/damage.d.ts +43 -11
  48. package/engine/behaviour/ability/damage.lua +89 -39
  49. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  50. package/engine/behaviour/ability/emulate-impact.lua +44 -0
  51. package/engine/behaviour/ability/heal.d.ts +33 -6
  52. package/engine/behaviour/ability/heal.lua +89 -10
  53. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  54. package/engine/behaviour/ability/instant-impact.lua +4 -15
  55. package/engine/behaviour/ability/on-command-impact.d.ts +9 -0
  56. package/engine/behaviour/ability/on-command-impact.lua +26 -0
  57. package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
  58. package/engine/behaviour/ability/remove-buffs.lua +49 -0
  59. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  60. package/engine/behaviour/ability/restore-mana.lua +29 -0
  61. package/engine/behaviour/ability.d.ts +37 -7
  62. package/engine/behaviour/ability.lua +208 -27
  63. package/engine/behaviour/unit/stun-immunity.d.ts +12 -7
  64. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  65. package/engine/behaviour/unit.d.ts +49 -4
  66. package/engine/behaviour/unit.lua +293 -2
  67. package/engine/buff.d.ts +168 -59
  68. package/engine/buff.lua +767 -277
  69. package/engine/game-map.d.ts +7 -0
  70. package/engine/game-map.lua +32 -0
  71. package/engine/index.d.ts +2 -1
  72. package/engine/internal/ability.d.ts +30 -14
  73. package/engine/internal/ability.lua +177 -104
  74. package/engine/internal/item/ability.lua +162 -4
  75. package/engine/internal/item/fields.d.ts +12 -0
  76. package/engine/internal/item/fields.lua +33 -0
  77. package/engine/internal/item/owner-cache.d.ts +5 -0
  78. package/engine/internal/item/owner-cache.lua +4 -0
  79. package/engine/internal/item+owner.d.ts +2 -0
  80. package/engine/internal/item+owner.lua +37 -8
  81. package/engine/internal/item.d.ts +34 -18
  82. package/engine/internal/item.lua +308 -102
  83. package/engine/internal/mechanics/ability-duration.lua +1 -1
  84. package/engine/internal/mechanics/cast-ability.lua +6 -3
  85. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  86. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  87. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  88. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  89. package/engine/internal/misc/frame-coordinates.lua +21 -0
  90. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  91. package/engine/internal/misc/get-terrain-z.lua +11 -0
  92. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  93. package/engine/internal/misc/player-local-handle.lua +5 -0
  94. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  95. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  96. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  97. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  98. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  99. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  100. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  101. package/engine/internal/object-data/evasion-probability.lua +16 -0
  102. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  103. package/engine/internal/object-data/health-bonus.lua +16 -0
  104. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  105. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  106. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  107. package/engine/internal/object-data/mana-bonus.lua +16 -0
  108. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  109. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  110. package/engine/internal/unit/ability.d.ts +45 -1
  111. package/engine/internal/unit/ability.lua +142 -19
  112. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  113. package/engine/internal/unit/add-item-to-slot-init.lua +12 -0
  114. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  115. package/engine/internal/unit/add-item-to-slot.lua +93 -0
  116. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  117. package/engine/internal/unit/allowed-targets.lua +9 -1
  118. package/engine/internal/unit/appearance.d.ts +15 -0
  119. package/engine/internal/unit/appearance.lua +85 -0
  120. package/engine/internal/unit/attributes.d.ts +17 -0
  121. package/engine/internal/unit/attributes.lua +46 -0
  122. package/engine/internal/unit/bonus.d.ts +25 -8
  123. package/engine/internal/unit/bonus.lua +125 -9
  124. package/engine/internal/unit/buff.d.ts +2 -2
  125. package/engine/internal/unit/buff.lua +34 -19
  126. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  127. package/engine/internal/unit/equipment-inventory.lua +233 -0
  128. package/engine/internal/unit/expiration-timer.lua +1 -1
  129. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  130. package/engine/internal/unit/extended-inventory.lua +99 -0
  131. package/engine/internal/unit/fly-height.d.ts +7 -0
  132. package/engine/internal/unit/fly-height.lua +20 -0
  133. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  134. package/engine/internal/unit/ignore-events-items.lua +14 -0
  135. package/engine/internal/unit/interrupts.d.ts +12 -0
  136. package/engine/internal/unit/interrupts.lua +28 -0
  137. package/engine/internal/unit/inventory.d.ts +28 -0
  138. package/engine/internal/unit/inventory.lua +87 -0
  139. package/engine/internal/unit/item-container.d.ts +25 -0
  140. package/engine/internal/unit/item-container.lua +11 -0
  141. package/engine/internal/unit/item-order-events.d.ts +17 -0
  142. package/engine/internal/unit/item-order-events.lua +67 -0
  143. package/engine/internal/unit/item-slot.d.ts +27 -0
  144. package/engine/internal/unit/item-slot.lua +92 -0
  145. package/engine/internal/unit/main-selected.d.ts +13 -0
  146. package/engine/internal/unit/main-selected.lua +36 -0
  147. package/engine/internal/unit/order.d.ts +20 -0
  148. package/engine/internal/unit/order.lua +136 -0
  149. package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
  150. package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
  151. package/engine/internal/unit/range-event.d.ts +12 -0
  152. package/engine/internal/unit/range-event.lua +90 -0
  153. package/engine/internal/unit/scale.d.ts +7 -0
  154. package/engine/internal/unit/scale.lua +20 -0
  155. package/engine/internal/unit+ability.d.ts +2 -1
  156. package/engine/internal/unit+ability.lua +75 -5
  157. package/engine/internal/unit+bonus.lua +3 -3
  158. package/engine/internal/unit+damage.d.ts +11 -11
  159. package/engine/internal/unit+damage.lua +43 -14
  160. package/engine/internal/unit+rally.lua +9 -31
  161. package/engine/internal/unit+spellSteal.lua +1 -2
  162. package/engine/internal/unit+transport.lua +4 -10
  163. package/engine/internal/unit-missile-data.lua +58 -32
  164. package/engine/internal/unit-missile-launch.lua +70 -13
  165. package/engine/internal/unit.d.ts +91 -38
  166. package/engine/internal/unit.lua +667 -352
  167. package/engine/internal/utility.lua +12 -0
  168. package/engine/lightning.d.ts +12 -5
  169. package/engine/lightning.lua +48 -14
  170. package/engine/local-client.d.ts +35 -2
  171. package/engine/local-client.lua +367 -15
  172. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  173. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  174. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  175. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  176. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -3
  177. package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
  178. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  179. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  180. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  181. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  182. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  183. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  184. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  185. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  186. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  187. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  188. package/engine/object-data/auxiliary/item-class.lua +2 -0
  189. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  190. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  191. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  192. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  193. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  194. package/engine/object-data/auxiliary/order-type.lua +2 -0
  195. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  196. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  197. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  198. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  199. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  200. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  201. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  202. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  203. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  204. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  205. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  206. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  207. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  208. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  209. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  210. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  211. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  212. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  213. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  214. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  215. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  216. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  217. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  218. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -1
  219. package/engine/object-data/entry/ability-type/blank-configurable.lua +42 -1
  220. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -1
  221. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  222. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  223. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  224. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  225. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  226. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  227. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  228. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  229. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  230. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  231. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  232. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  233. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  234. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  235. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  236. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  237. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  238. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  239. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  240. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  241. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  242. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  243. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  244. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  245. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  246. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  247. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  248. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  249. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  250. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  251. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  252. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  253. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  254. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  255. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  256. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  257. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  258. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  259. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  260. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  261. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  262. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  263. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  264. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  265. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  266. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  267. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  268. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  269. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  270. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  271. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  272. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  273. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  274. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  275. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  276. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  277. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  278. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  279. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  280. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  281. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  282. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  283. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  284. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  285. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  286. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  287. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  288. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  289. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  290. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  291. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  292. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  293. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  294. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  295. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  296. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  297. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  298. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  299. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  300. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  301. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  302. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  303. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  304. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  305. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  306. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  307. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  308. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  309. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  310. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  311. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  312. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  313. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  314. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  315. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  316. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  317. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  318. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  319. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  320. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  321. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  322. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  323. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  324. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  325. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  326. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  327. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  328. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  329. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  330. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  331. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  332. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  333. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  334. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  335. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  336. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  337. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  338. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  339. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  340. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  341. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  342. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  343. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  344. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  345. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  346. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  347. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  348. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  349. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  350. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  351. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  352. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  353. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  354. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  355. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  356. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  357. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  358. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  359. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  360. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  361. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  362. package/engine/object-data/entry/ability-type/web.lua +52 -0
  363. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  364. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  365. package/engine/object-data/entry/ability-type.d.ts +41 -21
  366. package/engine/object-data/entry/ability-type.lua +337 -44
  367. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  368. package/engine/object-data/entry/buff-type/applicable.lua +122 -137
  369. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  370. package/engine/object-data/entry/buff-type.d.ts +10 -13
  371. package/engine/object-data/entry/buff-type.lua +39 -29
  372. package/engine/object-data/entry/destructible-type.d.ts +32 -3
  373. package/engine/object-data/entry/destructible-type.lua +181 -0
  374. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  375. package/engine/object-data/entry/item-type.d.ts +32 -4
  376. package/engine/object-data/entry/item-type.lua +177 -2
  377. package/engine/object-data/entry/lightning-type.d.ts +6 -9
  378. package/engine/object-data/entry/lightning-type.lua +1 -1
  379. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  380. package/engine/object-data/entry/sound-preset.lua +140 -0
  381. package/engine/object-data/entry/unit-type.d.ts +92 -8
  382. package/engine/object-data/entry/unit-type.lua +748 -75
  383. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  384. package/engine/object-data/entry/upgrade.d.ts +2 -3
  385. package/engine/object-data/entry/upgrade.lua +4 -4
  386. package/engine/object-data/entry.d.ts +23 -17
  387. package/engine/object-data/entry.lua +68 -32
  388. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  389. package/engine/object-field/ability.d.ts +28 -5
  390. package/engine/object-field/ability.lua +61 -7
  391. package/engine/object-field/item.d.ts +22 -0
  392. package/engine/object-field/item.lua +118 -0
  393. package/engine/object-field/unit.d.ts +72 -3
  394. package/engine/object-field/unit.lua +268 -7
  395. package/engine/object-field.d.ts +26 -8
  396. package/engine/object-field.lua +362 -117
  397. package/engine/random.d.ts +11 -0
  398. package/engine/random.lua +30 -0
  399. package/engine/standard/entries/ability-type.d.ts +3102 -7
  400. package/engine/standard/entries/ability-type.lua +0 -6
  401. package/engine/standard/entries/buff-type.d.ts +48 -0
  402. package/engine/standard/entries/buff-type.lua +46 -0
  403. package/engine/standard/entries/item-type.d.ts +1299 -0
  404. package/engine/standard/entries/item-type.lua +2 -0
  405. package/engine/standard/entries/lightning-type.d.ts +42 -15
  406. package/engine/standard/entries/lightning-type.lua +0 -14
  407. package/engine/standard/entries/sound-preset.d.ts +10 -0
  408. package/engine/standard/entries/sound-preset.lua +10 -0
  409. package/engine/standard/entries/unit-type.d.ts +44 -1
  410. package/engine/standard/entries/unit-type.lua +44 -1
  411. package/engine/standard/fields/ability.d.ts +5 -3
  412. package/engine/standard/fields/ability.lua +5 -3
  413. package/engine/standard/fields/item.d.ts +4 -0
  414. package/engine/standard/fields/item.lua +6 -0
  415. package/engine/standard/fields/unit.d.ts +12 -0
  416. package/engine/standard/fields/unit.lua +20 -0
  417. package/engine/synchronization.d.ts +11 -0
  418. package/engine/synchronization.lua +77 -0
  419. package/engine/text-tag.d.ts +36 -2
  420. package/engine/text-tag.lua +250 -10
  421. package/engine/unit.d.ts +13 -0
  422. package/engine/unit.lua +22 -2
  423. package/event.d.ts +3 -4
  424. package/event.lua +9 -5
  425. package/index.d.ts +1 -0
  426. package/index.lua +1 -0
  427. package/lualib_bundle.lua +147 -43
  428. package/math/vec2.d.ts +2 -9
  429. package/math.d.ts +2 -2
  430. package/math.lua +14 -0
  431. package/net/socket.d.ts +7 -1
  432. package/net/socket.lua +45 -4
  433. package/network.d.ts +1 -0
  434. package/network.lua +28 -3
  435. package/objutil/ability.d.ts +0 -1
  436. package/objutil/buff.d.ts +0 -1
  437. package/objutil/buff.lua +13 -12
  438. package/objutil/object.d.ts +0 -1
  439. package/objutil/object.lua +1 -1
  440. package/objutil/unit.d.ts +0 -1
  441. package/objutil/unit.lua +8 -0
  442. package/operation.d.ts +8 -1
  443. package/operation.lua +38 -18
  444. package/package.json +3 -23
  445. package/patch-lua.d.ts +0 -0
  446. package/patch-lua.lua +25 -0
  447. package/patch-lualib.lua +1 -1
  448. package/property.d.ts +55 -0
  449. package/property.lua +374 -0
  450. package/string.d.ts +16 -0
  451. package/string.lua +5 -0
  452. package/util/stream.d.ts +0 -1
  453. package/utility/arrays.d.ts +19 -6
  454. package/utility/arrays.lua +60 -3
  455. package/utility/bit-set.d.ts +0 -2
  456. package/utility/callback-array.d.ts +17 -0
  457. package/utility/callback-array.lua +61 -0
  458. package/utility/functions.d.ts +8 -0
  459. package/utility/functions.lua +13 -0
  460. package/utility/lazy.d.ts +2 -0
  461. package/utility/lazy.lua +14 -0
  462. package/utility/linked-map.d.ts +35 -0
  463. package/utility/linked-map.lua +107 -0
  464. package/utility/linked-set.d.ts +16 -4
  465. package/utility/linked-set.lua +54 -3
  466. package/utility/lua-maps.d.ts +16 -4
  467. package/utility/lua-maps.lua +53 -2
  468. package/utility/lua-sets.d.ts +3 -2
  469. package/utility/lua-sets.lua +7 -0
  470. package/utility/random.d.ts +102 -0
  471. package/utility/random.lua +273 -0
  472. package/utility/records.lua +20 -1
  473. package/utility/reflection.lua +11 -7
  474. package/utility/types.d.ts +4 -0
  475. package/utility/unordered-map.d.ts +27 -0
  476. package/utility/unordered-map.lua +99 -0
  477. package/core/mapbounds.d.ts +0 -8
  478. package/core/mapbounds.lua +0 -12
  479. package/core/types/order.d.ts +0 -25
  480. package/core/types/order.lua +0 -55
  481. /package/engine/internal/{object-data/armor-increase.d.ts → misc/ability-disable-counter.d.ts} +0 -0
  482. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  483. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  484. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -1,8 +1,9 @@
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
@@ -18,9 +19,11 @@ local array = ____arrays.array
18
19
  local map = ____arrays.map
19
20
  local mapIndexed = ____arrays.mapIndexed
20
21
  local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
22
+ local attachmentPointToNodeFQN = ____attachment_2Dpreset.attachmentPointToNodeFQN
21
23
  local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
22
24
  local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
23
- local toAttachmentPreset = ____attachment_2Dpreset.toAttachmentPreset
25
+ local splitAttachmentNodeFQN = ____attachment_2Dpreset.splitAttachmentNodeFQN
26
+ local toEffectPreset = ____attachment_2Dpreset.toEffectPreset
24
27
  local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
25
28
  local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
26
29
  local stringArrayToCombatClassifications = ____combat_2Dclassification.stringArrayToCombatClassifications
@@ -31,14 +34,27 @@ local ____entry = require("engine.object-data.entry")
31
34
  local extractObjectDataEntryLevelFieldValue = ____entry.extractObjectDataEntryLevelFieldValue
32
35
  local ObjectDataEntry = ____entry.ObjectDataEntry
33
36
  local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
34
- local ObjectDataEntryIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.ObjectDataEntryIdGenerator
37
+ local abilityTypeIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.abilityTypeIdGenerator
35
38
  local ____upgrade = require("engine.object-data.entry.upgrade")
36
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
37
48
  local castAnimationFQNByAbilityTypeId = {}
38
49
  local isButtonVisibleFalseAbilityTypes = {}
39
50
  local casterCastingEffectPresetsByAbilityTypeId = {}
40
51
  local casterChannelingEffectPresetsByAbilityTypeId = {}
41
52
  local targetCastingEffectPresetsByAbilityTypeId = {}
53
+ local targetChannelingEffectPresetsByAbilityTypeId = {}
54
+ local targetChannelingEffectPresetsSDByAbilityTypeId = {}
55
+ local targetChannelingEffectPresetsHDByAbilityTypeId = {}
56
+ local targetChannelingEffectPresetsDEByAbilityTypeId = {}
57
+ local targetEffectSoundPresetByAbilityTypeId = {}
42
58
  ____exports.AbilityType = __TS__Class()
43
59
  local AbilityType = ____exports.AbilityType
44
60
  AbilityType.name = "AbilityType"
@@ -53,10 +69,7 @@ end
53
69
  function AbilityType.getObjectData(self, map)
54
70
  return map.objects.ability
55
71
  end
56
- AbilityType.idGenerator = __TS__New(
57
- ObjectDataEntryIdGenerator,
58
- fourCC("A000")
59
- )
72
+ AbilityType.idGenerator = abilityTypeIdGenerator
60
73
  __TS__SetDescriptor(
61
74
  AbilityType.prototype,
62
75
  "channelingAnimation",
@@ -117,7 +130,7 @@ __TS__SetDescriptor(
117
130
  return casterCastingEffectPresetsByAbilityTypeId[self.id] or ({})
118
131
  end,
119
132
  set = function(self, casterCastingEffectPresets)
120
- casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toAttachmentPreset)
133
+ casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toEffectPreset)
121
134
  end
122
135
  },
123
136
  true
@@ -130,7 +143,7 @@ __TS__SetDescriptor(
130
143
  return casterChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
131
144
  end,
132
145
  set = function(self, casterChannelingEffectPresets)
133
- casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toAttachmentPreset)
146
+ casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toEffectPreset)
134
147
  end
135
148
  },
136
149
  true
@@ -200,6 +213,19 @@ __TS__SetDescriptor(
200
213
  },
201
214
  true
202
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
+ )
203
229
  __TS__SetDescriptor(
204
230
  AbilityType.prototype,
205
231
  "isButtonVisible",
@@ -275,10 +301,10 @@ __TS__SetDescriptor(
275
301
  "lightningTypeIds",
276
302
  {
277
303
  get = function(self)
278
- return self:getObjectDataEntryIdsField("alig")
304
+ return self:getObjectDataEntryNumericIdsField("alig")
279
305
  end,
280
306
  set = function(self, lightningTypeIds)
281
- self:setObjectDataEntryIdsField("alig", lightningTypeIds)
307
+ self:setObjectDataEntryNumericIdsField("alig", lightningTypeIds)
282
308
  end
283
309
  },
284
310
  true
@@ -322,6 +348,19 @@ __TS__SetDescriptor(
322
348
  },
323
349
  true
324
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
+ )
325
364
  __TS__SetDescriptor(
326
365
  AbilityType.prototype,
327
366
  "missileMovementArc",
@@ -350,13 +389,30 @@ __TS__SetDescriptor(
350
389
  )
351
390
  __TS__SetDescriptor(
352
391
  AbilityType.prototype,
353
- "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",
354
406
  {
355
407
  get = function(self)
356
- return self:getAttachmentPresetField("asat", "aspt")
408
+ local nodeName, nodeQualifiers = splitAttachmentNodeFQN(self:getStringField("aspt"))
409
+ return {nodeName = nodeName, nodeQualifiers = nodeQualifiers}
357
410
  end,
358
- set = function(self, specialAttachmentPreset)
359
- self:setAttachmentPresetField("asat", "aspt", specialAttachmentPreset)
411
+ set = function(self, specialEffectAttachmentPoint)
412
+ self:setStringField(
413
+ "aspt",
414
+ attachmentPointToNodeFQN(specialEffectAttachmentPoint)
415
+ )
360
416
  end
361
417
  },
362
418
  true
@@ -369,7 +425,59 @@ __TS__SetDescriptor(
369
425
  return targetCastingEffectPresetsByAbilityTypeId[self.id] or ({})
370
426
  end,
371
427
  set = function(self, targetCastingEffectPresets)
372
- 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)
373
481
  end
374
482
  },
375
483
  true
@@ -455,6 +563,33 @@ __TS__SetDescriptor(
455
563
  },
456
564
  true
457
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
+ )
458
593
  __TS__SetDescriptor(
459
594
  AbilityType.prototype,
460
595
  "turnOffButtonPositionX",
@@ -512,7 +647,7 @@ __TS__SetDescriptor(
512
647
  "techTreeDependencies",
513
648
  {
514
649
  get = function(self)
515
- local techTreeDependencyIds = self:getObjectDataEntryIdsField("areq")
650
+ local techTreeDependencyIds = self:getObjectDataEntryNumericIdsField("areq")
516
651
  local techTreeDependencyInternalLevels = self:getNumbersField("arqa")
517
652
  return mapIndexed(
518
653
  techTreeDependencyIds,
@@ -532,7 +667,7 @@ __TS__SetDescriptor(
532
667
  map(techTreeDependencies, extractTechTreeDependencyInputLevel),
533
668
  function(techTreeDependencyLevel) return techTreeDependencyLevel + 1 end
534
669
  )
535
- self:setObjectDataEntryIdsField("areq", techTreeDependencyIds)
670
+ self:setObjectDataEntryNumericIdsField("areq", techTreeDependencyIds)
536
671
  self:setNumbersField("arqa", techTreeDependencyInternalLevels)
537
672
  end
538
673
  },
@@ -722,26 +857,40 @@ __TS__SetDescriptor(
722
857
  )
723
858
  __TS__SetDescriptor(
724
859
  AbilityType.prototype,
725
- "soundPresetName",
860
+ "casterEffectSoundPresetId",
726
861
  {
727
862
  get = function(self)
728
- return self:getStringField("aefs")
863
+ local casterEffectSoundPresetId = self:getStringField("aefs")
864
+ return casterEffectSoundPresetId ~= "" and casterEffectSoundPresetId or nil
729
865
  end,
730
- set = function(self, soundPresetName)
731
- self:setStringField("aefs", soundPresetName)
866
+ set = function(self, casterEffectSoundPresetId)
867
+ self:setStringField("aefs", casterEffectSoundPresetId or "")
732
868
  end
733
869
  },
734
870
  true
735
871
  )
736
872
  __TS__SetDescriptor(
737
873
  AbilityType.prototype,
738
- "loopingSoundPresetName",
874
+ "casterEffectLoopingSoundPresetId",
739
875
  {
740
876
  get = function(self)
741
877
  return self:getStringField("aefl")
742
878
  end,
743
- set = function(self, loopingSoundPresetName)
744
- 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
745
894
  end
746
895
  },
747
896
  true
@@ -800,10 +949,10 @@ __TS__SetDescriptor(
800
949
  "buffTypeIds",
801
950
  {
802
951
  get = function(self)
803
- return self:getObjectDataEntryIdsLevelField("abuf")
952
+ return self:getObjectDataEntryNumericIdsLevelField("abuf")
804
953
  end,
805
954
  set = function(self, buffTypeIds)
806
- self:setObjectDataEntryIdsLevelField("abuf", buffTypeIds)
955
+ self:setObjectDataEntryNumericIdsLevelField("abuf", buffTypeIds)
807
956
  end
808
957
  },
809
958
  true
@@ -852,10 +1001,10 @@ __TS__SetDescriptor(
852
1001
  "effectBuffTypeIds",
853
1002
  {
854
1003
  get = function(self)
855
- return self:getObjectDataEntryIdsLevelField("aeff")
1004
+ return self:getObjectDataEntryNumericIdsLevelField("aeff")
856
1005
  end,
857
1006
  set = function(self, effectBuffTypeIds)
858
- self:setObjectDataEntryIdsLevelField("aeff", effectBuffTypeIds)
1007
+ self:setObjectDataEntryNumericIdsLevelField("aeff", effectBuffTypeIds)
859
1008
  end
860
1009
  },
861
1010
  true
@@ -963,13 +1112,38 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
963
1112
  4,
964
1113
  function(caster, ability)
965
1114
  if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
966
- Timer:run(function()
967
- caster:playAnimation(animationFQN)
968
- end)
1115
+ Timer:run(caster, "playAnimation", animationFQN)
969
1116
  end
970
1117
  end
971
1118
  )
972
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)
973
1147
  local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
974
1148
  return mapValues(
975
1149
  casterCastingEffectPresetsByAbilityTypeId,
@@ -982,10 +1156,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
982
1156
  function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
983
1157
  )
984
1158
  end)
1159
+ local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
1160
+ return mapValues(
1161
+ casterCastingEffectPresetsByAbilityTypeId,
1162
+ function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
1163
+ )
1164
+ end)
985
1165
  local casterCastingEffectsByCaster = {}
986
1166
  local function handleAbilityCastingStartEvent(caster, ability)
987
1167
  local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
988
1168
  local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
1169
+ local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
989
1170
  local effects = {}
990
1171
  if effectModelPaths ~= nil then
991
1172
  for i = 1, #effectModelPaths do
@@ -994,12 +1175,12 @@ local function handleAbilityCastingStartEvent(caster, ability)
994
1175
  if attachmentPoint == nil or attachmentPoint == "" then
995
1176
  attachmentPoint = "origin"
996
1177
  end
997
- effects[i] = Effect:createTarget(effectModelPath, caster, attachmentPoint)
1178
+ effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
998
1179
  end
999
1180
  end
1000
1181
  casterCastingEffectsByCaster[caster] = effects
1001
1182
  end
1002
- local function handleAbilityStopEvent(caster)
1183
+ local function handleAbilityStopCastingEvent(caster)
1003
1184
  local effects = casterCastingEffectsByCaster[caster]
1004
1185
  if effects ~= nil then
1005
1186
  for i = 1, #effects do
@@ -1010,8 +1191,8 @@ local function handleAbilityStopEvent(caster)
1010
1191
  end
1011
1192
  for abilityTypeId in pairs(casterCastingEffectModelPathsByAbilityTypeId) do
1012
1193
  Unit.abilityCastingStartEvent[abilityTypeId]:addListener(4, handleAbilityCastingStartEvent)
1013
- Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityStopEvent)
1014
- Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopEvent)
1194
+ Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
1195
+ Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
1015
1196
  end
1016
1197
  local casterChannelingEffectModelPathsByAbilityTypeId = postcompile(function()
1017
1198
  return mapValues(
@@ -1025,10 +1206,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
1025
1206
  function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
1026
1207
  )
1027
1208
  end)
1209
+ local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
1210
+ return mapValues(
1211
+ casterChannelingEffectPresetsByAbilityTypeId,
1212
+ function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
1213
+ )
1214
+ end)
1028
1215
  local casterChannelingEffectsByCaster = {}
1029
1216
  local function handleAbilityChannelingStartEvent(caster, ability)
1030
1217
  local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
1031
1218
  local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
1219
+ local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
1032
1220
  local effects = {}
1033
1221
  if effectModelPaths ~= nil then
1034
1222
  for i = 1, #effectModelPaths do
@@ -1037,23 +1225,128 @@ local function handleAbilityChannelingStartEvent(caster, ability)
1037
1225
  if attachmentPoint == nil or attachmentPoint == "" then
1038
1226
  attachmentPoint = "origin"
1039
1227
  end
1040
- effects[i] = Effect:createTarget(effectModelPath, caster, attachmentPoint)
1228
+ effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
1041
1229
  end
1042
1230
  end
1043
1231
  casterChannelingEffectsByCaster[caster] = effects
1044
1232
  end
1045
- local function handleAbilityStopEventV2(caster)
1046
- local effects = casterChannelingEffectsByCaster[caster]
1047
- if effects ~= nil then
1048
- for i = 1, #effects do
1049
- 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()
1050
1330
  end
1051
1331
  casterChannelingEffectsByCaster[caster] = nil
1052
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
1053
1340
  end
1054
1341
  for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
1055
1342
  Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
1056
- Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopEventV2)
1057
- 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)
1058
1351
  end
1059
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";