warscript 0.0.1-dev.8a4aeae → 0.0.1-dev.8ba6984

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 (277) hide show
  1. package/attributes.d.ts +6 -1
  2. package/attributes.lua +17 -1
  3. package/binaryreader.d.ts +1 -0
  4. package/binaryreader.lua +3 -0
  5. package/config.d.ts +5 -0
  6. package/config.lua +10 -0
  7. package/core/types/effect.d.ts +14 -6
  8. package/core/types/effect.lua +131 -35
  9. package/core/types/frame.d.ts +8 -1
  10. package/core/types/frame.lua +117 -22
  11. package/core/types/group.d.ts +0 -1
  12. package/core/types/image.d.ts +0 -1
  13. package/core/types/missile.d.ts +2 -2
  14. package/core/types/missile.lua +8 -2
  15. package/core/types/player.d.ts +16 -0
  16. package/core/types/player.lua +60 -15
  17. package/core/types/playerCamera.d.ts +2 -0
  18. package/core/types/playerCamera.lua +123 -5
  19. package/core/types/sound.d.ts +17 -24
  20. package/core/types/sound.lua +99 -24
  21. package/core/types/tileCell.d.ts +11 -1
  22. package/core/types/tileCell.lua +97 -0
  23. package/core/types/timer.d.ts +9 -8
  24. package/core/types/timer.lua +45 -23
  25. package/core/types/unit.lua +8 -0
  26. package/core/util.d.ts +1 -1
  27. package/core/util.lua +18 -1
  28. package/decl/index.d.ts +1 -0
  29. package/decl/native.d.ts +846 -790
  30. package/destroyable.d.ts +1 -0
  31. package/destroyable.lua +9 -0
  32. package/engine/ability.d.ts +1 -1
  33. package/engine/behavior.d.ts +24 -11
  34. package/engine/behavior.lua +233 -73
  35. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  36. package/engine/behaviour/ability/always-enabled.lua +31 -0
  37. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  38. package/engine/behaviour/ability/apply-buff.lua +36 -4
  39. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  40. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  41. package/engine/behaviour/ability/damage.d.ts +39 -11
  42. package/engine/behaviour/ability/damage.lua +83 -37
  43. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  44. package/engine/behaviour/ability/emulate-impact.lua +43 -0
  45. package/engine/behaviour/ability/heal.d.ts +33 -6
  46. package/engine/behaviour/ability/heal.lua +89 -10
  47. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  48. package/engine/behaviour/ability/instant-impact.lua +4 -15
  49. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  50. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  51. package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
  52. package/engine/behaviour/ability/remove-buffs.lua +49 -0
  53. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  54. package/engine/behaviour/ability/restore-mana.lua +29 -0
  55. package/engine/behaviour/ability.d.ts +29 -5
  56. package/engine/behaviour/ability.lua +154 -27
  57. package/engine/behaviour/unit/stun-immunity.d.ts +12 -7
  58. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  59. package/engine/behaviour/unit.d.ts +48 -4
  60. package/engine/behaviour/unit.lua +292 -2
  61. package/engine/buff.d.ts +121 -46
  62. package/engine/buff.lua +567 -248
  63. package/engine/game-map.d.ts +7 -0
  64. package/engine/game-map.lua +32 -0
  65. package/engine/internal/ability.d.ts +23 -14
  66. package/engine/internal/ability.lua +129 -85
  67. package/engine/internal/item/ability.lua +162 -4
  68. package/engine/internal/item+owner.lua +12 -6
  69. package/engine/internal/item.d.ts +20 -19
  70. package/engine/internal/item.lua +191 -74
  71. package/engine/internal/mechanics/ability-duration.lua +1 -1
  72. package/engine/internal/mechanics/cast-ability.lua +6 -3
  73. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  74. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  75. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  76. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  77. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  78. package/engine/internal/misc/frame-coordinates.lua +21 -0
  79. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  80. package/engine/internal/misc/get-terrain-z.lua +11 -0
  81. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  82. package/engine/internal/misc/player-local-handle.lua +5 -0
  83. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  84. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  85. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  86. package/engine/internal/object-data/evasion-probability.lua +16 -0
  87. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  88. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  89. package/engine/internal/unit/ability.d.ts +45 -1
  90. package/engine/internal/unit/ability.lua +128 -17
  91. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  92. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  93. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  94. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  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/attributes.d.ts +17 -0
  98. package/engine/internal/unit/attributes.lua +46 -0
  99. package/engine/internal/unit/bonus.d.ts +13 -8
  100. package/engine/internal/unit/bonus.lua +33 -1
  101. package/engine/internal/unit/fly-height.d.ts +7 -0
  102. package/engine/internal/unit/fly-height.lua +20 -0
  103. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  104. package/engine/internal/unit/ignore-events-items.lua +5 -0
  105. package/engine/internal/unit/interrupts.d.ts +12 -0
  106. package/engine/internal/unit/interrupts.lua +28 -0
  107. package/engine/internal/unit/item.d.ts +24 -0
  108. package/engine/internal/unit/item.lua +78 -0
  109. package/engine/internal/unit/main-selected.d.ts +13 -0
  110. package/engine/internal/unit/main-selected.lua +36 -0
  111. package/engine/internal/unit/order.d.ts +20 -0
  112. package/engine/internal/unit/order.lua +136 -0
  113. package/engine/internal/unit/scale.d.ts +7 -0
  114. package/engine/internal/unit/scale.lua +20 -0
  115. package/engine/internal/unit+ability.lua +12 -3
  116. package/engine/internal/unit+damage.d.ts +2 -11
  117. package/engine/internal/unit+damage.lua +10 -14
  118. package/engine/internal/unit+spellSteal.lua +1 -2
  119. package/engine/internal/unit+transport.lua +4 -10
  120. package/engine/internal/unit-missile-launch.lua +70 -13
  121. package/engine/internal/unit.d.ts +96 -35
  122. package/engine/internal/unit.lua +695 -309
  123. package/engine/internal/utility.lua +12 -0
  124. package/engine/lightning.d.ts +12 -5
  125. package/engine/lightning.lua +48 -14
  126. package/engine/local-client.d.ts +9 -2
  127. package/engine/local-client.lua +112 -0
  128. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  129. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  130. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  131. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  132. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  133. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  134. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  135. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  136. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  137. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  138. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  139. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  140. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  141. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  142. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  143. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  144. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  145. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  146. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  147. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  148. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  149. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  150. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  151. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  152. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  153. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  154. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  155. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  156. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  157. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  158. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  159. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  160. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  161. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  162. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  163. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  164. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  165. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  166. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  167. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  168. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  169. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  170. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  171. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  172. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  173. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  174. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  175. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  176. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  177. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  178. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  179. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  180. package/engine/object-data/entry/ability-type/web.lua +52 -0
  181. package/engine/object-data/entry/ability-type.d.ts +19 -18
  182. package/engine/object-data/entry/ability-type.lua +93 -36
  183. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  184. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  185. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  186. package/engine/object-data/entry/buff-type.d.ts +6 -13
  187. package/engine/object-data/entry/buff-type.lua +13 -29
  188. package/engine/object-data/entry/destructible-type.d.ts +28 -3
  189. package/engine/object-data/entry/destructible-type.lua +155 -0
  190. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  191. package/engine/object-data/entry/item-type.d.ts +15 -2
  192. package/engine/object-data/entry/item-type.lua +93 -2
  193. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  194. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  195. package/engine/object-data/entry/sound-preset.lua +140 -0
  196. package/engine/object-data/entry/unit-type.d.ts +48 -9
  197. package/engine/object-data/entry/unit-type.lua +417 -78
  198. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  199. package/engine/object-data/entry/upgrade.d.ts +1 -2
  200. package/engine/object-data/entry/upgrade.lua +4 -4
  201. package/engine/object-data/entry.d.ts +18 -17
  202. package/engine/object-data/entry.lua +60 -32
  203. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  204. package/engine/object-field/ability.d.ts +28 -5
  205. package/engine/object-field/ability.lua +59 -5
  206. package/engine/object-field/unit.d.ts +72 -3
  207. package/engine/object-field/unit.lua +268 -7
  208. package/engine/object-field.d.ts +25 -7
  209. package/engine/object-field.lua +359 -116
  210. package/engine/random.d.ts +10 -0
  211. package/engine/random.lua +22 -0
  212. package/engine/standard/entries/buff-type.d.ts +3 -0
  213. package/engine/standard/entries/buff-type.lua +3 -0
  214. package/engine/standard/entries/sound-preset.d.ts +10 -0
  215. package/engine/standard/entries/sound-preset.lua +10 -0
  216. package/engine/standard/entries/unit-type.d.ts +39 -1
  217. package/engine/standard/entries/unit-type.lua +39 -1
  218. package/engine/standard/fields/ability.d.ts +5 -3
  219. package/engine/standard/fields/ability.lua +5 -3
  220. package/engine/standard/fields/unit.d.ts +12 -0
  221. package/engine/standard/fields/unit.lua +20 -0
  222. package/engine/synchronization.d.ts +11 -0
  223. package/engine/synchronization.lua +77 -0
  224. package/engine/text-tag.d.ts +36 -2
  225. package/engine/text-tag.lua +250 -10
  226. package/engine/unit.d.ts +8 -0
  227. package/engine/unit.lua +17 -2
  228. package/event.d.ts +2 -3
  229. package/event.lua +9 -5
  230. package/index.d.ts +1 -0
  231. package/index.lua +1 -0
  232. package/lualib_bundle.lua +146 -42
  233. package/math/vec2.d.ts +2 -9
  234. package/math.d.ts +0 -2
  235. package/net/socket.d.ts +7 -1
  236. package/net/socket.lua +45 -4
  237. package/network.d.ts +1 -0
  238. package/network.lua +3 -2
  239. package/objutil/ability.d.ts +0 -1
  240. package/objutil/buff.d.ts +0 -1
  241. package/objutil/buff.lua +12 -11
  242. package/objutil/object.d.ts +0 -1
  243. package/objutil/unit.d.ts +0 -1
  244. package/objutil/unit.lua +8 -0
  245. package/package.json +13 -14
  246. package/patch-lua.d.ts +0 -0
  247. package/patch-lua.lua +25 -0
  248. package/patch-lualib.lua +1 -1
  249. package/property.d.ts +55 -0
  250. package/property.lua +374 -0
  251. package/string.d.ts +30 -0
  252. package/string.lua +14 -0
  253. package/util/stream.d.ts +0 -1
  254. package/utility/arrays.d.ts +13 -5
  255. package/utility/arrays.lua +45 -3
  256. package/utility/bit-set.d.ts +0 -2
  257. package/utility/callback-array.d.ts +17 -0
  258. package/utility/callback-array.lua +61 -0
  259. package/utility/functions.d.ts +8 -0
  260. package/utility/functions.lua +13 -0
  261. package/utility/lazy.d.ts +2 -0
  262. package/utility/lazy.lua +14 -0
  263. package/utility/linked-map.d.ts +26 -0
  264. package/utility/linked-map.lua +66 -0
  265. package/utility/linked-set.d.ts +13 -3
  266. package/utility/linked-set.lua +31 -3
  267. package/utility/lua-maps.d.ts +16 -4
  268. package/utility/lua-maps.lua +53 -2
  269. package/utility/lua-sets.d.ts +3 -2
  270. package/utility/lua-sets.lua +7 -0
  271. package/utility/records.lua +20 -1
  272. package/utility/reflection.lua +11 -7
  273. package/utility/types.d.ts +4 -0
  274. package/core/mapbounds.d.ts +0 -8
  275. package/core/mapbounds.lua +0 -12
  276. package/core/types/order.d.ts +0 -25
  277. package/core/types/order.lua +0 -55
@@ -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,6 +22,14 @@ 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
23
34
  ____exports.UnitTypeWeapon = __TS__Class()
24
35
  local UnitTypeWeapon = ____exports.UnitTypeWeapon
@@ -32,18 +43,19 @@ __TS__SetDescriptor(
32
43
  "attackType",
33
44
  {
34
45
  get = function(self)
46
+ local ____stringToAttackType_1 = stringToAttackType
35
47
  local ____self_0 = self.unitType
36
- return ____self_0.getStringField(
48
+ return ____stringToAttackType_1(____self_0.getStringField(
37
49
  ____self_0,
38
50
  ("ua" .. tostring(self.index)) .. "t"
39
- )
51
+ ))
40
52
  end,
41
53
  set = function(self, attackType)
42
- local ____self_1 = self.unitType
43
- ____self_1.setStringField(
44
- ____self_1,
54
+ local ____self_2 = self.unitType
55
+ ____self_2.setStringField(
56
+ ____self_2,
45
57
  ("ua" .. tostring(self.index)) .. "t",
46
- attackType
58
+ attackTypeToString(attackType)
47
59
  )
48
60
  end
49
61
  },
@@ -54,16 +66,16 @@ __TS__SetDescriptor(
54
66
  "backSwingDuration",
55
67
  {
56
68
  get = function(self)
57
- local ____self_2 = self.unitType
58
- return ____self_2.getNumberField(
59
- ____self_2,
69
+ local ____self_3 = self.unitType
70
+ return ____self_3.getNumberField(
71
+ ____self_3,
60
72
  "ubs" .. tostring(self.index)
61
73
  )
62
74
  end,
63
75
  set = function(self, backSwingDuration)
64
- local ____self_3 = self.unitType
65
- ____self_3.setNumberField(
66
- ____self_3,
76
+ local ____self_4 = self.unitType
77
+ ____self_4.setNumberField(
78
+ ____self_4,
67
79
  "ubs" .. tostring(self.index),
68
80
  backSwingDuration
69
81
  )
@@ -71,21 +83,130 @@ __TS__SetDescriptor(
71
83
  },
72
84
  true
73
85
  )
86
+ __TS__SetDescriptor(
87
+ UnitTypeWeapon.prototype,
88
+ "cooldown",
89
+ {
90
+ get = function(self)
91
+ local ____self_5 = self.unitType
92
+ return ____self_5.getNumberField(
93
+ ____self_5,
94
+ ("ua" .. tostring(self.index)) .. "c"
95
+ )
96
+ end,
97
+ set = function(self, cooldown)
98
+ local ____self_6 = self.unitType
99
+ ____self_6.setNumberField(
100
+ ____self_6,
101
+ ("ua" .. tostring(self.index)) .. "c",
102
+ cooldown
103
+ )
104
+ end
105
+ },
106
+ true
107
+ )
108
+ __TS__SetDescriptor(
109
+ UnitTypeWeapon.prototype,
110
+ "damage",
111
+ {
112
+ get = function(self)
113
+ local minimumDamage = self.damageBase + self.damageDiceCount
114
+ local maximumDamage = self.damageBase + self.damageDiceCount * self.damageDiceSideCount
115
+ return {minimumDamage, maximumDamage}
116
+ end,
117
+ set = function(self, ____bindingPattern0)
118
+ local maximumDamage
119
+ local minimumDamage
120
+ minimumDamage = ____bindingPattern0[1]
121
+ maximumDamage = ____bindingPattern0[2]
122
+ self.damageBase = minimumDamage - 1
123
+ self.damageDiceCount = 1
124
+ self.damageDiceSideCount = maximumDamage - minimumDamage + 1
125
+ end
126
+ },
127
+ true
128
+ )
129
+ __TS__SetDescriptor(
130
+ UnitTypeWeapon.prototype,
131
+ "damageBase",
132
+ {
133
+ get = function(self)
134
+ local ____self_7 = self.unitType
135
+ return ____self_7.getNumberField(
136
+ ____self_7,
137
+ ("ua" .. tostring(self.index)) .. "b"
138
+ )
139
+ end,
140
+ set = function(self, damageBase)
141
+ local ____self_8 = self.unitType
142
+ ____self_8.setNumberField(
143
+ ____self_8,
144
+ ("ua" .. tostring(self.index)) .. "b",
145
+ damageBase
146
+ )
147
+ end
148
+ },
149
+ true
150
+ )
151
+ __TS__SetDescriptor(
152
+ UnitTypeWeapon.prototype,
153
+ "damageDiceCount",
154
+ {
155
+ get = function(self)
156
+ local ____self_9 = self.unitType
157
+ return ____self_9.getNumberField(
158
+ ____self_9,
159
+ ("ua" .. tostring(self.index)) .. "d"
160
+ )
161
+ end,
162
+ set = function(self, damageDiceNumber)
163
+ local ____self_10 = self.unitType
164
+ ____self_10.setNumberField(
165
+ ____self_10,
166
+ ("ua" .. tostring(self.index)) .. "d",
167
+ damageDiceNumber
168
+ )
169
+ end
170
+ },
171
+ true
172
+ )
173
+ __TS__SetDescriptor(
174
+ UnitTypeWeapon.prototype,
175
+ "damageDiceSideCount",
176
+ {
177
+ get = function(self)
178
+ local ____self_11 = self.unitType
179
+ return ____self_11.getNumberField(
180
+ ____self_11,
181
+ ("ua" .. tostring(self.index)) .. "s"
182
+ )
183
+ end,
184
+ set = function(self, damageDiceSideCount)
185
+ local ____self_12 = self.unitType
186
+ ____self_12.setNumberField(
187
+ ____self_12,
188
+ ("ua" .. tostring(self.index)) .. "s",
189
+ damageDiceSideCount
190
+ )
191
+ end
192
+ },
193
+ true
194
+ )
74
195
  __TS__SetDescriptor(
75
196
  UnitTypeWeapon.prototype,
76
197
  "impactDelay",
77
198
  {
78
199
  get = function(self)
79
- local ____self_4 = self.unitType
80
- return ____self_4.getNumberField(
81
- ____self_4,
200
+ local ____self_13 = self.unitType
201
+ return ____self_13.getNumberField(
202
+ ____self_13,
82
203
  "udp" .. tostring(self.index)
83
204
  )
84
205
  end,
85
206
  set = function(self, impactDelay)
86
- local ____self_5 = self.unitType
87
- ____self_5.setNumberField(
88
- ____self_5,
207
+ local ____self_14 = self.unitType
208
+ ____self_14.setNumberField(
209
+ ____self_14,
89
210
  "udp" .. tostring(self.index),
90
211
  impactDelay
91
212
  )
@@ -98,16 +219,16 @@ __TS__SetDescriptor(
98
219
  "missileModelPath",
99
220
  {
100
221
  get = function(self)
101
- local ____self_6 = self.unitType
102
- return ____self_6.getStringField(
103
- ____self_6,
222
+ local ____self_15 = self.unitType
223
+ return ____self_15.getStringField(
224
+ ____self_15,
104
225
  ("ua" .. tostring(self.index)) .. "m"
105
226
  )
106
227
  end,
107
228
  set = function(self, missileModelPath)
108
- local ____self_7 = self.unitType
109
- ____self_7.setStringField(
110
- ____self_7,
229
+ local ____self_16 = self.unitType
230
+ ____self_16.setStringField(
231
+ ____self_16,
111
232
  ("ua" .. tostring(self.index)) .. "m",
112
233
  missileModelPath
113
234
  )
@@ -115,21 +236,65 @@ __TS__SetDescriptor(
115
236
  },
116
237
  true
117
238
  )
239
+ __TS__SetDescriptor(
240
+ UnitTypeWeapon.prototype,
241
+ "missileModelPathSD",
242
+ {
243
+ get = function(self)
244
+ local ____self_17 = self.unitType
245
+ return ____self_17.getStringField(
246
+ ____self_17,
247
+ ("ua" .. tostring(self.index)) .. "m:sd"
248
+ )
249
+ end,
250
+ set = function(self, missileModelPathSD)
251
+ local ____self_18 = self.unitType
252
+ ____self_18.setStringField(
253
+ ____self_18,
254
+ ("ua" .. tostring(self.index)) .. "m:sd",
255
+ missileModelPathSD
256
+ )
257
+ end
258
+ },
259
+ true
260
+ )
261
+ __TS__SetDescriptor(
262
+ UnitTypeWeapon.prototype,
263
+ "missileModelPathHD",
264
+ {
265
+ get = function(self)
266
+ local ____self_19 = self.unitType
267
+ return ____self_19.getStringField(
268
+ ____self_19,
269
+ ("ua" .. tostring(self.index)) .. "m:hd"
270
+ )
271
+ end,
272
+ set = function(self, missileModelPathHD)
273
+ local ____self_20 = self.unitType
274
+ ____self_20.setStringField(
275
+ ____self_20,
276
+ ("ua" .. tostring(self.index)) .. "m:hd",
277
+ missileModelPathHD
278
+ )
279
+ end
280
+ },
281
+ true
282
+ )
118
283
  __TS__SetDescriptor(
119
284
  UnitTypeWeapon.prototype,
120
285
  "range",
121
286
  {
122
287
  get = function(self)
123
- local ____self_8 = self.unitType
124
- return ____self_8.getNumberField(
125
- ____self_8,
288
+ local ____self_21 = self.unitType
289
+ return ____self_21.getNumberField(
290
+ ____self_21,
126
291
  ("ua" .. tostring(self.index)) .. "r"
127
292
  )
128
293
  end,
129
294
  set = function(self, range)
130
- local ____self_9 = self.unitType
131
- ____self_9.setNumberField(
132
- ____self_9,
295
+ local ____self_22 = self.unitType
296
+ ____self_22.setNumberField(
297
+ ____self_22,
133
298
  ("ua" .. tostring(self.index)) .. "r",
134
299
  range
135
300
  )
@@ -142,16 +307,16 @@ __TS__SetDescriptor(
142
307
  "soundType",
143
308
  {
144
309
  get = function(self)
145
- local ____self_10 = self.unitType
146
- return ____self_10.getStringField(
147
- ____self_10,
310
+ local ____self_23 = self.unitType
311
+ return ____self_23.getStringField(
312
+ ____self_23,
148
313
  "ucs" .. tostring(self.index)
149
314
  )
150
315
  end,
151
316
  set = function(self, soundType)
152
- local ____self_11 = self.unitType
153
- ____self_11.setStringField(
154
- ____self_11,
317
+ local ____self_24 = self.unitType
318
+ ____self_24.setStringField(
319
+ ____self_24,
155
320
  "ucs" .. tostring(self.index),
156
321
  soundType
157
322
  )
@@ -164,16 +329,16 @@ __TS__SetDescriptor(
164
329
  "soundTypeSD",
165
330
  {
166
331
  get = function(self)
167
- local ____self_12 = self.unitType
168
- return ____self_12.getStringField(
169
- ____self_12,
332
+ local ____self_25 = self.unitType
333
+ return ____self_25.getStringField(
334
+ ____self_25,
170
335
  ("ucs" .. tostring(self.index)) .. ":sd"
171
336
  )
172
337
  end,
173
338
  set = function(self, soundTypeSD)
174
- local ____self_13 = self.unitType
175
- ____self_13.setStringField(
176
- ____self_13,
339
+ local ____self_26 = self.unitType
340
+ ____self_26.setStringField(
341
+ ____self_26,
177
342
  ("ucs" .. tostring(self.index)) .. ":sd",
178
343
  soundTypeSD
179
344
  )
@@ -186,16 +351,16 @@ __TS__SetDescriptor(
186
351
  "soundTypeHD",
187
352
  {
188
353
  get = function(self)
189
- local ____self_14 = self.unitType
190
- return ____self_14.getStringField(
191
- ____self_14,
354
+ local ____self_27 = self.unitType
355
+ return ____self_27.getStringField(
356
+ ____self_27,
192
357
  ("ucs" .. tostring(self.index)) .. ":hd"
193
358
  )
194
359
  end,
195
360
  set = function(self, soundTypeHD)
196
- local ____self_15 = self.unitType
197
- ____self_15.setStringField(
198
- ____self_15,
361
+ local ____self_28 = self.unitType
362
+ ____self_28.setStringField(
363
+ ____self_28,
199
364
  ("ucs" .. tostring(self.index)) .. ":hd",
200
365
  soundTypeHD
201
366
  )
@@ -236,10 +401,10 @@ __TS__SetDescriptor(
236
401
  "abilityTypeIds",
237
402
  {
238
403
  get = function(self)
239
- return self:getObjectDataEntryIdsField("uabi")
404
+ return self:getObjectDataEntryNumericIdsField("uabi")
240
405
  end,
241
406
  set = function(self, abilityTypeIds)
242
- self:setObjectDataEntryIdsField("uabi", abilityTypeIds)
407
+ self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
243
408
  end
244
409
  },
245
410
  true
@@ -249,10 +414,10 @@ __TS__SetDescriptor(
249
414
  "defaultActiveAbilityTypeId",
250
415
  {
251
416
  get = function(self)
252
- return self:getObjectDataEntryIdsField("udaa")[1]
417
+ return self:getObjectDataEntryNumericIdsField("udaa")[1]
253
418
  end,
254
419
  set = function(self, abilityTypeId)
255
- self:setObjectDataEntryIdsField(
420
+ self:setObjectDataEntryNumericIdsField(
256
421
  "udaa",
257
422
  arrayOfNotNull(abilityTypeId)
258
423
  )
@@ -698,6 +863,9 @@ __TS__SetDescriptor(
698
863
  end,
699
864
  set = function(self, modelPath)
700
865
  self:setStringField("umdl", modelPath)
866
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
867
+ self:setStringField("upor", "")
868
+ end
701
869
  end
702
870
  },
703
871
  true
@@ -711,6 +879,9 @@ __TS__SetDescriptor(
711
879
  end,
712
880
  set = function(self, modelPathSD)
713
881
  self:setStringField("umdl:sd", modelPathSD)
882
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
883
+ self:setStringField("upor:sd", "")
884
+ end
714
885
  end
715
886
  },
716
887
  true
@@ -724,6 +895,51 @@ __TS__SetDescriptor(
724
895
  end,
725
896
  set = function(self, modelPathHD)
726
897
  self:setStringField("umdl:hd", modelPathHD)
898
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
899
+ self:setStringField("upor:hd", "")
900
+ end
901
+ end
902
+ },
903
+ true
904
+ )
905
+ __TS__SetDescriptor(
906
+ UnitType.prototype,
907
+ "portraitModelPath",
908
+ {
909
+ get = function(self)
910
+ return self:getStringField("upor")
911
+ end,
912
+ set = function(self, portraitModelPath)
913
+ self:setStringField("upor", portraitModelPath)
914
+ self.isPortraitModelPathSet = true
915
+ end
916
+ },
917
+ true
918
+ )
919
+ __TS__SetDescriptor(
920
+ UnitType.prototype,
921
+ "portraitModelPathSD",
922
+ {
923
+ get = function(self)
924
+ return self:getStringField("upor:sd")
925
+ end,
926
+ set = function(self, portraitModelPathSD)
927
+ self:setStringField("upor:sd", portraitModelPathSD)
928
+ self.isPortraitModelPathSet = true
929
+ end
930
+ },
931
+ true
932
+ )
933
+ __TS__SetDescriptor(
934
+ UnitType.prototype,
935
+ "portraitModelPathHD",
936
+ {
937
+ get = function(self)
938
+ return self:getStringField("upor:hd")
939
+ end,
940
+ set = function(self, portraitModelPathHD)
941
+ self:setStringField("upor:hd", portraitModelPathHD)
942
+ self.isPortraitModelPathSet = true
727
943
  end
728
944
  },
729
945
  true
@@ -767,6 +983,19 @@ __TS__SetDescriptor(
767
983
  },
768
984
  true
769
985
  )
986
+ __TS__SetDescriptor(
987
+ UnitType.prototype,
988
+ "selectionCircleHeight",
989
+ {
990
+ get = function(self)
991
+ return self:getNumberField("uslz")
992
+ end,
993
+ set = function(self, height)
994
+ self:setNumberField("uslz", height)
995
+ end
996
+ },
997
+ true
998
+ )
770
999
  __TS__SetDescriptor(
771
1000
  UnitType.prototype,
772
1001
  "selectionCircleScale",
@@ -1014,6 +1243,19 @@ __TS__SetDescriptor(
1014
1243
  },
1015
1244
  true
1016
1245
  )
1246
+ __TS__SetDescriptor(
1247
+ UnitType.prototype,
1248
+ "armor",
1249
+ {
1250
+ get = function(self)
1251
+ return self:getNumberField("udef")
1252
+ end,
1253
+ set = function(self, armor)
1254
+ self:setNumberField("udef", armor)
1255
+ end
1256
+ },
1257
+ true
1258
+ )
1017
1259
  __TS__SetDescriptor(
1018
1260
  UnitType.prototype,
1019
1261
  "armorSoundType",
@@ -1053,6 +1295,22 @@ __TS__SetDescriptor(
1053
1295
  },
1054
1296
  true
1055
1297
  )
1298
+ __TS__SetDescriptor(
1299
+ UnitType.prototype,
1300
+ "armorType",
1301
+ {
1302
+ get = function(self)
1303
+ return stringToArmorType(self:getStringField("udty"))
1304
+ end,
1305
+ set = function(self, armorType)
1306
+ self:setStringField(
1307
+ "udty",
1308
+ armorTypeToString(armorType)
1309
+ )
1310
+ end
1311
+ },
1312
+ true
1313
+ )
1056
1314
  __TS__SetDescriptor(
1057
1315
  UnitType.prototype,
1058
1316
  "combatClassifications",
@@ -1071,7 +1329,7 @@ __TS__SetDescriptor(
1071
1329
  )
1072
1330
  __TS__SetDescriptor(
1073
1331
  UnitType.prototype,
1074
- "unitClassifications",
1332
+ "classifications",
1075
1333
  {
1076
1334
  get = function(self)
1077
1335
  return stringArrayToUnitClassifications(self:getStringsField("utyp"))
@@ -1087,25 +1345,25 @@ __TS__SetDescriptor(
1087
1345
  )
1088
1346
  __TS__SetDescriptor(
1089
1347
  UnitType.prototype,
1090
- "firstWeapon",
1348
+ "weapons",
1091
1349
  {get = function(self)
1092
- return self.weapons[1]
1350
+ return getOrCreateUnitTypeWeapons(self)
1093
1351
  end},
1094
1352
  true
1095
1353
  )
1096
1354
  __TS__SetDescriptor(
1097
1355
  UnitType.prototype,
1098
- "secondWeapon",
1356
+ "firstWeapon",
1099
1357
  {get = function(self)
1100
- return self.weapons[2]
1358
+ return self.weapons[1]
1101
1359
  end},
1102
1360
  true
1103
1361
  )
1104
1362
  __TS__SetDescriptor(
1105
1363
  UnitType.prototype,
1106
- "weapons",
1364
+ "secondWeapon",
1107
1365
  {get = function(self)
1108
- return getOrCreateUnitTypeWeapons(self)
1366
+ return self.weapons[2]
1109
1367
  end},
1110
1368
  true
1111
1369
  )
@@ -1179,10 +1437,13 @@ __TS__SetDescriptor(
1179
1437
  "movementType",
1180
1438
  {
1181
1439
  get = function(self)
1182
- return self:getStringField("umvt")
1440
+ return stringToMovementType(self:getStringField("umvt"))
1183
1441
  end,
1184
1442
  set = function(self, movementType)
1185
- self:setStringField("umvt", movementType)
1443
+ self:setStringField(
1444
+ "umvt",
1445
+ movementTypeToString(movementType)
1446
+ )
1186
1447
  end
1187
1448
  },
1188
1449
  true
@@ -1291,6 +1552,84 @@ __TS__SetDescriptor(
1291
1552
  },
1292
1553
  true
1293
1554
  )
1555
+ __TS__SetDescriptor(
1556
+ UnitType.prototype,
1557
+ "healthRegenerationRate",
1558
+ {
1559
+ get = function(self)
1560
+ return self:getNumberField("uhpr")
1561
+ end,
1562
+ set = function(self, healthRegenerationRate)
1563
+ self:setNumberField("uhpr", healthRegenerationRate)
1564
+ end
1565
+ },
1566
+ true
1567
+ )
1568
+ __TS__SetDescriptor(
1569
+ UnitType.prototype,
1570
+ "level",
1571
+ {
1572
+ get = function(self)
1573
+ return self:getNumberField("ulev")
1574
+ end,
1575
+ set = function(self, level)
1576
+ self:setNumberField("ulev", level)
1577
+ end
1578
+ },
1579
+ true
1580
+ )
1581
+ __TS__SetDescriptor(
1582
+ UnitType.prototype,
1583
+ "manaRegenerationRate",
1584
+ {
1585
+ get = function(self)
1586
+ return self:getNumberField("umpr")
1587
+ end,
1588
+ set = function(self, manaRegenerationRate)
1589
+ self:setNumberField("umpr", manaRegenerationRate)
1590
+ end
1591
+ },
1592
+ true
1593
+ )
1594
+ __TS__SetDescriptor(
1595
+ UnitType.prototype,
1596
+ "maximumHealth",
1597
+ {
1598
+ get = function(self)
1599
+ return self:getNumberField("uhpm")
1600
+ end,
1601
+ set = function(self, maximumHealth)
1602
+ self:setNumberField("uhpm", maximumHealth)
1603
+ end
1604
+ },
1605
+ true
1606
+ )
1607
+ __TS__SetDescriptor(
1608
+ UnitType.prototype,
1609
+ "maximumMana",
1610
+ {
1611
+ get = function(self)
1612
+ return self:getNumberField("umpm")
1613
+ end,
1614
+ set = function(self, maximumMana)
1615
+ self:setNumberField("umpm", maximumMana)
1616
+ end
1617
+ },
1618
+ true
1619
+ )
1620
+ __TS__SetDescriptor(
1621
+ UnitType.prototype,
1622
+ "initialMana",
1623
+ {
1624
+ get = function(self)
1625
+ return self:getNumberField("umpi")
1626
+ end,
1627
+ set = function(self, initialMana)
1628
+ self:setNumberField("umpi", initialMana)
1629
+ end
1630
+ },
1631
+ true
1632
+ )
1294
1633
  __TS__SetDescriptor(
1295
1634
  UnitType.prototype,
1296
1635
  "isStructure",
@@ -1322,10 +1661,10 @@ __TS__SetDescriptor(
1322
1661
  "affectingUpgradeIds",
1323
1662
  {
1324
1663
  get = function(self)
1325
- return self:getObjectDataEntryIdsField("upgr")
1664
+ return self:getObjectDataEntryNumericIdsField("upgr")
1326
1665
  end,
1327
1666
  set = function(self, affectingUpgradeIds)
1328
- self:setObjectDataEntryIdsField("upgr", affectingUpgradeIds)
1667
+ self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
1329
1668
  end
1330
1669
  },
1331
1670
  true
@@ -1385,11 +1724,11 @@ __TS__SetDescriptor(
1385
1724
  implementReadonlyNumberIndexSupplier(
1386
1725
  ____exports.UnitType,
1387
1726
  function(id)
1388
- local ____class_16 = __TS__Class()
1389
- ____class_16.name = ____class_16.name
1390
- __TS__ClassExtends(____class_16, ____exports.UnitType)
1391
- ____class_16.BASE_ID = id
1392
- return ____class_16
1727
+ local ____class_29 = __TS__Class()
1728
+ ____class_29.name = ____class_29.name
1729
+ __TS__ClassExtends(____class_29, ____exports.UnitType)
1730
+ ____class_29.BASE_ID = id
1731
+ return ____class_29
1393
1732
  end
1394
1733
  )
1395
1734
  ____exports.HeroUnitType = __TS__Class()
@@ -1408,10 +1747,10 @@ __TS__SetDescriptor(
1408
1747
  "heroAbilityTypeIds",
1409
1748
  {
1410
1749
  get = function(self)
1411
- return self:getObjectDataEntryIdsField("uhab")
1750
+ return self:getObjectDataEntryNumericIdsField("uhab")
1412
1751
  end,
1413
1752
  set = function(self, heroAbilityTypeIds)
1414
- self:setObjectDataEntryIdsField("uhab", heroAbilityTypeIds)
1753
+ self:setObjectDataEntryNumericIdsField("uhab", heroAbilityTypeIds)
1415
1754
  end
1416
1755
  },
1417
1756
  true
@@ -1436,13 +1775,13 @@ __TS__SetDescriptor(
1436
1775
  )
1437
1776
  __TS__SetDescriptor(
1438
1777
  HeroUnitType.prototype,
1439
- "properNamesCount",
1778
+ "properNameCount",
1440
1779
  {
1441
1780
  get = function(self)
1442
1781
  return self:getNumberField("upru")
1443
1782
  end,
1444
- set = function(self, properNamesCount)
1445
- self:setNumberField("upru", properNamesCount)
1783
+ set = function(self, properNameCount)
1784
+ self:setNumberField("upru", properNameCount)
1446
1785
  end
1447
1786
  },
1448
1787
  true
@@ -1450,11 +1789,11 @@ __TS__SetDescriptor(
1450
1789
  implementReadonlyNumberIndexSupplier(
1451
1790
  ____exports.HeroUnitType,
1452
1791
  function(id)
1453
- local ____class_17 = __TS__Class()
1454
- ____class_17.name = ____class_17.name
1455
- __TS__ClassExtends(____class_17, ____exports.HeroUnitType)
1456
- ____class_17.BASE_ID = id
1457
- return ____class_17
1792
+ local ____class_30 = __TS__Class()
1793
+ ____class_30.name = ____class_30.name
1794
+ __TS__ClassExtends(____class_30, ____exports.HeroUnitType)
1795
+ ____class_30.BASE_ID = id
1796
+ return ____class_30
1458
1797
  end
1459
1798
  )
1460
1799
  return ____exports