warscript 0.0.1-dev.3324599 → 0.0.1-dev.33b52d0

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 (278) hide show
  1. package/core/dummy.lua +4 -2
  2. package/core/types/effect.d.ts +11 -1
  3. package/core/types/effect.lua +43 -77
  4. package/core/types/frame.d.ts +16 -2
  5. package/core/types/frame.lua +81 -66
  6. package/core/types/handle.lua +9 -9
  7. package/core/types/missile.lua +8 -7
  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 +13 -8
  13. package/core/types/tileCell.d.ts +7 -2
  14. package/core/types/tileCell.lua +11 -0
  15. package/core/types/unit.d.ts +5 -0
  16. package/core/types/unit.lua +5 -0
  17. package/core/util.d.ts +3 -1
  18. package/core/util.lua +109 -3
  19. package/decl/native.d.ts +706 -7
  20. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  21. package/engine/ability-type-extended-tooltip.lua +44 -0
  22. package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
  23. package/engine/behaviour/ability/damage.d.ts +1 -0
  24. package/engine/behaviour/ability/damage.lua +12 -14
  25. package/engine/behaviour/ability/emulate-impact.d.ts +14 -0
  26. package/engine/behaviour/ability/emulate-impact.lua +79 -5
  27. package/engine/behaviour/ability/instant-impact.d.ts +12 -1
  28. package/engine/behaviour/ability/instant-impact.lua +17 -2
  29. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  30. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  31. package/engine/behaviour/ability.d.ts +8 -0
  32. package/engine/behaviour/ability.lua +89 -8
  33. package/engine/behaviour/unit.d.ts +1 -0
  34. package/engine/behaviour/unit.lua +1 -0
  35. package/engine/buff.d.ts +65 -54
  36. package/engine/buff.lua +318 -243
  37. package/engine/index.d.ts +2 -1
  38. package/engine/internal/ability.d.ts +7 -0
  39. package/engine/internal/ability.lua +65 -36
  40. package/engine/internal/item/owner-cache.d.ts +5 -0
  41. package/engine/internal/item/owner-cache.lua +4 -0
  42. package/engine/internal/item+owner.d.ts +2 -0
  43. package/engine/internal/item+owner.lua +27 -4
  44. package/engine/internal/item.d.ts +20 -1
  45. package/engine/internal/item.lua +146 -20
  46. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  47. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  48. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  49. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  50. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  51. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  52. package/engine/internal/unit/ability.lua +16 -0
  53. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  54. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  55. package/engine/internal/unit/appearance.d.ts +15 -0
  56. package/engine/internal/unit/appearance.lua +85 -0
  57. package/engine/internal/unit/bonus.d.ts +11 -0
  58. package/engine/internal/unit/bonus.lua +80 -5
  59. package/engine/internal/unit/buff.d.ts +2 -2
  60. package/engine/internal/unit/buff.lua +34 -19
  61. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  62. package/engine/internal/unit/equipment-inventory.lua +233 -0
  63. package/engine/internal/unit/expiration-timer.lua +1 -1
  64. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  65. package/engine/internal/unit/extended-inventory.lua +99 -0
  66. package/engine/internal/unit/ignore-events-items.lua +10 -1
  67. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  68. package/engine/internal/unit/inventory.lua +87 -0
  69. package/engine/internal/unit/item-container.d.ts +25 -0
  70. package/engine/internal/unit/item-container.lua +11 -0
  71. package/engine/internal/unit/item-order-events.d.ts +17 -0
  72. package/engine/internal/unit/item-order-events.lua +67 -0
  73. package/engine/internal/unit/item-slot.d.ts +27 -0
  74. package/engine/internal/unit/item-slot.lua +92 -0
  75. package/engine/internal/unit/order.d.ts +3 -3
  76. package/engine/internal/unit/order.lua +10 -10
  77. package/engine/internal/unit+ability.d.ts +2 -1
  78. package/engine/internal/unit+ability.lua +73 -2
  79. package/engine/internal/unit+damage.d.ts +9 -0
  80. package/engine/internal/unit+damage.lua +33 -0
  81. package/engine/internal/unit+rally.lua +9 -31
  82. package/engine/internal/unit-missile-data.lua +96 -68
  83. package/engine/internal/unit-missile-launch.lua +13 -13
  84. package/engine/internal/unit.d.ts +2 -10
  85. package/engine/internal/unit.lua +53 -100
  86. package/engine/lightning.lua +4 -4
  87. package/engine/local-client.d.ts +21 -0
  88. package/engine/local-client.lua +242 -57
  89. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
  90. package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
  91. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  92. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  93. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  94. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  95. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  96. package/engine/object-data/auxiliary/item-class.lua +2 -0
  97. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  98. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  99. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  100. package/engine/object-data/auxiliary/order-type.lua +2 -0
  101. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  102. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  103. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  104. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  105. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  106. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  107. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  108. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  109. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  110. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  111. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  112. package/engine/object-data/entry/ability-type/barrage.d.ts +12 -0
  113. package/engine/object-data/entry/ability-type/barrage.lua +52 -0
  114. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  115. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  116. package/engine/object-data/entry/ability-type/blank-configurable.lua +2 -2
  117. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  118. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  119. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  120. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  121. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  122. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  123. package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
  124. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  125. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  126. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  127. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  128. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  129. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  130. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  131. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  132. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  133. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  134. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  135. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  136. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  137. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  138. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  139. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  140. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  141. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  142. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  143. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  144. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  145. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  146. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  147. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  148. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  149. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  150. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  151. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  152. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  153. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  154. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  155. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  156. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  157. package/engine/object-data/entry/ability-type/healing-modifier.d.ts +9 -0
  158. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  159. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  160. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  161. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  162. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  163. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  164. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  165. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  166. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  167. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  168. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  169. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  170. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  171. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  172. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  173. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  174. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  175. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  176. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  177. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  178. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  179. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  180. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  181. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  182. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  183. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  184. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  185. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  186. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  187. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  188. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  189. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  190. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  191. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  192. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  193. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  194. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  195. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  196. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  197. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  198. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  199. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  200. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  201. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  202. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  203. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  204. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  205. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  206. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  207. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  208. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  209. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  210. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  211. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  212. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  213. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  214. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  215. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  216. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  217. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  218. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  219. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  220. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  221. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  222. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  223. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  224. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  225. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  226. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  227. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  228. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  229. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  230. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  231. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  232. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  233. package/engine/object-data/entry/ability-type.d.ts +33 -8
  234. package/engine/object-data/entry/ability-type.lua +256 -48
  235. package/engine/object-data/entry/buff-type/applicable.lua +10 -3
  236. package/engine/object-data/entry/buff-type.d.ts +6 -2
  237. package/engine/object-data/entry/buff-type.lua +26 -0
  238. package/engine/object-data/entry/destructible-type.d.ts +6 -2
  239. package/engine/object-data/entry/destructible-type.lua +26 -0
  240. package/engine/object-data/entry/item-type.d.ts +18 -3
  241. package/engine/object-data/entry/item-type.lua +84 -0
  242. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  243. package/engine/object-data/entry/lightning-type.lua +1 -1
  244. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  245. package/engine/object-data/entry/unit-type.d.ts +57 -2
  246. package/engine/object-data/entry/unit-type.lua +412 -64
  247. package/engine/object-data/entry/upgrade.d.ts +2 -2
  248. package/engine/object-data/entry.d.ts +6 -1
  249. package/engine/object-data/entry.lua +8 -0
  250. package/engine/random.lua +1 -1
  251. package/engine/standard/entries/ability-type.d.ts +3102 -7
  252. package/engine/standard/entries/ability-type.lua +0 -6
  253. package/engine/standard/entries/buff-type.d.ts +45 -0
  254. package/engine/standard/entries/buff-type.lua +43 -0
  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/lightning-type.d.ts +42 -15
  258. package/engine/standard/entries/lightning-type.lua +0 -14
  259. package/engine/standard/entries/unit-type.d.ts +5 -0
  260. package/engine/standard/entries/unit-type.lua +5 -0
  261. package/engine/standard/fields/ability.d.ts +2 -2
  262. package/engine/standard/fields/ability.lua +2 -2
  263. package/engine/text-tag.d.ts +13 -1
  264. package/engine/text-tag.lua +76 -37
  265. package/engine/unit.d.ts +5 -1
  266. package/engine/unit.lua +5 -1
  267. package/event.d.ts +1 -1
  268. package/network.lua +25 -1
  269. package/objutil/buff.lua +1 -1
  270. package/operation.d.ts +8 -1
  271. package/operation.lua +37 -14
  272. package/package.json +2 -22
  273. package/utility/arrays.d.ts +7 -1
  274. package/utility/arrays.lua +17 -0
  275. package/utility/random.d.ts +102 -0
  276. package/utility/random.lua +273 -0
  277. package/utility/unordered-map.lua +9 -4
  278. package/engine/internal/unit/item.lua +0 -78
@@ -3,6 +3,7 @@ local __TS__Class = ____lualib.__TS__Class
3
3
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
4
  local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
5
  local __TS__InstanceOf = ____lualib.__TS__InstanceOf
6
+ local __TS__ArraySome = ____lualib.__TS__ArraySome
6
7
  local ____exports = {}
7
8
  local ____unit = require("engine.internal.unit")
8
9
  local Unit = ____unit.Unit
@@ -18,8 +19,10 @@ local array = ____arrays.array
18
19
  local map = ____arrays.map
19
20
  local mapIndexed = ____arrays.mapIndexed
20
21
  local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
22
+ local attachmentPointToNodeFQN = ____attachment_2Dpreset.attachmentPointToNodeFQN
21
23
  local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
22
24
  local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
25
+ local splitAttachmentNodeFQN = ____attachment_2Dpreset.splitAttachmentNodeFQN
23
26
  local toEffectPreset = ____attachment_2Dpreset.toEffectPreset
24
27
  local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
25
28
  local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
@@ -40,12 +43,17 @@ local Sound3D = ____sound.Sound3D
40
43
  local SoundSettings = ____sound.SoundSettings
41
44
  local ____lua_2Dsets = require("utility.lua-sets")
42
45
  local luaSetOf = ____lua_2Dsets.luaSetOf
46
+ local ____local_2Dclient = require("engine.local-client")
47
+ local LocalClient = ____local_2Dclient.LocalClient
43
48
  local castAnimationFQNByAbilityTypeId = {}
44
49
  local isButtonVisibleFalseAbilityTypes = {}
45
50
  local casterCastingEffectPresetsByAbilityTypeId = {}
46
51
  local casterChannelingEffectPresetsByAbilityTypeId = {}
47
52
  local targetCastingEffectPresetsByAbilityTypeId = {}
48
53
  local targetChannelingEffectPresetsByAbilityTypeId = {}
54
+ local targetChannelingEffectPresetsSDByAbilityTypeId = {}
55
+ local targetChannelingEffectPresetsHDByAbilityTypeId = {}
56
+ local targetChannelingEffectPresetsDEByAbilityTypeId = {}
49
57
  local targetEffectSoundPresetByAbilityTypeId = {}
50
58
  ____exports.AbilityType = __TS__Class()
51
59
  local AbilityType = ____exports.AbilityType
@@ -142,13 +150,13 @@ __TS__SetDescriptor(
142
150
  )
143
151
  __TS__SetDescriptor(
144
152
  AbilityType.prototype,
145
- "casterAttachmentPresets",
153
+ "casterEffectPresets",
146
154
  {
147
155
  get = function(self)
148
156
  return self:getAttachmentPresetListField("acat", {"acap", "aca1"})
149
157
  end,
150
- set = function(self, casterAttachmentPresets)
151
- self:setAttachmentPresetListField("acat", {"acap", "aca1"}, "acac", casterAttachmentPresets)
158
+ set = function(self, casterEffectPresets)
159
+ self:setAttachmentPresetListField("acat", {"acap", "aca1"}, "acac", casterEffectPresets)
152
160
  end
153
161
  },
154
162
  true
@@ -166,6 +174,45 @@ __TS__SetDescriptor(
166
174
  },
167
175
  true
168
176
  )
177
+ __TS__SetDescriptor(
178
+ AbilityType.prototype,
179
+ "effectModelPathsSD",
180
+ {
181
+ get = function(self)
182
+ return self:getStringsField("aeat:sd")
183
+ end,
184
+ set = function(self, effectModelPathsSD)
185
+ self:setStringsField("aeat:sd", effectModelPathsSD)
186
+ end
187
+ },
188
+ true
189
+ )
190
+ __TS__SetDescriptor(
191
+ AbilityType.prototype,
192
+ "effectModelPathsHD",
193
+ {
194
+ get = function(self)
195
+ return self:getStringsField("aeat:hd")
196
+ end,
197
+ set = function(self, effectModelPathsHD)
198
+ self:setStringsField("aeat:hd", effectModelPathsHD)
199
+ end
200
+ },
201
+ true
202
+ )
203
+ __TS__SetDescriptor(
204
+ AbilityType.prototype,
205
+ "effectModelPathsDE",
206
+ {
207
+ get = function(self)
208
+ return self:getStringsField("aeat:de")
209
+ end,
210
+ set = function(self, effectModelPathsDE)
211
+ self:setStringsField("aeat:de", effectModelPathsDE)
212
+ end
213
+ },
214
+ true
215
+ )
169
216
  __TS__SetDescriptor(
170
217
  AbilityType.prototype,
171
218
  "iconPath",
@@ -205,6 +252,19 @@ __TS__SetDescriptor(
205
252
  },
206
253
  true
207
254
  )
255
+ __TS__SetDescriptor(
256
+ AbilityType.prototype,
257
+ "iconPathDE",
258
+ {
259
+ get = function(self)
260
+ return self:getStringField("aart:de")
261
+ end,
262
+ set = function(self, iconPathDE)
263
+ self:setStringField("aart:de", iconPathDE)
264
+ end
265
+ },
266
+ true
267
+ )
208
268
  __TS__SetDescriptor(
209
269
  AbilityType.prototype,
210
270
  "isButtonVisible",
@@ -327,6 +387,19 @@ __TS__SetDescriptor(
327
387
  },
328
388
  true
329
389
  )
390
+ __TS__SetDescriptor(
391
+ AbilityType.prototype,
392
+ "missileModelPathDE",
393
+ {
394
+ get = function(self)
395
+ return self:getStringField("amat:de")
396
+ end,
397
+ set = function(self, missileModelPathDE)
398
+ self:setStringField("amat:de", missileModelPathDE)
399
+ end
400
+ },
401
+ true
402
+ )
330
403
  __TS__SetDescriptor(
331
404
  AbilityType.prototype,
332
405
  "missileMovementArc",
@@ -355,13 +428,30 @@ __TS__SetDescriptor(
355
428
  )
356
429
  __TS__SetDescriptor(
357
430
  AbilityType.prototype,
358
- "specialAttachmentPreset",
431
+ "specialEffectModelPaths",
359
432
  {
360
433
  get = function(self)
361
- return self:getAttachmentPresetField("asat", "aspt")
434
+ return self:getStringsField("asat")
362
435
  end,
363
- set = function(self, specialAttachmentPreset)
364
- self:setAttachmentPresetField("asat", "aspt", specialAttachmentPreset)
436
+ set = function(self, specialEffectModelPaths)
437
+ self:setStringsField("asat", specialEffectModelPaths)
438
+ end
439
+ },
440
+ true
441
+ )
442
+ __TS__SetDescriptor(
443
+ AbilityType.prototype,
444
+ "specialEffectAttachmentPoint",
445
+ {
446
+ get = function(self)
447
+ local nodeName, nodeQualifiers = splitAttachmentNodeFQN(self:getStringField("aspt"))
448
+ return {nodeName = nodeName, nodeQualifiers = nodeQualifiers}
449
+ end,
450
+ set = function(self, specialEffectAttachmentPoint)
451
+ self:setStringField(
452
+ "aspt",
453
+ attachmentPointToNodeFQN(specialEffectAttachmentPoint)
454
+ )
365
455
  end
366
456
  },
367
457
  true
@@ -392,6 +482,45 @@ __TS__SetDescriptor(
392
482
  },
393
483
  true
394
484
  )
485
+ __TS__SetDescriptor(
486
+ AbilityType.prototype,
487
+ "targetChannelingEffectPresetsSD",
488
+ {
489
+ get = function(self)
490
+ return targetChannelingEffectPresetsSDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
491
+ end,
492
+ set = function(self, targetChannelingEffectPresetsSD)
493
+ targetChannelingEffectPresetsSDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsSD, toEffectPreset)
494
+ end
495
+ },
496
+ true
497
+ )
498
+ __TS__SetDescriptor(
499
+ AbilityType.prototype,
500
+ "targetChannelingEffectPresetsHD",
501
+ {
502
+ get = function(self)
503
+ return targetChannelingEffectPresetsHDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
504
+ end,
505
+ set = function(self, targetChannelingEffectPresetsHD)
506
+ targetChannelingEffectPresetsHDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsHD, toEffectPreset)
507
+ end
508
+ },
509
+ true
510
+ )
511
+ __TS__SetDescriptor(
512
+ AbilityType.prototype,
513
+ "targetChannelingEffectPresetsDE",
514
+ {
515
+ get = function(self)
516
+ return targetChannelingEffectPresetsDEByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
517
+ end,
518
+ set = function(self, targetChannelingEffectPresetsDE)
519
+ targetChannelingEffectPresetsDEByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsDE, toEffectPreset)
520
+ end
521
+ },
522
+ true
523
+ )
395
524
  __TS__SetDescriptor(
396
525
  AbilityType.prototype,
397
526
  "targetEffectPresets",
@@ -473,6 +602,33 @@ __TS__SetDescriptor(
473
602
  },
474
603
  true
475
604
  )
605
+ __TS__SetDescriptor(
606
+ AbilityType.prototype,
607
+ "targetEffectPresetsDE",
608
+ {
609
+ get = function(self)
610
+ return self:getAttachmentPresetListField(
611
+ "atat:de",
612
+ array(
613
+ 6,
614
+ function(i) return ("ata" .. tostring(i)) .. ":de" end
615
+ )
616
+ )
617
+ end,
618
+ set = function(self, targetEffectPresetsDE)
619
+ self:setAttachmentPresetListField(
620
+ "atat:de",
621
+ array(
622
+ 6,
623
+ function(i) return ("ata" .. tostring(i)) .. ":de" end
624
+ ),
625
+ "atac:de",
626
+ targetEffectPresetsDE
627
+ )
628
+ end
629
+ },
630
+ true
631
+ )
476
632
  __TS__SetDescriptor(
477
633
  AbilityType.prototype,
478
634
  "turnOffButtonPositionX",
@@ -905,6 +1061,19 @@ __TS__SetDescriptor(
905
1061
  },
906
1062
  true
907
1063
  )
1064
+ __TS__SetDescriptor(
1065
+ AbilityType.prototype,
1066
+ "isHeroAbility",
1067
+ {
1068
+ get = function(self)
1069
+ return self:getBooleanField("aher")
1070
+ end,
1071
+ set = function(self, isHeroAbility)
1072
+ self:setBooleanField("aher", isHeroAbility)
1073
+ end
1074
+ },
1075
+ true
1076
+ )
908
1077
  __TS__SetDescriptor(
909
1078
  AbilityType.prototype,
910
1079
  "learnLevelMinimum",
@@ -1113,58 +1282,97 @@ local function handleAbilityChannelingStartEvent(caster, ability)
1113
1282
  end
1114
1283
  casterChannelingEffectsByCaster[caster] = effects
1115
1284
  end
1116
- local targetChannelingEffectModelPathsByAbilityTypeId = postcompile(function()
1117
- return mapValues(
1118
- targetChannelingEffectPresetsByAbilityTypeId,
1119
- function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, extractAttachmentPresetInputModelPath) end
1120
- )
1121
- end)
1122
- local targetChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(function()
1123
- return mapValues(
1124
- targetChannelingEffectPresetsByAbilityTypeId,
1125
- function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
1126
- )
1127
- end)
1128
- local targetChannelingEffectParametersByAbilityTypeId = postcompile(function()
1129
- return mapValues(
1130
- targetChannelingEffectPresetsByAbilityTypeId,
1131
- function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, "parameters") end
1132
- )
1285
+ local targetChannelingEffectsDataByAbilityTypeId = postcompile(function()
1286
+ local function toData(presets)
1287
+ if presets == nil then
1288
+ return nil
1289
+ end
1290
+ local attachmentPoints = map(presets, extractAttachmentPresetInputNodeFQN)
1291
+ local parameters = map(presets, "parameters")
1292
+ return {
1293
+ modelPaths = map(presets, extractAttachmentPresetInputModelPath),
1294
+ attachmentPoints = __TS__ArraySome(
1295
+ attachmentPoints,
1296
+ function(____, attachmentPoint) return attachmentPoint ~= "" end
1297
+ ) and attachmentPoints or nil,
1298
+ parameters = __TS__ArraySome(
1299
+ presets,
1300
+ function(____, preset) return preset.parameters ~= nil end
1301
+ ) and parameters or nil
1302
+ }
1303
+ end
1304
+ local abilityTypeIds = {}
1305
+ for ____, presetsByAbilityTypeId in ipairs({targetChannelingEffectPresetsByAbilityTypeId, targetChannelingEffectPresetsSDByAbilityTypeId, targetChannelingEffectPresetsHDByAbilityTypeId, targetChannelingEffectPresetsDEByAbilityTypeId}) do
1306
+ for abilityTypeId in pairs(presetsByAbilityTypeId) do
1307
+ abilityTypeIds[abilityTypeId] = true
1308
+ end
1309
+ end
1310
+ local result = {}
1311
+ for abilityTypeId in pairs(abilityTypeIds) do
1312
+ local presets = targetChannelingEffectPresetsByAbilityTypeId[abilityTypeId]
1313
+ local presetsSD = targetChannelingEffectPresetsSDByAbilityTypeId[abilityTypeId]
1314
+ local presetsHD = targetChannelingEffectPresetsHDByAbilityTypeId[abilityTypeId]
1315
+ local presetsDE = targetChannelingEffectPresetsDEByAbilityTypeId[abilityTypeId]
1316
+ local ____math_max_8 = math.max
1317
+ local ____opt_0 = presetsSD or presets
1318
+ local ____temp_6 = ____opt_0 and #____opt_0 or 0
1319
+ local ____opt_2 = presetsHD or presets
1320
+ local ____temp_7 = ____opt_2 and #____opt_2 or 0
1321
+ local ____opt_4 = presetsDE or presets
1322
+ result[abilityTypeId] = {
1323
+ effectCount = ____math_max_8(____temp_6, ____temp_7, ____opt_4 and #____opt_4 or 0),
1324
+ data = toData(presets),
1325
+ dataSD = toData(presetsSD),
1326
+ dataHD = toData(presetsHD),
1327
+ dataDE = toData(presetsDE)
1328
+ }
1329
+ end
1330
+ return result
1133
1331
  end)
1134
1332
  local targetChannelingEffectsByCaster = {}
1135
- local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
1136
- local effectModelPaths = targetChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
1137
- local attachmentPoints = targetChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
1138
- local parameters = targetChannelingEffectParametersByAbilityTypeId[ability.typeId]
1333
+ local function createTargetChannelingEffects(caster, abilityTypeId, xOrWidget, y)
1334
+ local effectsData = targetChannelingEffectsDataByAbilityTypeId[abilityTypeId]
1335
+ if effectsData == nil then
1336
+ return
1337
+ end
1338
+ local graphicsMode = LocalClient.graphicsMode
1339
+ local ____temp_10
1340
+ if graphicsMode == 0 then
1341
+ ____temp_10 = effectsData.dataSD
1342
+ else
1343
+ local ____temp_9
1344
+ if graphicsMode == 1 then
1345
+ ____temp_9 = effectsData.dataHD
1346
+ else
1347
+ ____temp_9 = effectsData.dataDE
1348
+ end
1349
+ ____temp_10 = ____temp_9
1350
+ end
1351
+ local data = ____temp_10 or effectsData.data
1352
+ local modelPaths = data and data.modelPaths
1353
+ local attachmentPoints = data and data.attachmentPoints
1354
+ local parameters = data and data.parameters
1139
1355
  local effects = {}
1140
- if effectModelPaths ~= nil then
1141
- for i = 1, #effectModelPaths do
1142
- local effectModelPath = effectModelPaths[i]
1356
+ for i = 1, effectsData.effectCount do
1357
+ local effectModelPath = modelPaths and modelPaths[i] or ""
1358
+ local effectParameters = parameters and parameters[i]
1359
+ if type(xOrWidget) == "number" then
1360
+ effects[i] = Effect:create(effectModelPath, xOrWidget, y, effectParameters)
1361
+ else
1143
1362
  local attachmentPoint = attachmentPoints and attachmentPoints[i]
1144
1363
  if attachmentPoint == nil or attachmentPoint == "" then
1145
1364
  attachmentPoint = "origin"
1146
1365
  end
1147
- effects[i] = Effect:create(effectModelPath, target, attachmentPoint, parameters and parameters[i])
1366
+ effects[i] = Effect:create(effectModelPath, xOrWidget, attachmentPoint, effectParameters)
1148
1367
  end
1149
1368
  end
1150
1369
  targetChannelingEffectsByCaster[caster] = effects
1151
1370
  end
1371
+ local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
1372
+ createTargetChannelingEffects(caster, ability.typeId, target)
1373
+ end
1152
1374
  local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
1153
- local effectModelPaths = targetChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
1154
- local attachmentPoints = targetChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
1155
- local parameters = targetChannelingEffectParametersByAbilityTypeId[ability.typeId]
1156
- local effects = {}
1157
- if effectModelPaths ~= nil then
1158
- for i = 1, #effectModelPaths do
1159
- local effectModelPath = effectModelPaths[i]
1160
- local attachmentPoint = attachmentPoints and attachmentPoints[i]
1161
- if attachmentPoint == nil or attachmentPoint == "" then
1162
- attachmentPoint = "origin"
1163
- end
1164
- effects[i] = Effect:create(effectModelPath, x, y, parameters and parameters[i])
1165
- end
1166
- end
1167
- targetChannelingEffectsByCaster[caster] = effects
1375
+ createTargetChannelingEffects(caster, ability.typeId, x, y)
1168
1376
  end
1169
1377
  local function handleAbilityStopChannelingEvent(caster)
1170
1378
  local casterEffects = casterChannelingEffectsByCaster[caster]
@@ -1187,7 +1395,7 @@ for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
1187
1395
  Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1188
1396
  Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
1189
1397
  end
1190
- for abilityTypeId in pairs(targetChannelingEffectModelPathsByAbilityTypeId) do
1398
+ for abilityTypeId in pairs(targetChannelingEffectsDataByAbilityTypeId) do
1191
1399
  Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
1192
1400
  Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
1193
1401
  Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
@@ -73,7 +73,7 @@ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorU
73
73
  abilityType.levelCount = applicableBuffType.levelCount
74
74
  abilityType.buttonPositionX = 0
75
75
  abilityType.buttonPositionY = -11
76
- abilityType.casterAttachmentPresets = {}
76
+ abilityType.casterEffectPresets = {}
77
77
  abilityType.targetEffectPresets = {}
78
78
  abilityType.casterEffectSoundPresetId = nil
79
79
  abilityType.learnLevelMinimum = 6
@@ -305,14 +305,21 @@ preparePhysicalPositiveApplicatorAbility = function(ability, level, duration)
305
305
  setAbilityRealLevelField(ability, ABILITY_RLF_DURATION_NORMAL, level, duration)
306
306
  setAbilityRealLevelField(ability, ABILITY_RLF_DURATION_HERO, level, duration)
307
307
  end
308
- ---
308
+ --- Removes the ability that keeps a hidden buff on the unit. A leftover applicator
309
+ -- makes the next hidden application fail, since the unit already has the ability.
310
+ --
309
311
  -- @internal For use by internal systems only.
310
- ____exports.removeBuff = function(unit, applicableBuffTypeId)
312
+ ____exports.removeBuffApplicator = function(unit, applicableBuffTypeId)
311
313
  local ____opt_3 = applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffTypeId]
312
314
  local applicatorAbilityTypeId = ____opt_3 and ____opt_3[0]
313
315
  if applicatorAbilityTypeId ~= nil then
314
316
  unitRemoveAbility(unit, applicatorAbilityTypeId)
315
317
  end
318
+ end
319
+ ---
320
+ -- @internal For use by internal systems only.
321
+ ____exports.removeBuff = function(unit, applicableBuffTypeId)
322
+ ____exports.removeBuffApplicator(unit, applicableBuffTypeId)
316
323
  return unitRemoveAbility(unit, applicableBuffTypeId)
317
324
  end
318
325
  return ____exports
@@ -3,9 +3,9 @@ import { TupleOf } from "../../../utility/types";
3
3
  import { AttachmentPreset, AttachmentPresetInput } from "../auxiliary/attachment-preset";
4
4
  import { Race } from "../auxiliary/race";
5
5
  import { SoundPresetName } from "../auxiliary/sound-preset-name";
6
- import { ObjectDataEntry, ObjectDataEntryConstructor, ObjectDataEntryId } from "../entry";
6
+ import { ObjectDataEntry, ObjectDataEntryConstructor, CustomObjectDataEntryId } from "../entry";
7
7
  import { LightningTypeId } from "./lightning-type";
8
- export type BuffTypeId = ObjectDataEntryId & number & {
8
+ export type BuffTypeId = CustomObjectDataEntryId & number & {
9
9
  readonly __buffTypeId: unique symbol;
10
10
  };
11
11
  export type StandardBuffTypeId = BuffTypeId & {
@@ -24,6 +24,8 @@ export declare abstract class BuffType<Id extends BuffTypeId = BuffTypeId> exten
24
24
  set iconPathSD(iconPathSD: string);
25
25
  get iconPathHD(): string;
26
26
  set iconPathHD(iconPathHD: string);
27
+ get iconPathDE(): string;
28
+ set iconPathDE(iconPathDE: string);
27
29
  get isMissileHoming(): boolean;
28
30
  set isMissileHoming(isMissileHoming: boolean);
29
31
  get lightningTypeIds(): LightningTypeId[];
@@ -34,6 +36,8 @@ export declare abstract class BuffType<Id extends BuffTypeId = BuffTypeId> exten
34
36
  set missileModelPathSD(missileModelPathSD: string);
35
37
  get missileModelPathHD(): string;
36
38
  set missileModelPathHD(missileModelPathHD: string);
39
+ get missileModelPathDE(): string;
40
+ set missileModelPathDE(missileModelPathDE: string);
37
41
  get missileMovementArc(): number;
38
42
  set missileMovementArc(missileMovementArc: number);
39
43
  get missileMovementSpeed(): number;
@@ -78,6 +78,19 @@ __TS__SetDescriptor(
78
78
  },
79
79
  true
80
80
  )
81
+ __TS__SetDescriptor(
82
+ BuffType.prototype,
83
+ "iconPathDE",
84
+ {
85
+ get = function(self)
86
+ return self:getStringField("fart:de")
87
+ end,
88
+ set = function(self, iconPathDE)
89
+ self:setStringField("fart:de", iconPathDE)
90
+ end
91
+ },
92
+ true
93
+ )
81
94
  __TS__SetDescriptor(
82
95
  BuffType.prototype,
83
96
  "isMissileHoming",
@@ -143,6 +156,19 @@ __TS__SetDescriptor(
143
156
  },
144
157
  true
145
158
  )
159
+ __TS__SetDescriptor(
160
+ BuffType.prototype,
161
+ "missileModelPathDE",
162
+ {
163
+ get = function(self)
164
+ return self:getStringField("fmat:de")
165
+ end,
166
+ set = function(self, missileModelPathDE)
167
+ self:setStringField("fmat:de", missileModelPathDE)
168
+ end
169
+ },
170
+ true
171
+ )
146
172
  __TS__SetDescriptor(
147
173
  BuffType.prototype,
148
174
  "missileMovementArc",
@@ -1,8 +1,8 @@
1
1
  /** @noSelfInFile */
2
2
  import { ArmorSoundType } from "../auxiliary/armor-sound-type";
3
3
  import { CombatClassifications } from "../auxiliary/combat-classification";
4
- import { ObjectDataEntry, ObjectDataEntryConstructor, ObjectDataEntryId } from "../entry";
5
- export type DestructibleTypeId = ObjectDataEntryId & number & {
4
+ import { ObjectDataEntry, ObjectDataEntryConstructor, CustomObjectDataEntryId } from "../entry";
5
+ export type DestructibleTypeId = CustomObjectDataEntryId & number & {
6
6
  readonly __destructibleTypeId: unique symbol;
7
7
  };
8
8
  export type StandardDestructibleTypeId = DestructibleTypeId & {
@@ -23,6 +23,8 @@ export declare abstract class DestructibleType extends ObjectDataEntry<Destructi
23
23
  set modelPathSD(modelPathSD: string);
24
24
  get modelPathHD(): string;
25
25
  set modelPathHD(modelPathHD: string);
26
+ get modelPathDE(): string;
27
+ set modelPathDE(modelPathDE: string);
26
28
  get occlusionHeight(): number;
27
29
  set occlusionHeight(occlusionHeight: number);
28
30
  get armorSoundType(): ArmorSoundType;
@@ -31,6 +33,8 @@ export declare abstract class DestructibleType extends ObjectDataEntry<Destructi
31
33
  set armorSoundTypeSD(armorSoundTypeSD: ArmorSoundType);
32
34
  get armorSoundTypeHD(): ArmorSoundType;
33
35
  set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
36
+ get armorSoundTypeDE(): ArmorSoundType;
37
+ set armorSoundTypeDE(armorSoundTypeDE: ArmorSoundType);
34
38
  get combatClassifications(): CombatClassifications;
35
39
  set combatClassifications(combatClassifications: CombatClassifications);
36
40
  get cliffHeight(): number;
@@ -92,6 +92,19 @@ __TS__SetDescriptor(
92
92
  },
93
93
  true
94
94
  )
95
+ __TS__SetDescriptor(
96
+ DestructibleType.prototype,
97
+ "modelPathDE",
98
+ {
99
+ get = function(self)
100
+ return self:getStringField("bfil:de")
101
+ end,
102
+ set = function(self, modelPathDE)
103
+ self:setStringField("bfil:de", modelPathDE)
104
+ end
105
+ },
106
+ true
107
+ )
95
108
  __TS__SetDescriptor(
96
109
  DestructibleType.prototype,
97
110
  "occlusionHeight",
@@ -144,6 +157,19 @@ __TS__SetDescriptor(
144
157
  },
145
158
  true
146
159
  )
160
+ __TS__SetDescriptor(
161
+ DestructibleType.prototype,
162
+ "armorSoundTypeDE",
163
+ {
164
+ get = function(self)
165
+ return self:getStringField("barm:de")
166
+ end,
167
+ set = function(self, armorSoundTypeDE)
168
+ self:setStringField("barm:de", armorSoundTypeDE)
169
+ end
170
+ },
171
+ true
172
+ )
147
173
  __TS__SetDescriptor(
148
174
  DestructibleType.prototype,
149
175
  "combatClassifications",
@@ -1,10 +1,13 @@
1
1
  /** @noSelfInFile */
2
2
  import { ArmorSoundType } from "../auxiliary/armor-sound-type";
3
- import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
3
+ import { EquipmentType } from "../auxiliary/equipment-type";
4
+ import { ItemClass } from "../auxiliary/item-class";
5
+ import { ObjectDataEntry, CustomObjectDataEntryId } from "../entry";
4
6
  import type { AbilityTypeId } from "./ability-type";
5
- export type ItemTypeId = ObjectDataEntryId & number & {
7
+ import { StandardItemTypeId } from "../../standard/entries/item-type";
8
+ export type ItemTypeId = (CustomObjectDataEntryId & number & {
6
9
  readonly __itemTypeId: unique symbol;
7
- };
10
+ }) | StandardItemTypeId;
8
11
  export declare class ItemType extends ObjectDataEntry<ItemTypeId> {
9
12
  private static readonly idGenerator;
10
13
  protected static generateId(): number;
@@ -17,24 +20,32 @@ export declare class ItemType extends ObjectDataEntry<ItemTypeId> {
17
20
  set iconPathSD(iconPathSD: string);
18
21
  get iconPathHD(): string;
19
22
  set iconPathHD(iconPathHD: string);
23
+ get iconPathDE(): string;
24
+ set iconPathDE(iconPathDE: string);
20
25
  get modelPath(): string;
21
26
  set modelPath(modelPath: string);
22
27
  get modelPathSD(): string;
23
28
  set modelPathSD(modelPathSD: string);
24
29
  get modelPathHD(): string;
25
30
  set modelPathHD(modelPathHD: string);
31
+ get modelPathDE(): string;
32
+ set modelPathDE(modelPathDE: string);
26
33
  get scale(): number;
27
34
  set scale(scale: number);
28
35
  get scaleSD(): number;
29
36
  set scaleSD(scaleSD: number);
30
37
  get scaleHD(): number;
31
38
  set scaleHD(scaleHD: number);
39
+ get scaleDE(): number;
40
+ set scaleDE(scaleDE: number);
32
41
  get armorSoundType(): ArmorSoundType;
33
42
  set armorSoundType(armorSoundType: ArmorSoundType);
34
43
  get armorSoundTypeSD(): ArmorSoundType;
35
44
  set armorSoundTypeSD(armorSoundTypeSD: ArmorSoundType);
36
45
  get armorSoundTypeHD(): ArmorSoundType;
37
46
  set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
47
+ get armorSoundTypeDE(): ArmorSoundType;
48
+ set armorSoundTypeDE(armorSoundTypeDE: ArmorSoundType);
38
49
  get description(): string;
39
50
  set description(description: string);
40
51
  get hotkey(): string;
@@ -51,6 +62,10 @@ export declare class ItemType extends ObjectDataEntry<ItemTypeId> {
51
62
  set goldCost(goldCost: number);
52
63
  get lumberCost(): number;
53
64
  set lumberCost(lumberCost: number);
65
+ get itemClass(): ItemClass;
66
+ set itemClass(itemClass: ItemClass);
67
+ get equipmentType(): EquipmentType;
68
+ set equipmentType(equipmentType: EquipmentType);
54
69
  get activelyUsed(): boolean;
55
70
  set activelyUsed(activelyUsed: boolean);
56
71
  get perishable(): boolean;