warscript 0.0.1-dev.1f03eb6 → 0.0.1-dev.1fcc915

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 (342) 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 +128 -67
  6. package/core/types/handle.lua +9 -9
  7. package/core/types/item.d.ts +1 -0
  8. package/core/types/item.lua +1 -0
  9. package/core/types/missile.lua +6 -11
  10. package/core/types/player.d.ts +2 -1
  11. package/core/types/player.lua +18 -13
  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 +7 -2
  16. package/core/types/tileCell.lua +11 -0
  17. package/core/types/unit.d.ts +5 -0
  18. package/core/types/unit.lua +5 -0
  19. package/core/util.d.ts +3 -1
  20. package/core/util.lua +109 -3
  21. package/decl/native.d.ts +706 -7
  22. package/destroyable.d.ts +1 -0
  23. package/destroyable.lua +9 -0
  24. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  25. package/engine/ability-type-extended-tooltip.lua +44 -0
  26. package/engine/behavior.d.ts +4 -2
  27. package/engine/behavior.lua +69 -11
  28. package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
  29. package/engine/behaviour/ability/damage.d.ts +4 -0
  30. package/engine/behaviour/ability/damage.lua +19 -15
  31. package/engine/behaviour/ability/emulate-impact.d.ts +14 -0
  32. package/engine/behaviour/ability/emulate-impact.lua +79 -5
  33. package/engine/behaviour/ability/instant-impact.d.ts +12 -1
  34. package/engine/behaviour/ability/instant-impact.lua +17 -2
  35. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  36. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  37. package/engine/behaviour/ability.d.ts +17 -5
  38. package/engine/behaviour/ability.lua +118 -8
  39. package/engine/behaviour/unit/stun-immunity.d.ts +1 -1
  40. package/engine/behaviour/unit/stun-immunity.lua +5 -4
  41. package/engine/behaviour/unit.d.ts +1 -0
  42. package/engine/behaviour/unit.lua +14 -3
  43. package/engine/buff.d.ts +103 -55
  44. package/engine/buff.lua +486 -270
  45. package/engine/index.d.ts +2 -1
  46. package/engine/internal/ability.d.ts +7 -0
  47. package/engine/internal/ability.lua +65 -36
  48. package/engine/internal/item/fields.d.ts +12 -0
  49. package/engine/internal/item/fields.lua +33 -0
  50. package/engine/internal/item/owner-cache.d.ts +5 -0
  51. package/engine/internal/item/owner-cache.lua +4 -0
  52. package/engine/internal/item+owner.d.ts +2 -0
  53. package/engine/internal/item+owner.lua +27 -4
  54. package/engine/internal/item.d.ts +20 -5
  55. package/engine/internal/item.lua +146 -57
  56. package/engine/internal/mechanics/cast-ability.lua +6 -3
  57. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  58. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  59. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  60. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  61. package/engine/internal/object-data/health-bonus.lua +16 -0
  62. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  63. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  64. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  65. package/engine/internal/object-data/mana-bonus.lua +16 -0
  66. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  67. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  68. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  69. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  70. package/engine/internal/unit/ability.lua +16 -0
  71. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  72. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  73. package/engine/internal/unit/appearance.d.ts +15 -0
  74. package/engine/internal/unit/appearance.lua +85 -0
  75. package/engine/internal/unit/attributes.d.ts +17 -0
  76. package/engine/internal/unit/attributes.lua +46 -0
  77. package/engine/internal/unit/bonus.d.ts +17 -0
  78. package/engine/internal/unit/bonus.lua +113 -8
  79. package/engine/internal/unit/buff.d.ts +2 -2
  80. package/engine/internal/unit/buff.lua +34 -19
  81. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  82. package/engine/internal/unit/equipment-inventory.lua +233 -0
  83. package/engine/internal/unit/expiration-timer.lua +1 -1
  84. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  85. package/engine/internal/unit/extended-inventory.lua +99 -0
  86. package/engine/internal/unit/fly-height.lua +3 -3
  87. package/engine/internal/unit/ignore-events-items.lua +10 -1
  88. package/engine/internal/unit/interrupts.d.ts +12 -0
  89. package/engine/internal/unit/interrupts.lua +28 -0
  90. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  91. package/engine/internal/unit/inventory.lua +87 -0
  92. package/engine/internal/unit/item-container.d.ts +25 -0
  93. package/engine/internal/unit/item-container.lua +11 -0
  94. package/engine/internal/unit/item-order-events.d.ts +17 -0
  95. package/engine/internal/unit/item-order-events.lua +67 -0
  96. package/engine/internal/unit/item-slot.d.ts +27 -0
  97. package/engine/internal/unit/item-slot.lua +92 -0
  98. package/engine/internal/unit/order.d.ts +3 -3
  99. package/engine/internal/unit/order.lua +10 -10
  100. package/engine/internal/unit/range-event.d.ts +12 -0
  101. package/engine/internal/unit/range-event.lua +90 -0
  102. package/engine/internal/unit/scale.lua +3 -3
  103. package/engine/internal/unit+ability.d.ts +2 -1
  104. package/engine/internal/unit+ability.lua +73 -2
  105. package/engine/internal/unit+bonus.lua +3 -3
  106. package/engine/internal/unit+damage.d.ts +9 -0
  107. package/engine/internal/unit+damage.lua +33 -0
  108. package/engine/internal/unit+rally.lua +9 -31
  109. package/engine/internal/unit-missile-data.lua +58 -32
  110. package/engine/internal/unit-missile-launch.lua +25 -18
  111. package/engine/internal/unit.d.ts +4 -19
  112. package/engine/internal/unit.lua +132 -221
  113. package/engine/local-client.d.ts +27 -1
  114. package/engine/local-client.lua +298 -58
  115. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
  116. package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
  117. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  118. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  119. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  120. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  121. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  122. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  123. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  124. package/engine/object-data/auxiliary/item-class.lua +2 -0
  125. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  126. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  127. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  128. package/engine/object-data/auxiliary/order-type.lua +2 -0
  129. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  130. package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
  131. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  132. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  133. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  134. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  135. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  136. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  137. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  138. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  139. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  140. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  141. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  142. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  143. package/engine/object-data/entry/ability-type/barrage.d.ts +12 -0
  144. package/engine/object-data/entry/ability-type/barrage.lua +52 -0
  145. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  146. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  147. package/engine/object-data/entry/ability-type/blank-configurable.lua +2 -2
  148. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  149. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  150. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  151. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  152. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  153. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  154. package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
  155. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  156. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  157. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  158. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  159. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  160. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  161. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  162. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  163. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  164. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  165. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  166. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  167. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  168. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  169. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  170. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  171. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  172. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  173. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  174. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  175. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  176. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  177. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  178. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  179. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  180. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  181. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  182. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  183. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  184. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  185. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  186. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  187. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  188. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  189. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  190. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  191. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  192. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  193. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  194. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  195. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  196. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  197. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  198. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  199. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  200. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  201. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  202. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  203. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  204. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  205. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  206. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  207. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  208. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  209. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  210. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  211. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  212. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  213. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  214. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  215. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  216. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  217. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  218. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  219. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  220. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  221. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  222. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  223. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  224. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  225. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  226. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  227. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  228. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  229. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  230. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  231. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  232. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  233. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  234. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  235. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  236. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  237. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  238. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  239. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  240. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  241. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  242. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  243. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  244. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  245. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  246. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  247. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  248. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  249. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  250. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  251. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  252. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  253. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  254. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  255. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  256. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  257. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  258. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  259. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  260. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  261. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  262. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  263. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  264. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  265. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  266. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  267. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  268. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  269. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  270. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  271. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  272. package/engine/object-data/entry/ability-type.d.ts +35 -8
  273. package/engine/object-data/entry/ability-type.lua +299 -11
  274. package/engine/object-data/entry/buff-type/applicable.lua +122 -111
  275. package/engine/object-data/entry/buff-type.d.ts +6 -2
  276. package/engine/object-data/entry/buff-type.lua +26 -0
  277. package/engine/object-data/entry/destructible-type.d.ts +16 -2
  278. package/engine/object-data/entry/destructible-type.lua +91 -0
  279. package/engine/object-data/entry/item-type.d.ts +18 -3
  280. package/engine/object-data/entry/item-type.lua +84 -0
  281. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  282. package/engine/object-data/entry/lightning-type.lua +1 -1
  283. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  284. package/engine/object-data/entry/unit-type.d.ts +57 -2
  285. package/engine/object-data/entry/unit-type.lua +412 -64
  286. package/engine/object-data/entry/upgrade.d.ts +2 -2
  287. package/engine/object-data/entry.d.ts +6 -1
  288. package/engine/object-data/entry.lua +8 -0
  289. package/engine/object-field/ability.lua +2 -2
  290. package/engine/object-field/item.d.ts +22 -0
  291. package/engine/object-field/item.lua +118 -0
  292. package/engine/object-field/unit.d.ts +7 -4
  293. package/engine/object-field/unit.lua +4 -0
  294. package/engine/object-field.d.ts +3 -1
  295. package/engine/object-field.lua +177 -119
  296. package/engine/random.d.ts +1 -0
  297. package/engine/random.lua +8 -0
  298. package/engine/standard/entries/ability-type.d.ts +3102 -7
  299. package/engine/standard/entries/ability-type.lua +0 -6
  300. package/engine/standard/entries/buff-type.d.ts +45 -0
  301. package/engine/standard/entries/buff-type.lua +43 -0
  302. package/engine/standard/entries/item-type.d.ts +1299 -0
  303. package/engine/standard/entries/item-type.lua +2 -0
  304. package/engine/standard/entries/lightning-type.d.ts +42 -15
  305. package/engine/standard/entries/lightning-type.lua +0 -14
  306. package/engine/standard/entries/unit-type.d.ts +5 -0
  307. package/engine/standard/entries/unit-type.lua +5 -0
  308. package/engine/standard/fields/ability.d.ts +2 -2
  309. package/engine/standard/fields/ability.lua +2 -2
  310. package/engine/standard/fields/item.d.ts +4 -0
  311. package/engine/standard/fields/item.lua +6 -0
  312. package/engine/standard/fields/unit.d.ts +11 -5
  313. package/engine/standard/fields/unit.lua +13 -4
  314. package/engine/unit.d.ts +8 -1
  315. package/engine/unit.lua +8 -1
  316. package/event.d.ts +1 -1
  317. package/lualib_bundle.lua +1 -1
  318. package/math.d.ts +2 -0
  319. package/math.lua +14 -0
  320. package/network.lua +25 -1
  321. package/objutil/buff.lua +10 -8
  322. package/objutil/object.lua +1 -1
  323. package/operation.d.ts +8 -1
  324. package/operation.lua +38 -18
  325. package/package.json +3 -23
  326. package/patch-lua.lua +15 -0
  327. package/utility/arrays.d.ts +7 -1
  328. package/utility/arrays.lua +17 -0
  329. package/utility/linked-map.d.ts +35 -0
  330. package/utility/linked-map.lua +107 -0
  331. package/utility/linked-set.d.ts +3 -1
  332. package/utility/linked-set.lua +27 -0
  333. package/utility/random.d.ts +102 -0
  334. package/utility/random.lua +273 -0
  335. package/utility/records.lua +20 -1
  336. package/utility/unordered-map.d.ts +27 -0
  337. package/utility/unordered-map.lua +99 -0
  338. package/engine/internal/unit/item.lua +0 -78
  339. /package/engine/internal/{object-data/armor-increase.d.ts → misc/unit-ability-level-natives.d.ts} +0 -0
  340. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  341. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  342. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -65,123 +65,127 @@ function ApplicableBuffType.wrap(self, other)
65
65
  return __TS__New(____exports.ApplicableBuffType, other.object)
66
66
  end
67
67
  ApplicableBuffType.BASE_ID = fourCC("BHbz")
68
- local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId = table.unpack(postcompile(function()
69
- local function prepareAbilityType(abilityTypeConstructor, applicableBuffType)
70
- local abilityType = abilityTypeConstructor:create()
71
- abilityType.isInternal = true
72
- abilityType.levelCount = applicableBuffType.levelCount
73
- abilityType.buttonPositionX = 0
74
- abilityType.buttonPositionY = -11
75
- abilityType.casterAttachmentPresets = {}
76
- abilityType.targetEffectPresets = {}
77
- abilityType.casterEffectSoundPresetId = nil
78
- abilityType.learnLevelMinimum = 6
79
- abilityType.race = "other"
80
- abilityType.shouldCheckTechTreeDependencies = false
81
- abilityType.techTreeDependencies = {}
82
- abilityType.allowedTargetCombatClassifications = combatClassificationsOf(
83
- 4,
84
- 2,
85
- 2097152,
86
- 8,
87
- 1048576,
88
- 16
89
- )
90
- abilityType.areaOfEffect = 0
91
- abilityType.castRange = 999999
92
- abilityType.cooldown = 0
93
- abilityType.manaCost = 0
94
- abilityType.buffDuration = 0
95
- abilityType.heroBuffDuration = 0
96
- return abilityType
97
- end
98
- local multilevelPhysicalPositiveApplicatorAbilityTypes = {}
99
- local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId = {}
100
- for applicableBuffType in pairs(compiletimeApplicableBuffTypes) do
101
- local applicatorAbilityTypeIdByApplicatorType = {}
102
- if applicableBuffType.resistanceType == 1 or applicableBuffType.resistanceType == nil then
103
- if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
104
- local applicatorAbilityType = prepareAbilityType(CurseAbilityType, applicableBuffType)
105
- applicatorAbilityType.missProbability = 0
106
- applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
107
- applicatorAbilityTypeIdByApplicatorType[852190] = applicatorAbilityType.id
68
+ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId = table.unpack(
69
+ postcompile(function()
70
+ local function prepareAbilityType(abilityTypeConstructor, applicableBuffType)
71
+ local abilityType = abilityTypeConstructor:create()
72
+ abilityType.isInternal = true
73
+ abilityType.levelCount = applicableBuffType.levelCount
74
+ abilityType.buttonPositionX = 0
75
+ abilityType.buttonPositionY = -11
76
+ abilityType.casterEffectPresets = {}
77
+ abilityType.targetEffectPresets = {}
78
+ abilityType.casterEffectSoundPresetId = nil
79
+ abilityType.learnLevelMinimum = 6
80
+ abilityType.race = "other"
81
+ abilityType.shouldCheckTechTreeDependencies = false
82
+ abilityType.techTreeDependencies = {}
83
+ abilityType.allowedTargetCombatClassifications = combatClassificationsOf(
84
+ 4,
85
+ 2,
86
+ 2097152,
87
+ 8,
88
+ 1048576,
89
+ 16
90
+ )
91
+ abilityType.areaOfEffect = 0
92
+ abilityType.castRange = 999999
93
+ abilityType.cooldown = 0
94
+ abilityType.manaCost = 0
95
+ abilityType.buffDuration = 0
96
+ abilityType.heroBuffDuration = 0
97
+ return abilityType
98
+ end
99
+ local multilevelPhysicalPositiveApplicatorAbilityTypes = {}
100
+ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId = {}
101
+ for applicableBuffType in pairs(compiletimeApplicableBuffTypes) do
102
+ local applicatorAbilityTypeIdByApplicatorType = {}
103
+ if applicableBuffType.resistanceType == 1 or applicableBuffType.resistanceType == nil then
104
+ if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
105
+ local applicatorAbilityType = prepareAbilityType(CurseAbilityType, applicableBuffType)
106
+ applicatorAbilityType.missProbability = 0
107
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
108
+ applicatorAbilityTypeIdByApplicatorType[852190] = applicatorAbilityType.id
109
+ end
110
+ if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
111
+ local applicatorAbilityType = prepareAbilityType(BloodLustAbilityType, applicableBuffType)
112
+ applicatorAbilityType.attackSpeedIncreaseFactor = 0
113
+ applicatorAbilityType.movementSpeedIncreaseFactor = 0
114
+ applicatorAbilityType.scaleIncrease = 0
115
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
116
+ applicatorAbilityTypeIdByApplicatorType[852101] = applicatorAbilityType.id
117
+ end
108
118
  end
109
- if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
110
- local applicatorAbilityType = prepareAbilityType(BloodLustAbilityType, applicableBuffType)
111
- applicatorAbilityType.attackSpeedIncreaseFactor = 0
112
- applicatorAbilityType.movementSpeedIncreaseFactor = 0
113
- applicatorAbilityType.scaleIncrease = 0
119
+ if applicableBuffType.resistanceType == 2 or applicableBuffType.resistanceType == nil then
120
+ if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
121
+ local applicatorAbilityType = prepareAbilityType(SlowPoisonAbilityType, applicableBuffType)
122
+ applicatorAbilityType.damagePerSecond = 0
123
+ applicatorAbilityType.movementSpeedDecreaseFactor = 0
124
+ applicatorAbilityType.attackSpeedDecreaseFactor = 0
125
+ applicatorAbilityType.isDamageStacking = false
126
+ applicatorAbilityType.isMovementSpeedFactorStacking = false
127
+ applicatorAbilityType.isAttackSpeedFactorStacking = false
128
+ applicatorAbilityType.isAbleToKill = false
129
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id, applicableBuffType.id}
130
+ applicatorAbilityTypeIdByApplicatorType[852173] = applicatorAbilityType.id
131
+ end
132
+ if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
133
+ local applicatorAbilityType = prepareAbilityType(BerserkAbilityType, applicableBuffType)
134
+ applicatorAbilityType.attackSpeedIncreaseFactor = 0
135
+ applicatorAbilityType.movementSpeedIncreaseFactor = 0
136
+ applicatorAbilityType.receivedDamageIncreaseFactor = 0
137
+ applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
138
+ if applicatorAbilityType.levelCount > 1 then
139
+ multilevelPhysicalPositiveApplicatorAbilityTypes[#multilevelPhysicalPositiveApplicatorAbilityTypes + 1] = applicatorAbilityType
140
+ end
141
+ applicatorAbilityTypeIdByApplicatorType[852100] = applicatorAbilityType.id
142
+ end
143
+ end
144
+ if applicableBuffType.polarity == 0 or applicableBuffType.polarity == nil then
145
+ local applicatorAbilityType = prepareAbilityType(PermanentImmolationAbilityType, applicableBuffType)
146
+ applicatorAbilityType.levelCount = 1
147
+ applicatorAbilityType.damagePerInterval = 0
148
+ applicatorAbilityType.castRange = 0
149
+ applicatorAbilityType.buffDuration = MAXIMUM_INTEGER
150
+ applicatorAbilityType.heroBuffDuration = MAXIMUM_INTEGER
151
+ applicatorAbilityType.allowedTargetCombatClassifications = combatClassificationsOf(1)
114
152
  applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
115
- applicatorAbilityTypeIdByApplicatorType[852101] = applicatorAbilityType.id
153
+ applicatorAbilityTypeIdByApplicatorType[0] = applicatorAbilityType.id
116
154
  end
155
+ applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffType.id] = applicatorAbilityTypeIdByApplicatorType
117
156
  end
118
- if applicableBuffType.resistanceType == 2 or applicableBuffType.resistanceType == nil then
119
- if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
120
- local applicatorAbilityType = prepareAbilityType(SlowPoisonAbilityType, applicableBuffType)
121
- applicatorAbilityType.damagePerSecond = 0
122
- applicatorAbilityType.movementSpeedDecreaseFactor = 0
123
- applicatorAbilityType.attackSpeedDecreaseFactor = 0
124
- applicatorAbilityType.isDamageStacking = false
125
- applicatorAbilityType.isMovementSpeedFactorStacking = false
126
- applicatorAbilityType.isAttackSpeedFactorStacking = false
127
- applicatorAbilityType.isAbleToKill = false
128
- applicatorAbilityType.buffTypeIds = {applicableBuffType.id, applicableBuffType.id}
129
- applicatorAbilityTypeIdByApplicatorType[852173] = applicatorAbilityType.id
130
- end
131
- if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
132
- local applicatorAbilityType = prepareAbilityType(BerserkAbilityType, applicableBuffType)
133
- applicatorAbilityType.attackSpeedIncreaseFactor = 0
134
- applicatorAbilityType.movementSpeedIncreaseFactor = 0
135
- applicatorAbilityType.receivedDamageIncreaseFactor = 0
136
- applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
137
- if applicatorAbilityType.levelCount > 1 then
138
- multilevelPhysicalPositiveApplicatorAbilityTypes[#multilevelPhysicalPositiveApplicatorAbilityTypes + 1] = applicatorAbilityType
157
+ local applicatorUpgradeIds = {}
158
+ local applicatorUpgradeIdByApplicatorAbilityTypeId = {}
159
+ for ____, multilevelPhysicalPositiveApplicatorAbilityTypesChunk in ipairs(chunked(multilevelPhysicalPositiveApplicatorAbilityTypes, 4)) do
160
+ local maxLevelCount = max(map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "levelCount"))
161
+ local applicatorAbilityTypeIds = map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "id")
162
+ local applicatorUpgrade = BlankUpgrade:create()
163
+ applicatorUpgrade.isInternal = true
164
+ applicatorUpgrade.levelCount = maxLevelCount - 1
165
+ applicatorUpgrade.effects = map(
166
+ applicatorAbilityTypeIds,
167
+ function(applicatorAbilityTypeId)
168
+ return {type = "rlev", bonusBase = 1, bonusIncrement = 1, abilityTypeId = applicatorAbilityTypeId}
139
169
  end
140
- applicatorAbilityTypeIdByApplicatorType[852100] = applicatorAbilityType.id
170
+ )
171
+ applicatorUpgradeIds[#applicatorUpgradeIds + 1] = applicatorUpgrade.id
172
+ for ____, applicatorAbilityTypeId in ipairs(applicatorAbilityTypeIds) do
173
+ applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId] = applicatorUpgrade.id
141
174
  end
142
175
  end
143
- if applicableBuffType.polarity == 0 or applicableBuffType.polarity == nil then
144
- local applicatorAbilityType = prepareAbilityType(PermanentImmolationAbilityType, applicableBuffType)
145
- applicatorAbilityType.levelCount = 1
146
- applicatorAbilityType.damagePerInterval = 0
147
- applicatorAbilityType.castRange = 0
148
- applicatorAbilityType.buffDuration = MAXIMUM_INTEGER
149
- applicatorAbilityType.heroBuffDuration = MAXIMUM_INTEGER
150
- applicatorAbilityType.allowedTargetCombatClassifications = combatClassificationsOf(1)
151
- applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
152
- applicatorAbilityTypeIdByApplicatorType[0] = applicatorAbilityType.id
176
+ for ____, unitType in ipairs(UnitType:getAll()) do
177
+ local ____array_0 = __TS__SparseArrayNew(table.unpack(unitType.affectingUpgradeIds))
178
+ __TS__SparseArrayPush(
179
+ ____array_0,
180
+ table.unpack(applicatorUpgradeIds)
181
+ )
182
+ unitType.affectingUpgradeIds = {__TS__SparseArraySpread(____array_0)}
153
183
  end
154
- applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffType.id] = applicatorAbilityTypeIdByApplicatorType
155
- end
156
- local applicatorUpgradeIds = {}
157
- local applicatorUpgradeIdByApplicatorAbilityTypeId = {}
158
- for ____, multilevelPhysicalPositiveApplicatorAbilityTypesChunk in ipairs(chunked(multilevelPhysicalPositiveApplicatorAbilityTypes, 4)) do
159
- local maxLevelCount = max(map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "levelCount"))
160
- local applicatorAbilityTypeIds = map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "id")
161
- local applicatorUpgrade = BlankUpgrade:create()
162
- applicatorUpgrade.isInternal = true
163
- applicatorUpgrade.levelCount = maxLevelCount - 1
164
- applicatorUpgrade.effects = map(
165
- applicatorAbilityTypeIds,
166
- function(applicatorAbilityTypeId)
167
- return {type = "rlev", bonusBase = 1, bonusIncrement = 1, abilityTypeId = applicatorAbilityTypeId}
168
- end
169
- )
170
- applicatorUpgradeIds[#applicatorUpgradeIds + 1] = applicatorUpgrade.id
171
- for ____, applicatorAbilityTypeId in ipairs(applicatorAbilityTypeIds) do
172
- applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId] = applicatorUpgrade.id
173
- end
174
- end
175
- for ____, unitType in ipairs(UnitType:getAll()) do
176
- local ____array_0 = __TS__SparseArrayNew(table.unpack(unitType.affectingUpgradeIds))
177
- __TS__SparseArrayPush(
178
- ____array_0,
179
- table.unpack(applicatorUpgradeIds)
180
- )
181
- unitType.affectingUpgradeIds = {__TS__SparseArraySpread(____array_0)}
182
- end
183
- return {applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId}
184
- end))
184
+ return {applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId}
185
+ end),
186
+ 1,
187
+ 2
188
+ )
185
189
  local EVASION_ABILITY_TYPE_IDS = postcompile(function()
186
190
  return AbilityType:getAllIdsByBaseIds(map({
187
191
  "AEev",
@@ -301,14 +305,21 @@ preparePhysicalPositiveApplicatorAbility = function(ability, level, duration)
301
305
  setAbilityRealLevelField(ability, ABILITY_RLF_DURATION_NORMAL, level, duration)
302
306
  setAbilityRealLevelField(ability, ABILITY_RLF_DURATION_HERO, level, duration)
303
307
  end
304
- ---
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
+ --
305
311
  -- @internal For use by internal systems only.
306
- ____exports.removeBuff = function(unit, applicableBuffTypeId)
312
+ ____exports.removeBuffApplicator = function(unit, applicableBuffTypeId)
307
313
  local ____opt_3 = applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffTypeId]
308
314
  local applicatorAbilityTypeId = ____opt_3 and ____opt_3[0]
309
315
  if applicatorAbilityTypeId ~= nil then
310
316
  unitRemoveAbility(unit, applicatorAbilityTypeId)
311
317
  end
318
+ end
319
+ ---
320
+ -- @internal For use by internal systems only.
321
+ ____exports.removeBuff = function(unit, applicableBuffTypeId)
322
+ ____exports.removeBuffApplicator(unit, applicableBuffTypeId)
312
323
  return unitRemoveAbility(unit, applicableBuffTypeId)
313
324
  end
314
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 & {
@@ -15,22 +15,36 @@ export declare abstract class DestructibleType extends ObjectDataEntry<Destructi
15
15
  protected static getObjectData(map: WarMap): WarObjects;
16
16
  get fixedFacing(): number;
17
17
  set fixedFacing(fixedFacing: number);
18
+ get flyOverHeight(): number;
19
+ set flyOverHeight(flyOverHeight: number);
18
20
  get modelPath(): string;
19
21
  set modelPath(modelPath: string);
20
22
  get modelPathSD(): string;
21
23
  set modelPathSD(modelPathSD: string);
22
24
  get modelPathHD(): string;
23
25
  set modelPathHD(modelPathHD: string);
26
+ get modelPathDE(): string;
27
+ set modelPathDE(modelPathDE: string);
28
+ get occlusionHeight(): number;
29
+ set occlusionHeight(occlusionHeight: number);
24
30
  get armorSoundType(): ArmorSoundType;
25
31
  set armorSoundType(armorSoundType: ArmorSoundType);
26
32
  get armorSoundTypeSD(): ArmorSoundType;
27
33
  set armorSoundTypeSD(armorSoundTypeSD: ArmorSoundType);
28
34
  get armorSoundTypeHD(): ArmorSoundType;
29
35
  set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
36
+ get armorSoundTypeDE(): ArmorSoundType;
37
+ set armorSoundTypeDE(armorSoundTypeDE: ArmorSoundType);
30
38
  get combatClassifications(): CombatClassifications;
31
39
  set combatClassifications(combatClassifications: CombatClassifications);
40
+ get cliffHeight(): number;
41
+ set cliffHeight(cliffHeight: number);
42
+ get isWalkable(): boolean;
43
+ set isWalkable(isWalkable: boolean);
32
44
  get pathingTexturePath(): string;
33
45
  set pathingTexturePath(pathingTexturePath: string);
34
46
  get deadPathingTexturePath(): string;
35
47
  set deadPathingTexturePath(deadPathingTexturePath: string);
48
+ get name(): string;
49
+ set name(name: string);
36
50
  }
@@ -40,6 +40,19 @@ __TS__SetDescriptor(
40
40
  },
41
41
  true
42
42
  )
43
+ __TS__SetDescriptor(
44
+ DestructibleType.prototype,
45
+ "flyOverHeight",
46
+ {
47
+ get = function(self)
48
+ return self:getNumberField("bflh")
49
+ end,
50
+ set = function(self, flyOverHeight)
51
+ self:setNumberField("bflh", flyOverHeight)
52
+ end
53
+ },
54
+ true
55
+ )
43
56
  __TS__SetDescriptor(
44
57
  DestructibleType.prototype,
45
58
  "modelPath",
@@ -79,6 +92,32 @@ __TS__SetDescriptor(
79
92
  },
80
93
  true
81
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
+ )
108
+ __TS__SetDescriptor(
109
+ DestructibleType.prototype,
110
+ "occlusionHeight",
111
+ {
112
+ get = function(self)
113
+ return self:getNumberField("boch")
114
+ end,
115
+ set = function(self, occlusionHeight)
116
+ self:setNumberField("boch", occlusionHeight)
117
+ end
118
+ },
119
+ true
120
+ )
82
121
  __TS__SetDescriptor(
83
122
  DestructibleType.prototype,
84
123
  "armorSoundType",
@@ -118,6 +157,19 @@ __TS__SetDescriptor(
118
157
  },
119
158
  true
120
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
+ )
121
173
  __TS__SetDescriptor(
122
174
  DestructibleType.prototype,
123
175
  "combatClassifications",
@@ -134,6 +186,32 @@ __TS__SetDescriptor(
134
186
  },
135
187
  true
136
188
  )
189
+ __TS__SetDescriptor(
190
+ DestructibleType.prototype,
191
+ "cliffHeight",
192
+ {
193
+ get = function(self)
194
+ return self:getNumberField("bclh")
195
+ end,
196
+ set = function(self, cliffHeight)
197
+ self:setNumberField("bclh", cliffHeight)
198
+ end
199
+ },
200
+ true
201
+ )
202
+ __TS__SetDescriptor(
203
+ DestructibleType.prototype,
204
+ "isWalkable",
205
+ {
206
+ get = function(self)
207
+ return self:getBooleanField("bwal")
208
+ end,
209
+ set = function(self, isWalkable)
210
+ self:setBooleanField("bwal", isWalkable)
211
+ end
212
+ },
213
+ true
214
+ )
137
215
  __TS__SetDescriptor(
138
216
  DestructibleType.prototype,
139
217
  "pathingTexturePath",
@@ -160,6 +238,19 @@ __TS__SetDescriptor(
160
238
  },
161
239
  true
162
240
  )
241
+ __TS__SetDescriptor(
242
+ DestructibleType.prototype,
243
+ "name",
244
+ {
245
+ get = function(self)
246
+ return self:getStringField("bnam")
247
+ end,
248
+ set = function(self, name)
249
+ self:setStringField("bnam", name)
250
+ end
251
+ },
252
+ true
253
+ )
163
254
  implementReadonlyNumberIndexSupplier(
164
255
  ____exports.DestructibleType,
165
256
  function(id)
@@ -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;