warscript 0.0.1-dev.989e1a3 → 0.0.1-dev.9a5718b

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