warscript 0.0.1-dev.d750e38 → 0.0.1-dev.d77b529

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 (413) 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 +12 -4
  7. package/core/types/effect.lua +67 -104
  8. package/core/types/frame.d.ts +1 -0
  9. package/core/types/frame.lua +136 -58
  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/player.d.ts +18 -1
  14. package/core/types/player.lua +76 -26
  15. package/core/types/playerCamera.d.ts +2 -0
  16. package/core/types/playerCamera.lua +123 -5
  17. package/core/types/playerColor.lua +4 -3
  18. package/core/types/sound.d.ts +18 -25
  19. package/core/types/sound.lua +113 -33
  20. package/core/types/tileCell.d.ts +11 -1
  21. package/core/types/tileCell.lua +97 -0
  22. package/core/types/timer.d.ts +9 -8
  23. package/core/types/timer.lua +45 -23
  24. package/core/types/unit.d.ts +5 -0
  25. package/core/types/unit.lua +5 -0
  26. package/core/util.d.ts +3 -1
  27. package/core/util.lua +115 -4
  28. package/decl/native.d.ts +1718 -964
  29. package/destroyable.d.ts +1 -0
  30. package/destroyable.lua +9 -0
  31. package/engine/behavior.d.ts +14 -1
  32. package/engine/behavior.lua +230 -70
  33. package/engine/behaviour/ability/apply-buff.d.ts +5 -0
  34. package/engine/behaviour/ability/apply-buff.lua +36 -4
  35. package/engine/behaviour/ability/apply-unit-behavior.lua +6 -0
  36. package/engine/behaviour/ability/damage.d.ts +13 -3
  37. package/engine/behaviour/ability/damage.lua +41 -49
  38. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  39. package/engine/behaviour/ability/emulate-impact.lua +23 -7
  40. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  41. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  42. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  43. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  44. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  45. package/engine/behaviour/ability/restore-mana.lua +6 -6
  46. package/engine/behaviour/ability.d.ts +17 -5
  47. package/engine/behaviour/ability.lua +97 -24
  48. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  49. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  50. package/engine/behaviour/unit.d.ts +41 -2
  51. package/engine/behaviour/unit.lua +270 -6
  52. package/engine/buff.d.ts +121 -59
  53. package/engine/buff.lua +605 -301
  54. package/engine/index.d.ts +2 -1
  55. package/engine/internal/ability.d.ts +11 -1
  56. package/engine/internal/ability.lua +104 -44
  57. package/engine/internal/item/ability.lua +63 -11
  58. package/engine/internal/item/fields.d.ts +12 -0
  59. package/engine/internal/item/fields.lua +33 -0
  60. package/engine/internal/item/owner-cache.d.ts +5 -0
  61. package/engine/internal/item/owner-cache.lua +4 -0
  62. package/engine/internal/item+owner.d.ts +2 -0
  63. package/engine/internal/item+owner.lua +37 -8
  64. package/engine/internal/item.d.ts +34 -18
  65. package/engine/internal/item.lua +308 -102
  66. package/engine/internal/mechanics/ability-duration.lua +1 -1
  67. package/engine/internal/mechanics/cast-ability.lua +6 -3
  68. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  69. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  70. package/engine/internal/misc/frame-coordinates.lua +21 -0
  71. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  72. package/engine/internal/misc/get-terrain-z.lua +11 -0
  73. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  74. package/engine/internal/misc/player-local-handle.lua +5 -0
  75. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  76. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  77. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  78. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  79. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  80. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  81. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  82. package/engine/internal/object-data/evasion-probability.lua +16 -0
  83. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  84. package/engine/internal/object-data/health-bonus.lua +16 -0
  85. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  86. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  87. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  88. package/engine/internal/object-data/mana-bonus.lua +16 -0
  89. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  90. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  91. package/engine/internal/unit/ability.d.ts +35 -0
  92. package/engine/internal/unit/ability.lua +113 -12
  93. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  94. package/engine/internal/unit/add-item-to-slot.lua +57 -14
  95. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  96. package/engine/internal/unit/allowed-targets.lua +9 -1
  97. package/engine/internal/unit/appearance.d.ts +15 -0
  98. package/engine/internal/unit/appearance.lua +85 -0
  99. package/engine/internal/unit/attributes.d.ts +17 -0
  100. package/engine/internal/unit/attributes.lua +46 -0
  101. package/engine/internal/unit/bonus.d.ts +16 -0
  102. package/engine/internal/unit/bonus.lua +119 -8
  103. package/engine/internal/unit/buff.d.ts +2 -2
  104. package/engine/internal/unit/buff.lua +34 -19
  105. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  106. package/engine/internal/unit/equipment-inventory.lua +233 -0
  107. package/engine/internal/unit/expiration-timer.lua +1 -1
  108. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  109. package/engine/internal/unit/extended-inventory.lua +99 -0
  110. package/engine/internal/unit/fly-height.d.ts +7 -0
  111. package/engine/internal/unit/fly-height.lua +20 -0
  112. package/engine/internal/unit/ignore-events-items.lua +10 -1
  113. package/engine/internal/unit/interrupts.d.ts +12 -0
  114. package/engine/internal/unit/interrupts.lua +28 -0
  115. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  116. package/engine/internal/unit/inventory.lua +87 -0
  117. package/engine/internal/unit/item-container.d.ts +25 -0
  118. package/engine/internal/unit/item-container.lua +11 -0
  119. package/engine/internal/unit/item-order-events.d.ts +17 -0
  120. package/engine/internal/unit/item-order-events.lua +67 -0
  121. package/engine/internal/unit/item-slot.d.ts +27 -0
  122. package/engine/internal/unit/item-slot.lua +92 -0
  123. package/engine/internal/unit/main-selected.lua +12 -27
  124. package/engine/internal/unit/order.d.ts +20 -0
  125. package/engine/internal/unit/order.lua +136 -0
  126. package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
  127. package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
  128. package/engine/internal/unit/range-event.d.ts +12 -0
  129. package/engine/internal/unit/range-event.lua +90 -0
  130. package/engine/internal/unit/scale.d.ts +7 -0
  131. package/engine/internal/unit/scale.lua +20 -0
  132. package/engine/internal/unit+ability.d.ts +2 -1
  133. package/engine/internal/unit+ability.lua +73 -3
  134. package/engine/internal/unit+bonus.lua +3 -3
  135. package/engine/internal/unit+damage.d.ts +11 -11
  136. package/engine/internal/unit+damage.lua +43 -14
  137. package/engine/internal/unit+rally.lua +9 -31
  138. package/engine/internal/unit+spellSteal.lua +1 -2
  139. package/engine/internal/unit-missile-data.lua +58 -32
  140. package/engine/internal/unit-missile-launch.lua +65 -27
  141. package/engine/internal/unit.d.ts +43 -33
  142. package/engine/internal/unit.lua +391 -323
  143. package/engine/lightning.d.ts +4 -3
  144. package/engine/lightning.lua +22 -15
  145. package/engine/local-client.d.ts +28 -0
  146. package/engine/local-client.lua +324 -54
  147. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  148. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  149. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  150. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  151. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  152. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  153. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  154. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  155. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  156. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  157. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  158. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  159. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  160. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  161. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  162. package/engine/object-data/auxiliary/item-class.lua +2 -0
  163. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  164. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  165. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  166. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  167. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  168. package/engine/object-data/auxiliary/order-type.lua +2 -0
  169. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  170. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  171. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  172. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  173. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  174. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  175. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  176. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  177. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  178. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  179. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  180. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  181. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  182. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  183. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  184. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  185. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  186. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  187. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  188. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  189. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  190. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  191. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -0
  192. package/engine/object-data/entry/ability-type/blank-configurable.lua +42 -1
  193. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  194. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  195. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  196. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  197. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  198. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  199. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  200. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  201. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  202. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  203. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  204. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  205. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  206. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  207. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  208. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  209. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  210. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  211. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  212. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  213. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  214. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  215. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  216. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  217. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  218. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  219. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  220. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  221. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  222. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  223. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  224. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  225. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  226. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  227. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  228. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  229. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  230. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  231. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  232. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  233. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  234. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  235. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  236. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  237. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  238. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  239. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  240. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  241. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  242. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  243. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  244. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  245. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  246. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  247. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  248. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  249. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  250. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  251. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  252. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  253. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  254. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  255. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  256. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  257. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  258. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  259. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  260. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  261. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  262. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  263. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  264. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  265. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  266. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  267. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  268. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  269. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  270. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  271. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  272. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  273. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  274. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  275. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  276. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  277. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  278. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  279. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  280. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  281. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  282. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  283. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  284. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  285. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  286. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  287. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  288. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  289. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  290. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  291. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  292. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  293. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  294. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  295. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  296. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  297. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  298. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  299. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  300. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  301. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  302. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  303. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  304. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  305. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  306. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  307. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  308. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  309. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  310. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  311. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  312. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  313. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  314. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  315. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  316. package/engine/object-data/entry/ability-type/web.lua +52 -0
  317. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  318. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  319. package/engine/object-data/entry/ability-type.d.ts +36 -19
  320. package/engine/object-data/entry/ability-type.lua +307 -29
  321. package/engine/object-data/entry/buff-type/applicable.lua +122 -137
  322. package/engine/object-data/entry/buff-type.d.ts +10 -12
  323. package/engine/object-data/entry/buff-type.lua +39 -29
  324. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  325. package/engine/object-data/entry/destructible-type.lua +181 -0
  326. package/engine/object-data/entry/item-type.d.ts +18 -3
  327. package/engine/object-data/entry/item-type.lua +88 -4
  328. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  329. package/engine/object-data/entry/lightning-type.lua +1 -1
  330. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  331. package/engine/object-data/entry/sound-preset.lua +140 -0
  332. package/engine/object-data/entry/unit-type.d.ts +71 -6
  333. package/engine/object-data/entry/unit-type.lua +592 -93
  334. package/engine/object-data/entry/upgrade.d.ts +2 -2
  335. package/engine/object-data/entry/upgrade.lua +4 -4
  336. package/engine/object-data/entry.d.ts +21 -14
  337. package/engine/object-data/entry.lua +68 -32
  338. package/engine/object-field/ability.d.ts +4 -4
  339. package/engine/object-field/ability.lua +9 -8
  340. package/engine/object-field/item.d.ts +22 -0
  341. package/engine/object-field/item.lua +118 -0
  342. package/engine/object-field/unit.d.ts +72 -3
  343. package/engine/object-field/unit.lua +268 -7
  344. package/engine/object-field.d.ts +26 -7
  345. package/engine/object-field.lua +360 -119
  346. package/engine/random.d.ts +10 -0
  347. package/engine/random.lua +21 -0
  348. package/engine/standard/entries/ability-type.d.ts +3102 -7
  349. package/engine/standard/entries/ability-type.lua +0 -6
  350. package/engine/standard/entries/buff-type.d.ts +3 -0
  351. package/engine/standard/entries/buff-type.lua +3 -0
  352. package/engine/standard/entries/item-type.d.ts +1299 -0
  353. package/engine/standard/entries/item-type.lua +2 -0
  354. package/engine/standard/entries/lightning-type.d.ts +42 -15
  355. package/engine/standard/entries/lightning-type.lua +0 -14
  356. package/engine/standard/entries/sound-preset.d.ts +10 -0
  357. package/engine/standard/entries/sound-preset.lua +10 -0
  358. package/engine/standard/entries/unit-type.d.ts +5 -0
  359. package/engine/standard/entries/unit-type.lua +5 -0
  360. package/engine/standard/fields/ability.d.ts +2 -2
  361. package/engine/standard/fields/ability.lua +2 -2
  362. package/engine/standard/fields/item.d.ts +4 -0
  363. package/engine/standard/fields/item.lua +6 -0
  364. package/engine/standard/fields/unit.d.ts +12 -0
  365. package/engine/standard/fields/unit.lua +20 -0
  366. package/engine/synchronization.d.ts +11 -0
  367. package/engine/synchronization.lua +77 -0
  368. package/engine/text-tag.d.ts +36 -2
  369. package/engine/text-tag.lua +250 -10
  370. package/engine/unit.d.ts +11 -1
  371. package/engine/unit.lua +11 -1
  372. package/event.d.ts +1 -1
  373. package/lualib_bundle.lua +1 -1
  374. package/math.d.ts +2 -0
  375. package/math.lua +14 -0
  376. package/net/socket.lua +1 -1
  377. package/network.lua +25 -1
  378. package/objutil/buff.lua +12 -11
  379. package/objutil/object.lua +1 -1
  380. package/objutil/unit.lua +8 -0
  381. package/operation.d.ts +8 -1
  382. package/operation.lua +38 -18
  383. package/package.json +3 -23
  384. package/patch-lua.lua +15 -0
  385. package/patch-lualib.lua +1 -1
  386. package/utility/arrays.d.ts +2 -0
  387. package/utility/arrays.lua +11 -0
  388. package/utility/callback-array.d.ts +17 -0
  389. package/utility/callback-array.lua +61 -0
  390. package/utility/functions.d.ts +8 -0
  391. package/utility/functions.lua +13 -0
  392. package/utility/linked-map.d.ts +35 -0
  393. package/utility/linked-map.lua +107 -0
  394. package/utility/linked-set.d.ts +5 -1
  395. package/utility/linked-set.lua +49 -1
  396. package/utility/lua-maps.d.ts +15 -2
  397. package/utility/lua-maps.lua +53 -2
  398. package/utility/lua-sets.d.ts +2 -0
  399. package/utility/lua-sets.lua +7 -0
  400. package/utility/random.d.ts +102 -0
  401. package/utility/random.lua +273 -0
  402. package/utility/records.lua +20 -1
  403. package/utility/reflection.lua +11 -7
  404. package/utility/types.d.ts +3 -0
  405. package/utility/unordered-map.d.ts +27 -0
  406. package/utility/unordered-map.lua +99 -0
  407. package/core/types/order.d.ts +0 -25
  408. package/core/types/order.lua +0 -55
  409. package/engine/internal/unit/item.lua +0 -78
  410. /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
  411. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  412. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  413. /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,10 @@ end
336
484
  function UnitType.getObjectData(self, map)
337
485
  return map.objects.unit
338
486
  end
487
+ function UnitType.prototype.setDeathTypeFlag(self, flag, value)
488
+ local deathType = self:getNumberField("udea")
489
+ self:setNumberField("udea", value and deathType | flag or deathType & ~flag)
490
+ end
339
491
  UnitType.idGenerator = __TS__New(
340
492
  ObjectDataEntryIdGenerator,
341
493
  fourCC("x000")
@@ -345,10 +497,10 @@ __TS__SetDescriptor(
345
497
  "abilityTypeIds",
346
498
  {
347
499
  get = function(self)
348
- return self:getObjectDataEntryIdsField("uabi")
500
+ return self:getObjectDataEntryNumericIdsField("uabi")
349
501
  end,
350
502
  set = function(self, abilityTypeIds)
351
- self:setObjectDataEntryIdsField("uabi", abilityTypeIds)
503
+ self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
352
504
  end
353
505
  },
354
506
  true
@@ -358,10 +510,10 @@ __TS__SetDescriptor(
358
510
  "defaultActiveAbilityTypeId",
359
511
  {
360
512
  get = function(self)
361
- return self:getObjectDataEntryIdsField("udaa")[1]
513
+ return self:getObjectDataEntryNumericIdsField("udaa")[1]
362
514
  end,
363
515
  set = function(self, abilityTypeId)
364
- self:setObjectDataEntryIdsField(
516
+ self:setObjectDataEntryNumericIdsField(
365
517
  "udaa",
366
518
  arrayOfNotNull(abilityTypeId)
367
519
  )
@@ -460,6 +612,32 @@ __TS__SetDescriptor(
460
612
  },
461
613
  true
462
614
  )
615
+ __TS__SetDescriptor(
616
+ UnitType.prototype,
617
+ "isDecayable",
618
+ {
619
+ get = function(self)
620
+ return self:getNumberField("udea") & DEATH_TYPE_DECAYABLE ~= 0
621
+ end,
622
+ set = function(self, isDecayable)
623
+ self:setDeathTypeFlag(DEATH_TYPE_DECAYABLE, isDecayable)
624
+ end
625
+ },
626
+ true
627
+ )
628
+ __TS__SetDescriptor(
629
+ UnitType.prototype,
630
+ "isRaisable",
631
+ {
632
+ get = function(self)
633
+ return self:getNumberField("udea") & DEATH_TYPE_RAISABLE ~= 0
634
+ end,
635
+ set = function(self, isRaisable)
636
+ self:setDeathTypeFlag(DEATH_TYPE_RAISABLE, isRaisable)
637
+ end
638
+ },
639
+ true
640
+ )
463
641
  __TS__SetDescriptor(
464
642
  UnitType.prototype,
465
643
  "iconPath",
@@ -499,6 +677,19 @@ __TS__SetDescriptor(
499
677
  },
500
678
  true
501
679
  )
680
+ __TS__SetDescriptor(
681
+ UnitType.prototype,
682
+ "iconPathDE",
683
+ {
684
+ get = function(self)
685
+ return self:getStringField("uico:de")
686
+ end,
687
+ set = function(self, iconPathDE)
688
+ self:setStringField("uico:de", iconPathDE)
689
+ end
690
+ },
691
+ true
692
+ )
502
693
  __TS__SetDescriptor(
503
694
  UnitType.prototype,
504
695
  "isMissileScalingEnabled",
@@ -603,6 +794,19 @@ __TS__SetDescriptor(
603
794
  },
604
795
  true
605
796
  )
797
+ __TS__SetDescriptor(
798
+ UnitType.prototype,
799
+ "missileLaunchOffsetZDE",
800
+ {
801
+ get = function(self)
802
+ return self:getNumberField("ulpz:de")
803
+ end,
804
+ set = function(self, missileLaunchOffsetZDE)
805
+ self:setNumberField("ulpz:de", missileLaunchOffsetZDE)
806
+ end
807
+ },
808
+ true
809
+ )
606
810
  __TS__SetDescriptor(
607
811
  UnitType.prototype,
608
812
  "missileLaunchSwimmingOffsetZ",
@@ -642,6 +846,19 @@ __TS__SetDescriptor(
642
846
  },
643
847
  true
644
848
  )
849
+ __TS__SetDescriptor(
850
+ UnitType.prototype,
851
+ "missileLaunchSwimmingOffsetZDE",
852
+ {
853
+ get = function(self)
854
+ return self:getNumberField("ulsz:de")
855
+ end,
856
+ set = function(self, missileLaunchSwimmingOffsetZDE)
857
+ self:setNumberField("ulsz:de", missileLaunchSwimmingOffsetZDE)
858
+ end
859
+ },
860
+ true
861
+ )
645
862
  __TS__SetDescriptor(
646
863
  UnitType.prototype,
647
864
  "missileLaunchVisualOffsetX",
@@ -681,6 +898,19 @@ __TS__SetDescriptor(
681
898
  },
682
899
  true
683
900
  )
901
+ __TS__SetDescriptor(
902
+ UnitType.prototype,
903
+ "missileLaunchVisualOffsetXDE",
904
+ {
905
+ get = function(self)
906
+ return self:getNumberField("projectileVisOffsetX:de")
907
+ end,
908
+ set = function(self, missileLaunchVisualOffsetXDE)
909
+ self:setNumberField("projectileVisOffsetX:de", missileLaunchVisualOffsetXDE)
910
+ end
911
+ },
912
+ true
913
+ )
684
914
  __TS__SetDescriptor(
685
915
  UnitType.prototype,
686
916
  "missileLaunchVisualOffsetY",
@@ -720,6 +950,19 @@ __TS__SetDescriptor(
720
950
  },
721
951
  true
722
952
  )
953
+ __TS__SetDescriptor(
954
+ UnitType.prototype,
955
+ "missileLaunchVisualOffsetYDE",
956
+ {
957
+ get = function(self)
958
+ return self:getNumberField("projectileVisOffsetY:de")
959
+ end,
960
+ set = function(self, missileLaunchVisualOffsetYDE)
961
+ self:setNumberField("projectileVisOffsetY:de", missileLaunchVisualOffsetYDE)
962
+ end
963
+ },
964
+ true
965
+ )
723
966
  __TS__SetDescriptor(
724
967
  UnitType.prototype,
725
968
  "missileImpactOffsetZ",
@@ -759,6 +1002,19 @@ __TS__SetDescriptor(
759
1002
  },
760
1003
  true
761
1004
  )
1005
+ __TS__SetDescriptor(
1006
+ UnitType.prototype,
1007
+ "missileImpactOffsetZDE",
1008
+ {
1009
+ get = function(self)
1010
+ return self:getNumberField("uimz:de")
1011
+ end,
1012
+ set = function(self, missileImpactOffsetZDE)
1013
+ self:setNumberField("uimz:de", missileImpactOffsetZDE)
1014
+ end
1015
+ },
1016
+ true
1017
+ )
762
1018
  __TS__SetDescriptor(
763
1019
  UnitType.prototype,
764
1020
  "missileImpactSwimmingOffsetZ",
@@ -798,6 +1054,19 @@ __TS__SetDescriptor(
798
1054
  },
799
1055
  true
800
1056
  )
1057
+ __TS__SetDescriptor(
1058
+ UnitType.prototype,
1059
+ "missileImpactSwimmingOffsetZDE",
1060
+ {
1061
+ get = function(self)
1062
+ return self:getNumberField("uisz:de")
1063
+ end,
1064
+ set = function(self, missileImpactSwimmingOffsetZDE)
1065
+ self:setNumberField("uisz:de", missileImpactSwimmingOffsetZDE)
1066
+ end
1067
+ },
1068
+ true
1069
+ )
801
1070
  __TS__SetDescriptor(
802
1071
  UnitType.prototype,
803
1072
  "modelPath",
@@ -807,6 +1076,9 @@ __TS__SetDescriptor(
807
1076
  end,
808
1077
  set = function(self, modelPath)
809
1078
  self:setStringField("umdl", modelPath)
1079
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
1080
+ self:setStringField("upor", "")
1081
+ end
810
1082
  end
811
1083
  },
812
1084
  true
@@ -820,6 +1092,9 @@ __TS__SetDescriptor(
820
1092
  end,
821
1093
  set = function(self, modelPathSD)
822
1094
  self:setStringField("umdl:sd", modelPathSD)
1095
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
1096
+ self:setStringField("upor:sd", "")
1097
+ end
823
1098
  end
824
1099
  },
825
1100
  true
@@ -833,6 +1108,81 @@ __TS__SetDescriptor(
833
1108
  end,
834
1109
  set = function(self, modelPathHD)
835
1110
  self:setStringField("umdl:hd", modelPathHD)
1111
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
1112
+ self:setStringField("upor:hd", "")
1113
+ end
1114
+ end
1115
+ },
1116
+ true
1117
+ )
1118
+ __TS__SetDescriptor(
1119
+ UnitType.prototype,
1120
+ "modelPathDE",
1121
+ {
1122
+ get = function(self)
1123
+ return self:getStringField("umdl:de")
1124
+ end,
1125
+ set = function(self, modelPathDE)
1126
+ self:setStringField("umdl:de", modelPathDE)
1127
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
1128
+ self:setStringField("upor:de", "")
1129
+ end
1130
+ end
1131
+ },
1132
+ true
1133
+ )
1134
+ __TS__SetDescriptor(
1135
+ UnitType.prototype,
1136
+ "portraitModelPath",
1137
+ {
1138
+ get = function(self)
1139
+ return self:getStringField("upor")
1140
+ end,
1141
+ set = function(self, portraitModelPath)
1142
+ self:setStringField("upor", portraitModelPath)
1143
+ self.isPortraitModelPathSet = true
1144
+ end
1145
+ },
1146
+ true
1147
+ )
1148
+ __TS__SetDescriptor(
1149
+ UnitType.prototype,
1150
+ "portraitModelPathSD",
1151
+ {
1152
+ get = function(self)
1153
+ return self:getStringField("upor:sd")
1154
+ end,
1155
+ set = function(self, portraitModelPathSD)
1156
+ self:setStringField("upor:sd", portraitModelPathSD)
1157
+ self.isPortraitModelPathSet = true
1158
+ end
1159
+ },
1160
+ true
1161
+ )
1162
+ __TS__SetDescriptor(
1163
+ UnitType.prototype,
1164
+ "portraitModelPathHD",
1165
+ {
1166
+ get = function(self)
1167
+ return self:getStringField("upor:hd")
1168
+ end,
1169
+ set = function(self, portraitModelPathHD)
1170
+ self:setStringField("upor:hd", portraitModelPathHD)
1171
+ self.isPortraitModelPathSet = true
1172
+ end
1173
+ },
1174
+ true
1175
+ )
1176
+ __TS__SetDescriptor(
1177
+ UnitType.prototype,
1178
+ "portraitModelPathDE",
1179
+ {
1180
+ get = function(self)
1181
+ return self:getStringField("upor:de")
1182
+ end,
1183
+ set = function(self, portraitModelPathDE)
1184
+ self:setStringField("upor:de", portraitModelPathDE)
1185
+ self.isPortraitModelPathSet = true
836
1186
  end
837
1187
  },
838
1188
  true
@@ -876,6 +1226,32 @@ __TS__SetDescriptor(
876
1226
  },
877
1227
  true
878
1228
  )
1229
+ __TS__SetDescriptor(
1230
+ UnitType.prototype,
1231
+ "runSpeedDE",
1232
+ {
1233
+ get = function(self)
1234
+ return self:getNumberField("urun:de")
1235
+ end,
1236
+ set = function(self, runSpeedDE)
1237
+ self:setNumberField("urun:de", runSpeedDE)
1238
+ end
1239
+ },
1240
+ true
1241
+ )
1242
+ __TS__SetDescriptor(
1243
+ UnitType.prototype,
1244
+ "selectionCircleHeight",
1245
+ {
1246
+ get = function(self)
1247
+ return self:getNumberField("uslz")
1248
+ end,
1249
+ set = function(self, height)
1250
+ self:setNumberField("uslz", height)
1251
+ end
1252
+ },
1253
+ true
1254
+ )
879
1255
  __TS__SetDescriptor(
880
1256
  UnitType.prototype,
881
1257
  "selectionCircleScale",
@@ -915,6 +1291,19 @@ __TS__SetDescriptor(
915
1291
  },
916
1292
  true
917
1293
  )
1294
+ __TS__SetDescriptor(
1295
+ UnitType.prototype,
1296
+ "selectionCircleScaleDE",
1297
+ {
1298
+ get = function(self)
1299
+ return self:getNumberField("ussc:de")
1300
+ end,
1301
+ set = function(self, selectionCircleScaleDE)
1302
+ self:setNumberField("ussc:de", selectionCircleScaleDE)
1303
+ end
1304
+ },
1305
+ true
1306
+ )
918
1307
  __TS__SetDescriptor(
919
1308
  UnitType.prototype,
920
1309
  "scale",
@@ -954,6 +1343,19 @@ __TS__SetDescriptor(
954
1343
  },
955
1344
  true
956
1345
  )
1346
+ __TS__SetDescriptor(
1347
+ UnitType.prototype,
1348
+ "scaleDE",
1349
+ {
1350
+ get = function(self)
1351
+ return self:getNumberField("usca:de")
1352
+ end,
1353
+ set = function(self, scaleDE)
1354
+ self:setNumberField("usca:de", scaleDE)
1355
+ end
1356
+ },
1357
+ true
1358
+ )
957
1359
  __TS__SetDescriptor(
958
1360
  UnitType.prototype,
959
1361
  "scoreScreenIconPath",
@@ -993,6 +1395,19 @@ __TS__SetDescriptor(
993
1395
  },
994
1396
  true
995
1397
  )
1398
+ __TS__SetDescriptor(
1399
+ UnitType.prototype,
1400
+ "scoreScreenIconPathDE",
1401
+ {
1402
+ get = function(self)
1403
+ return self:getStringField("ussi:de")
1404
+ end,
1405
+ set = function(self, scoreScreenIconPathDE)
1406
+ self:setStringField("ussi:de", scoreScreenIconPathDE)
1407
+ end
1408
+ },
1409
+ true
1410
+ )
996
1411
  __TS__SetDescriptor(
997
1412
  UnitType.prototype,
998
1413
  "specialEffectModelPath",
@@ -1032,6 +1447,19 @@ __TS__SetDescriptor(
1032
1447
  },
1033
1448
  true
1034
1449
  )
1450
+ __TS__SetDescriptor(
1451
+ UnitType.prototype,
1452
+ "specialEffectModelPathDE",
1453
+ {
1454
+ get = function(self)
1455
+ return self:getStringField("uspa:de")
1456
+ end,
1457
+ set = function(self, specialEffectModelPathDE)
1458
+ self:setStringField("uspa:de", specialEffectModelPathDE)
1459
+ end
1460
+ },
1461
+ true
1462
+ )
1035
1463
  __TS__SetDescriptor(
1036
1464
  UnitType.prototype,
1037
1465
  "shadowImageHeight",
@@ -1123,6 +1551,32 @@ __TS__SetDescriptor(
1123
1551
  },
1124
1552
  true
1125
1553
  )
1554
+ __TS__SetDescriptor(
1555
+ UnitType.prototype,
1556
+ "walkSpeedDE",
1557
+ {
1558
+ get = function(self)
1559
+ return self:getNumberField("uwal:de")
1560
+ end,
1561
+ set = function(self, walkSpeedDE)
1562
+ self:setNumberField("uwal:de", walkSpeedDE)
1563
+ end
1564
+ },
1565
+ true
1566
+ )
1567
+ __TS__SetDescriptor(
1568
+ UnitType.prototype,
1569
+ "armor",
1570
+ {
1571
+ get = function(self)
1572
+ return self:getNumberField("udef")
1573
+ end,
1574
+ set = function(self, armor)
1575
+ self:setNumberField("udef", armor)
1576
+ end
1577
+ },
1578
+ true
1579
+ )
1126
1580
  __TS__SetDescriptor(
1127
1581
  UnitType.prototype,
1128
1582
  "armorSoundType",
@@ -1162,6 +1616,35 @@ __TS__SetDescriptor(
1162
1616
  },
1163
1617
  true
1164
1618
  )
1619
+ __TS__SetDescriptor(
1620
+ UnitType.prototype,
1621
+ "armorSoundTypeDE",
1622
+ {
1623
+ get = function(self)
1624
+ return self:getStringField("uarm:de")
1625
+ end,
1626
+ set = function(self, armorSoundTypeDE)
1627
+ self:setStringField("uarm:de", armorSoundTypeDE)
1628
+ end
1629
+ },
1630
+ true
1631
+ )
1632
+ __TS__SetDescriptor(
1633
+ UnitType.prototype,
1634
+ "armorType",
1635
+ {
1636
+ get = function(self)
1637
+ return stringToArmorType(self:getStringField("udty"))
1638
+ end,
1639
+ set = function(self, armorType)
1640
+ self:setStringField(
1641
+ "udty",
1642
+ armorTypeToString(armorType)
1643
+ )
1644
+ end
1645
+ },
1646
+ true
1647
+ )
1165
1648
  __TS__SetDescriptor(
1166
1649
  UnitType.prototype,
1167
1650
  "combatClassifications",
@@ -1180,7 +1663,7 @@ __TS__SetDescriptor(
1180
1663
  )
1181
1664
  __TS__SetDescriptor(
1182
1665
  UnitType.prototype,
1183
- "unitClassifications",
1666
+ "classifications",
1184
1667
  {
1185
1668
  get = function(self)
1186
1669
  return stringArrayToUnitClassifications(self:getStringsField("utyp"))
@@ -1288,10 +1771,13 @@ __TS__SetDescriptor(
1288
1771
  "movementType",
1289
1772
  {
1290
1773
  get = function(self)
1291
- return self:getStringField("umvt")
1774
+ return stringToMovementType(self:getStringField("umvt"))
1292
1775
  end,
1293
1776
  set = function(self, movementType)
1294
- self:setStringField("umvt", movementType)
1777
+ self:setStringField(
1778
+ "umvt",
1779
+ movementTypeToString(movementType)
1780
+ )
1295
1781
  end
1296
1782
  },
1297
1783
  true
@@ -1413,6 +1899,19 @@ __TS__SetDescriptor(
1413
1899
  },
1414
1900
  true
1415
1901
  )
1902
+ __TS__SetDescriptor(
1903
+ UnitType.prototype,
1904
+ "level",
1905
+ {
1906
+ get = function(self)
1907
+ return self:getNumberField("ulev")
1908
+ end,
1909
+ set = function(self, level)
1910
+ self:setNumberField("ulev", level)
1911
+ end
1912
+ },
1913
+ true
1914
+ )
1416
1915
  __TS__SetDescriptor(
1417
1916
  UnitType.prototype,
1418
1917
  "manaRegenerationRate",
@@ -1496,10 +1995,10 @@ __TS__SetDescriptor(
1496
1995
  "affectingUpgradeIds",
1497
1996
  {
1498
1997
  get = function(self)
1499
- return self:getObjectDataEntryIdsField("upgr")
1998
+ return self:getObjectDataEntryNumericIdsField("upgr")
1500
1999
  end,
1501
2000
  set = function(self, affectingUpgradeIds)
1502
- self:setObjectDataEntryIdsField("upgr", affectingUpgradeIds)
2001
+ self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
1503
2002
  end
1504
2003
  },
1505
2004
  true
@@ -1559,11 +2058,11 @@ __TS__SetDescriptor(
1559
2058
  implementReadonlyNumberIndexSupplier(
1560
2059
  ____exports.UnitType,
1561
2060
  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
2061
+ local ____class_37 = __TS__Class()
2062
+ ____class_37.name = ____class_37.name
2063
+ __TS__ClassExtends(____class_37, ____exports.UnitType)
2064
+ ____class_37.BASE_ID = id
2065
+ return ____class_37
1567
2066
  end
1568
2067
  )
1569
2068
  ____exports.HeroUnitType = __TS__Class()
@@ -1582,10 +2081,10 @@ __TS__SetDescriptor(
1582
2081
  "heroAbilityTypeIds",
1583
2082
  {
1584
2083
  get = function(self)
1585
- return self:getObjectDataEntryIdsField("uhab")
2084
+ return self:getObjectDataEntryNumericIdsField("uhab")
1586
2085
  end,
1587
2086
  set = function(self, heroAbilityTypeIds)
1588
- self:setObjectDataEntryIdsField("uhab", heroAbilityTypeIds)
2087
+ self:setObjectDataEntryNumericIdsField("uhab", heroAbilityTypeIds)
1589
2088
  end
1590
2089
  },
1591
2090
  true
@@ -1624,11 +2123,11 @@ __TS__SetDescriptor(
1624
2123
  implementReadonlyNumberIndexSupplier(
1625
2124
  ____exports.HeroUnitType,
1626
2125
  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
2126
+ local ____class_38 = __TS__Class()
2127
+ ____class_38.name = ____class_38.name
2128
+ __TS__ClassExtends(____class_38, ____exports.HeroUnitType)
2129
+ ____class_38.BASE_ID = id
2130
+ return ____class_38
1632
2131
  end
1633
2132
  )
1634
2133
  return ____exports