warscript 0.0.1-dev.6912057 → 0.0.1-dev.69b6655

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 (307) hide show
  1. package/attributes.d.ts +1 -0
  2. package/attributes.lua +9 -0
  3. package/core/types/frame.d.ts +1 -0
  4. package/core/types/frame.lua +136 -58
  5. package/core/types/handle.lua +6 -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 +14 -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 -2
  18. package/core/types/timer.lua +22 -2
  19. package/core/types/unit.d.ts +4 -0
  20. package/core/types/unit.lua +4 -0
  21. package/decl/native.d.ts +711 -11
  22. package/destroyable.d.ts +1 -0
  23. package/destroyable.lua +9 -0
  24. package/engine/behavior.d.ts +12 -1
  25. package/engine/behavior.lua +199 -65
  26. package/engine/behaviour/ability/apply-buff.lua +4 -4
  27. package/engine/behaviour/ability/damage.d.ts +3 -0
  28. package/engine/behaviour/ability/damage.lua +18 -15
  29. package/engine/behaviour/ability/emulate-impact.lua +5 -4
  30. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  31. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  32. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  33. package/engine/behaviour/ability/restore-mana.lua +6 -6
  34. package/engine/behaviour/ability.d.ts +12 -6
  35. package/engine/behaviour/ability.lua +42 -1
  36. package/engine/behaviour/unit/stun-immunity.d.ts +9 -5
  37. package/engine/behaviour/unit/stun-immunity.lua +17 -7
  38. package/engine/behaviour/unit.d.ts +16 -5
  39. package/engine/behaviour/unit.lua +127 -22
  40. package/engine/buff.d.ts +73 -27
  41. package/engine/buff.lua +424 -193
  42. package/engine/index.d.ts +2 -1
  43. package/engine/internal/ability.d.ts +7 -1
  44. package/engine/internal/ability.lua +78 -42
  45. package/engine/internal/item/fields.d.ts +12 -0
  46. package/engine/internal/item/fields.lua +33 -0
  47. package/engine/internal/item+owner.d.ts +1 -0
  48. package/engine/internal/item+owner.lua +19 -6
  49. package/engine/internal/item.d.ts +23 -14
  50. package/engine/internal/item.lua +169 -82
  51. package/engine/internal/mechanics/cast-ability.lua +6 -3
  52. package/engine/internal/misc/frame-coordinates.lua +21 -0
  53. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  54. package/engine/internal/misc/get-terrain-z.lua +11 -0
  55. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  56. package/engine/internal/misc/player-local-handle.lua +5 -0
  57. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  58. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  59. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  60. package/engine/internal/object-data/health-bonus.lua +16 -0
  61. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  62. package/engine/internal/object-data/mana-bonus.lua +16 -0
  63. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  64. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  65. package/engine/internal/unit/ability.d.ts +14 -14
  66. package/engine/internal/unit/ability.lua +86 -47
  67. package/engine/internal/unit/appearance.d.ts +15 -0
  68. package/engine/internal/unit/appearance.lua +85 -0
  69. package/engine/internal/unit/attributes.d.ts +17 -0
  70. package/engine/internal/unit/attributes.lua +46 -0
  71. package/engine/internal/unit/bag.d.ts +18 -0
  72. package/engine/internal/unit/bag.lua +63 -0
  73. package/engine/internal/unit/bonus.d.ts +6 -0
  74. package/engine/internal/unit/bonus.lua +33 -3
  75. package/engine/internal/unit/buff.d.ts +2 -2
  76. package/engine/internal/unit/buff.lua +34 -19
  77. package/engine/internal/unit/equipment.d.ts +36 -0
  78. package/engine/internal/unit/equipment.lua +169 -0
  79. package/engine/internal/unit/fly-height.d.ts +7 -0
  80. package/engine/internal/unit/fly-height.lua +20 -0
  81. package/engine/internal/unit/interrupts.d.ts +12 -0
  82. package/engine/internal/unit/interrupts.lua +28 -0
  83. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +3 -3
  84. package/engine/internal/unit/{item.lua → inventory.lua} +25 -26
  85. package/engine/internal/unit/main-selected.lua +12 -27
  86. package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
  87. package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
  88. package/engine/internal/unit/range-event.d.ts +12 -0
  89. package/engine/internal/unit/range-event.lua +90 -0
  90. package/engine/internal/unit/scale.d.ts +7 -0
  91. package/engine/internal/unit/scale.lua +20 -0
  92. package/engine/internal/unit+ability.lua +10 -1
  93. package/engine/internal/unit+bonus.lua +3 -3
  94. package/engine/internal/unit+damage.d.ts +9 -0
  95. package/engine/internal/unit+damage.lua +33 -0
  96. package/engine/internal/unit-missile-data.lua +58 -32
  97. package/engine/internal/unit-missile-launch.lua +52 -14
  98. package/engine/internal/unit.d.ts +17 -22
  99. package/engine/internal/unit.lua +180 -206
  100. package/engine/local-client.d.ts +27 -0
  101. package/engine/local-client.lua +394 -54
  102. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  103. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  104. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  105. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  106. package/engine/object-data/auxiliary/equipment-type.d.ts +13 -0
  107. package/engine/object-data/auxiliary/equipment-type.lua +2 -0
  108. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  109. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  110. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  111. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  112. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  113. package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
  114. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  115. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  116. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  117. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  118. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  119. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  120. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  121. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  122. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  123. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  124. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  125. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  126. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -0
  127. package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
  128. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  129. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  130. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  131. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  132. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  133. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  134. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  135. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  136. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  137. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  138. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  139. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  140. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  141. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  142. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  143. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  144. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  145. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  146. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  147. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  148. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  149. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  150. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  151. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  152. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  153. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  154. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  155. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  156. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  157. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  158. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  159. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  160. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  161. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  162. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  163. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  164. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  165. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  166. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  167. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  168. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  169. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  170. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  171. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  172. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  173. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  174. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  175. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  176. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  177. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  178. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  179. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  180. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  181. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  182. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  183. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  184. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  185. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  186. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  187. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  188. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  189. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  190. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  191. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  192. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  193. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  194. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  195. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  196. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  197. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  198. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  199. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  200. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  201. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  202. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  203. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  204. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  205. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  206. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  207. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  208. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  209. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  210. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  211. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  212. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  213. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  214. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  215. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  216. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  217. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  218. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  219. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  220. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  221. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  222. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  223. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  224. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  225. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  226. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  227. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  228. package/engine/object-data/entry/ability-type.d.ts +12 -3
  229. package/engine/object-data/entry/ability-type.lua +141 -5
  230. package/engine/object-data/entry/buff-type/applicable.lua +113 -109
  231. package/engine/object-data/entry/buff-type.d.ts +6 -2
  232. package/engine/object-data/entry/buff-type.lua +26 -0
  233. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  234. package/engine/object-data/entry/destructible-type.lua +181 -0
  235. package/engine/object-data/entry/item-type.d.ts +12 -3
  236. package/engine/object-data/entry/item-type.lua +52 -0
  237. package/engine/object-data/entry/lightning-type.d.ts +2 -2
  238. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  239. package/engine/object-data/entry/unit-type.d.ts +62 -4
  240. package/engine/object-data/entry/unit-type.lua +474 -38
  241. package/engine/object-data/entry/upgrade.d.ts +2 -2
  242. package/engine/object-data/entry.d.ts +4 -1
  243. package/engine/object-field/ability.d.ts +3 -3
  244. package/engine/object-field/ability.lua +9 -8
  245. package/engine/object-field/item.d.ts +22 -0
  246. package/engine/object-field/item.lua +118 -0
  247. package/engine/object-field/unit.d.ts +20 -5
  248. package/engine/object-field/unit.lua +61 -0
  249. package/engine/object-field.d.ts +12 -4
  250. package/engine/object-field.lua +273 -126
  251. package/engine/random.d.ts +10 -0
  252. package/engine/random.lua +21 -0
  253. package/engine/standard/entries/ability-type.d.ts +3102 -7
  254. package/engine/standard/entries/ability-type.lua +0 -6
  255. package/engine/standard/entries/item-type.d.ts +1299 -0
  256. package/engine/standard/entries/item-type.lua +2 -0
  257. package/engine/standard/entries/unit-type.d.ts +5 -0
  258. package/engine/standard/entries/unit-type.lua +5 -0
  259. package/engine/standard/fields/ability.d.ts +2 -2
  260. package/engine/standard/fields/ability.lua +2 -2
  261. package/engine/standard/fields/item.d.ts +4 -0
  262. package/engine/standard/fields/item.lua +6 -0
  263. package/engine/standard/fields/unit.d.ts +11 -3
  264. package/engine/standard/fields/unit.lua +15 -2
  265. package/engine/synchronization.d.ts +11 -0
  266. package/engine/synchronization.lua +77 -0
  267. package/engine/text-tag.d.ts +1 -1
  268. package/engine/text-tag.lua +92 -17
  269. package/engine/unit.d.ts +9 -1
  270. package/engine/unit.lua +9 -1
  271. package/event.d.ts +1 -1
  272. package/lualib_bundle.lua +1 -1
  273. package/math.d.ts +2 -0
  274. package/math.lua +14 -0
  275. package/net/socket.lua +1 -1
  276. package/network.lua +25 -1
  277. package/objutil/buff.lua +10 -8
  278. package/objutil/object.lua +1 -1
  279. package/operation.d.ts +8 -1
  280. package/operation.lua +38 -18
  281. package/package.json +3 -23
  282. package/patch-lua.lua +15 -0
  283. package/patch-lualib.lua +1 -1
  284. package/utility/arrays.d.ts +1 -0
  285. package/utility/arrays.lua +8 -0
  286. package/utility/callback-array.d.ts +17 -0
  287. package/utility/callback-array.lua +61 -0
  288. package/utility/functions.d.ts +2 -0
  289. package/utility/functions.lua +7 -0
  290. package/utility/linked-map.d.ts +35 -0
  291. package/utility/linked-map.lua +107 -0
  292. package/utility/linked-set.d.ts +4 -1
  293. package/utility/linked-set.lua +46 -1
  294. package/utility/lua-maps.d.ts +11 -2
  295. package/utility/lua-maps.lua +33 -2
  296. package/utility/lua-sets.d.ts +1 -0
  297. package/utility/lua-sets.lua +4 -0
  298. package/utility/random.d.ts +102 -0
  299. package/utility/random.lua +273 -0
  300. package/utility/records.lua +20 -1
  301. package/utility/types.d.ts +3 -0
  302. package/utility/unordered-map.d.ts +27 -0
  303. package/utility/unordered-map.lua +99 -0
  304. /package/engine/internal/{object-data/armor-increase.d.ts → misc/frame-coordinates.d.ts} +0 -0
  305. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  306. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  307. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -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;
@@ -38,11 +38,14 @@ local ____sound = require("core.types.sound")
38
38
  local isSoundLabelCustom = ____sound.isSoundLabelCustom
39
39
  local Sound3D = ____sound.Sound3D
40
40
  local SoundSettings = ____sound.SoundSettings
41
+ local ____lua_2Dsets = require("utility.lua-sets")
42
+ local luaSetOf = ____lua_2Dsets.luaSetOf
41
43
  local castAnimationFQNByAbilityTypeId = {}
42
44
  local isButtonVisibleFalseAbilityTypes = {}
43
45
  local casterCastingEffectPresetsByAbilityTypeId = {}
44
46
  local casterChannelingEffectPresetsByAbilityTypeId = {}
45
47
  local targetCastingEffectPresetsByAbilityTypeId = {}
48
+ local targetChannelingEffectPresetsByAbilityTypeId = {}
46
49
  local targetEffectSoundPresetByAbilityTypeId = {}
47
50
  ____exports.AbilityType = __TS__Class()
48
51
  local AbilityType = ____exports.AbilityType
@@ -202,6 +205,19 @@ __TS__SetDescriptor(
202
205
  },
203
206
  true
204
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
+ )
205
221
  __TS__SetDescriptor(
206
222
  AbilityType.prototype,
207
223
  "isButtonVisible",
@@ -324,6 +340,19 @@ __TS__SetDescriptor(
324
340
  },
325
341
  true
326
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
+ )
327
356
  __TS__SetDescriptor(
328
357
  AbilityType.prototype,
329
358
  "missileMovementArc",
@@ -376,6 +405,19 @@ __TS__SetDescriptor(
376
405
  },
377
406
  true
378
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
+ )
379
421
  __TS__SetDescriptor(
380
422
  AbilityType.prototype,
381
423
  "targetEffectPresets",
@@ -457,6 +499,33 @@ __TS__SetDescriptor(
457
499
  },
458
500
  true
459
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
+ )
460
529
  __TS__SetDescriptor(
461
530
  AbilityType.prototype,
462
531
  "turnOffButtonPositionX",
@@ -1004,9 +1073,10 @@ for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEf
1004
1073
  )
1005
1074
  end
1006
1075
  end
1076
+ local unsupportedEffectSoundAbilityTypeIds = luaSetOf(fourCC("AAns"))
1007
1077
  Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
1008
1078
  local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
1009
- if isSoundLabelCustom(soundPresetId) then
1079
+ if isSoundLabelCustom(soundPresetId) or soundPresetId ~= "" and unsupportedEffectSoundAbilityTypeIds[ability.parentTypeId] ~= nil then
1010
1080
  Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
1011
1081
  end
1012
1082
  end)
@@ -1096,18 +1166,84 @@ local function handleAbilityChannelingStartEvent(caster, ability)
1096
1166
  end
1097
1167
  casterChannelingEffectsByCaster[caster] = effects
1098
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
1099
1222
  local function handleAbilityStopChannelingEvent(caster)
1100
- local effects = casterChannelingEffectsByCaster[caster]
1101
- if effects ~= nil then
1102
- for i = 1, #effects do
1103
- effects[i]:destroy()
1223
+ local casterEffects = casterChannelingEffectsByCaster[caster]
1224
+ if casterEffects ~= nil then
1225
+ for i = 1, #casterEffects do
1226
+ casterEffects[i]:destroy()
1104
1227
  end
1105
1228
  casterChannelingEffectsByCaster[caster] = nil
1106
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
1107
1237
  end
1108
1238
  for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
1109
1239
  Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
1110
1240
  Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1111
1241
  Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1112
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
1113
1249
  return ____exports