warscript 0.0.1-dev.9af2d1a → 0.0.1-dev.9bcb501

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 (452) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/config.d.ts +5 -0
  4. package/config.lua +10 -0
  5. package/core/dummy.lua +4 -2
  6. package/core/types/effect.d.ts +24 -6
  7. package/core/types/effect.lua +169 -107
  8. package/core/types/frame.d.ts +16 -2
  9. package/core/types/frame.lua +141 -77
  10. package/core/types/handle.lua +9 -9
  11. package/core/types/item.d.ts +1 -0
  12. package/core/types/item.lua +1 -0
  13. package/core/types/missile.lua +8 -7
  14. package/core/types/player.d.ts +18 -1
  15. package/core/types/player.lua +76 -26
  16. package/core/types/playerCamera.d.ts +2 -0
  17. package/core/types/playerCamera.lua +123 -5
  18. package/core/types/playerColor.lua +4 -3
  19. package/core/types/sound.d.ts +18 -25
  20. package/core/types/sound.lua +113 -33
  21. package/core/types/tileCell.d.ts +18 -3
  22. package/core/types/tileCell.lua +108 -0
  23. package/core/types/timer.d.ts +9 -8
  24. package/core/types/timer.lua +45 -23
  25. package/core/types/unit.d.ts +5 -0
  26. package/core/types/unit.lua +5 -0
  27. package/core/util.d.ts +3 -1
  28. package/core/util.lua +121 -4
  29. package/decl/native.d.ts +1719 -964
  30. package/destroyable.d.ts +1 -0
  31. package/destroyable.lua +9 -0
  32. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  33. package/engine/ability-type-extended-tooltip.lua +44 -0
  34. package/engine/behavior.d.ts +14 -1
  35. package/engine/behavior.lua +230 -70
  36. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  37. package/engine/behaviour/ability/always-enabled.lua +31 -0
  38. package/engine/behaviour/ability/apply-buff.d.ts +5 -0
  39. package/engine/behaviour/ability/apply-buff.lua +36 -4
  40. package/engine/behaviour/ability/apply-unit-behavior.lua +6 -0
  41. package/engine/behaviour/ability/damage.d.ts +13 -3
  42. package/engine/behaviour/ability/damage.lua +41 -49
  43. package/engine/behaviour/ability/emulate-impact.d.ts +20 -0
  44. package/engine/behaviour/ability/emulate-impact.lua +117 -0
  45. package/engine/behaviour/ability/instant-impact.d.ts +14 -3
  46. package/engine/behaviour/ability/instant-impact.lua +20 -20
  47. package/engine/behaviour/ability/on-command-impact.d.ts +9 -0
  48. package/engine/behaviour/ability/on-command-impact.lua +26 -0
  49. package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
  50. package/engine/behaviour/ability/remove-buffs.lua +49 -0
  51. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  52. package/engine/behaviour/ability/restore-mana.lua +6 -6
  53. package/engine/behaviour/ability.d.ts +36 -7
  54. package/engine/behaviour/ability.lua +218 -43
  55. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  56. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  57. package/engine/behaviour/unit.d.ts +41 -2
  58. package/engine/behaviour/unit.lua +270 -6
  59. package/engine/buff.d.ts +136 -60
  60. package/engine/buff.lua +651 -309
  61. package/engine/index.d.ts +2 -1
  62. package/engine/internal/ability.d.ts +27 -3
  63. package/engine/internal/ability.lua +174 -32
  64. package/engine/internal/item/ability.lua +162 -4
  65. package/engine/internal/item/fields.d.ts +12 -0
  66. package/engine/internal/item/fields.lua +33 -0
  67. package/engine/internal/item/owner-cache.d.ts +5 -0
  68. package/engine/internal/item/owner-cache.lua +4 -0
  69. package/engine/internal/item+owner.d.ts +2 -0
  70. package/engine/internal/item+owner.lua +37 -8
  71. package/engine/internal/item.d.ts +34 -18
  72. package/engine/internal/item.lua +308 -102
  73. package/engine/internal/mechanics/ability-duration.lua +1 -1
  74. package/engine/internal/mechanics/cast-ability.lua +6 -3
  75. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  76. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  77. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  78. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  79. package/engine/internal/misc/frame-coordinates.lua +21 -0
  80. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  81. package/engine/internal/misc/get-terrain-z.lua +11 -0
  82. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  83. package/engine/internal/misc/player-local-handle.lua +5 -0
  84. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  85. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  86. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  87. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  88. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  89. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  90. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  91. package/engine/internal/object-data/evasion-probability.lua +16 -0
  92. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  93. package/engine/internal/object-data/health-bonus.lua +16 -0
  94. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  95. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  96. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  97. package/engine/internal/object-data/mana-bonus.lua +16 -0
  98. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  99. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  100. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  101. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  102. package/engine/internal/unit/ability.d.ts +45 -1
  103. package/engine/internal/unit/ability.lua +144 -3
  104. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  105. package/engine/internal/unit/add-item-to-slot-init.lua +12 -0
  106. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  107. package/engine/internal/unit/add-item-to-slot.lua +93 -0
  108. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  109. package/engine/internal/unit/allowed-targets.lua +9 -1
  110. package/engine/internal/unit/appearance.d.ts +15 -0
  111. package/engine/internal/unit/appearance.lua +85 -0
  112. package/engine/internal/unit/attributes.d.ts +17 -0
  113. package/engine/internal/unit/attributes.lua +46 -0
  114. package/engine/internal/unit/bonus.d.ts +19 -0
  115. package/engine/internal/unit/bonus.lua +130 -8
  116. package/engine/internal/unit/buff.d.ts +2 -2
  117. package/engine/internal/unit/buff.lua +34 -19
  118. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  119. package/engine/internal/unit/equipment-inventory.lua +233 -0
  120. package/engine/internal/unit/expiration-timer.lua +1 -1
  121. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  122. package/engine/internal/unit/extended-inventory.lua +99 -0
  123. package/engine/internal/unit/fly-height.d.ts +7 -0
  124. package/engine/internal/unit/fly-height.lua +20 -0
  125. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  126. package/engine/internal/unit/ignore-events-items.lua +14 -0
  127. package/engine/internal/unit/interrupts.d.ts +12 -0
  128. package/engine/internal/unit/interrupts.lua +28 -0
  129. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  130. package/engine/internal/unit/inventory.lua +87 -0
  131. package/engine/internal/unit/item-container.d.ts +25 -0
  132. package/engine/internal/unit/item-container.lua +11 -0
  133. package/engine/internal/unit/item-order-events.d.ts +17 -0
  134. package/engine/internal/unit/item-order-events.lua +67 -0
  135. package/engine/internal/unit/item-slot.d.ts +27 -0
  136. package/engine/internal/unit/item-slot.lua +92 -0
  137. package/engine/internal/unit/main-selected.d.ts +6 -0
  138. package/engine/internal/unit/main-selected.lua +18 -22
  139. package/engine/internal/unit/order.d.ts +20 -0
  140. package/engine/internal/unit/order.lua +136 -0
  141. package/engine/internal/unit/range-event.d.ts +12 -0
  142. package/engine/internal/unit/range-event.lua +90 -0
  143. package/engine/internal/unit/scale.d.ts +7 -0
  144. package/engine/internal/unit/scale.lua +20 -0
  145. package/engine/internal/unit+ability.d.ts +2 -1
  146. package/engine/internal/unit+ability.lua +83 -3
  147. package/engine/internal/unit+bonus.lua +3 -3
  148. package/engine/internal/unit+damage.d.ts +11 -11
  149. package/engine/internal/unit+damage.lua +43 -14
  150. package/engine/internal/unit+rally.lua +9 -31
  151. package/engine/internal/unit+spellSteal.lua +1 -2
  152. package/engine/internal/unit-missile-data.lua +96 -68
  153. package/engine/internal/unit-missile-launch.lua +65 -27
  154. package/engine/internal/unit.d.ts +45 -33
  155. package/engine/internal/unit.lua +434 -307
  156. package/engine/internal/utility.lua +12 -0
  157. package/engine/lightning.d.ts +12 -5
  158. package/engine/lightning.lua +52 -18
  159. package/engine/local-client.d.ts +28 -0
  160. package/engine/local-client.lua +324 -54
  161. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  162. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  163. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  164. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  165. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -2
  166. package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
  167. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  168. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  169. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  170. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  171. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  172. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  173. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  174. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  175. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  176. package/engine/object-data/auxiliary/item-class.lua +2 -0
  177. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  178. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  179. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  180. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  181. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  182. package/engine/object-data/auxiliary/order-type.lua +2 -0
  183. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  184. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  185. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  186. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  187. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  188. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  189. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  190. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  191. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  192. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  193. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  194. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  195. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  196. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  197. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  198. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  199. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  200. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  201. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  202. package/engine/object-data/entry/ability-type/barrage.d.ts +12 -0
  203. package/engine/object-data/entry/ability-type/barrage.lua +52 -0
  204. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  205. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  206. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  207. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  208. package/engine/object-data/entry/ability-type/blank-configurable.lua +14 -3
  209. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  210. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  211. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  212. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  213. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  214. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  215. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  216. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  217. package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
  218. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  219. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  220. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  221. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  222. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  223. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  224. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  225. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  226. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  227. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  228. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  229. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  230. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  231. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  232. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  233. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  234. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  235. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  236. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  237. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  238. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  239. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  240. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  241. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  242. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  243. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  244. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  245. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  246. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  247. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  248. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  249. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  250. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  251. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  252. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  253. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  254. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  255. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  256. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  257. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  258. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  259. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  260. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  261. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  262. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  263. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  264. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  265. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  266. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  267. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  268. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  269. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  270. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  271. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  272. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  273. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  274. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  275. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  276. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  277. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  278. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  279. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  280. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  281. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  282. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  283. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  284. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  285. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  286. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  287. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  288. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  289. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  290. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  291. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  292. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  293. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  294. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  295. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  296. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  297. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  298. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  299. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  300. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  301. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  302. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  303. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  304. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  305. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  306. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  307. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  308. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  309. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  310. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  311. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  312. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  313. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  314. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  315. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  316. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  317. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  318. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  319. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  320. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  321. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  322. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  323. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  324. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  325. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  326. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  327. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  328. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  329. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  330. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  331. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  332. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  333. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  334. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  335. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  336. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  337. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  338. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  339. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  340. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  341. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  342. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  343. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  344. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  345. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  346. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  347. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  348. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  349. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  350. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  351. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  352. package/engine/object-data/entry/ability-type/web.lua +52 -0
  353. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  354. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  355. package/engine/object-data/entry/ability-type.d.ts +50 -21
  356. package/engine/object-data/entry/ability-type.lua +392 -47
  357. package/engine/object-data/entry/buff-type/applicable.lua +131 -139
  358. package/engine/object-data/entry/buff-type.d.ts +10 -12
  359. package/engine/object-data/entry/buff-type.lua +39 -29
  360. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  361. package/engine/object-data/entry/destructible-type.lua +181 -0
  362. package/engine/object-data/entry/item-type.d.ts +20 -3
  363. package/engine/object-data/entry/item-type.lua +99 -2
  364. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  365. package/engine/object-data/entry/lightning-type.lua +1 -1
  366. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  367. package/engine/object-data/entry/sound-preset.lua +140 -0
  368. package/engine/object-data/entry/unit-type.d.ts +81 -6
  369. package/engine/object-data/entry/unit-type.lua +606 -93
  370. package/engine/object-data/entry/upgrade.d.ts +2 -2
  371. package/engine/object-data/entry/upgrade.lua +4 -4
  372. package/engine/object-data/entry.d.ts +21 -14
  373. package/engine/object-data/entry.lua +68 -32
  374. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  375. package/engine/object-field/ability.d.ts +12 -6
  376. package/engine/object-field/ability.lua +10 -6
  377. package/engine/object-field/item.d.ts +22 -0
  378. package/engine/object-field/item.lua +118 -0
  379. package/engine/object-field/unit.d.ts +72 -3
  380. package/engine/object-field/unit.lua +268 -7
  381. package/engine/object-field.d.ts +26 -7
  382. package/engine/object-field.lua +362 -117
  383. package/engine/random.d.ts +10 -0
  384. package/engine/random.lua +21 -0
  385. package/engine/standard/entries/ability-type.d.ts +3102 -7
  386. package/engine/standard/entries/ability-type.lua +0 -6
  387. package/engine/standard/entries/buff-type.d.ts +48 -0
  388. package/engine/standard/entries/buff-type.lua +46 -0
  389. package/engine/standard/entries/item-type.d.ts +1299 -0
  390. package/engine/standard/entries/item-type.lua +2 -0
  391. package/engine/standard/entries/lightning-type.d.ts +42 -15
  392. package/engine/standard/entries/lightning-type.lua +0 -14
  393. package/engine/standard/entries/sound-preset.d.ts +10 -0
  394. package/engine/standard/entries/sound-preset.lua +10 -0
  395. package/engine/standard/entries/unit-type.d.ts +5 -0
  396. package/engine/standard/entries/unit-type.lua +5 -0
  397. package/engine/standard/fields/ability.d.ts +6 -4
  398. package/engine/standard/fields/ability.lua +6 -4
  399. package/engine/standard/fields/item.d.ts +4 -0
  400. package/engine/standard/fields/item.lua +6 -0
  401. package/engine/standard/fields/unit.d.ts +12 -0
  402. package/engine/standard/fields/unit.lua +20 -0
  403. package/engine/synchronization.d.ts +11 -0
  404. package/engine/synchronization.lua +77 -0
  405. package/engine/text-tag.d.ts +36 -2
  406. package/engine/text-tag.lua +250 -10
  407. package/engine/unit.d.ts +12 -1
  408. package/engine/unit.lua +12 -1
  409. package/event.d.ts +1 -1
  410. package/lualib_bundle.lua +1 -1
  411. package/math.d.ts +2 -0
  412. package/math.lua +14 -0
  413. package/net/socket.lua +1 -1
  414. package/network.lua +25 -1
  415. package/objutil/buff.lua +12 -11
  416. package/objutil/object.lua +1 -1
  417. package/objutil/unit.lua +8 -0
  418. package/operation.d.ts +8 -1
  419. package/operation.lua +38 -18
  420. package/package.json +3 -23
  421. package/patch-lua.lua +15 -0
  422. package/patch-lualib.lua +1 -1
  423. package/utility/arrays.d.ts +17 -2
  424. package/utility/arrays.lua +62 -3
  425. package/utility/callback-array.d.ts +17 -0
  426. package/utility/callback-array.lua +61 -0
  427. package/utility/functions.d.ts +8 -0
  428. package/utility/functions.lua +13 -0
  429. package/utility/lazy.d.ts +2 -0
  430. package/utility/lazy.lua +14 -0
  431. package/utility/linked-map.d.ts +35 -0
  432. package/utility/linked-map.lua +107 -0
  433. package/utility/linked-set.d.ts +5 -1
  434. package/utility/linked-set.lua +49 -1
  435. package/utility/lua-maps.d.ts +15 -2
  436. package/utility/lua-maps.lua +53 -2
  437. package/utility/lua-sets.d.ts +2 -0
  438. package/utility/lua-sets.lua +7 -0
  439. package/utility/random.d.ts +102 -0
  440. package/utility/random.lua +273 -0
  441. package/utility/records.lua +20 -1
  442. package/utility/reflection.lua +11 -7
  443. package/utility/types.d.ts +3 -0
  444. package/utility/unordered-map.d.ts +27 -0
  445. package/utility/unordered-map.lua +99 -0
  446. package/core/types/order.d.ts +0 -25
  447. package/core/types/order.lua +0 -55
  448. package/engine/internal/unit/item.lua +0 -84
  449. /package/engine/internal/{object-data/armor-increase.d.ts → misc/ability-disable-counter.d.ts} +0 -0
  450. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  451. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  452. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -12,6 +12,9 @@ local implementReadonlyNumberIndexSupplier = ____reflection.implementReadonlyNum
12
12
  local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
13
13
  local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
14
14
  local stringArrayToCombatClassifications = ____combat_2Dclassification.stringArrayToCombatClassifications
15
+ local ____movement_2Dtype = require("engine.object-data.auxiliary.movement-type")
16
+ local movementTypeToString = ____movement_2Dtype.movementTypeToString
17
+ local stringToMovementType = ____movement_2Dtype.stringToMovementType
15
18
  local ____unit_2Dclassification = require("engine.object-data.auxiliary.unit-classification")
16
19
  local stringArrayToUnitClassifications = ____unit_2Dclassification.stringArrayToUnitClassifications
17
20
  local unitClassificationsToStringArray = ____unit_2Dclassification.unitClassificationsToStringArray
@@ -19,7 +22,19 @@ local ____entry = require("engine.object-data.entry")
19
22
  local ObjectDataEntry = ____entry.ObjectDataEntry
20
23
  local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
21
24
  local ObjectDataEntryIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.ObjectDataEntryIdGenerator
25
+ local ____attack_2Dtype = require("engine.object-data.auxiliary.attack-type")
26
+ local attackTypeToString = ____attack_2Dtype.attackTypeToString
27
+ local stringToAttackType = ____attack_2Dtype.stringToAttackType
28
+ local ____config = require("config")
29
+ local WarscriptConfig = ____config.WarscriptConfig
30
+ local ____armor_2Dtype = require("engine.object-data.auxiliary.armor-type")
31
+ local armorTypeToString = ____armor_2Dtype.armorTypeToString
32
+ local stringToArmorType = ____armor_2Dtype.stringToArmorType
22
33
  local getOrCreateUnitTypeWeapons
34
+ --- Bit of the `udea` (death type) field: the corpse can be raised.
35
+ local DEATH_TYPE_RAISABLE = 1
36
+ --- Bit of the `udea` (death type) field: the corpse decays.
37
+ local DEATH_TYPE_DECAYABLE = 2
23
38
  ____exports.UnitTypeWeapon = __TS__Class()
24
39
  local UnitTypeWeapon = ____exports.UnitTypeWeapon
25
40
  UnitTypeWeapon.name = "UnitTypeWeapon"
@@ -32,18 +47,19 @@ __TS__SetDescriptor(
32
47
  "attackType",
33
48
  {
34
49
  get = function(self)
50
+ local ____stringToAttackType_1 = stringToAttackType
35
51
  local ____self_0 = self.unitType
36
- return ____self_0.getStringField(
52
+ return ____stringToAttackType_1(____self_0.getStringField(
37
53
  ____self_0,
38
54
  ("ua" .. tostring(self.index)) .. "t"
39
- )
55
+ ))
40
56
  end,
41
57
  set = function(self, attackType)
42
- local ____self_1 = self.unitType
43
- ____self_1.setStringField(
44
- ____self_1,
58
+ local ____self_2 = self.unitType
59
+ ____self_2.setStringField(
60
+ ____self_2,
45
61
  ("ua" .. tostring(self.index)) .. "t",
46
- attackType
62
+ attackTypeToString(attackType)
47
63
  )
48
64
  end
49
65
  },
@@ -54,16 +70,16 @@ __TS__SetDescriptor(
54
70
  "backSwingDuration",
55
71
  {
56
72
  get = function(self)
57
- local ____self_2 = self.unitType
58
- return ____self_2.getNumberField(
59
- ____self_2,
73
+ local ____self_3 = self.unitType
74
+ return ____self_3.getNumberField(
75
+ ____self_3,
60
76
  "ubs" .. tostring(self.index)
61
77
  )
62
78
  end,
63
79
  set = function(self, backSwingDuration)
64
- local ____self_3 = self.unitType
65
- ____self_3.setNumberField(
66
- ____self_3,
80
+ local ____self_4 = self.unitType
81
+ ____self_4.setNumberField(
82
+ ____self_4,
67
83
  "ubs" .. tostring(self.index),
68
84
  backSwingDuration
69
85
  )
@@ -76,16 +92,16 @@ __TS__SetDescriptor(
76
92
  "cooldown",
77
93
  {
78
94
  get = function(self)
79
- local ____self_4 = self.unitType
80
- return ____self_4.getNumberField(
81
- ____self_4,
95
+ local ____self_5 = self.unitType
96
+ return ____self_5.getNumberField(
97
+ ____self_5,
82
98
  ("ua" .. tostring(self.index)) .. "c"
83
99
  )
84
100
  end,
85
101
  set = function(self, cooldown)
86
- local ____self_5 = self.unitType
87
- ____self_5.setNumberField(
88
- ____self_5,
102
+ local ____self_6 = self.unitType
103
+ ____self_6.setNumberField(
104
+ ____self_6,
89
105
  ("ua" .. tostring(self.index)) .. "c",
90
106
  cooldown
91
107
  )
@@ -119,16 +135,16 @@ __TS__SetDescriptor(
119
135
  "damageBase",
120
136
  {
121
137
  get = function(self)
122
- local ____self_6 = self.unitType
123
- return ____self_6.getNumberField(
124
- ____self_6,
138
+ local ____self_7 = self.unitType
139
+ return ____self_7.getNumberField(
140
+ ____self_7,
125
141
  ("ua" .. tostring(self.index)) .. "b"
126
142
  )
127
143
  end,
128
144
  set = function(self, damageBase)
129
- local ____self_7 = self.unitType
130
- ____self_7.setNumberField(
131
- ____self_7,
145
+ local ____self_8 = self.unitType
146
+ ____self_8.setNumberField(
147
+ ____self_8,
132
148
  ("ua" .. tostring(self.index)) .. "b",
133
149
  damageBase
134
150
  )
@@ -141,16 +157,16 @@ __TS__SetDescriptor(
141
157
  "damageDiceCount",
142
158
  {
143
159
  get = function(self)
144
- local ____self_8 = self.unitType
145
- return ____self_8.getNumberField(
146
- ____self_8,
160
+ local ____self_9 = self.unitType
161
+ return ____self_9.getNumberField(
162
+ ____self_9,
147
163
  ("ua" .. tostring(self.index)) .. "d"
148
164
  )
149
165
  end,
150
166
  set = function(self, damageDiceNumber)
151
- local ____self_9 = self.unitType
152
- ____self_9.setNumberField(
153
- ____self_9,
167
+ local ____self_10 = self.unitType
168
+ ____self_10.setNumberField(
169
+ ____self_10,
154
170
  ("ua" .. tostring(self.index)) .. "d",
155
171
  damageDiceNumber
156
172
  )
@@ -163,16 +179,16 @@ __TS__SetDescriptor(
163
179
  "damageDiceSideCount",
164
180
  {
165
181
  get = function(self)
166
- local ____self_10 = self.unitType
167
- return ____self_10.getNumberField(
168
- ____self_10,
182
+ local ____self_11 = self.unitType
183
+ return ____self_11.getNumberField(
184
+ ____self_11,
169
185
  ("ua" .. tostring(self.index)) .. "s"
170
186
  )
171
187
  end,
172
188
  set = function(self, damageDiceSideCount)
173
- local ____self_11 = self.unitType
174
- ____self_11.setNumberField(
175
- ____self_11,
189
+ local ____self_12 = self.unitType
190
+ ____self_12.setNumberField(
191
+ ____self_12,
176
192
  ("ua" .. tostring(self.index)) .. "s",
177
193
  damageDiceSideCount
178
194
  )
@@ -185,16 +201,16 @@ __TS__SetDescriptor(
185
201
  "impactDelay",
186
202
  {
187
203
  get = function(self)
188
- local ____self_12 = self.unitType
189
- return ____self_12.getNumberField(
190
- ____self_12,
204
+ local ____self_13 = self.unitType
205
+ return ____self_13.getNumberField(
206
+ ____self_13,
191
207
  "udp" .. tostring(self.index)
192
208
  )
193
209
  end,
194
210
  set = function(self, impactDelay)
195
- local ____self_13 = self.unitType
196
- ____self_13.setNumberField(
197
- ____self_13,
211
+ local ____self_14 = self.unitType
212
+ ____self_14.setNumberField(
213
+ ____self_14,
198
214
  "udp" .. tostring(self.index),
199
215
  impactDelay
200
216
  )
@@ -202,21 +218,43 @@ __TS__SetDescriptor(
202
218
  },
203
219
  true
204
220
  )
221
+ __TS__SetDescriptor(
222
+ UnitTypeWeapon.prototype,
223
+ "missileArc",
224
+ {
225
+ get = function(self)
226
+ local ____self_15 = self.unitType
227
+ return ____self_15.getNumberField(
228
+ ____self_15,
229
+ "uma" .. tostring(self.index)
230
+ )
231
+ end,
232
+ set = function(self, missileArc)
233
+ local ____self_16 = self.unitType
234
+ ____self_16.setNumberField(
235
+ ____self_16,
236
+ "uma" .. tostring(self.index),
237
+ missileArc
238
+ )
239
+ end
240
+ },
241
+ true
242
+ )
205
243
  __TS__SetDescriptor(
206
244
  UnitTypeWeapon.prototype,
207
245
  "missileModelPath",
208
246
  {
209
247
  get = function(self)
210
- local ____self_14 = self.unitType
211
- return ____self_14.getStringField(
212
- ____self_14,
248
+ local ____self_17 = self.unitType
249
+ return ____self_17.getStringField(
250
+ ____self_17,
213
251
  ("ua" .. tostring(self.index)) .. "m"
214
252
  )
215
253
  end,
216
254
  set = function(self, missileModelPath)
217
- local ____self_15 = self.unitType
218
- ____self_15.setStringField(
219
- ____self_15,
255
+ local ____self_18 = self.unitType
256
+ ____self_18.setStringField(
257
+ ____self_18,
220
258
  ("ua" .. tostring(self.index)) .. "m",
221
259
  missileModelPath
222
260
  )
@@ -224,21 +262,109 @@ __TS__SetDescriptor(
224
262
  },
225
263
  true
226
264
  )
265
+ __TS__SetDescriptor(
266
+ UnitTypeWeapon.prototype,
267
+ "missileModelPathSD",
268
+ {
269
+ get = function(self)
270
+ local ____self_19 = self.unitType
271
+ return ____self_19.getStringField(
272
+ ____self_19,
273
+ ("ua" .. tostring(self.index)) .. "m:sd"
274
+ )
275
+ end,
276
+ set = function(self, missileModelPathSD)
277
+ local ____self_20 = self.unitType
278
+ ____self_20.setStringField(
279
+ ____self_20,
280
+ ("ua" .. tostring(self.index)) .. "m:sd",
281
+ missileModelPathSD
282
+ )
283
+ end
284
+ },
285
+ true
286
+ )
287
+ __TS__SetDescriptor(
288
+ UnitTypeWeapon.prototype,
289
+ "missileModelPathHD",
290
+ {
291
+ get = function(self)
292
+ local ____self_21 = self.unitType
293
+ return ____self_21.getStringField(
294
+ ____self_21,
295
+ ("ua" .. tostring(self.index)) .. "m:hd"
296
+ )
297
+ end,
298
+ set = function(self, missileModelPathHD)
299
+ local ____self_22 = self.unitType
300
+ ____self_22.setStringField(
301
+ ____self_22,
302
+ ("ua" .. tostring(self.index)) .. "m:hd",
303
+ missileModelPathHD
304
+ )
305
+ end
306
+ },
307
+ true
308
+ )
309
+ __TS__SetDescriptor(
310
+ UnitTypeWeapon.prototype,
311
+ "missileModelPathDE",
312
+ {
313
+ get = function(self)
314
+ local ____self_23 = self.unitType
315
+ return ____self_23.getStringField(
316
+ ____self_23,
317
+ ("ua" .. tostring(self.index)) .. "m:de"
318
+ )
319
+ end,
320
+ set = function(self, missileModelPathDE)
321
+ local ____self_24 = self.unitType
322
+ ____self_24.setStringField(
323
+ ____self_24,
324
+ ("ua" .. tostring(self.index)) .. "m:de",
325
+ missileModelPathDE
326
+ )
327
+ end
328
+ },
329
+ true
330
+ )
331
+ __TS__SetDescriptor(
332
+ UnitTypeWeapon.prototype,
333
+ "missileSpeed",
334
+ {
335
+ get = function(self)
336
+ local ____self_25 = self.unitType
337
+ return ____self_25.getNumberField(
338
+ ____self_25,
339
+ ("ua" .. tostring(self.index)) .. "z"
340
+ )
341
+ end,
342
+ set = function(self, missileSpeed)
343
+ local ____self_26 = self.unitType
344
+ ____self_26.setNumberField(
345
+ ____self_26,
346
+ ("ua" .. tostring(self.index)) .. "z",
347
+ missileSpeed
348
+ )
349
+ end
350
+ },
351
+ true
352
+ )
227
353
  __TS__SetDescriptor(
228
354
  UnitTypeWeapon.prototype,
229
355
  "range",
230
356
  {
231
357
  get = function(self)
232
- local ____self_16 = self.unitType
233
- return ____self_16.getNumberField(
234
- ____self_16,
358
+ local ____self_27 = self.unitType
359
+ return ____self_27.getNumberField(
360
+ ____self_27,
235
361
  ("ua" .. tostring(self.index)) .. "r"
236
362
  )
237
363
  end,
238
364
  set = function(self, range)
239
- local ____self_17 = self.unitType
240
- ____self_17.setNumberField(
241
- ____self_17,
365
+ local ____self_28 = self.unitType
366
+ ____self_28.setNumberField(
367
+ ____self_28,
242
368
  ("ua" .. tostring(self.index)) .. "r",
243
369
  range
244
370
  )
@@ -251,16 +377,16 @@ __TS__SetDescriptor(
251
377
  "soundType",
252
378
  {
253
379
  get = function(self)
254
- local ____self_18 = self.unitType
255
- return ____self_18.getStringField(
256
- ____self_18,
380
+ local ____self_29 = self.unitType
381
+ return ____self_29.getStringField(
382
+ ____self_29,
257
383
  "ucs" .. tostring(self.index)
258
384
  )
259
385
  end,
260
386
  set = function(self, soundType)
261
- local ____self_19 = self.unitType
262
- ____self_19.setStringField(
263
- ____self_19,
387
+ local ____self_30 = self.unitType
388
+ ____self_30.setStringField(
389
+ ____self_30,
264
390
  "ucs" .. tostring(self.index),
265
391
  soundType
266
392
  )
@@ -273,16 +399,16 @@ __TS__SetDescriptor(
273
399
  "soundTypeSD",
274
400
  {
275
401
  get = function(self)
276
- local ____self_20 = self.unitType
277
- return ____self_20.getStringField(
278
- ____self_20,
402
+ local ____self_31 = self.unitType
403
+ return ____self_31.getStringField(
404
+ ____self_31,
279
405
  ("ucs" .. tostring(self.index)) .. ":sd"
280
406
  )
281
407
  end,
282
408
  set = function(self, soundTypeSD)
283
- local ____self_21 = self.unitType
284
- ____self_21.setStringField(
285
- ____self_21,
409
+ local ____self_32 = self.unitType
410
+ ____self_32.setStringField(
411
+ ____self_32,
286
412
  ("ucs" .. tostring(self.index)) .. ":sd",
287
413
  soundTypeSD
288
414
  )
@@ -295,22 +421,44 @@ __TS__SetDescriptor(
295
421
  "soundTypeHD",
296
422
  {
297
423
  get = function(self)
298
- local ____self_22 = self.unitType
299
- return ____self_22.getStringField(
300
- ____self_22,
424
+ local ____self_33 = self.unitType
425
+ return ____self_33.getStringField(
426
+ ____self_33,
301
427
  ("ucs" .. tostring(self.index)) .. ":hd"
302
428
  )
303
429
  end,
304
430
  set = function(self, soundTypeHD)
305
- local ____self_23 = self.unitType
306
- ____self_23.setStringField(
307
- ____self_23,
431
+ local ____self_34 = self.unitType
432
+ ____self_34.setStringField(
433
+ ____self_34,
308
434
  ("ucs" .. tostring(self.index)) .. ":hd",
309
435
  soundTypeHD
310
436
  )
311
437
  end
312
438
  },
313
439
  true
440
+ )
441
+ __TS__SetDescriptor(
442
+ UnitTypeWeapon.prototype,
443
+ "soundTypeDE",
444
+ {
445
+ get = function(self)
446
+ local ____self_35 = self.unitType
447
+ return ____self_35.getStringField(
448
+ ____self_35,
449
+ ("ucs" .. tostring(self.index)) .. ":de"
450
+ )
451
+ end,
452
+ set = function(self, soundTypeDE)
453
+ local ____self_36 = self.unitType
454
+ ____self_36.setStringField(
455
+ ____self_36,
456
+ ("ucs" .. tostring(self.index)) .. ":de",
457
+ soundTypeDE
458
+ )
459
+ end
460
+ },
461
+ true
314
462
  );
315
463
  (function(self)
316
464
  local unitTypeWeaponsByUnitTypeId = {}
@@ -336,6 +484,36 @@ end
336
484
  function UnitType.getObjectData(self, map)
337
485
  return map.objects.unit
338
486
  end
487
+ function UnitType.prototype.emptyPortraitForModel(self, portraitField)
488
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
489
+ self:setStringField(portraitField, "")
490
+ if self.autoEmptiedPortraitFields == nil then
491
+ self.autoEmptiedPortraitFields = {}
492
+ end
493
+ self.autoEmptiedPortraitFields[portraitField] = true
494
+ end
495
+ end
496
+ function UnitType.prototype.setPortraitModelPathField(self, portraitField, portraitModelPath)
497
+ local autoEmptiedPortraitFields = self.autoEmptiedPortraitFields
498
+ if autoEmptiedPortraitFields ~= nil then
499
+ if portraitField == "upor" then
500
+ for field in pairs(autoEmptiedPortraitFields) do
501
+ if field ~= portraitField then
502
+ self.object:setField(field, nil)
503
+ end
504
+ end
505
+ self.autoEmptiedPortraitFields = nil
506
+ else
507
+ autoEmptiedPortraitFields[portraitField] = nil
508
+ end
509
+ end
510
+ self:setStringField(portraitField, portraitModelPath)
511
+ self.isPortraitModelPathSet = true
512
+ end
513
+ function UnitType.prototype.setDeathTypeFlag(self, flag, value)
514
+ local deathType = self:getNumberField("udea")
515
+ self:setNumberField("udea", value and deathType | flag or deathType & ~flag)
516
+ end
339
517
  UnitType.idGenerator = __TS__New(
340
518
  ObjectDataEntryIdGenerator,
341
519
  fourCC("x000")
@@ -345,10 +523,10 @@ __TS__SetDescriptor(
345
523
  "abilityTypeIds",
346
524
  {
347
525
  get = function(self)
348
- return self:getObjectDataEntryIdsField("uabi")
526
+ return self:getObjectDataEntryNumericIdsField("uabi")
349
527
  end,
350
528
  set = function(self, abilityTypeIds)
351
- self:setObjectDataEntryIdsField("uabi", abilityTypeIds)
529
+ self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
352
530
  end
353
531
  },
354
532
  true
@@ -358,10 +536,10 @@ __TS__SetDescriptor(
358
536
  "defaultActiveAbilityTypeId",
359
537
  {
360
538
  get = function(self)
361
- return self:getObjectDataEntryIdsField("udaa")[1]
539
+ return self:getObjectDataEntryNumericIdsField("udaa")[1]
362
540
  end,
363
541
  set = function(self, abilityTypeId)
364
- self:setObjectDataEntryIdsField(
542
+ self:setObjectDataEntryNumericIdsField(
365
543
  "udaa",
366
544
  arrayOfNotNull(abilityTypeId)
367
545
  )
@@ -460,6 +638,32 @@ __TS__SetDescriptor(
460
638
  },
461
639
  true
462
640
  )
641
+ __TS__SetDescriptor(
642
+ UnitType.prototype,
643
+ "isDecayable",
644
+ {
645
+ get = function(self)
646
+ return self:getNumberField("udea") & DEATH_TYPE_DECAYABLE ~= 0
647
+ end,
648
+ set = function(self, isDecayable)
649
+ self:setDeathTypeFlag(DEATH_TYPE_DECAYABLE, isDecayable)
650
+ end
651
+ },
652
+ true
653
+ )
654
+ __TS__SetDescriptor(
655
+ UnitType.prototype,
656
+ "isRaisable",
657
+ {
658
+ get = function(self)
659
+ return self:getNumberField("udea") & DEATH_TYPE_RAISABLE ~= 0
660
+ end,
661
+ set = function(self, isRaisable)
662
+ self:setDeathTypeFlag(DEATH_TYPE_RAISABLE, isRaisable)
663
+ end
664
+ },
665
+ true
666
+ )
463
667
  __TS__SetDescriptor(
464
668
  UnitType.prototype,
465
669
  "iconPath",
@@ -499,6 +703,19 @@ __TS__SetDescriptor(
499
703
  },
500
704
  true
501
705
  )
706
+ __TS__SetDescriptor(
707
+ UnitType.prototype,
708
+ "iconPathDE",
709
+ {
710
+ get = function(self)
711
+ return self:getStringField("uico:de")
712
+ end,
713
+ set = function(self, iconPathDE)
714
+ self:setStringField("uico:de", iconPathDE)
715
+ end
716
+ },
717
+ true
718
+ )
502
719
  __TS__SetDescriptor(
503
720
  UnitType.prototype,
504
721
  "isMissileScalingEnabled",
@@ -603,6 +820,19 @@ __TS__SetDescriptor(
603
820
  },
604
821
  true
605
822
  )
823
+ __TS__SetDescriptor(
824
+ UnitType.prototype,
825
+ "missileLaunchOffsetZDE",
826
+ {
827
+ get = function(self)
828
+ return self:getNumberField("ulpz:de")
829
+ end,
830
+ set = function(self, missileLaunchOffsetZDE)
831
+ self:setNumberField("ulpz:de", missileLaunchOffsetZDE)
832
+ end
833
+ },
834
+ true
835
+ )
606
836
  __TS__SetDescriptor(
607
837
  UnitType.prototype,
608
838
  "missileLaunchSwimmingOffsetZ",
@@ -642,6 +872,19 @@ __TS__SetDescriptor(
642
872
  },
643
873
  true
644
874
  )
875
+ __TS__SetDescriptor(
876
+ UnitType.prototype,
877
+ "missileLaunchSwimmingOffsetZDE",
878
+ {
879
+ get = function(self)
880
+ return self:getNumberField("ulsz:de")
881
+ end,
882
+ set = function(self, missileLaunchSwimmingOffsetZDE)
883
+ self:setNumberField("ulsz:de", missileLaunchSwimmingOffsetZDE)
884
+ end
885
+ },
886
+ true
887
+ )
645
888
  __TS__SetDescriptor(
646
889
  UnitType.prototype,
647
890
  "missileLaunchVisualOffsetX",
@@ -681,6 +924,19 @@ __TS__SetDescriptor(
681
924
  },
682
925
  true
683
926
  )
927
+ __TS__SetDescriptor(
928
+ UnitType.prototype,
929
+ "missileLaunchVisualOffsetXDE",
930
+ {
931
+ get = function(self)
932
+ return self:getNumberField("projectileVisOffsetX:de")
933
+ end,
934
+ set = function(self, missileLaunchVisualOffsetXDE)
935
+ self:setNumberField("projectileVisOffsetX:de", missileLaunchVisualOffsetXDE)
936
+ end
937
+ },
938
+ true
939
+ )
684
940
  __TS__SetDescriptor(
685
941
  UnitType.prototype,
686
942
  "missileLaunchVisualOffsetY",
@@ -720,6 +976,19 @@ __TS__SetDescriptor(
720
976
  },
721
977
  true
722
978
  )
979
+ __TS__SetDescriptor(
980
+ UnitType.prototype,
981
+ "missileLaunchVisualOffsetYDE",
982
+ {
983
+ get = function(self)
984
+ return self:getNumberField("projectileVisOffsetY:de")
985
+ end,
986
+ set = function(self, missileLaunchVisualOffsetYDE)
987
+ self:setNumberField("projectileVisOffsetY:de", missileLaunchVisualOffsetYDE)
988
+ end
989
+ },
990
+ true
991
+ )
723
992
  __TS__SetDescriptor(
724
993
  UnitType.prototype,
725
994
  "missileImpactOffsetZ",
@@ -759,6 +1028,19 @@ __TS__SetDescriptor(
759
1028
  },
760
1029
  true
761
1030
  )
1031
+ __TS__SetDescriptor(
1032
+ UnitType.prototype,
1033
+ "missileImpactOffsetZDE",
1034
+ {
1035
+ get = function(self)
1036
+ return self:getNumberField("uimz:de")
1037
+ end,
1038
+ set = function(self, missileImpactOffsetZDE)
1039
+ self:setNumberField("uimz:de", missileImpactOffsetZDE)
1040
+ end
1041
+ },
1042
+ true
1043
+ )
762
1044
  __TS__SetDescriptor(
763
1045
  UnitType.prototype,
764
1046
  "missileImpactSwimmingOffsetZ",
@@ -798,6 +1080,19 @@ __TS__SetDescriptor(
798
1080
  },
799
1081
  true
800
1082
  )
1083
+ __TS__SetDescriptor(
1084
+ UnitType.prototype,
1085
+ "missileImpactSwimmingOffsetZDE",
1086
+ {
1087
+ get = function(self)
1088
+ return self:getNumberField("uisz:de")
1089
+ end,
1090
+ set = function(self, missileImpactSwimmingOffsetZDE)
1091
+ self:setNumberField("uisz:de", missileImpactSwimmingOffsetZDE)
1092
+ end
1093
+ },
1094
+ true
1095
+ )
801
1096
  __TS__SetDescriptor(
802
1097
  UnitType.prototype,
803
1098
  "modelPath",
@@ -807,6 +1102,7 @@ __TS__SetDescriptor(
807
1102
  end,
808
1103
  set = function(self, modelPath)
809
1104
  self:setStringField("umdl", modelPath)
1105
+ self:emptyPortraitForModel("upor")
810
1106
  end
811
1107
  },
812
1108
  true
@@ -820,6 +1116,7 @@ __TS__SetDescriptor(
820
1116
  end,
821
1117
  set = function(self, modelPathSD)
822
1118
  self:setStringField("umdl:sd", modelPathSD)
1119
+ self:emptyPortraitForModel("upor:sd")
823
1120
  end
824
1121
  },
825
1122
  true
@@ -833,6 +1130,73 @@ __TS__SetDescriptor(
833
1130
  end,
834
1131
  set = function(self, modelPathHD)
835
1132
  self:setStringField("umdl:hd", modelPathHD)
1133
+ self:emptyPortraitForModel("upor:hd")
1134
+ end
1135
+ },
1136
+ true
1137
+ )
1138
+ __TS__SetDescriptor(
1139
+ UnitType.prototype,
1140
+ "modelPathDE",
1141
+ {
1142
+ get = function(self)
1143
+ return self:getStringField("umdl:de")
1144
+ end,
1145
+ set = function(self, modelPathDE)
1146
+ self:setStringField("umdl:de", modelPathDE)
1147
+ self:emptyPortraitForModel("upor:de")
1148
+ end
1149
+ },
1150
+ true
1151
+ )
1152
+ __TS__SetDescriptor(
1153
+ UnitType.prototype,
1154
+ "portraitModelPath",
1155
+ {
1156
+ get = function(self)
1157
+ return self:getStringField("upor")
1158
+ end,
1159
+ set = function(self, portraitModelPath)
1160
+ self:setPortraitModelPathField("upor", portraitModelPath)
1161
+ end
1162
+ },
1163
+ true
1164
+ )
1165
+ __TS__SetDescriptor(
1166
+ UnitType.prototype,
1167
+ "portraitModelPathSD",
1168
+ {
1169
+ get = function(self)
1170
+ return self:getStringField("upor:sd")
1171
+ end,
1172
+ set = function(self, portraitModelPathSD)
1173
+ self:setPortraitModelPathField("upor:sd", portraitModelPathSD)
1174
+ end
1175
+ },
1176
+ true
1177
+ )
1178
+ __TS__SetDescriptor(
1179
+ UnitType.prototype,
1180
+ "portraitModelPathHD",
1181
+ {
1182
+ get = function(self)
1183
+ return self:getStringField("upor:hd")
1184
+ end,
1185
+ set = function(self, portraitModelPathHD)
1186
+ self:setPortraitModelPathField("upor:hd", portraitModelPathHD)
1187
+ end
1188
+ },
1189
+ true
1190
+ )
1191
+ __TS__SetDescriptor(
1192
+ UnitType.prototype,
1193
+ "portraitModelPathDE",
1194
+ {
1195
+ get = function(self)
1196
+ return self:getStringField("upor:de")
1197
+ end,
1198
+ set = function(self, portraitModelPathDE)
1199
+ self:setPortraitModelPathField("upor:de", portraitModelPathDE)
836
1200
  end
837
1201
  },
838
1202
  true
@@ -876,6 +1240,32 @@ __TS__SetDescriptor(
876
1240
  },
877
1241
  true
878
1242
  )
1243
+ __TS__SetDescriptor(
1244
+ UnitType.prototype,
1245
+ "runSpeedDE",
1246
+ {
1247
+ get = function(self)
1248
+ return self:getNumberField("urun:de")
1249
+ end,
1250
+ set = function(self, runSpeedDE)
1251
+ self:setNumberField("urun:de", runSpeedDE)
1252
+ end
1253
+ },
1254
+ true
1255
+ )
1256
+ __TS__SetDescriptor(
1257
+ UnitType.prototype,
1258
+ "selectionCircleHeight",
1259
+ {
1260
+ get = function(self)
1261
+ return self:getNumberField("uslz")
1262
+ end,
1263
+ set = function(self, height)
1264
+ self:setNumberField("uslz", height)
1265
+ end
1266
+ },
1267
+ true
1268
+ )
879
1269
  __TS__SetDescriptor(
880
1270
  UnitType.prototype,
881
1271
  "selectionCircleScale",
@@ -915,6 +1305,19 @@ __TS__SetDescriptor(
915
1305
  },
916
1306
  true
917
1307
  )
1308
+ __TS__SetDescriptor(
1309
+ UnitType.prototype,
1310
+ "selectionCircleScaleDE",
1311
+ {
1312
+ get = function(self)
1313
+ return self:getNumberField("ussc:de")
1314
+ end,
1315
+ set = function(self, selectionCircleScaleDE)
1316
+ self:setNumberField("ussc:de", selectionCircleScaleDE)
1317
+ end
1318
+ },
1319
+ true
1320
+ )
918
1321
  __TS__SetDescriptor(
919
1322
  UnitType.prototype,
920
1323
  "scale",
@@ -954,6 +1357,19 @@ __TS__SetDescriptor(
954
1357
  },
955
1358
  true
956
1359
  )
1360
+ __TS__SetDescriptor(
1361
+ UnitType.prototype,
1362
+ "scaleDE",
1363
+ {
1364
+ get = function(self)
1365
+ return self:getNumberField("usca:de")
1366
+ end,
1367
+ set = function(self, scaleDE)
1368
+ self:setNumberField("usca:de", scaleDE)
1369
+ end
1370
+ },
1371
+ true
1372
+ )
957
1373
  __TS__SetDescriptor(
958
1374
  UnitType.prototype,
959
1375
  "scoreScreenIconPath",
@@ -993,6 +1409,19 @@ __TS__SetDescriptor(
993
1409
  },
994
1410
  true
995
1411
  )
1412
+ __TS__SetDescriptor(
1413
+ UnitType.prototype,
1414
+ "scoreScreenIconPathDE",
1415
+ {
1416
+ get = function(self)
1417
+ return self:getStringField("ussi:de")
1418
+ end,
1419
+ set = function(self, scoreScreenIconPathDE)
1420
+ self:setStringField("ussi:de", scoreScreenIconPathDE)
1421
+ end
1422
+ },
1423
+ true
1424
+ )
996
1425
  __TS__SetDescriptor(
997
1426
  UnitType.prototype,
998
1427
  "specialEffectModelPath",
@@ -1032,6 +1461,19 @@ __TS__SetDescriptor(
1032
1461
  },
1033
1462
  true
1034
1463
  )
1464
+ __TS__SetDescriptor(
1465
+ UnitType.prototype,
1466
+ "specialEffectModelPathDE",
1467
+ {
1468
+ get = function(self)
1469
+ return self:getStringField("uspa:de")
1470
+ end,
1471
+ set = function(self, specialEffectModelPathDE)
1472
+ self:setStringField("uspa:de", specialEffectModelPathDE)
1473
+ end
1474
+ },
1475
+ true
1476
+ )
1035
1477
  __TS__SetDescriptor(
1036
1478
  UnitType.prototype,
1037
1479
  "shadowImageHeight",
@@ -1123,6 +1565,32 @@ __TS__SetDescriptor(
1123
1565
  },
1124
1566
  true
1125
1567
  )
1568
+ __TS__SetDescriptor(
1569
+ UnitType.prototype,
1570
+ "walkSpeedDE",
1571
+ {
1572
+ get = function(self)
1573
+ return self:getNumberField("uwal:de")
1574
+ end,
1575
+ set = function(self, walkSpeedDE)
1576
+ self:setNumberField("uwal:de", walkSpeedDE)
1577
+ end
1578
+ },
1579
+ true
1580
+ )
1581
+ __TS__SetDescriptor(
1582
+ UnitType.prototype,
1583
+ "armor",
1584
+ {
1585
+ get = function(self)
1586
+ return self:getNumberField("udef")
1587
+ end,
1588
+ set = function(self, armor)
1589
+ self:setNumberField("udef", armor)
1590
+ end
1591
+ },
1592
+ true
1593
+ )
1126
1594
  __TS__SetDescriptor(
1127
1595
  UnitType.prototype,
1128
1596
  "armorSoundType",
@@ -1162,6 +1630,35 @@ __TS__SetDescriptor(
1162
1630
  },
1163
1631
  true
1164
1632
  )
1633
+ __TS__SetDescriptor(
1634
+ UnitType.prototype,
1635
+ "armorSoundTypeDE",
1636
+ {
1637
+ get = function(self)
1638
+ return self:getStringField("uarm:de")
1639
+ end,
1640
+ set = function(self, armorSoundTypeDE)
1641
+ self:setStringField("uarm:de", armorSoundTypeDE)
1642
+ end
1643
+ },
1644
+ true
1645
+ )
1646
+ __TS__SetDescriptor(
1647
+ UnitType.prototype,
1648
+ "armorType",
1649
+ {
1650
+ get = function(self)
1651
+ return stringToArmorType(self:getStringField("udty"))
1652
+ end,
1653
+ set = function(self, armorType)
1654
+ self:setStringField(
1655
+ "udty",
1656
+ armorTypeToString(armorType)
1657
+ )
1658
+ end
1659
+ },
1660
+ true
1661
+ )
1165
1662
  __TS__SetDescriptor(
1166
1663
  UnitType.prototype,
1167
1664
  "combatClassifications",
@@ -1180,7 +1677,7 @@ __TS__SetDescriptor(
1180
1677
  )
1181
1678
  __TS__SetDescriptor(
1182
1679
  UnitType.prototype,
1183
- "unitClassifications",
1680
+ "classifications",
1184
1681
  {
1185
1682
  get = function(self)
1186
1683
  return stringArrayToUnitClassifications(self:getStringsField("utyp"))
@@ -1288,10 +1785,13 @@ __TS__SetDescriptor(
1288
1785
  "movementType",
1289
1786
  {
1290
1787
  get = function(self)
1291
- return self:getStringField("umvt")
1788
+ return stringToMovementType(self:getStringField("umvt"))
1292
1789
  end,
1293
1790
  set = function(self, movementType)
1294
- self:setStringField("umvt", movementType)
1791
+ self:setStringField(
1792
+ "umvt",
1793
+ movementTypeToString(movementType)
1794
+ )
1295
1795
  end
1296
1796
  },
1297
1797
  true
@@ -1413,6 +1913,19 @@ __TS__SetDescriptor(
1413
1913
  },
1414
1914
  true
1415
1915
  )
1916
+ __TS__SetDescriptor(
1917
+ UnitType.prototype,
1918
+ "level",
1919
+ {
1920
+ get = function(self)
1921
+ return self:getNumberField("ulev")
1922
+ end,
1923
+ set = function(self, level)
1924
+ self:setNumberField("ulev", level)
1925
+ end
1926
+ },
1927
+ true
1928
+ )
1416
1929
  __TS__SetDescriptor(
1417
1930
  UnitType.prototype,
1418
1931
  "manaRegenerationRate",
@@ -1496,10 +2009,10 @@ __TS__SetDescriptor(
1496
2009
  "affectingUpgradeIds",
1497
2010
  {
1498
2011
  get = function(self)
1499
- return self:getObjectDataEntryIdsField("upgr")
2012
+ return self:getObjectDataEntryNumericIdsField("upgr")
1500
2013
  end,
1501
2014
  set = function(self, affectingUpgradeIds)
1502
- self:setObjectDataEntryIdsField("upgr", affectingUpgradeIds)
2015
+ self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
1503
2016
  end
1504
2017
  },
1505
2018
  true
@@ -1559,11 +2072,11 @@ __TS__SetDescriptor(
1559
2072
  implementReadonlyNumberIndexSupplier(
1560
2073
  ____exports.UnitType,
1561
2074
  function(id)
1562
- local ____class_24 = __TS__Class()
1563
- ____class_24.name = ____class_24.name
1564
- __TS__ClassExtends(____class_24, ____exports.UnitType)
1565
- ____class_24.BASE_ID = id
1566
- return ____class_24
2075
+ local ____class_37 = __TS__Class()
2076
+ ____class_37.name = ____class_37.name
2077
+ __TS__ClassExtends(____class_37, ____exports.UnitType)
2078
+ ____class_37.BASE_ID = id
2079
+ return ____class_37
1567
2080
  end
1568
2081
  )
1569
2082
  ____exports.HeroUnitType = __TS__Class()
@@ -1582,10 +2095,10 @@ __TS__SetDescriptor(
1582
2095
  "heroAbilityTypeIds",
1583
2096
  {
1584
2097
  get = function(self)
1585
- return self:getObjectDataEntryIdsField("uhab")
2098
+ return self:getObjectDataEntryNumericIdsField("uhab")
1586
2099
  end,
1587
2100
  set = function(self, heroAbilityTypeIds)
1588
- self:setObjectDataEntryIdsField("uhab", heroAbilityTypeIds)
2101
+ self:setObjectDataEntryNumericIdsField("uhab", heroAbilityTypeIds)
1589
2102
  end
1590
2103
  },
1591
2104
  true
@@ -1624,11 +2137,11 @@ __TS__SetDescriptor(
1624
2137
  implementReadonlyNumberIndexSupplier(
1625
2138
  ____exports.HeroUnitType,
1626
2139
  function(id)
1627
- local ____class_25 = __TS__Class()
1628
- ____class_25.name = ____class_25.name
1629
- __TS__ClassExtends(____class_25, ____exports.HeroUnitType)
1630
- ____class_25.BASE_ID = id
1631
- return ____class_25
2140
+ local ____class_38 = __TS__Class()
2141
+ ____class_38.name = ____class_38.name
2142
+ __TS__ClassExtends(____class_38, ____exports.HeroUnitType)
2143
+ ____class_38.BASE_ID = id
2144
+ return ____class_38
1632
2145
  end
1633
2146
  )
1634
2147
  return ____exports