warscript 0.0.1-dev.f5421e8 → 0.0.1-dev.f594e71

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 (331) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/core/types/frame.d.ts +1 -0
  4. package/core/types/frame.lua +136 -58
  5. package/core/types/handle.lua +9 -9
  6. package/core/types/item.d.ts +1 -0
  7. package/core/types/item.lua +1 -0
  8. package/core/types/player.d.ts +18 -1
  9. package/core/types/player.lua +76 -26
  10. package/core/types/playerCamera.d.ts +2 -0
  11. package/core/types/playerCamera.lua +123 -5
  12. package/core/types/playerColor.lua +4 -3
  13. package/core/types/sound.d.ts +1 -1
  14. package/core/types/sound.lua +19 -9
  15. package/core/types/tileCell.d.ts +11 -1
  16. package/core/types/tileCell.lua +97 -0
  17. package/core/types/timer.d.ts +3 -1
  18. package/core/types/timer.lua +27 -2
  19. package/core/types/unit.d.ts +4 -0
  20. package/core/types/unit.lua +4 -0
  21. package/decl/native.d.ts +1718 -964
  22. package/destroyable.d.ts +1 -0
  23. package/destroyable.lua +9 -0
  24. package/engine/behavior.d.ts +14 -1
  25. package/engine/behavior.lua +230 -70
  26. package/engine/behaviour/ability/apply-buff.lua +5 -5
  27. package/engine/behaviour/ability/damage.d.ts +9 -3
  28. package/engine/behaviour/ability/damage.lua +40 -49
  29. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  30. package/engine/behaviour/ability/emulate-impact.lua +23 -7
  31. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  32. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  33. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  34. package/engine/behaviour/ability/restore-mana.lua +6 -6
  35. package/engine/behaviour/ability.d.ts +12 -6
  36. package/engine/behaviour/ability.lua +49 -17
  37. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  38. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  39. package/engine/behaviour/unit.d.ts +40 -3
  40. package/engine/behaviour/unit.lua +270 -6
  41. package/engine/buff.d.ts +75 -28
  42. package/engine/buff.lua +433 -196
  43. package/engine/index.d.ts +2 -1
  44. package/engine/internal/ability.d.ts +11 -1
  45. package/engine/internal/ability.lua +100 -41
  46. package/engine/internal/item/ability.lua +63 -11
  47. package/engine/internal/item/fields.d.ts +12 -0
  48. package/engine/internal/item/fields.lua +33 -0
  49. package/engine/internal/item+owner.d.ts +1 -0
  50. package/engine/internal/item+owner.lua +19 -6
  51. package/engine/internal/item.d.ts +28 -16
  52. package/engine/internal/item.lua +241 -82
  53. package/engine/internal/mechanics/cast-ability.lua +6 -3
  54. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  55. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  56. package/engine/internal/misc/frame-coordinates.lua +21 -0
  57. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  58. package/engine/internal/misc/get-terrain-z.lua +11 -0
  59. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  60. package/engine/internal/misc/player-local-handle.lua +5 -0
  61. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  62. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  63. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  64. package/engine/internal/object-data/health-bonus.lua +16 -0
  65. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  66. package/engine/internal/object-data/mana-bonus.lua +16 -0
  67. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  68. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  69. package/engine/internal/unit/ability.d.ts +35 -0
  70. package/engine/internal/unit/ability.lua +113 -12
  71. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  72. package/engine/internal/unit/allowed-targets.lua +9 -1
  73. package/engine/internal/unit/appearance.d.ts +15 -0
  74. package/engine/internal/unit/appearance.lua +85 -0
  75. package/engine/internal/unit/attributes.d.ts +17 -0
  76. package/engine/internal/unit/attributes.lua +46 -0
  77. package/engine/internal/unit/bag.d.ts +18 -0
  78. package/engine/internal/unit/bag.lua +63 -0
  79. package/engine/internal/unit/bonus.d.ts +6 -0
  80. package/engine/internal/unit/bonus.lua +33 -3
  81. package/engine/internal/unit/buff.d.ts +2 -2
  82. package/engine/internal/unit/buff.lua +34 -19
  83. package/engine/internal/unit/equipment.d.ts +36 -0
  84. package/engine/internal/unit/equipment.lua +169 -0
  85. package/engine/internal/unit/fly-height.d.ts +7 -0
  86. package/engine/internal/unit/fly-height.lua +20 -0
  87. package/engine/internal/unit/interrupts.d.ts +12 -0
  88. package/engine/internal/unit/interrupts.lua +28 -0
  89. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +3 -3
  90. package/engine/internal/unit/{item.lua → inventory.lua} +25 -26
  91. package/engine/internal/unit/main-selected.lua +12 -27
  92. package/engine/internal/unit/order.d.ts +20 -0
  93. package/engine/internal/unit/order.lua +136 -0
  94. package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
  95. package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
  96. package/engine/internal/unit/range-event.d.ts +12 -0
  97. package/engine/internal/unit/range-event.lua +90 -0
  98. package/engine/internal/unit/scale.d.ts +7 -0
  99. package/engine/internal/unit/scale.lua +20 -0
  100. package/engine/internal/unit+ability.lua +10 -1
  101. package/engine/internal/unit+bonus.lua +3 -3
  102. package/engine/internal/unit+damage.d.ts +11 -11
  103. package/engine/internal/unit+damage.lua +43 -14
  104. package/engine/internal/unit+spellSteal.lua +1 -2
  105. package/engine/internal/unit-missile-data.lua +58 -32
  106. package/engine/internal/unit-missile-launch.lua +52 -14
  107. package/engine/internal/unit.d.ts +39 -27
  108. package/engine/internal/unit.lua +382 -269
  109. package/engine/local-client.d.ts +27 -0
  110. package/engine/local-client.lua +370 -54
  111. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  112. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  113. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  114. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  115. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  116. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  117. package/engine/object-data/auxiliary/equipment-type.d.ts +13 -0
  118. package/engine/object-data/auxiliary/equipment-type.lua +2 -0
  119. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  120. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  121. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  122. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  123. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  124. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  125. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  126. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  127. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  128. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  129. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  130. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  131. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  132. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  133. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  134. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  135. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  136. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  137. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  138. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  139. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  140. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  141. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  142. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -0
  143. package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
  144. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  145. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  146. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  147. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  148. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  149. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  150. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  151. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  152. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  153. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  154. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  155. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  156. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  157. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  158. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  159. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  160. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  161. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  162. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  163. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  164. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  165. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  166. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  167. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  168. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  169. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  170. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  171. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  172. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  173. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  174. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  175. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  176. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  177. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  178. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  179. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  180. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  181. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  182. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  183. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  184. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  185. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  186. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  187. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  188. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  189. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  190. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  191. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  192. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  193. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  194. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  195. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  196. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  197. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  198. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  199. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  200. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  201. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  202. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  203. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  204. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  205. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  206. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  207. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  208. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  209. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  210. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  211. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  212. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  213. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  214. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  215. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  216. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  217. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  218. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  219. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  220. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  221. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  222. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  223. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  224. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  225. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  226. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  227. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  228. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  229. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  230. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  231. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  232. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  233. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  234. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  235. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  236. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  237. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  238. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  239. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  240. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  241. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  242. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  243. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  244. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  245. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  246. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  247. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  248. package/engine/object-data/entry/ability-type.d.ts +12 -3
  249. package/engine/object-data/entry/ability-type.lua +148 -7
  250. package/engine/object-data/entry/buff-type/applicable.lua +113 -104
  251. package/engine/object-data/entry/buff-type.d.ts +10 -12
  252. package/engine/object-data/entry/buff-type.lua +37 -27
  253. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  254. package/engine/object-data/entry/destructible-type.lua +181 -0
  255. package/engine/object-data/entry/item-type.d.ts +12 -3
  256. package/engine/object-data/entry/item-type.lua +52 -0
  257. package/engine/object-data/entry/lightning-type.d.ts +2 -2
  258. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  259. package/engine/object-data/entry/unit-type.d.ts +64 -6
  260. package/engine/object-data/entry/unit-type.lua +531 -85
  261. package/engine/object-data/entry/upgrade.d.ts +2 -2
  262. package/engine/object-data/entry.d.ts +4 -1
  263. package/engine/object-field/ability.d.ts +4 -4
  264. package/engine/object-field/ability.lua +9 -8
  265. package/engine/object-field/item.d.ts +22 -0
  266. package/engine/object-field/item.lua +118 -0
  267. package/engine/object-field/unit.d.ts +72 -3
  268. package/engine/object-field/unit.lua +268 -7
  269. package/engine/object-field.d.ts +26 -7
  270. package/engine/object-field.lua +360 -119
  271. package/engine/random.d.ts +10 -0
  272. package/engine/random.lua +21 -0
  273. package/engine/standard/entries/ability-type.d.ts +3102 -7
  274. package/engine/standard/entries/ability-type.lua +0 -6
  275. package/engine/standard/entries/buff-type.d.ts +3 -0
  276. package/engine/standard/entries/buff-type.lua +3 -0
  277. package/engine/standard/entries/item-type.d.ts +1299 -0
  278. package/engine/standard/entries/item-type.lua +2 -0
  279. package/engine/standard/entries/unit-type.d.ts +5 -0
  280. package/engine/standard/entries/unit-type.lua +5 -0
  281. package/engine/standard/fields/ability.d.ts +2 -2
  282. package/engine/standard/fields/ability.lua +2 -2
  283. package/engine/standard/fields/item.d.ts +4 -0
  284. package/engine/standard/fields/item.lua +6 -0
  285. package/engine/standard/fields/unit.d.ts +12 -0
  286. package/engine/standard/fields/unit.lua +20 -0
  287. package/engine/synchronization.d.ts +11 -0
  288. package/engine/synchronization.lua +77 -0
  289. package/engine/text-tag.d.ts +36 -2
  290. package/engine/text-tag.lua +250 -10
  291. package/engine/unit.d.ts +10 -1
  292. package/engine/unit.lua +10 -1
  293. package/event.d.ts +1 -1
  294. package/lualib_bundle.lua +1 -1
  295. package/math.d.ts +2 -0
  296. package/math.lua +14 -0
  297. package/net/socket.lua +1 -1
  298. package/network.lua +25 -1
  299. package/objutil/buff.lua +11 -10
  300. package/objutil/object.lua +1 -1
  301. package/operation.d.ts +8 -1
  302. package/operation.lua +38 -18
  303. package/package.json +3 -23
  304. package/patch-lua.lua +15 -0
  305. package/patch-lualib.lua +1 -1
  306. package/utility/arrays.d.ts +2 -0
  307. package/utility/arrays.lua +11 -0
  308. package/utility/callback-array.d.ts +17 -0
  309. package/utility/callback-array.lua +61 -0
  310. package/utility/functions.d.ts +8 -0
  311. package/utility/functions.lua +13 -0
  312. package/utility/linked-map.d.ts +35 -0
  313. package/utility/linked-map.lua +107 -0
  314. package/utility/linked-set.d.ts +5 -1
  315. package/utility/linked-set.lua +49 -1
  316. package/utility/lua-maps.d.ts +15 -2
  317. package/utility/lua-maps.lua +53 -2
  318. package/utility/lua-sets.d.ts +2 -0
  319. package/utility/lua-sets.lua +7 -0
  320. package/utility/random.d.ts +102 -0
  321. package/utility/random.lua +273 -0
  322. package/utility/records.lua +20 -1
  323. package/utility/types.d.ts +3 -0
  324. package/utility/unordered-map.d.ts +27 -0
  325. package/utility/unordered-map.lua +99 -0
  326. package/core/types/order.d.ts +0 -25
  327. package/core/types/order.lua +0 -55
  328. /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
  329. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  330. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  331. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -0,0 +1,117 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.UnyieldingGuardAbilityType = __TS__Class()
9
+ local UnyieldingGuardAbilityType = ____exports.UnyieldingGuardAbilityType
10
+ UnyieldingGuardAbilityType.name = "UnyieldingGuardAbilityType"
11
+ __TS__ClassExtends(UnyieldingGuardAbilityType, AbilityType)
12
+ UnyieldingGuardAbilityType.BASE_ID = fourCC("AHbd")
13
+ __TS__SetDescriptor(
14
+ UnyieldingGuardAbilityType.prototype,
15
+ "damageReductionPercentage",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("bld1")
19
+ end,
20
+ set = function(self, damageReductionPercentage)
21
+ self:setNumberLevelField("bld1", damageReductionPercentage)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ UnyieldingGuardAbilityType.prototype,
28
+ "movementSpeedReductionPercentage",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("bld2")
32
+ end,
33
+ set = function(self, movementSpeedReductionPercentage)
34
+ self:setNumberLevelField("bld2", movementSpeedReductionPercentage)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ __TS__SetDescriptor(
40
+ UnyieldingGuardAbilityType.prototype,
41
+ "attackSpeedIncreasePercentage",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("bld3")
45
+ end,
46
+ set = function(self, attackSpeedIncreasePercentage)
47
+ self:setNumberLevelField("bld3", attackSpeedIncreasePercentage)
48
+ end
49
+ },
50
+ true
51
+ )
52
+ __TS__SetDescriptor(
53
+ UnyieldingGuardAbilityType.prototype,
54
+ "bonusDurationOnDamageTaken",
55
+ {
56
+ get = function(self)
57
+ return self:getNumberLevelField("bld4")
58
+ end,
59
+ set = function(self, bonusDurationOnDamageTaken)
60
+ self:setNumberLevelField("bld4", bonusDurationOnDamageTaken)
61
+ end
62
+ },
63
+ true
64
+ )
65
+ __TS__SetDescriptor(
66
+ UnyieldingGuardAbilityType.prototype,
67
+ "sweepCooldownReductionOnHit",
68
+ {
69
+ get = function(self)
70
+ return self:getNumberLevelField("bld5")
71
+ end,
72
+ set = function(self, sweepCooldownReductionOnHit)
73
+ self:setNumberLevelField("bld5", sweepCooldownReductionOnHit)
74
+ end
75
+ },
76
+ true
77
+ )
78
+ __TS__SetDescriptor(
79
+ UnyieldingGuardAbilityType.prototype,
80
+ "damageReflectionPercentage",
81
+ {
82
+ get = function(self)
83
+ return self:getNumberLevelField("bld6")
84
+ end,
85
+ set = function(self, damageReflectionPercentage)
86
+ self:setNumberLevelField("bld6", damageReflectionPercentage)
87
+ end
88
+ },
89
+ true
90
+ )
91
+ __TS__SetDescriptor(
92
+ UnyieldingGuardAbilityType.prototype,
93
+ "flatDamageReflection",
94
+ {
95
+ get = function(self)
96
+ return self:getNumberLevelField("bld7")
97
+ end,
98
+ set = function(self, flatDamageReflection)
99
+ self:setNumberLevelField("bld7", flatDamageReflection)
100
+ end
101
+ },
102
+ true
103
+ )
104
+ __TS__SetDescriptor(
105
+ UnyieldingGuardAbilityType.prototype,
106
+ "abilitySpeedIncreasePercentage",
107
+ {
108
+ get = function(self)
109
+ return self:getNumberLevelField("bld8")
110
+ end,
111
+ set = function(self, abilitySpeedIncreasePercentage)
112
+ self:setNumberLevelField("bld8", abilitySpeedIncreasePercentage)
113
+ end
114
+ },
115
+ true
116
+ )
117
+ return ____exports
@@ -0,0 +1,27 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class ValiantChargeAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ /** Target Intersect Radius */
7
+ get targetIntersectRadius(): number[];
8
+ set targetIntersectRadius(targetIntersectRadius: ObjectDataEntryLevelFieldValueSupplier<number>);
9
+ /** Dash Speed */
10
+ get dashSpeed(): number[];
11
+ set dashSpeed(dashSpeed: ObjectDataEntryLevelFieldValueSupplier<number>);
12
+ /** Dash Damage */
13
+ get dashDamage(): number[];
14
+ set dashDamage(dashDamage: ObjectDataEntryLevelFieldValueSupplier<number>);
15
+ /** Bonus Critical Strike */
16
+ get bonusCriticalStrike(): number[];
17
+ set bonusCriticalStrike(bonusCriticalStrike: ObjectDataEntryLevelFieldValueSupplier<number>);
18
+ /** Normal - Bonus Critical Strike Duration */
19
+ get bonusCriticalStrikeDuration(): number[];
20
+ set bonusCriticalStrikeDuration(bonusCriticalStrikeDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
21
+ /** Hero - Bonus Critical Strike Duration */
22
+ get bonusCriticalStrikeHeroDuration(): number[];
23
+ set bonusCriticalStrikeHeroDuration(bonusCriticalStrikeHeroDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
24
+ /** Remove Buffs On Ability Start */
25
+ get removesBuffsOnStart(): boolean[];
26
+ set removesBuffsOnStart(removesBuffsOnStart: ObjectDataEntryLevelFieldValueSupplier<boolean>);
27
+ }
@@ -0,0 +1,104 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.ValiantChargeAbilityType = __TS__Class()
9
+ local ValiantChargeAbilityType = ____exports.ValiantChargeAbilityType
10
+ ValiantChargeAbilityType.name = "ValiantChargeAbilityType"
11
+ __TS__ClassExtends(ValiantChargeAbilityType, AbilityType)
12
+ ValiantChargeAbilityType.BASE_ID = fourCC("AHch")
13
+ __TS__SetDescriptor(
14
+ ValiantChargeAbilityType.prototype,
15
+ "targetIntersectRadius",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("chra")
19
+ end,
20
+ set = function(self, targetIntersectRadius)
21
+ self:setNumberLevelField("chra", targetIntersectRadius)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ ValiantChargeAbilityType.prototype,
28
+ "dashSpeed",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("chr1")
32
+ end,
33
+ set = function(self, dashSpeed)
34
+ self:setNumberLevelField("chr1", dashSpeed)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ __TS__SetDescriptor(
40
+ ValiantChargeAbilityType.prototype,
41
+ "dashDamage",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("chr2")
45
+ end,
46
+ set = function(self, dashDamage)
47
+ self:setNumberLevelField("chr2", dashDamage)
48
+ end
49
+ },
50
+ true
51
+ )
52
+ __TS__SetDescriptor(
53
+ ValiantChargeAbilityType.prototype,
54
+ "bonusCriticalStrike",
55
+ {
56
+ get = function(self)
57
+ return self:getNumberLevelField("chr3")
58
+ end,
59
+ set = function(self, bonusCriticalStrike)
60
+ self:setNumberLevelField("chr3", bonusCriticalStrike)
61
+ end
62
+ },
63
+ true
64
+ )
65
+ __TS__SetDescriptor(
66
+ ValiantChargeAbilityType.prototype,
67
+ "bonusCriticalStrikeDuration",
68
+ {
69
+ get = function(self)
70
+ return self:getNumberLevelField("chr4")
71
+ end,
72
+ set = function(self, bonusCriticalStrikeDuration)
73
+ self:setNumberLevelField("chr4", bonusCriticalStrikeDuration)
74
+ end
75
+ },
76
+ true
77
+ )
78
+ __TS__SetDescriptor(
79
+ ValiantChargeAbilityType.prototype,
80
+ "bonusCriticalStrikeHeroDuration",
81
+ {
82
+ get = function(self)
83
+ return self:getNumberLevelField("chr5")
84
+ end,
85
+ set = function(self, bonusCriticalStrikeHeroDuration)
86
+ self:setNumberLevelField("chr5", bonusCriticalStrikeHeroDuration)
87
+ end
88
+ },
89
+ true
90
+ )
91
+ __TS__SetDescriptor(
92
+ ValiantChargeAbilityType.prototype,
93
+ "removesBuffsOnStart",
94
+ {
95
+ get = function(self)
96
+ return self:getBooleanLevelField("chr6")
97
+ end,
98
+ set = function(self, removesBuffsOnStart)
99
+ self:setBooleanLevelField("chr6", removesBuffsOnStart)
100
+ end
101
+ },
102
+ true
103
+ )
104
+ return ____exports
@@ -0,0 +1,9 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class WarcryAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ /** Bonus Abilities List */
7
+ get bonusAbilityTypeIds(): AbilityTypeId[][];
8
+ set bonusAbilityTypeIds(bonusAbilityTypeIds: ObjectDataEntryLevelFieldValueSupplier<AbilityTypeId[]>);
9
+ }
@@ -0,0 +1,26 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.WarcryAbilityType = __TS__Class()
9
+ local WarcryAbilityType = ____exports.WarcryAbilityType
10
+ WarcryAbilityType.name = "WarcryAbilityType"
11
+ __TS__ClassExtends(WarcryAbilityType, AbilityType)
12
+ WarcryAbilityType.BASE_ID = fourCC("AHwc")
13
+ __TS__SetDescriptor(
14
+ WarcryAbilityType.prototype,
15
+ "bonusAbilityTypeIds",
16
+ {
17
+ get = function(self)
18
+ return self:getObjectDataEntryNumericIdsLevelField("hwc1")
19
+ end,
20
+ set = function(self, bonusAbilityTypeIds)
21
+ self:setObjectDataEntryNumericIdsLevelField("hwc1", bonusAbilityTypeIds)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ return ____exports
@@ -0,0 +1,21 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class WitheringFireAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ /** Max Charges */
7
+ get maximumCharges(): number[];
8
+ set maximumCharges(maximumCharges: ObjectDataEntryLevelFieldValueSupplier<number>);
9
+ /** Charge Regen Time */
10
+ get chargeRegenerationTime(): number[];
11
+ set chargeRegenerationTime(chargeRegenerationTime: ObjectDataEntryLevelFieldValueSupplier<number>);
12
+ /** Damage */
13
+ get damage(): number[];
14
+ set damage(damage: ObjectDataEntryLevelFieldValueSupplier<number>);
15
+ /** Target Armor Reduction */
16
+ get targetArmorReduction(): number[];
17
+ set targetArmorReduction(targetArmorReduction: ObjectDataEntryLevelFieldValueSupplier<number>);
18
+ /** Cooldown Reduction On Auto Attack */
19
+ get cooldownReductionOnAutoAttack(): number[];
20
+ set cooldownReductionOnAutoAttack(cooldownReductionOnAutoAttack: ObjectDataEntryLevelFieldValueSupplier<number>);
21
+ }
@@ -0,0 +1,78 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.WitheringFireAbilityType = __TS__Class()
9
+ local WitheringFireAbilityType = ____exports.WitheringFireAbilityType
10
+ WitheringFireAbilityType.name = "WitheringFireAbilityType"
11
+ __TS__ClassExtends(WitheringFireAbilityType, AbilityType)
12
+ WitheringFireAbilityType.BASE_ID = fourCC("AUwf")
13
+ __TS__SetDescriptor(
14
+ WitheringFireAbilityType.prototype,
15
+ "maximumCharges",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("uwf1")
19
+ end,
20
+ set = function(self, maximumCharges)
21
+ self:setNumberLevelField("uwf1", maximumCharges)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ WitheringFireAbilityType.prototype,
28
+ "chargeRegenerationTime",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("uwf2")
32
+ end,
33
+ set = function(self, chargeRegenerationTime)
34
+ self:setNumberLevelField("uwf2", chargeRegenerationTime)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ __TS__SetDescriptor(
40
+ WitheringFireAbilityType.prototype,
41
+ "damage",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("uwf3")
45
+ end,
46
+ set = function(self, damage)
47
+ self:setNumberLevelField("uwf3", damage)
48
+ end
49
+ },
50
+ true
51
+ )
52
+ __TS__SetDescriptor(
53
+ WitheringFireAbilityType.prototype,
54
+ "targetArmorReduction",
55
+ {
56
+ get = function(self)
57
+ return self:getNumberLevelField("uwf4")
58
+ end,
59
+ set = function(self, targetArmorReduction)
60
+ self:setNumberLevelField("uwf4", targetArmorReduction)
61
+ end
62
+ },
63
+ true
64
+ )
65
+ __TS__SetDescriptor(
66
+ WitheringFireAbilityType.prototype,
67
+ "cooldownReductionOnAutoAttack",
68
+ {
69
+ get = function(self)
70
+ return self:getNumberLevelField("uwf5")
71
+ end,
72
+ set = function(self, cooldownReductionOnAutoAttack)
73
+ self:setNumberLevelField("uwf5", cooldownReductionOnAutoAttack)
74
+ end
75
+ },
76
+ true
77
+ )
78
+ return ____exports
@@ -7,13 +7,14 @@ import { AttachmentPresetInput, EffectPresetWithParameters, EffectPresetWithPara
7
7
  import { CombatClassifications } from "../auxiliary/combat-classification";
8
8
  import { Race } from "../auxiliary/race";
9
9
  import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
10
- import { ObjectDataEntry, ObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
10
+ import { ObjectDataEntry, CustomObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
11
11
  import { BuffTypeId } from "./buff-type";
12
12
  import { LightningTypeId } from "./lightning-type";
13
13
  import { SoundPresetId } from "./sound-preset";
14
- export type AbilityTypeId = ObjectDataEntryId & number & {
14
+ import { StandardAbilityTypeId } from "../../standard/entries/ability-type";
15
+ export type AbilityTypeId = (CustomObjectDataEntryId & number & {
15
16
  readonly __abilityTypeId: unique symbol;
16
- };
17
+ }) | StandardAbilityTypeId;
17
18
  export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId> {
18
19
  private static readonly idGenerator;
19
20
  protected static generateId(): number;
@@ -41,6 +42,8 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
41
42
  set iconPathSD(iconPathSD: string);
42
43
  get iconPathHD(): string;
43
44
  set iconPathHD(iconPathHD: string);
45
+ get iconPathDE(): string;
46
+ set iconPathDE(iconPathDE: string);
44
47
  get isButtonVisible(): boolean;
45
48
  set isButtonVisible(isButtonVisible: boolean);
46
49
  get isMissileHoming(): boolean;
@@ -59,6 +62,8 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
59
62
  set missileModelPathSD(missileModelPathSD: string);
60
63
  get missileModelPathHD(): string;
61
64
  set missileModelPathHD(missileModelPathHD: string);
65
+ get missileModelPathDE(): string;
66
+ set missileModelPathDE(missileModelPathDE: string);
62
67
  get missileMovementArc(): number;
63
68
  set missileMovementArc(missileMovementArc: number);
64
69
  get missileMovementSpeed(): number;
@@ -67,12 +72,16 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
67
72
  set specialAttachmentPreset(specialAttachmentPreset: AttachmentPresetInput | undefined);
68
73
  get targetCastingEffectPresets(): EffectPresetWithParameters[];
69
74
  set targetCastingEffectPresets(targetCastingEffectPresets: AttachmentPresetInput[]);
75
+ get targetChannelingEffectPresets(): EffectPresetWithParameters[];
76
+ set targetChannelingEffectPresets(targetChannelingEffectPresets: EffectPresetWithParametersInput[]);
70
77
  get targetEffectPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
71
78
  set targetEffectPresets(targetEffectPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
72
79
  get targetEffectPresetsSD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
73
80
  set targetEffectPresetsSD(targetEffectPresetsSD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
74
81
  get targetEffectPresetsHD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
75
82
  set targetEffectPresetsHD(targetEffectPresetsHD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
83
+ get targetEffectPresetsDE(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
84
+ set targetEffectPresetsDE(targetEffectPresetsDE: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
76
85
  get turnOffButtonPositionX(): number;
77
86
  set turnOffButtonPositionX(buttonPositionX: number);
78
87
  get turnOffButtonPositionY(): number;
@@ -35,13 +35,17 @@ local abilityTypeIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.abilit
35
35
  local ____upgrade = require("engine.object-data.entry.upgrade")
36
36
  local Upgrade = ____upgrade.Upgrade
37
37
  local ____sound = require("core.types.sound")
38
+ local isSoundLabelCustom = ____sound.isSoundLabelCustom
38
39
  local Sound3D = ____sound.Sound3D
39
40
  local SoundSettings = ____sound.SoundSettings
41
+ local ____lua_2Dsets = require("utility.lua-sets")
42
+ local luaSetOf = ____lua_2Dsets.luaSetOf
40
43
  local castAnimationFQNByAbilityTypeId = {}
41
44
  local isButtonVisibleFalseAbilityTypes = {}
42
45
  local casterCastingEffectPresetsByAbilityTypeId = {}
43
46
  local casterChannelingEffectPresetsByAbilityTypeId = {}
44
47
  local targetCastingEffectPresetsByAbilityTypeId = {}
48
+ local targetChannelingEffectPresetsByAbilityTypeId = {}
45
49
  local targetEffectSoundPresetByAbilityTypeId = {}
46
50
  ____exports.AbilityType = __TS__Class()
47
51
  local AbilityType = ____exports.AbilityType
@@ -201,6 +205,19 @@ __TS__SetDescriptor(
201
205
  },
202
206
  true
203
207
  )
208
+ __TS__SetDescriptor(
209
+ AbilityType.prototype,
210
+ "iconPathDE",
211
+ {
212
+ get = function(self)
213
+ return self:getStringField("aart:de")
214
+ end,
215
+ set = function(self, iconPathDE)
216
+ self:setStringField("aart:de", iconPathDE)
217
+ end
218
+ },
219
+ true
220
+ )
204
221
  __TS__SetDescriptor(
205
222
  AbilityType.prototype,
206
223
  "isButtonVisible",
@@ -323,6 +340,19 @@ __TS__SetDescriptor(
323
340
  },
324
341
  true
325
342
  )
343
+ __TS__SetDescriptor(
344
+ AbilityType.prototype,
345
+ "missileModelPathDE",
346
+ {
347
+ get = function(self)
348
+ return self:getStringField("amat:de")
349
+ end,
350
+ set = function(self, missileModelPathDE)
351
+ self:setStringField("amat:de", missileModelPathDE)
352
+ end
353
+ },
354
+ true
355
+ )
326
356
  __TS__SetDescriptor(
327
357
  AbilityType.prototype,
328
358
  "missileMovementArc",
@@ -375,6 +405,19 @@ __TS__SetDescriptor(
375
405
  },
376
406
  true
377
407
  )
408
+ __TS__SetDescriptor(
409
+ AbilityType.prototype,
410
+ "targetChannelingEffectPresets",
411
+ {
412
+ get = function(self)
413
+ return targetChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
414
+ end,
415
+ set = function(self, targetChannelingEffectPresets)
416
+ targetChannelingEffectPresetsByAbilityTypeId[self.id] = map(targetChannelingEffectPresets, toEffectPreset)
417
+ end
418
+ },
419
+ true
420
+ )
378
421
  __TS__SetDescriptor(
379
422
  AbilityType.prototype,
380
423
  "targetEffectPresets",
@@ -456,6 +499,33 @@ __TS__SetDescriptor(
456
499
  },
457
500
  true
458
501
  )
502
+ __TS__SetDescriptor(
503
+ AbilityType.prototype,
504
+ "targetEffectPresetsDE",
505
+ {
506
+ get = function(self)
507
+ return self:getAttachmentPresetListField(
508
+ "atat:de",
509
+ array(
510
+ 6,
511
+ function(i) return ("ata" .. tostring(i)) .. ":de" end
512
+ )
513
+ )
514
+ end,
515
+ set = function(self, targetEffectPresetsDE)
516
+ self:setAttachmentPresetListField(
517
+ "atat:de",
518
+ array(
519
+ 6,
520
+ function(i) return ("ata" .. tostring(i)) .. ":de" end
521
+ ),
522
+ "atac:de",
523
+ targetEffectPresetsDE
524
+ )
525
+ end
526
+ },
527
+ true
528
+ )
459
529
  __TS__SetDescriptor(
460
530
  AbilityType.prototype,
461
531
  "turnOffButtonPositionX",
@@ -978,9 +1048,7 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
978
1048
  4,
979
1049
  function(caster, ability)
980
1050
  if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
981
- Timer:run(function()
982
- caster:playAnimation(animationFQN)
983
- end)
1051
+ Timer:run(caster, "playAnimation", animationFQN)
984
1052
  end
985
1053
  end
986
1054
  )
@@ -1005,6 +1073,13 @@ for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEf
1005
1073
  )
1006
1074
  end
1007
1075
  end
1076
+ local unsupportedEffectSoundAbilityTypeIds = luaSetOf(fourCC("AAns"))
1077
+ Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
1078
+ local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
1079
+ if isSoundLabelCustom(soundPresetId) or soundPresetId ~= "" and unsupportedEffectSoundAbilityTypeIds[ability.parentTypeId] ~= nil then
1080
+ Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
1081
+ end
1082
+ end)
1008
1083
  local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
1009
1084
  return mapValues(
1010
1085
  casterCastingEffectPresetsByAbilityTypeId,
@@ -1091,18 +1166,84 @@ local function handleAbilityChannelingStartEvent(caster, ability)
1091
1166
  end
1092
1167
  casterChannelingEffectsByCaster[caster] = effects
1093
1168
  end
1169
+ local targetChannelingEffectModelPathsByAbilityTypeId = postcompile(function()
1170
+ return mapValues(
1171
+ targetChannelingEffectPresetsByAbilityTypeId,
1172
+ function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, extractAttachmentPresetInputModelPath) end
1173
+ )
1174
+ end)
1175
+ local targetChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(function()
1176
+ return mapValues(
1177
+ targetChannelingEffectPresetsByAbilityTypeId,
1178
+ function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
1179
+ )
1180
+ end)
1181
+ local targetChannelingEffectParametersByAbilityTypeId = postcompile(function()
1182
+ return mapValues(
1183
+ targetChannelingEffectPresetsByAbilityTypeId,
1184
+ function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, "parameters") end
1185
+ )
1186
+ end)
1187
+ local targetChannelingEffectsByCaster = {}
1188
+ local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
1189
+ local effectModelPaths = targetChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
1190
+ local attachmentPoints = targetChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
1191
+ local parameters = targetChannelingEffectParametersByAbilityTypeId[ability.typeId]
1192
+ local effects = {}
1193
+ if effectModelPaths ~= nil then
1194
+ for i = 1, #effectModelPaths do
1195
+ local effectModelPath = effectModelPaths[i]
1196
+ local attachmentPoint = attachmentPoints and attachmentPoints[i]
1197
+ if attachmentPoint == nil or attachmentPoint == "" then
1198
+ attachmentPoint = "origin"
1199
+ end
1200
+ effects[i] = Effect:create(effectModelPath, target, attachmentPoint, parameters and parameters[i])
1201
+ end
1202
+ end
1203
+ targetChannelingEffectsByCaster[caster] = effects
1204
+ end
1205
+ local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
1206
+ local effectModelPaths = targetChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
1207
+ local attachmentPoints = targetChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
1208
+ local parameters = targetChannelingEffectParametersByAbilityTypeId[ability.typeId]
1209
+ local effects = {}
1210
+ if effectModelPaths ~= nil then
1211
+ for i = 1, #effectModelPaths do
1212
+ local effectModelPath = effectModelPaths[i]
1213
+ local attachmentPoint = attachmentPoints and attachmentPoints[i]
1214
+ if attachmentPoint == nil or attachmentPoint == "" then
1215
+ attachmentPoint = "origin"
1216
+ end
1217
+ effects[i] = Effect:create(effectModelPath, x, y, parameters and parameters[i])
1218
+ end
1219
+ end
1220
+ targetChannelingEffectsByCaster[caster] = effects
1221
+ end
1094
1222
  local function handleAbilityStopChannelingEvent(caster)
1095
- local effects = casterChannelingEffectsByCaster[caster]
1096
- if effects ~= nil then
1097
- for i = 1, #effects do
1098
- effects[i]:destroy()
1223
+ local casterEffects = casterChannelingEffectsByCaster[caster]
1224
+ if casterEffects ~= nil then
1225
+ for i = 1, #casterEffects do
1226
+ casterEffects[i]:destroy()
1099
1227
  end
1100
1228
  casterChannelingEffectsByCaster[caster] = nil
1101
1229
  end
1230
+ local targetEffects = targetChannelingEffectsByCaster[caster]
1231
+ if targetEffects ~= nil then
1232
+ for i = 1, #targetEffects do
1233
+ targetEffects[i]:destroy()
1234
+ end
1235
+ targetChannelingEffectsByCaster[caster] = nil
1236
+ end
1102
1237
  end
1103
1238
  for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
1104
1239
  Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
1105
1240
  Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1106
1241
  Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1107
1242
  end
1243
+ for abilityTypeId in pairs(targetChannelingEffectModelPathsByAbilityTypeId) do
1244
+ Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
1245
+ Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
1246
+ Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1247
+ Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1248
+ end
1108
1249
  return ____exports