warscript 0.0.1-dev.ccd5725 → 0.0.1-dev.cdcfbc9

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 (253) hide show
  1. package/attributes.d.ts +5 -1
  2. package/attributes.lua +8 -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.lua +3 -1
  16. package/core/types/playerCamera.d.ts +2 -0
  17. package/core/types/playerCamera.lua +123 -5
  18. package/core/types/sound.d.ts +17 -24
  19. package/core/types/sound.lua +99 -24
  20. package/core/types/tileCell.d.ts +9 -0
  21. package/core/types/tileCell.lua +92 -0
  22. package/core/types/timer.d.ts +9 -8
  23. package/core/types/timer.lua +45 -23
  24. package/core/types/unit.lua +8 -0
  25. package/core/util.d.ts +1 -1
  26. package/core/util.lua +18 -1
  27. package/decl/index.d.ts +1 -0
  28. package/decl/native.d.ts +846 -790
  29. package/engine/ability.d.ts +1 -1
  30. package/engine/behavior.d.ts +15 -10
  31. package/engine/behavior.lua +112 -33
  32. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  33. package/engine/behaviour/ability/always-enabled.lua +31 -0
  34. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  35. package/engine/behaviour/ability/apply-buff.lua +32 -0
  36. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  37. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  38. package/engine/behaviour/ability/damage.d.ts +39 -11
  39. package/engine/behaviour/ability/damage.lua +83 -37
  40. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  41. package/engine/behaviour/ability/emulate-impact.lua +43 -0
  42. package/engine/behaviour/ability/heal.d.ts +33 -6
  43. package/engine/behaviour/ability/heal.lua +89 -10
  44. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  45. package/engine/behaviour/ability/instant-impact.lua +4 -15
  46. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  47. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  48. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  49. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  50. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  51. package/engine/behaviour/ability/restore-mana.lua +29 -0
  52. package/engine/behaviour/ability.d.ts +27 -4
  53. package/engine/behaviour/ability.lua +152 -26
  54. package/engine/behaviour/unit/stun-immunity.d.ts +7 -4
  55. package/engine/behaviour/unit/stun-immunity.lua +52 -27
  56. package/engine/behaviour/unit.d.ts +42 -2
  57. package/engine/behaviour/unit.lua +213 -0
  58. package/engine/buff.d.ts +104 -44
  59. package/engine/buff.lua +453 -215
  60. package/engine/game-map.d.ts +7 -0
  61. package/engine/game-map.lua +32 -0
  62. package/engine/internal/ability.d.ts +23 -14
  63. package/engine/internal/ability.lua +129 -85
  64. package/engine/internal/item/ability.lua +162 -4
  65. package/engine/internal/item+owner.lua +12 -6
  66. package/engine/internal/item.d.ts +20 -19
  67. package/engine/internal/item.lua +191 -74
  68. package/engine/internal/mechanics/ability-duration.lua +1 -1
  69. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  70. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  71. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  72. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  73. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  74. package/engine/internal/misc/frame-coordinates.lua +21 -0
  75. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  76. package/engine/internal/misc/get-terrain-z.lua +11 -0
  77. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  78. package/engine/internal/misc/player-local-handle.lua +5 -0
  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/unit/ability.d.ts +45 -1
  84. package/engine/internal/unit/ability.lua +128 -17
  85. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  86. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  87. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  88. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  89. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  90. package/engine/internal/unit/allowed-targets.lua +9 -1
  91. package/engine/internal/unit/bonus.d.ts +11 -8
  92. package/engine/internal/unit/bonus.lua +23 -1
  93. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  94. package/engine/internal/unit/ignore-events-items.lua +5 -0
  95. package/engine/internal/unit/item.d.ts +24 -0
  96. package/engine/internal/unit/item.lua +78 -0
  97. package/engine/internal/unit/main-selected.d.ts +13 -0
  98. package/engine/internal/unit/main-selected.lua +51 -0
  99. package/engine/internal/unit/order.d.ts +20 -0
  100. package/engine/internal/unit/order.lua +136 -0
  101. package/engine/internal/unit+ability.lua +12 -3
  102. package/engine/internal/unit+damage.d.ts +2 -11
  103. package/engine/internal/unit+damage.lua +10 -14
  104. package/engine/internal/unit+spellSteal.lua +1 -2
  105. package/engine/internal/unit+transport.lua +4 -10
  106. package/engine/internal/unit-missile-launch.lua +42 -10
  107. package/engine/internal/unit.d.ts +89 -24
  108. package/engine/internal/unit.lua +594 -206
  109. package/engine/internal/utility.lua +12 -0
  110. package/engine/lightning.d.ts +12 -5
  111. package/engine/lightning.lua +48 -14
  112. package/engine/local-client.d.ts +7 -2
  113. package/engine/local-client.lua +82 -0
  114. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  115. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  116. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  117. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  118. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  119. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  120. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  121. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  122. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  123. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  124. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  125. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  126. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  127. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  128. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  129. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  130. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  131. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  132. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  133. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  134. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  135. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  136. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  137. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  138. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  139. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  140. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  141. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  142. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  143. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  144. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  145. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  146. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  147. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  148. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  149. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  150. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  151. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  152. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  153. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  154. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  155. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  156. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  157. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  158. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  159. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  160. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  161. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  162. package/engine/object-data/entry/ability-type/web.lua +52 -0
  163. package/engine/object-data/entry/ability-type.d.ts +19 -18
  164. package/engine/object-data/entry/ability-type.lua +93 -36
  165. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  166. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  167. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  168. package/engine/object-data/entry/buff-type.d.ts +6 -13
  169. package/engine/object-data/entry/buff-type.lua +13 -29
  170. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  171. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  172. package/engine/object-data/entry/item-type.d.ts +15 -2
  173. package/engine/object-data/entry/item-type.lua +93 -2
  174. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  175. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  176. package/engine/object-data/entry/sound-preset.lua +140 -0
  177. package/engine/object-data/entry/unit-type.d.ts +46 -7
  178. package/engine/object-data/entry/unit-type.lua +402 -75
  179. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  180. package/engine/object-data/entry/upgrade.d.ts +1 -2
  181. package/engine/object-data/entry/upgrade.lua +4 -4
  182. package/engine/object-data/entry.d.ts +18 -17
  183. package/engine/object-data/entry.lua +60 -32
  184. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  185. package/engine/object-field/ability.d.ts +28 -5
  186. package/engine/object-field/ability.lua +59 -5
  187. package/engine/object-field/unit.d.ts +57 -3
  188. package/engine/object-field/unit.lua +207 -7
  189. package/engine/object-field.d.ts +17 -7
  190. package/engine/object-field.lua +190 -90
  191. package/engine/random.d.ts +10 -0
  192. package/engine/random.lua +22 -0
  193. package/engine/standard/entries/buff-type.d.ts +3 -0
  194. package/engine/standard/entries/buff-type.lua +3 -0
  195. package/engine/standard/entries/sound-preset.d.ts +10 -0
  196. package/engine/standard/entries/sound-preset.lua +10 -0
  197. package/engine/standard/entries/unit-type.d.ts +39 -1
  198. package/engine/standard/entries/unit-type.lua +39 -1
  199. package/engine/standard/fields/ability.d.ts +3 -1
  200. package/engine/standard/fields/ability.lua +3 -1
  201. package/engine/standard/fields/unit.d.ts +4 -0
  202. package/engine/standard/fields/unit.lua +7 -0
  203. package/engine/text-tag.d.ts +36 -2
  204. package/engine/text-tag.lua +249 -10
  205. package/engine/unit.d.ts +4 -0
  206. package/engine/unit.lua +13 -2
  207. package/event.d.ts +2 -3
  208. package/event.lua +9 -5
  209. package/index.d.ts +1 -0
  210. package/index.lua +1 -0
  211. package/lualib_bundle.lua +146 -42
  212. package/math/vec2.d.ts +2 -9
  213. package/math.d.ts +0 -2
  214. package/net/socket.d.ts +7 -1
  215. package/net/socket.lua +45 -4
  216. package/network.d.ts +1 -0
  217. package/network.lua +3 -2
  218. package/objutil/ability.d.ts +0 -1
  219. package/objutil/buff.d.ts +0 -1
  220. package/objutil/buff.lua +3 -4
  221. package/objutil/object.d.ts +0 -1
  222. package/objutil/unit.d.ts +0 -1
  223. package/objutil/unit.lua +8 -0
  224. package/package.json +13 -14
  225. package/patch-lua.d.ts +0 -0
  226. package/patch-lua.lua +10 -0
  227. package/patch-lualib.lua +1 -1
  228. package/property.d.ts +55 -0
  229. package/property.lua +374 -0
  230. package/string.d.ts +30 -0
  231. package/string.lua +14 -0
  232. package/util/stream.d.ts +0 -1
  233. package/utility/arrays.d.ts +13 -5
  234. package/utility/arrays.lua +45 -3
  235. package/utility/bit-set.d.ts +0 -2
  236. package/utility/callback-array.d.ts +17 -0
  237. package/utility/callback-array.lua +61 -0
  238. package/utility/functions.d.ts +8 -0
  239. package/utility/functions.lua +13 -0
  240. package/utility/lazy.d.ts +2 -0
  241. package/utility/lazy.lua +14 -0
  242. package/utility/linked-set.d.ts +12 -3
  243. package/utility/linked-set.lua +8 -2
  244. package/utility/lua-maps.d.ts +16 -4
  245. package/utility/lua-maps.lua +53 -2
  246. package/utility/lua-sets.d.ts +3 -2
  247. package/utility/lua-sets.lua +7 -0
  248. package/utility/reflection.lua +11 -7
  249. package/utility/types.d.ts +4 -0
  250. package/core/mapbounds.d.ts +0 -8
  251. package/core/mapbounds.lua +0 -12
  252. package/core/types/order.d.ts +0 -25
  253. package/core/types/order.lua +0 -55
@@ -3,6 +3,7 @@ local __TS__Class = ____lualib.__TS__Class
3
3
  local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
4
4
  local __TS__New = ____lualib.__TS__New
5
5
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
6
+ local __TS__ArrayIsArray = ____lualib.__TS__ArrayIsArray
6
7
  local ____exports = {}
7
8
  local ____arrays = require("utility.arrays")
8
9
  local arrayOfNotNull = ____arrays.arrayOfNotNull
@@ -11,6 +12,9 @@ local implementReadonlyNumberIndexSupplier = ____reflection.implementReadonlyNum
11
12
  local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
12
13
  local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
13
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
14
18
  local ____unit_2Dclassification = require("engine.object-data.auxiliary.unit-classification")
15
19
  local stringArrayToUnitClassifications = ____unit_2Dclassification.stringArrayToUnitClassifications
16
20
  local unitClassificationsToStringArray = ____unit_2Dclassification.unitClassificationsToStringArray
@@ -18,6 +22,14 @@ local ____entry = require("engine.object-data.entry")
18
22
  local ObjectDataEntry = ____entry.ObjectDataEntry
19
23
  local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
20
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
21
33
  local getOrCreateUnitTypeWeapons
22
34
  ____exports.UnitTypeWeapon = __TS__Class()
23
35
  local UnitTypeWeapon = ____exports.UnitTypeWeapon
@@ -31,18 +43,19 @@ __TS__SetDescriptor(
31
43
  "attackType",
32
44
  {
33
45
  get = function(self)
46
+ local ____stringToAttackType_1 = stringToAttackType
34
47
  local ____self_0 = self.unitType
35
- return ____self_0.getStringField(
48
+ return ____stringToAttackType_1(____self_0.getStringField(
36
49
  ____self_0,
37
50
  ("ua" .. tostring(self.index)) .. "t"
38
- )
51
+ ))
39
52
  end,
40
53
  set = function(self, attackType)
41
- local ____self_1 = self.unitType
42
- ____self_1.setStringField(
43
- ____self_1,
54
+ local ____self_2 = self.unitType
55
+ ____self_2.setStringField(
56
+ ____self_2,
44
57
  ("ua" .. tostring(self.index)) .. "t",
45
- attackType
58
+ attackTypeToString(attackType)
46
59
  )
47
60
  end
48
61
  },
@@ -53,16 +66,16 @@ __TS__SetDescriptor(
53
66
  "backSwingDuration",
54
67
  {
55
68
  get = function(self)
56
- local ____self_2 = self.unitType
57
- return ____self_2.getNumberField(
58
- ____self_2,
69
+ local ____self_3 = self.unitType
70
+ return ____self_3.getNumberField(
71
+ ____self_3,
59
72
  "ubs" .. tostring(self.index)
60
73
  )
61
74
  end,
62
75
  set = function(self, backSwingDuration)
63
- local ____self_3 = self.unitType
64
- ____self_3.setNumberField(
65
- ____self_3,
76
+ local ____self_4 = self.unitType
77
+ ____self_4.setNumberField(
78
+ ____self_4,
66
79
  "ubs" .. tostring(self.index),
67
80
  backSwingDuration
68
81
  )
@@ -70,21 +83,130 @@ __TS__SetDescriptor(
70
83
  },
71
84
  true
72
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
+ )
73
195
  __TS__SetDescriptor(
74
196
  UnitTypeWeapon.prototype,
75
197
  "impactDelay",
76
198
  {
77
199
  get = function(self)
78
- local ____self_4 = self.unitType
79
- return ____self_4.getNumberField(
80
- ____self_4,
200
+ local ____self_13 = self.unitType
201
+ return ____self_13.getNumberField(
202
+ ____self_13,
81
203
  "udp" .. tostring(self.index)
82
204
  )
83
205
  end,
84
206
  set = function(self, impactDelay)
85
- local ____self_5 = self.unitType
86
- ____self_5.setNumberField(
87
- ____self_5,
207
+ local ____self_14 = self.unitType
208
+ ____self_14.setNumberField(
209
+ ____self_14,
88
210
  "udp" .. tostring(self.index),
89
211
  impactDelay
90
212
  )
@@ -97,16 +219,16 @@ __TS__SetDescriptor(
97
219
  "missileModelPath",
98
220
  {
99
221
  get = function(self)
100
- local ____self_6 = self.unitType
101
- return ____self_6.getStringField(
102
- ____self_6,
222
+ local ____self_15 = self.unitType
223
+ return ____self_15.getStringField(
224
+ ____self_15,
103
225
  ("ua" .. tostring(self.index)) .. "m"
104
226
  )
105
227
  end,
106
228
  set = function(self, missileModelPath)
107
- local ____self_7 = self.unitType
108
- ____self_7.setStringField(
109
- ____self_7,
229
+ local ____self_16 = self.unitType
230
+ ____self_16.setStringField(
231
+ ____self_16,
110
232
  ("ua" .. tostring(self.index)) .. "m",
111
233
  missileModelPath
112
234
  )
@@ -119,16 +241,16 @@ __TS__SetDescriptor(
119
241
  "range",
120
242
  {
121
243
  get = function(self)
122
- local ____self_8 = self.unitType
123
- return ____self_8.getNumberField(
124
- ____self_8,
244
+ local ____self_17 = self.unitType
245
+ return ____self_17.getNumberField(
246
+ ____self_17,
125
247
  ("ua" .. tostring(self.index)) .. "r"
126
248
  )
127
249
  end,
128
250
  set = function(self, range)
129
- local ____self_9 = self.unitType
130
- ____self_9.setNumberField(
131
- ____self_9,
251
+ local ____self_18 = self.unitType
252
+ ____self_18.setNumberField(
253
+ ____self_18,
132
254
  ("ua" .. tostring(self.index)) .. "r",
133
255
  range
134
256
  )
@@ -141,16 +263,16 @@ __TS__SetDescriptor(
141
263
  "soundType",
142
264
  {
143
265
  get = function(self)
144
- local ____self_10 = self.unitType
145
- return ____self_10.getStringField(
146
- ____self_10,
266
+ local ____self_19 = self.unitType
267
+ return ____self_19.getStringField(
268
+ ____self_19,
147
269
  "ucs" .. tostring(self.index)
148
270
  )
149
271
  end,
150
272
  set = function(self, soundType)
151
- local ____self_11 = self.unitType
152
- ____self_11.setStringField(
153
- ____self_11,
273
+ local ____self_20 = self.unitType
274
+ ____self_20.setStringField(
275
+ ____self_20,
154
276
  "ucs" .. tostring(self.index),
155
277
  soundType
156
278
  )
@@ -163,16 +285,16 @@ __TS__SetDescriptor(
163
285
  "soundTypeSD",
164
286
  {
165
287
  get = function(self)
166
- local ____self_12 = self.unitType
167
- return ____self_12.getStringField(
168
- ____self_12,
288
+ local ____self_21 = self.unitType
289
+ return ____self_21.getStringField(
290
+ ____self_21,
169
291
  ("ucs" .. tostring(self.index)) .. ":sd"
170
292
  )
171
293
  end,
172
294
  set = function(self, soundTypeSD)
173
- local ____self_13 = self.unitType
174
- ____self_13.setStringField(
175
- ____self_13,
295
+ local ____self_22 = self.unitType
296
+ ____self_22.setStringField(
297
+ ____self_22,
176
298
  ("ucs" .. tostring(self.index)) .. ":sd",
177
299
  soundTypeSD
178
300
  )
@@ -185,16 +307,16 @@ __TS__SetDescriptor(
185
307
  "soundTypeHD",
186
308
  {
187
309
  get = function(self)
188
- local ____self_14 = self.unitType
189
- return ____self_14.getStringField(
190
- ____self_14,
310
+ local ____self_23 = self.unitType
311
+ return ____self_23.getStringField(
312
+ ____self_23,
191
313
  ("ucs" .. tostring(self.index)) .. ":hd"
192
314
  )
193
315
  end,
194
316
  set = function(self, soundTypeHD)
195
- local ____self_15 = self.unitType
196
- ____self_15.setStringField(
197
- ____self_15,
317
+ local ____self_24 = self.unitType
318
+ ____self_24.setStringField(
319
+ ____self_24,
198
320
  ("ucs" .. tostring(self.index)) .. ":hd",
199
321
  soundTypeHD
200
322
  )
@@ -235,10 +357,10 @@ __TS__SetDescriptor(
235
357
  "abilityTypeIds",
236
358
  {
237
359
  get = function(self)
238
- return self:getObjectDataEntryIdsField("uabi")
360
+ return self:getObjectDataEntryNumericIdsField("uabi")
239
361
  end,
240
362
  set = function(self, abilityTypeIds)
241
- self:setObjectDataEntryIdsField("uabi", abilityTypeIds)
363
+ self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
242
364
  end
243
365
  },
244
366
  true
@@ -248,10 +370,10 @@ __TS__SetDescriptor(
248
370
  "defaultActiveAbilityTypeId",
249
371
  {
250
372
  get = function(self)
251
- return self:getObjectDataEntryIdsField("udaa")[1]
373
+ return self:getObjectDataEntryNumericIdsField("udaa")[1]
252
374
  end,
253
375
  set = function(self, abilityTypeId)
254
- self:setObjectDataEntryIdsField(
376
+ self:setObjectDataEntryNumericIdsField(
255
377
  "udaa",
256
378
  arrayOfNotNull(abilityTypeId)
257
379
  )
@@ -697,6 +819,9 @@ __TS__SetDescriptor(
697
819
  end,
698
820
  set = function(self, modelPath)
699
821
  self:setStringField("umdl", modelPath)
822
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
823
+ self:setStringField("upor", "")
824
+ end
700
825
  end
701
826
  },
702
827
  true
@@ -710,6 +835,9 @@ __TS__SetDescriptor(
710
835
  end,
711
836
  set = function(self, modelPathSD)
712
837
  self:setStringField("umdl:sd", modelPathSD)
838
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
839
+ self:setStringField("upor:sd", "")
840
+ end
713
841
  end
714
842
  },
715
843
  true
@@ -723,6 +851,51 @@ __TS__SetDescriptor(
723
851
  end,
724
852
  set = function(self, modelPathHD)
725
853
  self:setStringField("umdl:hd", modelPathHD)
854
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
855
+ self:setStringField("upor:hd", "")
856
+ end
857
+ end
858
+ },
859
+ true
860
+ )
861
+ __TS__SetDescriptor(
862
+ UnitType.prototype,
863
+ "portraitModelPath",
864
+ {
865
+ get = function(self)
866
+ return self:getStringField("upor")
867
+ end,
868
+ set = function(self, portraitModelPath)
869
+ self:setStringField("upor", portraitModelPath)
870
+ self.isPortraitModelPathSet = true
871
+ end
872
+ },
873
+ true
874
+ )
875
+ __TS__SetDescriptor(
876
+ UnitType.prototype,
877
+ "portraitModelPathSD",
878
+ {
879
+ get = function(self)
880
+ return self:getStringField("upor:sd")
881
+ end,
882
+ set = function(self, portraitModelPathSD)
883
+ self:setStringField("upor:sd", portraitModelPathSD)
884
+ self.isPortraitModelPathSet = true
885
+ end
886
+ },
887
+ true
888
+ )
889
+ __TS__SetDescriptor(
890
+ UnitType.prototype,
891
+ "portraitModelPathHD",
892
+ {
893
+ get = function(self)
894
+ return self:getStringField("upor:hd")
895
+ end,
896
+ set = function(self, portraitModelPathHD)
897
+ self:setStringField("upor:hd", portraitModelPathHD)
898
+ self.isPortraitModelPathSet = true
726
899
  end
727
900
  },
728
901
  true
@@ -766,6 +939,19 @@ __TS__SetDescriptor(
766
939
  },
767
940
  true
768
941
  )
942
+ __TS__SetDescriptor(
943
+ UnitType.prototype,
944
+ "selectionCircleHeight",
945
+ {
946
+ get = function(self)
947
+ return self:getNumberField("uslz")
948
+ end,
949
+ set = function(self, height)
950
+ self:setNumberField("uslz", height)
951
+ end
952
+ },
953
+ true
954
+ )
769
955
  __TS__SetDescriptor(
770
956
  UnitType.prototype,
771
957
  "selectionCircleScale",
@@ -1013,6 +1199,19 @@ __TS__SetDescriptor(
1013
1199
  },
1014
1200
  true
1015
1201
  )
1202
+ __TS__SetDescriptor(
1203
+ UnitType.prototype,
1204
+ "armor",
1205
+ {
1206
+ get = function(self)
1207
+ return self:getNumberField("udef")
1208
+ end,
1209
+ set = function(self, armor)
1210
+ self:setNumberField("udef", armor)
1211
+ end
1212
+ },
1213
+ true
1214
+ )
1016
1215
  __TS__SetDescriptor(
1017
1216
  UnitType.prototype,
1018
1217
  "armorSoundType",
@@ -1052,6 +1251,22 @@ __TS__SetDescriptor(
1052
1251
  },
1053
1252
  true
1054
1253
  )
1254
+ __TS__SetDescriptor(
1255
+ UnitType.prototype,
1256
+ "armorType",
1257
+ {
1258
+ get = function(self)
1259
+ return stringToArmorType(self:getStringField("udty"))
1260
+ end,
1261
+ set = function(self, armorType)
1262
+ self:setStringField(
1263
+ "udty",
1264
+ armorTypeToString(armorType)
1265
+ )
1266
+ end
1267
+ },
1268
+ true
1269
+ )
1055
1270
  __TS__SetDescriptor(
1056
1271
  UnitType.prototype,
1057
1272
  "combatClassifications",
@@ -1070,7 +1285,7 @@ __TS__SetDescriptor(
1070
1285
  )
1071
1286
  __TS__SetDescriptor(
1072
1287
  UnitType.prototype,
1073
- "unitClassifications",
1288
+ "classifications",
1074
1289
  {
1075
1290
  get = function(self)
1076
1291
  return stringArrayToUnitClassifications(self:getStringsField("utyp"))
@@ -1086,25 +1301,25 @@ __TS__SetDescriptor(
1086
1301
  )
1087
1302
  __TS__SetDescriptor(
1088
1303
  UnitType.prototype,
1089
- "firstWeapon",
1304
+ "weapons",
1090
1305
  {get = function(self)
1091
- return self.weapons[1]
1306
+ return getOrCreateUnitTypeWeapons(self)
1092
1307
  end},
1093
1308
  true
1094
1309
  )
1095
1310
  __TS__SetDescriptor(
1096
1311
  UnitType.prototype,
1097
- "secondWeapon",
1312
+ "firstWeapon",
1098
1313
  {get = function(self)
1099
- return self.weapons[2]
1314
+ return self.weapons[1]
1100
1315
  end},
1101
1316
  true
1102
1317
  )
1103
1318
  __TS__SetDescriptor(
1104
1319
  UnitType.prototype,
1105
- "weapons",
1320
+ "secondWeapon",
1106
1321
  {get = function(self)
1107
- return getOrCreateUnitTypeWeapons(self)
1322
+ return self.weapons[2]
1108
1323
  end},
1109
1324
  true
1110
1325
  )
@@ -1178,10 +1393,13 @@ __TS__SetDescriptor(
1178
1393
  "movementType",
1179
1394
  {
1180
1395
  get = function(self)
1181
- return self:getStringField("umvt")
1396
+ return stringToMovementType(self:getStringField("umvt"))
1182
1397
  end,
1183
1398
  set = function(self, movementType)
1184
- self:setStringField("umvt", movementType)
1399
+ self:setStringField(
1400
+ "umvt",
1401
+ movementTypeToString(movementType)
1402
+ )
1185
1403
  end
1186
1404
  },
1187
1405
  true
@@ -1290,6 +1508,84 @@ __TS__SetDescriptor(
1290
1508
  },
1291
1509
  true
1292
1510
  )
1511
+ __TS__SetDescriptor(
1512
+ UnitType.prototype,
1513
+ "healthRegenerationRate",
1514
+ {
1515
+ get = function(self)
1516
+ return self:getNumberField("uhpr")
1517
+ end,
1518
+ set = function(self, healthRegenerationRate)
1519
+ self:setNumberField("uhpr", healthRegenerationRate)
1520
+ end
1521
+ },
1522
+ true
1523
+ )
1524
+ __TS__SetDescriptor(
1525
+ UnitType.prototype,
1526
+ "level",
1527
+ {
1528
+ get = function(self)
1529
+ return self:getNumberField("ulev")
1530
+ end,
1531
+ set = function(self, level)
1532
+ self:setNumberField("ulev", level)
1533
+ end
1534
+ },
1535
+ true
1536
+ )
1537
+ __TS__SetDescriptor(
1538
+ UnitType.prototype,
1539
+ "manaRegenerationRate",
1540
+ {
1541
+ get = function(self)
1542
+ return self:getNumberField("umpr")
1543
+ end,
1544
+ set = function(self, manaRegenerationRate)
1545
+ self:setNumberField("umpr", manaRegenerationRate)
1546
+ end
1547
+ },
1548
+ true
1549
+ )
1550
+ __TS__SetDescriptor(
1551
+ UnitType.prototype,
1552
+ "maximumHealth",
1553
+ {
1554
+ get = function(self)
1555
+ return self:getNumberField("uhpm")
1556
+ end,
1557
+ set = function(self, maximumHealth)
1558
+ self:setNumberField("uhpm", maximumHealth)
1559
+ end
1560
+ },
1561
+ true
1562
+ )
1563
+ __TS__SetDescriptor(
1564
+ UnitType.prototype,
1565
+ "maximumMana",
1566
+ {
1567
+ get = function(self)
1568
+ return self:getNumberField("umpm")
1569
+ end,
1570
+ set = function(self, maximumMana)
1571
+ self:setNumberField("umpm", maximumMana)
1572
+ end
1573
+ },
1574
+ true
1575
+ )
1576
+ __TS__SetDescriptor(
1577
+ UnitType.prototype,
1578
+ "initialMana",
1579
+ {
1580
+ get = function(self)
1581
+ return self:getNumberField("umpi")
1582
+ end,
1583
+ set = function(self, initialMana)
1584
+ self:setNumberField("umpi", initialMana)
1585
+ end
1586
+ },
1587
+ true
1588
+ )
1293
1589
  __TS__SetDescriptor(
1294
1590
  UnitType.prototype,
1295
1591
  "isStructure",
@@ -1321,10 +1617,10 @@ __TS__SetDescriptor(
1321
1617
  "affectingUpgradeIds",
1322
1618
  {
1323
1619
  get = function(self)
1324
- return self:getObjectDataEntryIdsField("upgr")
1620
+ return self:getObjectDataEntryNumericIdsField("upgr")
1325
1621
  end,
1326
1622
  set = function(self, affectingUpgradeIds)
1327
- self:setObjectDataEntryIdsField("upgr", affectingUpgradeIds)
1623
+ self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
1328
1624
  end
1329
1625
  },
1330
1626
  true
@@ -1384,11 +1680,11 @@ __TS__SetDescriptor(
1384
1680
  implementReadonlyNumberIndexSupplier(
1385
1681
  ____exports.UnitType,
1386
1682
  function(id)
1387
- local ____class_16 = __TS__Class()
1388
- ____class_16.name = ____class_16.name
1389
- __TS__ClassExtends(____class_16, ____exports.UnitType)
1390
- ____class_16.BASE_ID = id
1391
- return ____class_16
1683
+ local ____class_25 = __TS__Class()
1684
+ ____class_25.name = ____class_25.name
1685
+ __TS__ClassExtends(____class_25, ____exports.UnitType)
1686
+ ____class_25.BASE_ID = id
1687
+ return ____class_25
1392
1688
  end
1393
1689
  )
1394
1690
  ____exports.HeroUnitType = __TS__Class()
@@ -1407,10 +1703,41 @@ __TS__SetDescriptor(
1407
1703
  "heroAbilityTypeIds",
1408
1704
  {
1409
1705
  get = function(self)
1410
- return self:getObjectDataEntryIdsField("uhab")
1706
+ return self:getObjectDataEntryNumericIdsField("uhab")
1411
1707
  end,
1412
1708
  set = function(self, heroAbilityTypeIds)
1413
- self:setObjectDataEntryIdsField("uhab", heroAbilityTypeIds)
1709
+ self:setObjectDataEntryNumericIdsField("uhab", heroAbilityTypeIds)
1710
+ end
1711
+ },
1712
+ true
1713
+ )
1714
+ __TS__SetDescriptor(
1715
+ HeroUnitType.prototype,
1716
+ "properNames",
1717
+ {
1718
+ get = function(self)
1719
+ return self:getStringsField("upro")
1720
+ end,
1721
+ set = function(self, properNames)
1722
+ if __TS__ArrayIsArray(properNames) then
1723
+ self:setStringsField("upro", properNames)
1724
+ self:setNumberField("upru", #properNames)
1725
+ else
1726
+ self:setStringField("upro", properNames)
1727
+ end
1728
+ end
1729
+ },
1730
+ true
1731
+ )
1732
+ __TS__SetDescriptor(
1733
+ HeroUnitType.prototype,
1734
+ "properNameCount",
1735
+ {
1736
+ get = function(self)
1737
+ return self:getNumberField("upru")
1738
+ end,
1739
+ set = function(self, properNameCount)
1740
+ self:setNumberField("upru", properNameCount)
1414
1741
  end
1415
1742
  },
1416
1743
  true
@@ -1418,11 +1745,11 @@ __TS__SetDescriptor(
1418
1745
  implementReadonlyNumberIndexSupplier(
1419
1746
  ____exports.HeroUnitType,
1420
1747
  function(id)
1421
- local ____class_17 = __TS__Class()
1422
- ____class_17.name = ____class_17.name
1423
- __TS__ClassExtends(____class_17, ____exports.HeroUnitType)
1424
- ____class_17.BASE_ID = id
1425
- return ____class_17
1748
+ local ____class_26 = __TS__Class()
1749
+ ____class_26.name = ____class_26.name
1750
+ __TS__ClassExtends(____class_26, ____exports.HeroUnitType)
1751
+ ____class_26.BASE_ID = id
1752
+ return ____class_26
1426
1753
  end
1427
1754
  )
1428
1755
  return ____exports