warscript 0.0.1-dev.9cbb1ff → 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 (388) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/core/dummy.lua +4 -2
  4. package/core/types/effect.d.ts +11 -1
  5. package/core/types/effect.lua +43 -77
  6. package/core/types/frame.d.ts +16 -2
  7. package/core/types/frame.lua +141 -77
  8. package/core/types/handle.lua +9 -9
  9. package/core/types/item.d.ts +1 -0
  10. package/core/types/item.lua +1 -0
  11. package/core/types/player.d.ts +18 -1
  12. package/core/types/player.lua +76 -26
  13. package/core/types/playerCamera.d.ts +2 -0
  14. package/core/types/playerCamera.lua +123 -5
  15. package/core/types/playerColor.lua +4 -3
  16. package/core/types/sound.d.ts +1 -1
  17. package/core/types/sound.lua +14 -9
  18. package/core/types/tileCell.d.ts +18 -3
  19. package/core/types/tileCell.lua +108 -0
  20. package/core/types/timer.d.ts +3 -1
  21. package/core/types/timer.lua +27 -2
  22. package/core/types/unit.d.ts +5 -0
  23. package/core/types/unit.lua +5 -0
  24. package/core/util.d.ts +3 -1
  25. package/core/util.lua +109 -3
  26. package/decl/native.d.ts +1718 -964
  27. package/destroyable.d.ts +1 -0
  28. package/destroyable.lua +9 -0
  29. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  30. package/engine/ability-type-extended-tooltip.lua +44 -0
  31. package/engine/behavior.d.ts +14 -1
  32. package/engine/behavior.lua +230 -70
  33. package/engine/behaviour/ability/apply-buff.lua +5 -5
  34. package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
  35. package/engine/behaviour/ability/damage.d.ts +10 -3
  36. package/engine/behaviour/ability/damage.lua +41 -49
  37. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  38. package/engine/behaviour/ability/emulate-impact.lua +16 -7
  39. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  40. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  41. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  42. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  43. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  44. package/engine/behaviour/ability/restore-mana.lua +6 -6
  45. package/engine/behaviour/ability.d.ts +13 -6
  46. package/engine/behaviour/ability.lua +109 -25
  47. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  48. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  49. package/engine/behaviour/unit.d.ts +40 -3
  50. package/engine/behaviour/unit.lua +270 -6
  51. package/engine/buff.d.ts +114 -58
  52. package/engine/buff.lua +567 -303
  53. package/engine/index.d.ts +2 -1
  54. package/engine/internal/ability.d.ts +14 -1
  55. package/engine/internal/ability.lua +113 -44
  56. package/engine/internal/item/ability.lua +63 -11
  57. package/engine/internal/item/fields.d.ts +12 -0
  58. package/engine/internal/item/fields.lua +33 -0
  59. package/engine/internal/item/owner-cache.d.ts +5 -0
  60. package/engine/internal/item/owner-cache.lua +4 -0
  61. package/engine/internal/item+owner.d.ts +2 -0
  62. package/engine/internal/item+owner.lua +37 -8
  63. package/engine/internal/item.d.ts +32 -16
  64. package/engine/internal/item.lua +257 -82
  65. package/engine/internal/mechanics/cast-ability.lua +6 -3
  66. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  67. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  68. package/engine/internal/misc/frame-coordinates.lua +21 -0
  69. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  70. package/engine/internal/misc/get-terrain-z.lua +11 -0
  71. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  72. package/engine/internal/misc/player-local-handle.lua +5 -0
  73. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  74. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  75. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  76. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  77. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  78. package/engine/internal/object-data/health-bonus.lua +16 -0
  79. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  80. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  81. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  82. package/engine/internal/object-data/mana-bonus.lua +16 -0
  83. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  84. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  85. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  86. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  87. package/engine/internal/unit/ability.d.ts +35 -0
  88. package/engine/internal/unit/ability.lua +98 -9
  89. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  90. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  91. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  92. package/engine/internal/unit/allowed-targets.lua +9 -1
  93. package/engine/internal/unit/appearance.d.ts +15 -0
  94. package/engine/internal/unit/appearance.lua +85 -0
  95. package/engine/internal/unit/attributes.d.ts +17 -0
  96. package/engine/internal/unit/attributes.lua +46 -0
  97. package/engine/internal/unit/bonus.d.ts +17 -0
  98. package/engine/internal/unit/bonus.lua +113 -8
  99. package/engine/internal/unit/buff.d.ts +2 -2
  100. package/engine/internal/unit/buff.lua +34 -19
  101. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  102. package/engine/internal/unit/equipment-inventory.lua +233 -0
  103. package/engine/internal/unit/expiration-timer.lua +1 -1
  104. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  105. package/engine/internal/unit/extended-inventory.lua +99 -0
  106. package/engine/internal/unit/fly-height.d.ts +7 -0
  107. package/engine/internal/unit/fly-height.lua +20 -0
  108. package/engine/internal/unit/ignore-events-items.lua +10 -1
  109. package/engine/internal/unit/interrupts.d.ts +12 -0
  110. package/engine/internal/unit/interrupts.lua +28 -0
  111. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  112. package/engine/internal/unit/inventory.lua +87 -0
  113. package/engine/internal/unit/item-container.d.ts +25 -0
  114. package/engine/internal/unit/item-container.lua +11 -0
  115. package/engine/internal/unit/item-order-events.d.ts +17 -0
  116. package/engine/internal/unit/item-order-events.lua +67 -0
  117. package/engine/internal/unit/item-slot.d.ts +27 -0
  118. package/engine/internal/unit/item-slot.lua +92 -0
  119. package/engine/internal/unit/main-selected.lua +12 -27
  120. package/engine/internal/unit/order.d.ts +20 -0
  121. package/engine/internal/unit/order.lua +136 -0
  122. package/engine/internal/unit/range-event.d.ts +12 -0
  123. package/engine/internal/unit/range-event.lua +90 -0
  124. package/engine/internal/unit/scale.d.ts +7 -0
  125. package/engine/internal/unit/scale.lua +20 -0
  126. package/engine/internal/unit+ability.d.ts +2 -1
  127. package/engine/internal/unit+ability.lua +73 -3
  128. package/engine/internal/unit+bonus.lua +3 -3
  129. package/engine/internal/unit+damage.d.ts +11 -11
  130. package/engine/internal/unit+damage.lua +43 -14
  131. package/engine/internal/unit+rally.lua +9 -31
  132. package/engine/internal/unit+spellSteal.lua +1 -2
  133. package/engine/internal/unit-missile-data.lua +58 -32
  134. package/engine/internal/unit-missile-launch.lua +65 -27
  135. package/engine/internal/unit.d.ts +35 -36
  136. package/engine/internal/unit.lua +381 -336
  137. package/engine/local-client.d.ts +28 -0
  138. package/engine/local-client.lua +324 -54
  139. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  140. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  141. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
  142. package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
  143. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  144. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  145. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  146. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  147. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  148. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  149. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  150. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  151. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  152. package/engine/object-data/auxiliary/item-class.lua +2 -0
  153. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  154. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  155. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  156. package/engine/object-data/auxiliary/order-type.lua +2 -0
  157. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  158. package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
  159. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  160. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  161. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  162. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  163. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  164. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  165. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  166. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  167. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  168. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  169. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  170. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  171. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  172. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  173. package/engine/object-data/entry/ability-type/blank-configurable.lua +2 -2
  174. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  175. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  176. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  177. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  178. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  179. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  180. package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
  181. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  182. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  183. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  184. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  185. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  186. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  187. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  188. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  189. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  190. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  191. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  192. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  193. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  194. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  195. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  196. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  197. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  198. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  199. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  200. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  201. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  202. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  203. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  204. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  205. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  206. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  207. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  208. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  209. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  210. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  211. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  212. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  213. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  214. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  215. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  216. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  217. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  218. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  219. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  220. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  221. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  222. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  223. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  224. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  225. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  226. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  227. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  228. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  229. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  230. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  231. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  232. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  233. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  234. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  235. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  236. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  237. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  238. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  239. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  240. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  241. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  242. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  243. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  244. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  245. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  246. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  247. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  248. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  249. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  250. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  251. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  252. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  253. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  254. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  255. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  256. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  257. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  258. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  259. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  260. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  261. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  262. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  263. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  264. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  265. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  266. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  267. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  268. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  269. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  270. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  271. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  272. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  273. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  274. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  275. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  276. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  277. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  278. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  279. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  280. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  281. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  282. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  283. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  284. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  285. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  286. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  287. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  288. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  289. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  290. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  291. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  292. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  293. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  294. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  295. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  296. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  297. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  298. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  299. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  300. package/engine/object-data/entry/ability-type.d.ts +33 -8
  301. package/engine/object-data/entry/ability-type.lua +291 -15
  302. package/engine/object-data/entry/buff-type/applicable.lua +122 -111
  303. package/engine/object-data/entry/buff-type.d.ts +6 -2
  304. package/engine/object-data/entry/buff-type.lua +26 -0
  305. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  306. package/engine/object-data/entry/destructible-type.lua +181 -0
  307. package/engine/object-data/entry/item-type.d.ts +18 -3
  308. package/engine/object-data/entry/item-type.lua +84 -0
  309. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  310. package/engine/object-data/entry/lightning-type.lua +1 -1
  311. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  312. package/engine/object-data/entry/unit-type.d.ts +74 -6
  313. package/engine/object-data/entry/unit-type.lua +552 -98
  314. package/engine/object-data/entry/upgrade.d.ts +2 -2
  315. package/engine/object-data/entry.d.ts +6 -1
  316. package/engine/object-data/entry.lua +8 -0
  317. package/engine/object-field/ability.d.ts +4 -4
  318. package/engine/object-field/ability.lua +9 -8
  319. package/engine/object-field/item.d.ts +22 -0
  320. package/engine/object-field/item.lua +118 -0
  321. package/engine/object-field/unit.d.ts +72 -3
  322. package/engine/object-field/unit.lua +268 -7
  323. package/engine/object-field.d.ts +18 -7
  324. package/engine/object-field.lua +294 -135
  325. package/engine/random.d.ts +10 -0
  326. package/engine/random.lua +21 -0
  327. package/engine/standard/entries/ability-type.d.ts +3102 -7
  328. package/engine/standard/entries/ability-type.lua +0 -6
  329. package/engine/standard/entries/buff-type.d.ts +45 -0
  330. package/engine/standard/entries/buff-type.lua +43 -0
  331. package/engine/standard/entries/item-type.d.ts +1299 -0
  332. package/engine/standard/entries/item-type.lua +2 -0
  333. package/engine/standard/entries/lightning-type.d.ts +42 -15
  334. package/engine/standard/entries/lightning-type.lua +0 -14
  335. package/engine/standard/entries/unit-type.d.ts +5 -0
  336. package/engine/standard/entries/unit-type.lua +5 -0
  337. package/engine/standard/fields/ability.d.ts +4 -4
  338. package/engine/standard/fields/ability.lua +4 -4
  339. package/engine/standard/fields/item.d.ts +4 -0
  340. package/engine/standard/fields/item.lua +6 -0
  341. package/engine/standard/fields/unit.d.ts +12 -0
  342. package/engine/standard/fields/unit.lua +20 -0
  343. package/engine/synchronization.d.ts +11 -0
  344. package/engine/synchronization.lua +77 -0
  345. package/engine/text-tag.d.ts +36 -2
  346. package/engine/text-tag.lua +250 -10
  347. package/engine/unit.d.ts +11 -1
  348. package/engine/unit.lua +11 -1
  349. package/event.d.ts +1 -1
  350. package/lualib_bundle.lua +1 -1
  351. package/math.d.ts +2 -0
  352. package/math.lua +14 -0
  353. package/net/socket.lua +1 -1
  354. package/network.lua +25 -1
  355. package/objutil/buff.lua +12 -11
  356. package/objutil/object.lua +1 -1
  357. package/operation.d.ts +8 -1
  358. package/operation.lua +38 -18
  359. package/package.json +3 -23
  360. package/patch-lua.lua +15 -0
  361. package/patch-lualib.lua +1 -1
  362. package/utility/arrays.d.ts +9 -1
  363. package/utility/arrays.lua +28 -0
  364. package/utility/callback-array.d.ts +17 -0
  365. package/utility/callback-array.lua +61 -0
  366. package/utility/functions.d.ts +8 -0
  367. package/utility/functions.lua +13 -0
  368. package/utility/linked-map.d.ts +35 -0
  369. package/utility/linked-map.lua +107 -0
  370. package/utility/linked-set.d.ts +4 -1
  371. package/utility/linked-set.lua +46 -1
  372. package/utility/lua-maps.d.ts +12 -2
  373. package/utility/lua-maps.lua +37 -2
  374. package/utility/lua-sets.d.ts +1 -0
  375. package/utility/lua-sets.lua +4 -0
  376. package/utility/random.d.ts +102 -0
  377. package/utility/random.lua +273 -0
  378. package/utility/records.lua +20 -1
  379. package/utility/types.d.ts +3 -0
  380. package/utility/unordered-map.d.ts +27 -0
  381. package/utility/unordered-map.lua +99 -0
  382. package/core/types/order.d.ts +0 -25
  383. package/core/types/order.lua +0 -55
  384. package/engine/internal/unit/item.lua +0 -78
  385. /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
  386. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  387. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  388. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -22,9 +22,19 @@ local ____entry = require("engine.object-data.entry")
22
22
  local ObjectDataEntry = ____entry.ObjectDataEntry
23
23
  local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
24
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
25
28
  local ____config = require("config")
26
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
27
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
28
38
  ____exports.UnitTypeWeapon = __TS__Class()
29
39
  local UnitTypeWeapon = ____exports.UnitTypeWeapon
30
40
  UnitTypeWeapon.name = "UnitTypeWeapon"
@@ -37,18 +47,19 @@ __TS__SetDescriptor(
37
47
  "attackType",
38
48
  {
39
49
  get = function(self)
50
+ local ____stringToAttackType_1 = stringToAttackType
40
51
  local ____self_0 = self.unitType
41
- return ____self_0.getStringField(
52
+ return ____stringToAttackType_1(____self_0.getStringField(
42
53
  ____self_0,
43
54
  ("ua" .. tostring(self.index)) .. "t"
44
- )
55
+ ))
45
56
  end,
46
57
  set = function(self, attackType)
47
- local ____self_1 = self.unitType
48
- ____self_1.setStringField(
49
- ____self_1,
58
+ local ____self_2 = self.unitType
59
+ ____self_2.setStringField(
60
+ ____self_2,
50
61
  ("ua" .. tostring(self.index)) .. "t",
51
- attackType
62
+ attackTypeToString(attackType)
52
63
  )
53
64
  end
54
65
  },
@@ -59,16 +70,16 @@ __TS__SetDescriptor(
59
70
  "backSwingDuration",
60
71
  {
61
72
  get = function(self)
62
- local ____self_2 = self.unitType
63
- return ____self_2.getNumberField(
64
- ____self_2,
73
+ local ____self_3 = self.unitType
74
+ return ____self_3.getNumberField(
75
+ ____self_3,
65
76
  "ubs" .. tostring(self.index)
66
77
  )
67
78
  end,
68
79
  set = function(self, backSwingDuration)
69
- local ____self_3 = self.unitType
70
- ____self_3.setNumberField(
71
- ____self_3,
80
+ local ____self_4 = self.unitType
81
+ ____self_4.setNumberField(
82
+ ____self_4,
72
83
  "ubs" .. tostring(self.index),
73
84
  backSwingDuration
74
85
  )
@@ -81,16 +92,16 @@ __TS__SetDescriptor(
81
92
  "cooldown",
82
93
  {
83
94
  get = function(self)
84
- local ____self_4 = self.unitType
85
- return ____self_4.getNumberField(
86
- ____self_4,
95
+ local ____self_5 = self.unitType
96
+ return ____self_5.getNumberField(
97
+ ____self_5,
87
98
  ("ua" .. tostring(self.index)) .. "c"
88
99
  )
89
100
  end,
90
101
  set = function(self, cooldown)
91
- local ____self_5 = self.unitType
92
- ____self_5.setNumberField(
93
- ____self_5,
102
+ local ____self_6 = self.unitType
103
+ ____self_6.setNumberField(
104
+ ____self_6,
94
105
  ("ua" .. tostring(self.index)) .. "c",
95
106
  cooldown
96
107
  )
@@ -124,16 +135,16 @@ __TS__SetDescriptor(
124
135
  "damageBase",
125
136
  {
126
137
  get = function(self)
127
- local ____self_6 = self.unitType
128
- return ____self_6.getNumberField(
129
- ____self_6,
138
+ local ____self_7 = self.unitType
139
+ return ____self_7.getNumberField(
140
+ ____self_7,
130
141
  ("ua" .. tostring(self.index)) .. "b"
131
142
  )
132
143
  end,
133
144
  set = function(self, damageBase)
134
- local ____self_7 = self.unitType
135
- ____self_7.setNumberField(
136
- ____self_7,
145
+ local ____self_8 = self.unitType
146
+ ____self_8.setNumberField(
147
+ ____self_8,
137
148
  ("ua" .. tostring(self.index)) .. "b",
138
149
  damageBase
139
150
  )
@@ -146,16 +157,16 @@ __TS__SetDescriptor(
146
157
  "damageDiceCount",
147
158
  {
148
159
  get = function(self)
149
- local ____self_8 = self.unitType
150
- return ____self_8.getNumberField(
151
- ____self_8,
160
+ local ____self_9 = self.unitType
161
+ return ____self_9.getNumberField(
162
+ ____self_9,
152
163
  ("ua" .. tostring(self.index)) .. "d"
153
164
  )
154
165
  end,
155
166
  set = function(self, damageDiceNumber)
156
- local ____self_9 = self.unitType
157
- ____self_9.setNumberField(
158
- ____self_9,
167
+ local ____self_10 = self.unitType
168
+ ____self_10.setNumberField(
169
+ ____self_10,
159
170
  ("ua" .. tostring(self.index)) .. "d",
160
171
  damageDiceNumber
161
172
  )
@@ -168,16 +179,16 @@ __TS__SetDescriptor(
168
179
  "damageDiceSideCount",
169
180
  {
170
181
  get = function(self)
171
- local ____self_10 = self.unitType
172
- return ____self_10.getNumberField(
173
- ____self_10,
182
+ local ____self_11 = self.unitType
183
+ return ____self_11.getNumberField(
184
+ ____self_11,
174
185
  ("ua" .. tostring(self.index)) .. "s"
175
186
  )
176
187
  end,
177
188
  set = function(self, damageDiceSideCount)
178
- local ____self_11 = self.unitType
179
- ____self_11.setNumberField(
180
- ____self_11,
189
+ local ____self_12 = self.unitType
190
+ ____self_12.setNumberField(
191
+ ____self_12,
181
192
  ("ua" .. tostring(self.index)) .. "s",
182
193
  damageDiceSideCount
183
194
  )
@@ -190,16 +201,16 @@ __TS__SetDescriptor(
190
201
  "impactDelay",
191
202
  {
192
203
  get = function(self)
193
- local ____self_12 = self.unitType
194
- return ____self_12.getNumberField(
195
- ____self_12,
204
+ local ____self_13 = self.unitType
205
+ return ____self_13.getNumberField(
206
+ ____self_13,
196
207
  "udp" .. tostring(self.index)
197
208
  )
198
209
  end,
199
210
  set = function(self, impactDelay)
200
- local ____self_13 = self.unitType
201
- ____self_13.setNumberField(
202
- ____self_13,
211
+ local ____self_14 = self.unitType
212
+ ____self_14.setNumberField(
213
+ ____self_14,
203
214
  "udp" .. tostring(self.index),
204
215
  impactDelay
205
216
  )
@@ -207,21 +218,43 @@ __TS__SetDescriptor(
207
218
  },
208
219
  true
209
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
+ )
210
243
  __TS__SetDescriptor(
211
244
  UnitTypeWeapon.prototype,
212
245
  "missileModelPath",
213
246
  {
214
247
  get = function(self)
215
- local ____self_14 = self.unitType
216
- return ____self_14.getStringField(
217
- ____self_14,
248
+ local ____self_17 = self.unitType
249
+ return ____self_17.getStringField(
250
+ ____self_17,
218
251
  ("ua" .. tostring(self.index)) .. "m"
219
252
  )
220
253
  end,
221
254
  set = function(self, missileModelPath)
222
- local ____self_15 = self.unitType
223
- ____self_15.setStringField(
224
- ____self_15,
255
+ local ____self_18 = self.unitType
256
+ ____self_18.setStringField(
257
+ ____self_18,
225
258
  ("ua" .. tostring(self.index)) .. "m",
226
259
  missileModelPath
227
260
  )
@@ -229,21 +262,109 @@ __TS__SetDescriptor(
229
262
  },
230
263
  true
231
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
+ )
232
353
  __TS__SetDescriptor(
233
354
  UnitTypeWeapon.prototype,
234
355
  "range",
235
356
  {
236
357
  get = function(self)
237
- local ____self_16 = self.unitType
238
- return ____self_16.getNumberField(
239
- ____self_16,
358
+ local ____self_27 = self.unitType
359
+ return ____self_27.getNumberField(
360
+ ____self_27,
240
361
  ("ua" .. tostring(self.index)) .. "r"
241
362
  )
242
363
  end,
243
364
  set = function(self, range)
244
- local ____self_17 = self.unitType
245
- ____self_17.setNumberField(
246
- ____self_17,
365
+ local ____self_28 = self.unitType
366
+ ____self_28.setNumberField(
367
+ ____self_28,
247
368
  ("ua" .. tostring(self.index)) .. "r",
248
369
  range
249
370
  )
@@ -256,16 +377,16 @@ __TS__SetDescriptor(
256
377
  "soundType",
257
378
  {
258
379
  get = function(self)
259
- local ____self_18 = self.unitType
260
- return ____self_18.getStringField(
261
- ____self_18,
380
+ local ____self_29 = self.unitType
381
+ return ____self_29.getStringField(
382
+ ____self_29,
262
383
  "ucs" .. tostring(self.index)
263
384
  )
264
385
  end,
265
386
  set = function(self, soundType)
266
- local ____self_19 = self.unitType
267
- ____self_19.setStringField(
268
- ____self_19,
387
+ local ____self_30 = self.unitType
388
+ ____self_30.setStringField(
389
+ ____self_30,
269
390
  "ucs" .. tostring(self.index),
270
391
  soundType
271
392
  )
@@ -278,16 +399,16 @@ __TS__SetDescriptor(
278
399
  "soundTypeSD",
279
400
  {
280
401
  get = function(self)
281
- local ____self_20 = self.unitType
282
- return ____self_20.getStringField(
283
- ____self_20,
402
+ local ____self_31 = self.unitType
403
+ return ____self_31.getStringField(
404
+ ____self_31,
284
405
  ("ucs" .. tostring(self.index)) .. ":sd"
285
406
  )
286
407
  end,
287
408
  set = function(self, soundTypeSD)
288
- local ____self_21 = self.unitType
289
- ____self_21.setStringField(
290
- ____self_21,
409
+ local ____self_32 = self.unitType
410
+ ____self_32.setStringField(
411
+ ____self_32,
291
412
  ("ucs" .. tostring(self.index)) .. ":sd",
292
413
  soundTypeSD
293
414
  )
@@ -300,22 +421,44 @@ __TS__SetDescriptor(
300
421
  "soundTypeHD",
301
422
  {
302
423
  get = function(self)
303
- local ____self_22 = self.unitType
304
- return ____self_22.getStringField(
305
- ____self_22,
424
+ local ____self_33 = self.unitType
425
+ return ____self_33.getStringField(
426
+ ____self_33,
306
427
  ("ucs" .. tostring(self.index)) .. ":hd"
307
428
  )
308
429
  end,
309
430
  set = function(self, soundTypeHD)
310
- local ____self_23 = self.unitType
311
- ____self_23.setStringField(
312
- ____self_23,
431
+ local ____self_34 = self.unitType
432
+ ____self_34.setStringField(
433
+ ____self_34,
313
434
  ("ucs" .. tostring(self.index)) .. ":hd",
314
435
  soundTypeHD
315
436
  )
316
437
  end
317
438
  },
318
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
319
462
  );
320
463
  (function(self)
321
464
  local unitTypeWeaponsByUnitTypeId = {}
@@ -341,6 +484,36 @@ end
341
484
  function UnitType.getObjectData(self, map)
342
485
  return map.objects.unit
343
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
344
517
  UnitType.idGenerator = __TS__New(
345
518
  ObjectDataEntryIdGenerator,
346
519
  fourCC("x000")
@@ -465,6 +638,32 @@ __TS__SetDescriptor(
465
638
  },
466
639
  true
467
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
+ )
468
667
  __TS__SetDescriptor(
469
668
  UnitType.prototype,
470
669
  "iconPath",
@@ -504,6 +703,19 @@ __TS__SetDescriptor(
504
703
  },
505
704
  true
506
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
+ )
507
719
  __TS__SetDescriptor(
508
720
  UnitType.prototype,
509
721
  "isMissileScalingEnabled",
@@ -608,6 +820,19 @@ __TS__SetDescriptor(
608
820
  },
609
821
  true
610
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
+ )
611
836
  __TS__SetDescriptor(
612
837
  UnitType.prototype,
613
838
  "missileLaunchSwimmingOffsetZ",
@@ -647,6 +872,19 @@ __TS__SetDescriptor(
647
872
  },
648
873
  true
649
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
+ )
650
888
  __TS__SetDescriptor(
651
889
  UnitType.prototype,
652
890
  "missileLaunchVisualOffsetX",
@@ -686,6 +924,19 @@ __TS__SetDescriptor(
686
924
  },
687
925
  true
688
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
+ )
689
940
  __TS__SetDescriptor(
690
941
  UnitType.prototype,
691
942
  "missileLaunchVisualOffsetY",
@@ -725,6 +976,19 @@ __TS__SetDescriptor(
725
976
  },
726
977
  true
727
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
+ )
728
992
  __TS__SetDescriptor(
729
993
  UnitType.prototype,
730
994
  "missileImpactOffsetZ",
@@ -764,6 +1028,19 @@ __TS__SetDescriptor(
764
1028
  },
765
1029
  true
766
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
+ )
767
1044
  __TS__SetDescriptor(
768
1045
  UnitType.prototype,
769
1046
  "missileImpactSwimmingOffsetZ",
@@ -803,6 +1080,19 @@ __TS__SetDescriptor(
803
1080
  },
804
1081
  true
805
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
+ )
806
1096
  __TS__SetDescriptor(
807
1097
  UnitType.prototype,
808
1098
  "modelPath",
@@ -812,9 +1102,7 @@ __TS__SetDescriptor(
812
1102
  end,
813
1103
  set = function(self, modelPath)
814
1104
  self:setStringField("umdl", modelPath)
815
- if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
816
- self:setStringField("upor", "")
817
- end
1105
+ self:emptyPortraitForModel("upor")
818
1106
  end
819
1107
  },
820
1108
  true
@@ -828,9 +1116,7 @@ __TS__SetDescriptor(
828
1116
  end,
829
1117
  set = function(self, modelPathSD)
830
1118
  self:setStringField("umdl:sd", modelPathSD)
831
- if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
832
- self:setStringField("upor:sd", "")
833
- end
1119
+ self:emptyPortraitForModel("upor:sd")
834
1120
  end
835
1121
  },
836
1122
  true
@@ -844,9 +1130,21 @@ __TS__SetDescriptor(
844
1130
  end,
845
1131
  set = function(self, modelPathHD)
846
1132
  self:setStringField("umdl:hd", modelPathHD)
847
- if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
848
- self:setStringField("upor:hd", "")
849
- end
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")
850
1148
  end
851
1149
  },
852
1150
  true
@@ -859,8 +1157,7 @@ __TS__SetDescriptor(
859
1157
  return self:getStringField("upor")
860
1158
  end,
861
1159
  set = function(self, portraitModelPath)
862
- self:setStringField("upor", portraitModelPath)
863
- self.isPortraitModelPathSet = true
1160
+ self:setPortraitModelPathField("upor", portraitModelPath)
864
1161
  end
865
1162
  },
866
1163
  true
@@ -873,8 +1170,7 @@ __TS__SetDescriptor(
873
1170
  return self:getStringField("upor:sd")
874
1171
  end,
875
1172
  set = function(self, portraitModelPathSD)
876
- self:setStringField("upor:sd", portraitModelPathSD)
877
- self.isPortraitModelPathSet = true
1173
+ self:setPortraitModelPathField("upor:sd", portraitModelPathSD)
878
1174
  end
879
1175
  },
880
1176
  true
@@ -887,8 +1183,20 @@ __TS__SetDescriptor(
887
1183
  return self:getStringField("upor:hd")
888
1184
  end,
889
1185
  set = function(self, portraitModelPathHD)
890
- self:setStringField("upor:hd", portraitModelPathHD)
891
- self.isPortraitModelPathSet = true
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)
892
1200
  end
893
1201
  },
894
1202
  true
@@ -932,6 +1240,32 @@ __TS__SetDescriptor(
932
1240
  },
933
1241
  true
934
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
+ )
935
1269
  __TS__SetDescriptor(
936
1270
  UnitType.prototype,
937
1271
  "selectionCircleScale",
@@ -971,6 +1305,19 @@ __TS__SetDescriptor(
971
1305
  },
972
1306
  true
973
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
+ )
974
1321
  __TS__SetDescriptor(
975
1322
  UnitType.prototype,
976
1323
  "scale",
@@ -1010,6 +1357,19 @@ __TS__SetDescriptor(
1010
1357
  },
1011
1358
  true
1012
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
+ )
1013
1373
  __TS__SetDescriptor(
1014
1374
  UnitType.prototype,
1015
1375
  "scoreScreenIconPath",
@@ -1049,6 +1409,19 @@ __TS__SetDescriptor(
1049
1409
  },
1050
1410
  true
1051
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
+ )
1052
1425
  __TS__SetDescriptor(
1053
1426
  UnitType.prototype,
1054
1427
  "specialEffectModelPath",
@@ -1088,6 +1461,19 @@ __TS__SetDescriptor(
1088
1461
  },
1089
1462
  true
1090
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
+ )
1091
1477
  __TS__SetDescriptor(
1092
1478
  UnitType.prototype,
1093
1479
  "shadowImageHeight",
@@ -1179,6 +1565,32 @@ __TS__SetDescriptor(
1179
1565
  },
1180
1566
  true
1181
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
+ )
1182
1594
  __TS__SetDescriptor(
1183
1595
  UnitType.prototype,
1184
1596
  "armorSoundType",
@@ -1218,6 +1630,35 @@ __TS__SetDescriptor(
1218
1630
  },
1219
1631
  true
1220
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
+ )
1221
1662
  __TS__SetDescriptor(
1222
1663
  UnitType.prototype,
1223
1664
  "combatClassifications",
@@ -1236,7 +1677,7 @@ __TS__SetDescriptor(
1236
1677
  )
1237
1678
  __TS__SetDescriptor(
1238
1679
  UnitType.prototype,
1239
- "unitClassifications",
1680
+ "classifications",
1240
1681
  {
1241
1682
  get = function(self)
1242
1683
  return stringArrayToUnitClassifications(self:getStringsField("utyp"))
@@ -1472,6 +1913,19 @@ __TS__SetDescriptor(
1472
1913
  },
1473
1914
  true
1474
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
+ )
1475
1929
  __TS__SetDescriptor(
1476
1930
  UnitType.prototype,
1477
1931
  "manaRegenerationRate",
@@ -1618,11 +2072,11 @@ __TS__SetDescriptor(
1618
2072
  implementReadonlyNumberIndexSupplier(
1619
2073
  ____exports.UnitType,
1620
2074
  function(id)
1621
- local ____class_24 = __TS__Class()
1622
- ____class_24.name = ____class_24.name
1623
- __TS__ClassExtends(____class_24, ____exports.UnitType)
1624
- ____class_24.BASE_ID = id
1625
- 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
1626
2080
  end
1627
2081
  )
1628
2082
  ____exports.HeroUnitType = __TS__Class()
@@ -1683,11 +2137,11 @@ __TS__SetDescriptor(
1683
2137
  implementReadonlyNumberIndexSupplier(
1684
2138
  ____exports.HeroUnitType,
1685
2139
  function(id)
1686
- local ____class_25 = __TS__Class()
1687
- ____class_25.name = ____class_25.name
1688
- __TS__ClassExtends(____class_25, ____exports.HeroUnitType)
1689
- ____class_25.BASE_ID = id
1690
- 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
1691
2145
  end
1692
2146
  )
1693
2147
  return ____exports