warscript 0.0.1-dev.9c98c3a → 0.0.1-dev.9d07b64

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 (345) 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/player.d.ts +18 -1
  10. package/core/types/player.lua +73 -25
  11. package/core/types/playerColor.lua +4 -3
  12. package/core/types/sound.d.ts +1 -1
  13. package/core/types/sound.lua +14 -9
  14. package/core/types/tileCell.d.ts +9 -3
  15. package/core/types/tileCell.lua +16 -0
  16. package/core/types/unit.d.ts +5 -0
  17. package/core/types/unit.lua +5 -0
  18. package/core/util.d.ts +3 -1
  19. package/core/util.lua +109 -3
  20. package/decl/native.d.ts +705 -7
  21. package/destroyable.d.ts +1 -0
  22. package/destroyable.lua +9 -0
  23. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  24. package/engine/ability-type-extended-tooltip.lua +44 -0
  25. package/engine/behavior.d.ts +10 -2
  26. package/engine/behavior.lua +157 -76
  27. package/engine/behaviour/ability/apply-buff.lua +4 -4
  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.lua +5 -4
  32. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  33. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  34. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  35. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  36. package/engine/behaviour/ability.d.ts +13 -6
  37. package/engine/behaviour/ability.lua +102 -9
  38. package/engine/behaviour/unit/stun-immunity.d.ts +7 -5
  39. package/engine/behaviour/unit/stun-immunity.lua +6 -5
  40. package/engine/behaviour/unit.d.ts +8 -3
  41. package/engine/behaviour/unit.lua +102 -24
  42. package/engine/buff.d.ts +112 -54
  43. package/engine/buff.lua +559 -280
  44. package/engine/index.d.ts +2 -1
  45. package/engine/internal/ability.d.ts +7 -0
  46. package/engine/internal/ability.lua +65 -36
  47. package/engine/internal/item/fields.d.ts +12 -0
  48. package/engine/internal/item/fields.lua +33 -0
  49. package/engine/internal/item/owner-cache.d.ts +5 -0
  50. package/engine/internal/item/owner-cache.lua +4 -0
  51. package/engine/internal/item+owner.d.ts +2 -0
  52. package/engine/internal/item+owner.lua +27 -4
  53. package/engine/internal/item.d.ts +20 -5
  54. package/engine/internal/item.lua +146 -57
  55. package/engine/internal/mechanics/cast-ability.lua +6 -3
  56. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  57. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  58. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  59. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  60. package/engine/internal/object-data/health-bonus.lua +16 -0
  61. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  62. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  63. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  64. package/engine/internal/object-data/mana-bonus.lua +16 -0
  65. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  66. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  67. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  68. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  69. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  70. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  71. package/engine/internal/unit/appearance.d.ts +15 -0
  72. package/engine/internal/unit/appearance.lua +85 -0
  73. package/engine/internal/unit/attributes.d.ts +17 -0
  74. package/engine/internal/unit/attributes.lua +46 -0
  75. package/engine/internal/unit/bonus.d.ts +17 -0
  76. package/engine/internal/unit/bonus.lua +113 -8
  77. package/engine/internal/unit/buff.d.ts +2 -2
  78. package/engine/internal/unit/buff.lua +34 -19
  79. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  80. package/engine/internal/unit/equipment-inventory.lua +233 -0
  81. package/engine/internal/unit/expiration-timer.lua +1 -1
  82. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  83. package/engine/internal/unit/extended-inventory.lua +99 -0
  84. package/engine/internal/unit/fly-height.d.ts +7 -0
  85. package/engine/internal/unit/fly-height.lua +20 -0
  86. package/engine/internal/unit/ignore-events-items.lua +10 -1
  87. package/engine/internal/unit/interrupts.d.ts +12 -0
  88. package/engine/internal/unit/interrupts.lua +28 -0
  89. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  90. package/engine/internal/unit/inventory.lua +87 -0
  91. package/engine/internal/unit/item-container.d.ts +25 -0
  92. package/engine/internal/unit/item-container.lua +11 -0
  93. package/engine/internal/unit/item-order-events.d.ts +17 -0
  94. package/engine/internal/unit/item-order-events.lua +67 -0
  95. package/engine/internal/unit/item-slot.d.ts +27 -0
  96. package/engine/internal/unit/item-slot.lua +92 -0
  97. package/engine/internal/unit/main-selected.lua +12 -27
  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.d.ts +7 -0
  103. package/engine/internal/unit/scale.lua +20 -0
  104. package/engine/internal/unit+ability.d.ts +2 -1
  105. package/engine/internal/unit+ability.lua +63 -2
  106. package/engine/internal/unit+bonus.lua +3 -3
  107. package/engine/internal/unit+damage.d.ts +9 -0
  108. package/engine/internal/unit+damage.lua +33 -0
  109. package/engine/internal/unit+rally.lua +9 -31
  110. package/engine/internal/unit-missile-data.lua +58 -32
  111. package/engine/internal/unit-missile-launch.lua +29 -19
  112. package/engine/internal/unit.d.ts +15 -29
  113. package/engine/internal/unit.lua +192 -272
  114. package/engine/local-client.d.ts +28 -0
  115. package/engine/local-client.lua +324 -54
  116. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
  117. package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
  118. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  119. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  120. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  121. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  122. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  123. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  124. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  125. package/engine/object-data/auxiliary/item-class.lua +2 -0
  126. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  127. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  128. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  129. package/engine/object-data/auxiliary/order-type.lua +2 -0
  130. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  131. package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
  132. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  133. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  134. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  135. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  136. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  137. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  138. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  139. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  140. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  141. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  142. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  143. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  144. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  145. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  146. package/engine/object-data/entry/ability-type/blank-configurable.lua +2 -2
  147. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  148. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  149. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  150. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  151. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  152. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  153. package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
  154. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  155. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  156. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  157. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  158. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  159. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  160. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  161. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  162. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  163. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  164. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  165. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  166. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  167. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  168. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  169. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  170. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  171. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  172. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  173. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  174. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  175. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  176. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  177. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  178. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  179. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  180. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  181. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  182. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  183. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  184. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  185. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  186. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  187. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  188. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  189. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  190. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  191. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  192. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  193. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  194. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  195. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  196. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  197. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  198. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  199. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  200. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  201. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  202. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  203. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  204. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  205. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  206. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  207. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  208. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  209. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  210. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  211. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  212. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  213. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  214. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  215. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  216. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  217. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  218. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  219. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  220. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  221. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  222. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  223. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  224. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  225. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  226. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  227. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  228. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  229. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  230. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  231. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  232. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  233. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  234. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  235. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  236. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  237. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  238. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  239. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  240. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  241. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  242. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  243. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  244. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  245. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  246. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  247. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  248. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  249. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  250. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  251. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  252. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  253. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  254. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  255. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  256. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  257. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  258. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  259. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  260. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  261. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  262. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  263. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  264. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  265. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  266. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  267. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  268. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  269. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  270. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  271. package/engine/object-data/entry/ability-type.d.ts +33 -8
  272. package/engine/object-data/entry/ability-type.lua +286 -11
  273. package/engine/object-data/entry/buff-type/applicable.lua +122 -111
  274. package/engine/object-data/entry/buff-type.d.ts +6 -2
  275. package/engine/object-data/entry/buff-type.lua +26 -0
  276. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  277. package/engine/object-data/entry/destructible-type.lua +181 -0
  278. package/engine/object-data/entry/item-type.d.ts +18 -3
  279. package/engine/object-data/entry/item-type.lua +84 -0
  280. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  281. package/engine/object-data/entry/lightning-type.lua +1 -1
  282. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  283. package/engine/object-data/entry/unit-type.d.ts +61 -2
  284. package/engine/object-data/entry/unit-type.lua +444 -52
  285. package/engine/object-data/entry/upgrade.d.ts +2 -2
  286. package/engine/object-data/entry.d.ts +6 -1
  287. package/engine/object-data/entry.lua +8 -0
  288. package/engine/object-field/ability.lua +2 -2
  289. package/engine/object-field/item.d.ts +22 -0
  290. package/engine/object-field/item.lua +118 -0
  291. package/engine/object-field/unit.d.ts +20 -5
  292. package/engine/object-field/unit.lua +61 -0
  293. package/engine/object-field.d.ts +10 -2
  294. package/engine/object-field.lua +268 -123
  295. package/engine/random.d.ts +1 -0
  296. package/engine/random.lua +8 -0
  297. package/engine/standard/entries/ability-type.d.ts +3102 -7
  298. package/engine/standard/entries/ability-type.lua +0 -6
  299. package/engine/standard/entries/buff-type.d.ts +45 -0
  300. package/engine/standard/entries/buff-type.lua +43 -0
  301. package/engine/standard/entries/item-type.d.ts +1299 -0
  302. package/engine/standard/entries/item-type.lua +2 -0
  303. package/engine/standard/entries/lightning-type.d.ts +42 -15
  304. package/engine/standard/entries/lightning-type.lua +0 -14
  305. package/engine/standard/entries/unit-type.d.ts +5 -0
  306. package/engine/standard/entries/unit-type.lua +5 -0
  307. package/engine/standard/fields/ability.d.ts +4 -4
  308. package/engine/standard/fields/ability.lua +4 -4
  309. package/engine/standard/fields/item.d.ts +4 -0
  310. package/engine/standard/fields/item.lua +6 -0
  311. package/engine/standard/fields/unit.d.ts +11 -3
  312. package/engine/standard/fields/unit.lua +15 -2
  313. package/engine/synchronization.d.ts +11 -0
  314. package/engine/synchronization.lua +77 -0
  315. package/engine/text-tag.lua +2 -1
  316. package/engine/unit.d.ts +10 -1
  317. package/engine/unit.lua +10 -1
  318. package/event.d.ts +1 -1
  319. package/lualib_bundle.lua +1 -1
  320. package/math.d.ts +2 -0
  321. package/math.lua +14 -0
  322. package/net/socket.lua +1 -1
  323. package/network.lua +25 -1
  324. package/objutil/buff.lua +10 -8
  325. package/objutil/object.lua +1 -1
  326. package/operation.d.ts +8 -1
  327. package/operation.lua +38 -18
  328. package/package.json +3 -23
  329. package/patch-lua.lua +15 -0
  330. package/utility/arrays.d.ts +7 -1
  331. package/utility/arrays.lua +17 -0
  332. package/utility/linked-map.d.ts +35 -0
  333. package/utility/linked-map.lua +107 -0
  334. package/utility/linked-set.d.ts +3 -1
  335. package/utility/linked-set.lua +27 -0
  336. package/utility/random.d.ts +102 -0
  337. package/utility/random.lua +273 -0
  338. package/utility/records.lua +20 -1
  339. package/utility/unordered-map.d.ts +27 -0
  340. package/utility/unordered-map.lua +99 -0
  341. package/engine/internal/unit/item.lua +0 -78
  342. /package/engine/internal/{object-data/armor-increase.d.ts → misc/unit-ability-level-natives.d.ts} +0 -0
  343. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  344. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  345. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -7,14 +7,14 @@ import { Race } from "../auxiliary/race";
7
7
  import { SoundSetName } from "../auxiliary/sound-set-name";
8
8
  import { UnitClassifications } from "../auxiliary/unit-classification";
9
9
  import { WeaponSoundType } from "../auxiliary/weapon-sound-type";
10
- import { ObjectDataEntry, ObjectDataEntryConstructor, ObjectDataEntryId } from "../entry";
10
+ import { ObjectDataEntry, ObjectDataEntryConstructor, CustomObjectDataEntryId } from "../entry";
11
11
  import { ObjectDataEntryIdGenerator } from "../utility/object-data-entry-id-generator";
12
12
  import type { AbilityTypeId } from "./ability-type";
13
13
  import type { UpgradeId } from "./upgrade";
14
14
  import { AnimationQualifier } from "../auxiliary/animation-qualifier";
15
15
  import { AttackType } from "../auxiliary/attack-type";
16
16
  import { ArmorType } from "../auxiliary/armor-type";
17
- export type UnitTypeId = ObjectDataEntryId & number & {
17
+ export type UnitTypeId = CustomObjectDataEntryId & number & {
18
18
  readonly __unitTypeId: unique symbol;
19
19
  };
20
20
  export type StandardUnitTypeId = UnitTypeId & {
@@ -40,8 +40,18 @@ export declare class UnitTypeWeapon {
40
40
  set damageDiceSideCount(damageDiceSideCount: number);
41
41
  get impactDelay(): number;
42
42
  set impactDelay(impactDelay: number);
43
+ get missileArc(): number;
44
+ set missileArc(missileArc: number);
43
45
  get missileModelPath(): string;
44
46
  set missileModelPath(missileModelPath: string);
47
+ get missileModelPathSD(): string;
48
+ set missileModelPathSD(missileModelPathSD: string);
49
+ get missileModelPathHD(): string;
50
+ set missileModelPathHD(missileModelPathHD: string);
51
+ get missileModelPathDE(): string;
52
+ set missileModelPathDE(missileModelPathDE: string);
53
+ get missileSpeed(): number;
54
+ set missileSpeed(missileSpeed: number);
45
55
  get range(): number;
46
56
  set range(range: number);
47
57
  get soundType(): WeaponSoundType;
@@ -50,6 +60,8 @@ export declare class UnitTypeWeapon {
50
60
  set soundTypeSD(soundTypeSD: WeaponSoundType);
51
61
  get soundTypeHD(): WeaponSoundType;
52
62
  set soundTypeHD(soundTypeHD: WeaponSoundType);
63
+ get soundTypeDE(): WeaponSoundType;
64
+ set soundTypeDE(soundTypeDE: WeaponSoundType);
53
65
  }
54
66
  export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> extends ObjectDataEntry<Id> {
55
67
  static readonly [id: StandardUnitTypeId]: ObjectDataEntryConstructor<UnitType>;
@@ -57,6 +69,16 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
57
69
  protected static generateId(): number;
58
70
  protected static getObjectData(map: WarMap): WarObjects;
59
71
  private isPortraitModelPathSet?;
72
+ /** Portrait fields a model setter emptied because no portrait was set yet. */
73
+ private autoEmptiedPortraitFields?;
74
+ private emptyPortraitForModel;
75
+ /**
76
+ * An explicit portrait wins over the automatic empty portraits of the model setters, so
77
+ * it may also be set after the models: the mode-less portrait (one portrait for every
78
+ * mode) returns the automatically emptied per-mode portraits to their defaults, a
79
+ * per-mode portrait replaces only its own mode's.
80
+ */
81
+ private setPortraitModelPathField;
60
82
  get abilityTypeIds(): AbilityTypeId[];
61
83
  set abilityTypeIds(abilityTypeIds: AbilityTypeId[]);
62
84
  get defaultActiveAbilityTypeId(): AbilityTypeId | undefined;
@@ -75,12 +97,19 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
75
97
  set casterUpgradeIconPath(casterUpgradeIconPath: string);
76
98
  get deathDuration(): number;
77
99
  set deathDuration(deathDuration: number);
100
+ get isDecayable(): boolean;
101
+ set isDecayable(isDecayable: boolean);
102
+ get isRaisable(): boolean;
103
+ set isRaisable(isRaisable: boolean);
104
+ private setDeathTypeFlag;
78
105
  get iconPath(): string;
79
106
  set iconPath(iconPath: string);
80
107
  get iconPathSD(): string;
81
108
  set iconPathSD(iconPathSD: string);
82
109
  get iconPathHD(): string;
83
110
  set iconPathHD(iconPathHD: string);
111
+ get iconPathDE(): string;
112
+ set iconPathDE(iconPathDE: string);
84
113
  get isMissileScalingEnabled(): boolean;
85
114
  set isMissileScalingEnabled(isMissileScalingEnabled: boolean);
86
115
  get maximumPitchAngleDegrees(): number;
@@ -97,54 +126,72 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
97
126
  set missileLaunchOffsetZSD(missileLaunchOffsetZSD: number);
98
127
  get missileLaunchOffsetZHD(): number;
99
128
  set missileLaunchOffsetZHD(missileLaunchOffsetZHD: number);
129
+ get missileLaunchOffsetZDE(): number;
130
+ set missileLaunchOffsetZDE(missileLaunchOffsetZDE: number);
100
131
  get missileLaunchSwimmingOffsetZ(): number;
101
132
  set missileLaunchSwimmingOffsetZ(missileLaunchOffsetZ: number);
102
133
  get missileLaunchSwimmingOffsetZSD(): number;
103
134
  set missileLaunchSwimmingOffsetZSD(missileLaunchSwimmingOffsetZSD: number);
104
135
  get missileLaunchSwimmingOffsetZHD(): number;
105
136
  set missileLaunchSwimmingOffsetZHD(missileLaunchSwimmingOffsetZHD: number);
137
+ get missileLaunchSwimmingOffsetZDE(): number;
138
+ set missileLaunchSwimmingOffsetZDE(missileLaunchSwimmingOffsetZDE: number);
106
139
  get missileLaunchVisualOffsetX(): number;
107
140
  set missileLaunchVisualOffsetX(missileLaunchVisualOffsetX: number);
108
141
  get missileLaunchVisualOffsetXSD(): number;
109
142
  set missileLaunchVisualOffsetXSD(missileLaunchVisualOffsetXSD: number);
110
143
  get missileLaunchVisualOffsetXHD(): number;
111
144
  set missileLaunchVisualOffsetXHD(missileLaunchVisualOffsetXHD: number);
145
+ get missileLaunchVisualOffsetXDE(): number;
146
+ set missileLaunchVisualOffsetXDE(missileLaunchVisualOffsetXDE: number);
112
147
  get missileLaunchVisualOffsetY(): number;
113
148
  set missileLaunchVisualOffsetY(missileLaunchVisualOffsetY: number);
114
149
  get missileLaunchVisualOffsetYSD(): number;
115
150
  set missileLaunchVisualOffsetYSD(missileLaunchVisualOffsetYSD: number);
116
151
  get missileLaunchVisualOffsetYHD(): number;
117
152
  set missileLaunchVisualOffsetYHD(missileLaunchVisualOffsetYHD: number);
153
+ get missileLaunchVisualOffsetYDE(): number;
154
+ set missileLaunchVisualOffsetYDE(missileLaunchVisualOffsetYDE: number);
118
155
  get missileImpactOffsetZ(): number;
119
156
  set missileImpactOffsetZ(missileImpactOffsetZ: number);
120
157
  get missileImpactOffsetZSD(): number;
121
158
  set missileImpactOffsetZSD(missileImpactOffsetZSD: number);
122
159
  get missileImpactOffsetZHD(): number;
123
160
  set missileImpactOffsetZHD(missileImpactOffsetZHD: number);
161
+ get missileImpactOffsetZDE(): number;
162
+ set missileImpactOffsetZDE(missileImpactOffsetZDE: number);
124
163
  get missileImpactSwimmingOffsetZ(): number;
125
164
  set missileImpactSwimmingOffsetZ(missileImpactSwimmingOffsetZ: number);
126
165
  get missileImpactSwimmingOffsetZSD(): number;
127
166
  set missileImpactSwimmingOffsetZSD(missileImpactSwimmingOffsetZSD: number);
128
167
  get missileImpactSwimmingOffsetZHD(): number;
129
168
  set missileImpactSwimmingOffsetZHD(missileImpactSwimmingOffsetZHD: number);
169
+ get missileImpactSwimmingOffsetZDE(): number;
170
+ set missileImpactSwimmingOffsetZDE(missileImpactSwimmingOffsetZDE: number);
130
171
  get modelPath(): string;
131
172
  set modelPath(modelPath: string);
132
173
  get modelPathSD(): string;
133
174
  set modelPathSD(modelPathSD: string);
134
175
  get modelPathHD(): string;
135
176
  set modelPathHD(modelPathHD: string);
177
+ get modelPathDE(): string;
178
+ set modelPathDE(modelPathDE: string);
136
179
  get portraitModelPath(): string;
137
180
  set portraitModelPath(portraitModelPath: string);
138
181
  get portraitModelPathSD(): string;
139
182
  set portraitModelPathSD(portraitModelPathSD: string);
140
183
  get portraitModelPathHD(): string;
141
184
  set portraitModelPathHD(portraitModelPathHD: string);
185
+ get portraitModelPathDE(): string;
186
+ set portraitModelPathDE(portraitModelPathDE: string);
142
187
  get runSpeed(): number;
143
188
  set runSpeed(runSpeed: number);
144
189
  get runSpeedSD(): number;
145
190
  set runSpeedSD(runSpeedSD: number);
146
191
  get runSpeedHD(): number;
147
192
  set runSpeedHD(runSpeedHD: number);
193
+ get runSpeedDE(): number;
194
+ set runSpeedDE(runSpeedDE: number);
148
195
  get selectionCircleHeight(): number;
149
196
  set selectionCircleHeight(height: number);
150
197
  get selectionCircleScale(): number;
@@ -153,24 +200,32 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
153
200
  set selectionCircleScaleSD(selectionCircleScaleSD: number);
154
201
  get selectionCircleScaleHD(): number;
155
202
  set selectionCircleScaleHD(selectionCircleScaleHD: number);
203
+ get selectionCircleScaleDE(): number;
204
+ set selectionCircleScaleDE(selectionCircleScaleDE: number);
156
205
  get scale(): number;
157
206
  set scale(scale: number);
158
207
  get scaleSD(): number;
159
208
  set scaleSD(scaleSD: number);
160
209
  get scaleHD(): number;
161
210
  set scaleHD(scaleHD: number);
211
+ get scaleDE(): number;
212
+ set scaleDE(scaleDE: number);
162
213
  get scoreScreenIconPath(): string;
163
214
  set scoreScreenIconPath(scoreScreenIconPath: string);
164
215
  get scoreScreenIconPathSD(): string;
165
216
  set scoreScreenIconPathSD(scoreScreenIconPathSD: string);
166
217
  get scoreScreenIconPathHD(): string;
167
218
  set scoreScreenIconPathHD(scoreScreenIconPathHD: string);
219
+ get scoreScreenIconPathDE(): string;
220
+ set scoreScreenIconPathDE(scoreScreenIconPathDE: string);
168
221
  get specialEffectModelPath(): string;
169
222
  set specialEffectModelPath(specialEffectModelPath: string);
170
223
  get specialEffectModelPathSD(): string;
171
224
  set specialEffectModelPathSD(specialEffectModelPathSD: string);
172
225
  get specialEffectModelPathHD(): string;
173
226
  set specialEffectModelPathHD(specialEffectModelPathHD: string);
227
+ get specialEffectModelPathDE(): string;
228
+ set specialEffectModelPathDE(specialEffectModelPathDE: string);
174
229
  get shadowImageHeight(): number;
175
230
  set shadowImageHeight(shadowImageHeight: number);
176
231
  get shadowImageWidth(): number;
@@ -185,6 +240,8 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
185
240
  set walkSpeedSD(walkSpeedSD: number);
186
241
  get walkSpeedHD(): number;
187
242
  set walkSpeedHD(walkSpeedHD: number);
243
+ get walkSpeedDE(): number;
244
+ set walkSpeedDE(walkSpeedDE: number);
188
245
  get armor(): number;
189
246
  set armor(armor: number);
190
247
  get armorSoundType(): ArmorSoundType;
@@ -193,6 +250,8 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
193
250
  set armorSoundTypeSD(armorSoundTypeSD: ArmorSoundType);
194
251
  get armorSoundTypeHD(): ArmorSoundType;
195
252
  set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
253
+ get armorSoundTypeDE(): ArmorSoundType;
254
+ set armorSoundTypeDE(armorSoundTypeDE: ArmorSoundType);
196
255
  get armorType(): ArmorType;
197
256
  set armorType(armorType: ArmorType);
198
257
  get combatClassifications(): CombatClassifications;