warscript 0.0.1-dev.363d29d → 0.0.1-dev.37ce2c3

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 (436) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/config.d.ts +5 -0
  4. package/config.lua +10 -0
  5. package/core/dummy.lua +4 -2
  6. package/core/types/effect.d.ts +12 -4
  7. package/core/types/effect.lua +67 -104
  8. package/core/types/frame.d.ts +16 -2
  9. package/core/types/frame.lua +141 -77
  10. package/core/types/handle.lua +9 -9
  11. package/core/types/item.d.ts +1 -0
  12. package/core/types/item.lua +1 -0
  13. package/core/types/player.d.ts +18 -1
  14. package/core/types/player.lua +76 -26
  15. package/core/types/playerCamera.d.ts +2 -0
  16. package/core/types/playerCamera.lua +123 -5
  17. package/core/types/playerColor.lua +4 -3
  18. package/core/types/sound.d.ts +18 -25
  19. package/core/types/sound.lua +113 -33
  20. package/core/types/tileCell.d.ts +18 -3
  21. package/core/types/tileCell.lua +108 -0
  22. package/core/types/timer.d.ts +9 -8
  23. package/core/types/timer.lua +45 -23
  24. package/core/types/unit.d.ts +5 -0
  25. package/core/types/unit.lua +5 -0
  26. package/core/util.d.ts +3 -1
  27. package/core/util.lua +115 -4
  28. package/decl/native.d.ts +1719 -964
  29. package/destroyable.d.ts +1 -0
  30. package/destroyable.lua +9 -0
  31. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  32. package/engine/ability-type-extended-tooltip.lua +44 -0
  33. package/engine/behavior.d.ts +14 -1
  34. package/engine/behavior.lua +230 -70
  35. package/engine/behaviour/ability/apply-buff.d.ts +5 -0
  36. package/engine/behaviour/ability/apply-buff.lua +36 -4
  37. package/engine/behaviour/ability/apply-unit-behavior.lua +6 -0
  38. package/engine/behaviour/ability/damage.d.ts +13 -3
  39. package/engine/behaviour/ability/damage.lua +41 -49
  40. package/engine/behaviour/ability/emulate-impact.d.ts +15 -1
  41. package/engine/behaviour/ability/emulate-impact.lua +96 -7
  42. package/engine/behaviour/ability/instant-impact.d.ts +12 -1
  43. package/engine/behaviour/ability/instant-impact.lua +17 -2
  44. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  45. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  46. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  47. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  48. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  49. package/engine/behaviour/ability/restore-mana.lua +6 -6
  50. package/engine/behaviour/ability.d.ts +23 -5
  51. package/engine/behaviour/ability.lua +156 -27
  52. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  53. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  54. package/engine/behaviour/unit.d.ts +41 -2
  55. package/engine/behaviour/unit.lua +270 -6
  56. package/engine/buff.d.ts +130 -59
  57. package/engine/buff.lua +638 -307
  58. package/engine/index.d.ts +2 -1
  59. package/engine/internal/ability.d.ts +14 -1
  60. package/engine/internal/ability.lua +113 -44
  61. package/engine/internal/item/ability.lua +63 -11
  62. package/engine/internal/item/fields.d.ts +12 -0
  63. package/engine/internal/item/fields.lua +33 -0
  64. package/engine/internal/item/owner-cache.d.ts +5 -0
  65. package/engine/internal/item/owner-cache.lua +4 -0
  66. package/engine/internal/item+owner.d.ts +2 -0
  67. package/engine/internal/item+owner.lua +37 -8
  68. package/engine/internal/item.d.ts +34 -18
  69. package/engine/internal/item.lua +308 -102
  70. package/engine/internal/mechanics/ability-duration.lua +1 -1
  71. package/engine/internal/mechanics/cast-ability.lua +6 -3
  72. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  73. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  74. package/engine/internal/misc/frame-coordinates.lua +21 -0
  75. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  76. package/engine/internal/misc/get-terrain-z.lua +11 -0
  77. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  78. package/engine/internal/misc/player-local-handle.lua +5 -0
  79. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  80. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  81. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  82. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  83. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  84. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  85. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  86. package/engine/internal/object-data/evasion-probability.lua +16 -0
  87. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  88. package/engine/internal/object-data/health-bonus.lua +16 -0
  89. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  90. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  91. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  92. package/engine/internal/object-data/mana-bonus.lua +16 -0
  93. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  94. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  95. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  96. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  97. package/engine/internal/unit/ability.d.ts +35 -0
  98. package/engine/internal/unit/ability.lua +114 -9
  99. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  100. package/engine/internal/unit/add-item-to-slot.lua +57 -14
  101. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  102. package/engine/internal/unit/allowed-targets.lua +9 -1
  103. package/engine/internal/unit/appearance.d.ts +15 -0
  104. package/engine/internal/unit/appearance.lua +85 -0
  105. package/engine/internal/unit/attributes.d.ts +17 -0
  106. package/engine/internal/unit/attributes.lua +46 -0
  107. package/engine/internal/unit/bonus.d.ts +19 -0
  108. package/engine/internal/unit/bonus.lua +130 -8
  109. package/engine/internal/unit/buff.d.ts +2 -2
  110. package/engine/internal/unit/buff.lua +34 -19
  111. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  112. package/engine/internal/unit/equipment-inventory.lua +233 -0
  113. package/engine/internal/unit/expiration-timer.lua +1 -1
  114. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  115. package/engine/internal/unit/extended-inventory.lua +99 -0
  116. package/engine/internal/unit/fly-height.d.ts +7 -0
  117. package/engine/internal/unit/fly-height.lua +20 -0
  118. package/engine/internal/unit/ignore-events-items.lua +10 -1
  119. package/engine/internal/unit/interrupts.d.ts +12 -0
  120. package/engine/internal/unit/interrupts.lua +28 -0
  121. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  122. package/engine/internal/unit/inventory.lua +87 -0
  123. package/engine/internal/unit/item-container.d.ts +25 -0
  124. package/engine/internal/unit/item-container.lua +11 -0
  125. package/engine/internal/unit/item-order-events.d.ts +17 -0
  126. package/engine/internal/unit/item-order-events.lua +67 -0
  127. package/engine/internal/unit/item-slot.d.ts +27 -0
  128. package/engine/internal/unit/item-slot.lua +92 -0
  129. package/engine/internal/unit/main-selected.lua +12 -27
  130. package/engine/internal/unit/order.d.ts +20 -0
  131. package/engine/internal/unit/order.lua +136 -0
  132. package/engine/internal/unit/range-event.d.ts +12 -0
  133. package/engine/internal/unit/range-event.lua +90 -0
  134. package/engine/internal/unit/scale.d.ts +7 -0
  135. package/engine/internal/unit/scale.lua +20 -0
  136. package/engine/internal/unit+ability.d.ts +2 -1
  137. package/engine/internal/unit+ability.lua +83 -3
  138. package/engine/internal/unit+bonus.lua +3 -3
  139. package/engine/internal/unit+damage.d.ts +11 -11
  140. package/engine/internal/unit+damage.lua +43 -14
  141. package/engine/internal/unit+rally.lua +9 -31
  142. package/engine/internal/unit+spellSteal.lua +1 -2
  143. package/engine/internal/unit-missile-data.lua +58 -32
  144. package/engine/internal/unit-missile-launch.lua +65 -27
  145. package/engine/internal/unit.d.ts +45 -34
  146. package/engine/internal/unit.lua +408 -322
  147. package/engine/lightning.d.ts +12 -5
  148. package/engine/lightning.lua +48 -14
  149. package/engine/local-client.d.ts +28 -0
  150. package/engine/local-client.lua +324 -54
  151. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  152. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  153. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  154. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  155. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -2
  156. package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
  157. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  158. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  159. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  160. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  161. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  162. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  163. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  164. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  165. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  166. package/engine/object-data/auxiliary/item-class.lua +2 -0
  167. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  168. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  169. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  170. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  171. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  172. package/engine/object-data/auxiliary/order-type.lua +2 -0
  173. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  174. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  175. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  176. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  177. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  178. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  179. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  180. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  181. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  182. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  183. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  184. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  185. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  186. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  187. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  188. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  189. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  190. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  191. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  192. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  193. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  194. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  195. package/engine/object-data/entry/ability-type/blank-configurable.lua +14 -3
  196. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  197. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  198. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  199. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  200. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  201. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  202. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  203. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  204. package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
  205. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  206. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  207. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  208. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  209. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  210. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  211. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  212. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  213. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  214. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  215. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  216. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  217. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  218. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  219. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  220. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  221. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  222. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  223. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  224. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  225. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  226. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  227. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  228. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  229. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  230. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  231. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  232. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  233. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  234. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  235. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  236. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  237. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  238. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  239. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  240. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  241. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  242. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  243. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  244. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  245. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  246. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  247. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  248. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  249. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  250. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  251. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  252. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  253. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  254. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  255. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  256. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  257. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  258. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  259. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  260. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  261. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  262. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  263. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  264. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  265. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  266. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  267. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  268. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  269. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  270. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  271. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  272. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  273. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  274. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  275. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  276. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  277. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  278. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  279. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  280. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  281. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  282. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  283. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  284. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  285. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  286. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  287. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  288. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  289. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  290. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  291. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  292. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  293. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  294. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  295. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  296. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  297. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  298. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  299. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  300. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  301. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  302. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  303. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  304. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  305. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  306. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  307. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  308. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  309. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  310. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  311. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  312. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  313. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  314. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  315. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  316. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  317. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  318. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  319. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  320. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  321. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  322. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  323. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  324. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  325. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  326. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  327. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  328. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  329. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  330. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  331. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  332. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  333. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  334. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  335. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  336. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  337. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  338. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  339. package/engine/object-data/entry/ability-type/web.lua +52 -0
  340. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  341. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  342. package/engine/object-data/entry/ability-type.d.ts +48 -21
  343. package/engine/object-data/entry/ability-type.lua +371 -35
  344. package/engine/object-data/entry/buff-type/applicable.lua +131 -139
  345. package/engine/object-data/entry/buff-type.d.ts +10 -12
  346. package/engine/object-data/entry/buff-type.lua +39 -29
  347. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  348. package/engine/object-data/entry/destructible-type.lua +181 -0
  349. package/engine/object-data/entry/item-type.d.ts +18 -3
  350. package/engine/object-data/entry/item-type.lua +88 -4
  351. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  352. package/engine/object-data/entry/lightning-type.lua +1 -1
  353. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  354. package/engine/object-data/entry/sound-preset.lua +140 -0
  355. package/engine/object-data/entry/unit-type.d.ts +81 -6
  356. package/engine/object-data/entry/unit-type.lua +606 -93
  357. package/engine/object-data/entry/upgrade.d.ts +2 -2
  358. package/engine/object-data/entry/upgrade.lua +4 -4
  359. package/engine/object-data/entry.d.ts +21 -14
  360. package/engine/object-data/entry.lua +68 -32
  361. package/engine/object-field/ability.d.ts +4 -4
  362. package/engine/object-field/ability.lua +9 -8
  363. package/engine/object-field/item.d.ts +22 -0
  364. package/engine/object-field/item.lua +118 -0
  365. package/engine/object-field/unit.d.ts +72 -3
  366. package/engine/object-field/unit.lua +268 -7
  367. package/engine/object-field.d.ts +26 -7
  368. package/engine/object-field.lua +360 -119
  369. package/engine/random.d.ts +10 -0
  370. package/engine/random.lua +21 -0
  371. package/engine/standard/entries/ability-type.d.ts +3102 -7
  372. package/engine/standard/entries/ability-type.lua +0 -6
  373. package/engine/standard/entries/buff-type.d.ts +48 -0
  374. package/engine/standard/entries/buff-type.lua +46 -0
  375. package/engine/standard/entries/item-type.d.ts +1299 -0
  376. package/engine/standard/entries/item-type.lua +2 -0
  377. package/engine/standard/entries/lightning-type.d.ts +42 -15
  378. package/engine/standard/entries/lightning-type.lua +0 -14
  379. package/engine/standard/entries/sound-preset.d.ts +10 -0
  380. package/engine/standard/entries/sound-preset.lua +10 -0
  381. package/engine/standard/entries/unit-type.d.ts +5 -0
  382. package/engine/standard/entries/unit-type.lua +5 -0
  383. package/engine/standard/fields/ability.d.ts +4 -4
  384. package/engine/standard/fields/ability.lua +4 -4
  385. package/engine/standard/fields/item.d.ts +4 -0
  386. package/engine/standard/fields/item.lua +6 -0
  387. package/engine/standard/fields/unit.d.ts +12 -0
  388. package/engine/standard/fields/unit.lua +20 -0
  389. package/engine/synchronization.d.ts +11 -0
  390. package/engine/synchronization.lua +77 -0
  391. package/engine/text-tag.d.ts +36 -2
  392. package/engine/text-tag.lua +250 -10
  393. package/engine/unit.d.ts +11 -1
  394. package/engine/unit.lua +11 -1
  395. package/event.d.ts +1 -1
  396. package/lualib_bundle.lua +1 -1
  397. package/math.d.ts +2 -0
  398. package/math.lua +14 -0
  399. package/net/socket.lua +1 -1
  400. package/network.lua +25 -1
  401. package/objutil/buff.lua +12 -11
  402. package/objutil/object.lua +1 -1
  403. package/objutil/unit.lua +8 -0
  404. package/operation.d.ts +8 -1
  405. package/operation.lua +38 -18
  406. package/package.json +3 -23
  407. package/patch-lua.lua +15 -0
  408. package/patch-lualib.lua +1 -1
  409. package/utility/arrays.d.ts +9 -1
  410. package/utility/arrays.lua +28 -0
  411. package/utility/callback-array.d.ts +17 -0
  412. package/utility/callback-array.lua +61 -0
  413. package/utility/functions.d.ts +8 -0
  414. package/utility/functions.lua +13 -0
  415. package/utility/linked-map.d.ts +35 -0
  416. package/utility/linked-map.lua +107 -0
  417. package/utility/linked-set.d.ts +5 -1
  418. package/utility/linked-set.lua +49 -1
  419. package/utility/lua-maps.d.ts +15 -2
  420. package/utility/lua-maps.lua +53 -2
  421. package/utility/lua-sets.d.ts +2 -0
  422. package/utility/lua-sets.lua +7 -0
  423. package/utility/random.d.ts +102 -0
  424. package/utility/random.lua +273 -0
  425. package/utility/records.lua +20 -1
  426. package/utility/reflection.lua +11 -7
  427. package/utility/types.d.ts +3 -0
  428. package/utility/unordered-map.d.ts +27 -0
  429. package/utility/unordered-map.lua +99 -0
  430. package/core/types/order.d.ts +0 -25
  431. package/core/types/order.lua +0 -55
  432. package/engine/internal/unit/item.lua +0 -78
  433. /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
  434. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  435. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  436. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -2,6 +2,8 @@ local ____lualib = require("lualib_bundle")
2
2
  local __TS__Class = ____lualib.__TS__Class
3
3
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
4
  local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local __TS__InstanceOf = ____lualib.__TS__InstanceOf
6
+ local __TS__ArraySome = ____lualib.__TS__ArraySome
5
7
  local ____exports = {}
6
8
  local ____unit = require("engine.internal.unit")
7
9
  local Unit = ____unit.Unit
@@ -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
@@ -33,11 +37,24 @@ local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.u
33
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"
@@ -113,7 +130,7 @@ __TS__SetDescriptor(
113
130
  return casterCastingEffectPresetsByAbilityTypeId[self.id] or ({})
114
131
  end,
115
132
  set = function(self, casterCastingEffectPresets)
116
- casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toAttachmentPreset)
133
+ casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toEffectPreset)
117
134
  end
118
135
  },
119
136
  true
@@ -126,20 +143,20 @@ __TS__SetDescriptor(
126
143
  return casterChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
127
144
  end,
128
145
  set = function(self, casterChannelingEffectPresets)
129
- casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toAttachmentPreset)
146
+ casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toEffectPreset)
130
147
  end
131
148
  },
132
149
  true
133
150
  )
134
151
  __TS__SetDescriptor(
135
152
  AbilityType.prototype,
136
- "casterAttachmentPresets",
153
+ "casterEffectPresets",
137
154
  {
138
155
  get = function(self)
139
156
  return self:getAttachmentPresetListField("acat", {"acap", "aca1"})
140
157
  end,
141
- set = function(self, casterAttachmentPresets)
142
- self:setAttachmentPresetListField("acat", {"acap", "aca1"}, "acac", casterAttachmentPresets)
158
+ set = function(self, casterEffectPresets)
159
+ self:setAttachmentPresetListField("acat", {"acap", "aca1"}, "acac", casterEffectPresets)
143
160
  end
144
161
  },
145
162
  true
@@ -157,6 +174,45 @@ __TS__SetDescriptor(
157
174
  },
158
175
  true
159
176
  )
177
+ __TS__SetDescriptor(
178
+ AbilityType.prototype,
179
+ "effectModelPathsSD",
180
+ {
181
+ get = function(self)
182
+ return self:getStringsField("aeat:sd")
183
+ end,
184
+ set = function(self, effectModelPathsSD)
185
+ self:setStringsField("aeat:sd", effectModelPathsSD)
186
+ end
187
+ },
188
+ true
189
+ )
190
+ __TS__SetDescriptor(
191
+ AbilityType.prototype,
192
+ "effectModelPathsHD",
193
+ {
194
+ get = function(self)
195
+ return self:getStringsField("aeat:hd")
196
+ end,
197
+ set = function(self, effectModelPathsHD)
198
+ self:setStringsField("aeat:hd", effectModelPathsHD)
199
+ end
200
+ },
201
+ true
202
+ )
203
+ __TS__SetDescriptor(
204
+ AbilityType.prototype,
205
+ "effectModelPathsDE",
206
+ {
207
+ get = function(self)
208
+ return self:getStringsField("aeat:de")
209
+ end,
210
+ set = function(self, effectModelPathsDE)
211
+ self:setStringsField("aeat:de", effectModelPathsDE)
212
+ end
213
+ },
214
+ true
215
+ )
160
216
  __TS__SetDescriptor(
161
217
  AbilityType.prototype,
162
218
  "iconPath",
@@ -196,6 +252,19 @@ __TS__SetDescriptor(
196
252
  },
197
253
  true
198
254
  )
255
+ __TS__SetDescriptor(
256
+ AbilityType.prototype,
257
+ "iconPathDE",
258
+ {
259
+ get = function(self)
260
+ return self:getStringField("aart:de")
261
+ end,
262
+ set = function(self, iconPathDE)
263
+ self:setStringField("aart:de", iconPathDE)
264
+ end
265
+ },
266
+ true
267
+ )
199
268
  __TS__SetDescriptor(
200
269
  AbilityType.prototype,
201
270
  "isButtonVisible",
@@ -271,10 +340,10 @@ __TS__SetDescriptor(
271
340
  "lightningTypeIds",
272
341
  {
273
342
  get = function(self)
274
- return self:getObjectDataEntryIdsField("alig")
343
+ return self:getObjectDataEntryNumericIdsField("alig")
275
344
  end,
276
345
  set = function(self, lightningTypeIds)
277
- self:setObjectDataEntryIdsField("alig", lightningTypeIds)
346
+ self:setObjectDataEntryNumericIdsField("alig", lightningTypeIds)
278
347
  end
279
348
  },
280
349
  true
@@ -318,6 +387,19 @@ __TS__SetDescriptor(
318
387
  },
319
388
  true
320
389
  )
390
+ __TS__SetDescriptor(
391
+ AbilityType.prototype,
392
+ "missileModelPathDE",
393
+ {
394
+ get = function(self)
395
+ return self:getStringField("amat:de")
396
+ end,
397
+ set = function(self, missileModelPathDE)
398
+ self:setStringField("amat:de", missileModelPathDE)
399
+ end
400
+ },
401
+ true
402
+ )
321
403
  __TS__SetDescriptor(
322
404
  AbilityType.prototype,
323
405
  "missileMovementArc",
@@ -346,13 +428,30 @@ __TS__SetDescriptor(
346
428
  )
347
429
  __TS__SetDescriptor(
348
430
  AbilityType.prototype,
349
- "specialAttachmentPreset",
431
+ "specialEffectModelPaths",
432
+ {
433
+ get = function(self)
434
+ return self:getStringsField("asat")
435
+ end,
436
+ set = function(self, specialEffectModelPaths)
437
+ self:setStringsField("asat", specialEffectModelPaths)
438
+ end
439
+ },
440
+ true
441
+ )
442
+ __TS__SetDescriptor(
443
+ AbilityType.prototype,
444
+ "specialEffectAttachmentPoint",
350
445
  {
351
446
  get = function(self)
352
- return self:getAttachmentPresetField("asat", "aspt")
447
+ local nodeName, nodeQualifiers = splitAttachmentNodeFQN(self:getStringField("aspt"))
448
+ return {nodeName = nodeName, nodeQualifiers = nodeQualifiers}
353
449
  end,
354
- set = function(self, specialAttachmentPreset)
355
- self:setAttachmentPresetField("asat", "aspt", specialAttachmentPreset)
450
+ set = function(self, specialEffectAttachmentPoint)
451
+ self:setStringField(
452
+ "aspt",
453
+ attachmentPointToNodeFQN(specialEffectAttachmentPoint)
454
+ )
356
455
  end
357
456
  },
358
457
  true
@@ -365,7 +464,59 @@ __TS__SetDescriptor(
365
464
  return targetCastingEffectPresetsByAbilityTypeId[self.id] or ({})
366
465
  end,
367
466
  set = function(self, targetCastingEffectPresets)
368
- targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets, toAttachmentPreset)
467
+ targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets, toEffectPreset)
468
+ end
469
+ },
470
+ true
471
+ )
472
+ __TS__SetDescriptor(
473
+ AbilityType.prototype,
474
+ "targetChannelingEffectPresets",
475
+ {
476
+ get = function(self)
477
+ return targetChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
478
+ end,
479
+ set = function(self, targetChannelingEffectPresets)
480
+ targetChannelingEffectPresetsByAbilityTypeId[self.id] = map(targetChannelingEffectPresets, toEffectPreset)
481
+ end
482
+ },
483
+ true
484
+ )
485
+ __TS__SetDescriptor(
486
+ AbilityType.prototype,
487
+ "targetChannelingEffectPresetsSD",
488
+ {
489
+ get = function(self)
490
+ return targetChannelingEffectPresetsSDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
491
+ end,
492
+ set = function(self, targetChannelingEffectPresetsSD)
493
+ targetChannelingEffectPresetsSDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsSD, toEffectPreset)
494
+ end
495
+ },
496
+ true
497
+ )
498
+ __TS__SetDescriptor(
499
+ AbilityType.prototype,
500
+ "targetChannelingEffectPresetsHD",
501
+ {
502
+ get = function(self)
503
+ return targetChannelingEffectPresetsHDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
504
+ end,
505
+ set = function(self, targetChannelingEffectPresetsHD)
506
+ targetChannelingEffectPresetsHDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsHD, toEffectPreset)
507
+ end
508
+ },
509
+ true
510
+ )
511
+ __TS__SetDescriptor(
512
+ AbilityType.prototype,
513
+ "targetChannelingEffectPresetsDE",
514
+ {
515
+ get = function(self)
516
+ return targetChannelingEffectPresetsDEByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
517
+ end,
518
+ set = function(self, targetChannelingEffectPresetsDE)
519
+ targetChannelingEffectPresetsDEByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsDE, toEffectPreset)
369
520
  end
370
521
  },
371
522
  true
@@ -451,6 +602,33 @@ __TS__SetDescriptor(
451
602
  },
452
603
  true
453
604
  )
605
+ __TS__SetDescriptor(
606
+ AbilityType.prototype,
607
+ "targetEffectPresetsDE",
608
+ {
609
+ get = function(self)
610
+ return self:getAttachmentPresetListField(
611
+ "atat:de",
612
+ array(
613
+ 6,
614
+ function(i) return ("ata" .. tostring(i)) .. ":de" end
615
+ )
616
+ )
617
+ end,
618
+ set = function(self, targetEffectPresetsDE)
619
+ self:setAttachmentPresetListField(
620
+ "atat:de",
621
+ array(
622
+ 6,
623
+ function(i) return ("ata" .. tostring(i)) .. ":de" end
624
+ ),
625
+ "atac:de",
626
+ targetEffectPresetsDE
627
+ )
628
+ end
629
+ },
630
+ true
631
+ )
454
632
  __TS__SetDescriptor(
455
633
  AbilityType.prototype,
456
634
  "turnOffButtonPositionX",
@@ -508,7 +686,7 @@ __TS__SetDescriptor(
508
686
  "techTreeDependencies",
509
687
  {
510
688
  get = function(self)
511
- local techTreeDependencyIds = self:getObjectDataEntryIdsField("areq")
689
+ local techTreeDependencyIds = self:getObjectDataEntryNumericIdsField("areq")
512
690
  local techTreeDependencyInternalLevels = self:getNumbersField("arqa")
513
691
  return mapIndexed(
514
692
  techTreeDependencyIds,
@@ -528,7 +706,7 @@ __TS__SetDescriptor(
528
706
  map(techTreeDependencies, extractTechTreeDependencyInputLevel),
529
707
  function(techTreeDependencyLevel) return techTreeDependencyLevel + 1 end
530
708
  )
531
- self:setObjectDataEntryIdsField("areq", techTreeDependencyIds)
709
+ self:setObjectDataEntryNumericIdsField("areq", techTreeDependencyIds)
532
710
  self:setNumbersField("arqa", techTreeDependencyInternalLevels)
533
711
  end
534
712
  },
@@ -718,26 +896,40 @@ __TS__SetDescriptor(
718
896
  )
719
897
  __TS__SetDescriptor(
720
898
  AbilityType.prototype,
721
- "soundPresetName",
899
+ "casterEffectSoundPresetId",
722
900
  {
723
901
  get = function(self)
724
- return self:getStringField("aefs")
902
+ local casterEffectSoundPresetId = self:getStringField("aefs")
903
+ return casterEffectSoundPresetId ~= "" and casterEffectSoundPresetId or nil
725
904
  end,
726
- set = function(self, soundPresetName)
727
- self:setStringField("aefs", soundPresetName)
905
+ set = function(self, casterEffectSoundPresetId)
906
+ self:setStringField("aefs", casterEffectSoundPresetId or "")
728
907
  end
729
908
  },
730
909
  true
731
910
  )
732
911
  __TS__SetDescriptor(
733
912
  AbilityType.prototype,
734
- "loopingSoundPresetName",
913
+ "casterEffectLoopingSoundPresetId",
735
914
  {
736
915
  get = function(self)
737
916
  return self:getStringField("aefl")
738
917
  end,
739
- set = function(self, loopingSoundPresetName)
740
- self:setStringField("aefl", loopingSoundPresetName)
918
+ set = function(self, casterEffectLoopingSoundPresetId)
919
+ self:setStringField("aefl", casterEffectLoopingSoundPresetId)
920
+ end
921
+ },
922
+ true
923
+ )
924
+ __TS__SetDescriptor(
925
+ AbilityType.prototype,
926
+ "targetEffectSoundPresetId",
927
+ {
928
+ get = function(self)
929
+ return targetEffectSoundPresetByAbilityTypeId[self.id]
930
+ end,
931
+ set = function(self, targetEffectSoundPresetId)
932
+ targetEffectSoundPresetByAbilityTypeId[self.id] = targetEffectSoundPresetId
741
933
  end
742
934
  },
743
935
  true
@@ -796,10 +988,10 @@ __TS__SetDescriptor(
796
988
  "buffTypeIds",
797
989
  {
798
990
  get = function(self)
799
- return self:getObjectDataEntryIdsLevelField("abuf")
991
+ return self:getObjectDataEntryNumericIdsLevelField("abuf")
800
992
  end,
801
993
  set = function(self, buffTypeIds)
802
- self:setObjectDataEntryIdsLevelField("abuf", buffTypeIds)
994
+ self:setObjectDataEntryNumericIdsLevelField("abuf", buffTypeIds)
803
995
  end
804
996
  },
805
997
  true
@@ -848,10 +1040,10 @@ __TS__SetDescriptor(
848
1040
  "effectBuffTypeIds",
849
1041
  {
850
1042
  get = function(self)
851
- return self:getObjectDataEntryIdsLevelField("aeff")
1043
+ return self:getObjectDataEntryNumericIdsLevelField("aeff")
852
1044
  end,
853
1045
  set = function(self, effectBuffTypeIds)
854
- self:setObjectDataEntryIdsLevelField("aeff", effectBuffTypeIds)
1046
+ self:setObjectDataEntryNumericIdsLevelField("aeff", effectBuffTypeIds)
855
1047
  end
856
1048
  },
857
1049
  true
@@ -959,13 +1151,38 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
959
1151
  4,
960
1152
  function(caster, ability)
961
1153
  if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
962
- Timer:run(function()
963
- caster:playAnimation(animationFQN)
964
- end)
1154
+ Timer:run(caster, "playAnimation", animationFQN)
965
1155
  end
966
1156
  end
967
1157
  )
968
1158
  end
1159
+ for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEffectSoundPresetByAbilityTypeId end)) do
1160
+ if soundPresetId ~= nil then
1161
+ Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(
1162
+ 4,
1163
+ function(caster, ability, target)
1164
+ if __TS__InstanceOf(target, Unit) then
1165
+ Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target)
1166
+ else
1167
+ Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target.x, target.y)
1168
+ end
1169
+ end
1170
+ )
1171
+ Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(
1172
+ 4,
1173
+ function(caster, ability, x, y)
1174
+ Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, x, y)
1175
+ end
1176
+ )
1177
+ end
1178
+ end
1179
+ local unsupportedEffectSoundAbilityTypeIds = luaSetOf(fourCC("AAns"))
1180
+ Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
1181
+ local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
1182
+ if isSoundLabelCustom(soundPresetId) or soundPresetId ~= "" and unsupportedEffectSoundAbilityTypeIds[ability.parentTypeId] ~= nil then
1183
+ Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
1184
+ end
1185
+ end)
969
1186
  local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
970
1187
  return mapValues(
971
1188
  casterCastingEffectPresetsByAbilityTypeId,
@@ -978,10 +1195,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
978
1195
  function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
979
1196
  )
980
1197
  end)
1198
+ local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
1199
+ return mapValues(
1200
+ casterCastingEffectPresetsByAbilityTypeId,
1201
+ function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
1202
+ )
1203
+ end)
981
1204
  local casterCastingEffectsByCaster = {}
982
1205
  local function handleAbilityCastingStartEvent(caster, ability)
983
1206
  local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
984
1207
  local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
1208
+ local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
985
1209
  local effects = {}
986
1210
  if effectModelPaths ~= nil then
987
1211
  for i = 1, #effectModelPaths do
@@ -990,7 +1214,7 @@ local function handleAbilityCastingStartEvent(caster, ability)
990
1214
  if attachmentPoint == nil or attachmentPoint == "" then
991
1215
  attachmentPoint = "origin"
992
1216
  end
993
- effects[i] = Effect:createTarget(effectModelPath, caster, attachmentPoint)
1217
+ effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
994
1218
  end
995
1219
  end
996
1220
  casterCastingEffectsByCaster[caster] = effects
@@ -1021,10 +1245,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
1021
1245
  function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
1022
1246
  )
1023
1247
  end)
1248
+ local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
1249
+ return mapValues(
1250
+ casterChannelingEffectPresetsByAbilityTypeId,
1251
+ function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
1252
+ )
1253
+ end)
1024
1254
  local casterChannelingEffectsByCaster = {}
1025
1255
  local function handleAbilityChannelingStartEvent(caster, ability)
1026
1256
  local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
1027
1257
  local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
1258
+ local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
1028
1259
  local effects = {}
1029
1260
  if effectModelPaths ~= nil then
1030
1261
  for i = 1, #effectModelPaths do
@@ -1033,23 +1264,128 @@ local function handleAbilityChannelingStartEvent(caster, ability)
1033
1264
  if attachmentPoint == nil or attachmentPoint == "" then
1034
1265
  attachmentPoint = "origin"
1035
1266
  end
1036
- effects[i] = Effect:createTarget(effectModelPath, caster, attachmentPoint)
1267
+ effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
1037
1268
  end
1038
1269
  end
1039
1270
  casterChannelingEffectsByCaster[caster] = effects
1040
1271
  end
1272
+ local targetChannelingEffectsDataByAbilityTypeId = postcompile(function()
1273
+ local function toData(presets)
1274
+ if presets == nil then
1275
+ return nil
1276
+ end
1277
+ local attachmentPoints = map(presets, extractAttachmentPresetInputNodeFQN)
1278
+ local parameters = map(presets, "parameters")
1279
+ return {
1280
+ modelPaths = map(presets, extractAttachmentPresetInputModelPath),
1281
+ attachmentPoints = __TS__ArraySome(
1282
+ attachmentPoints,
1283
+ function(____, attachmentPoint) return attachmentPoint ~= "" end
1284
+ ) and attachmentPoints or nil,
1285
+ parameters = __TS__ArraySome(
1286
+ presets,
1287
+ function(____, preset) return preset.parameters ~= nil end
1288
+ ) and parameters or nil
1289
+ }
1290
+ end
1291
+ local abilityTypeIds = {}
1292
+ for ____, presetsByAbilityTypeId in ipairs({targetChannelingEffectPresetsByAbilityTypeId, targetChannelingEffectPresetsSDByAbilityTypeId, targetChannelingEffectPresetsHDByAbilityTypeId, targetChannelingEffectPresetsDEByAbilityTypeId}) do
1293
+ for abilityTypeId in pairs(presetsByAbilityTypeId) do
1294
+ abilityTypeIds[abilityTypeId] = true
1295
+ end
1296
+ end
1297
+ local result = {}
1298
+ for abilityTypeId in pairs(abilityTypeIds) do
1299
+ local presets = targetChannelingEffectPresetsByAbilityTypeId[abilityTypeId]
1300
+ local presetsSD = targetChannelingEffectPresetsSDByAbilityTypeId[abilityTypeId]
1301
+ local presetsHD = targetChannelingEffectPresetsHDByAbilityTypeId[abilityTypeId]
1302
+ local presetsDE = targetChannelingEffectPresetsDEByAbilityTypeId[abilityTypeId]
1303
+ local ____math_max_8 = math.max
1304
+ local ____opt_0 = presetsSD or presets
1305
+ local ____temp_6 = ____opt_0 and #____opt_0 or 0
1306
+ local ____opt_2 = presetsHD or presets
1307
+ local ____temp_7 = ____opt_2 and #____opt_2 or 0
1308
+ local ____opt_4 = presetsDE or presets
1309
+ result[abilityTypeId] = {
1310
+ effectCount = ____math_max_8(____temp_6, ____temp_7, ____opt_4 and #____opt_4 or 0),
1311
+ data = toData(presets),
1312
+ dataSD = toData(presetsSD),
1313
+ dataHD = toData(presetsHD),
1314
+ dataDE = toData(presetsDE)
1315
+ }
1316
+ end
1317
+ return result
1318
+ end)
1319
+ local targetChannelingEffectsByCaster = {}
1320
+ local function createTargetChannelingEffects(caster, abilityTypeId, xOrWidget, y)
1321
+ local effectsData = targetChannelingEffectsDataByAbilityTypeId[abilityTypeId]
1322
+ if effectsData == nil then
1323
+ return
1324
+ end
1325
+ local graphicsMode = LocalClient.graphicsMode
1326
+ local ____temp_10
1327
+ if graphicsMode == 0 then
1328
+ ____temp_10 = effectsData.dataSD
1329
+ else
1330
+ local ____temp_9
1331
+ if graphicsMode == 1 then
1332
+ ____temp_9 = effectsData.dataHD
1333
+ else
1334
+ ____temp_9 = effectsData.dataDE
1335
+ end
1336
+ ____temp_10 = ____temp_9
1337
+ end
1338
+ local data = ____temp_10 or effectsData.data
1339
+ local modelPaths = data and data.modelPaths
1340
+ local attachmentPoints = data and data.attachmentPoints
1341
+ local parameters = data and data.parameters
1342
+ local effects = {}
1343
+ for i = 1, effectsData.effectCount do
1344
+ local effectModelPath = modelPaths and modelPaths[i] or ""
1345
+ local effectParameters = parameters and parameters[i]
1346
+ if type(xOrWidget) == "number" then
1347
+ effects[i] = Effect:create(effectModelPath, xOrWidget, y, effectParameters)
1348
+ else
1349
+ local attachmentPoint = attachmentPoints and attachmentPoints[i]
1350
+ if attachmentPoint == nil or attachmentPoint == "" then
1351
+ attachmentPoint = "origin"
1352
+ end
1353
+ effects[i] = Effect:create(effectModelPath, xOrWidget, attachmentPoint, effectParameters)
1354
+ end
1355
+ end
1356
+ targetChannelingEffectsByCaster[caster] = effects
1357
+ end
1358
+ local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
1359
+ createTargetChannelingEffects(caster, ability.typeId, target)
1360
+ end
1361
+ local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
1362
+ createTargetChannelingEffects(caster, ability.typeId, x, y)
1363
+ end
1041
1364
  local function handleAbilityStopChannelingEvent(caster)
1042
- local effects = casterChannelingEffectsByCaster[caster]
1043
- if effects ~= nil then
1044
- for i = 1, #effects do
1045
- effects[i]:destroy()
1365
+ local casterEffects = casterChannelingEffectsByCaster[caster]
1366
+ if casterEffects ~= nil then
1367
+ for i = 1, #casterEffects do
1368
+ casterEffects[i]:destroy()
1046
1369
  end
1047
1370
  casterChannelingEffectsByCaster[caster] = nil
1048
1371
  end
1372
+ local targetEffects = targetChannelingEffectsByCaster[caster]
1373
+ if targetEffects ~= nil then
1374
+ for i = 1, #targetEffects do
1375
+ targetEffects[i]:destroy()
1376
+ end
1377
+ targetChannelingEffectsByCaster[caster] = nil
1378
+ end
1049
1379
  end
1050
1380
  for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
1051
1381
  Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
1052
1382
  Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1053
1383
  Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1054
1384
  end
1385
+ for abilityTypeId in pairs(targetChannelingEffectsDataByAbilityTypeId) do
1386
+ Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
1387
+ Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
1388
+ Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1389
+ Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1390
+ end
1055
1391
  return ____exports