warscript 0.0.1-dev.e1acea3 → 0.0.1-dev.e3899e3

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 (207) 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/types/effect.d.ts +2 -3
  6. package/core/types/effect.lua +95 -48
  7. package/core/types/frame.lua +24 -21
  8. package/core/types/player.d.ts +16 -0
  9. package/core/types/player.lua +60 -15
  10. package/core/types/playerCamera.d.ts +2 -0
  11. package/core/types/playerCamera.lua +123 -5
  12. package/core/types/sound.d.ts +17 -24
  13. package/core/types/sound.lua +99 -24
  14. package/core/types/tileCell.d.ts +11 -1
  15. package/core/types/tileCell.lua +97 -0
  16. package/core/types/timer.d.ts +9 -8
  17. package/core/types/timer.lua +45 -23
  18. package/core/util.d.ts +1 -1
  19. package/core/util.lua +12 -1
  20. package/decl/native.d.ts +846 -790
  21. package/destroyable.d.ts +1 -0
  22. package/destroyable.lua +9 -0
  23. package/engine/behavior.d.ts +14 -1
  24. package/engine/behavior.lua +230 -70
  25. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  26. package/engine/behaviour/ability/always-enabled.lua +31 -0
  27. package/engine/behaviour/ability/apply-buff.d.ts +5 -0
  28. package/engine/behaviour/ability/apply-buff.lua +36 -4
  29. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  30. package/engine/behaviour/ability/damage.d.ts +9 -3
  31. package/engine/behaviour/ability/damage.lua +26 -38
  32. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  33. package/engine/behaviour/ability/emulate-impact.lua +22 -8
  34. package/engine/behaviour/ability/on-command-impact.lua +7 -0
  35. package/engine/behaviour/ability/remove-buffs.d.ts +13 -1
  36. package/engine/behaviour/ability/remove-buffs.lua +29 -2
  37. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  38. package/engine/behaviour/ability/restore-mana.lua +6 -6
  39. package/engine/behaviour/ability.d.ts +17 -4
  40. package/engine/behaviour/ability.lua +87 -23
  41. package/engine/behaviour/unit/stun-immunity.d.ts +11 -5
  42. package/engine/behaviour/unit/stun-immunity.lua +53 -28
  43. package/engine/behaviour/unit.d.ts +40 -2
  44. package/engine/behaviour/unit.lua +259 -6
  45. package/engine/buff.d.ts +70 -44
  46. package/engine/buff.lua +362 -232
  47. package/engine/internal/ability.d.ts +18 -2
  48. package/engine/internal/ability.lua +116 -11
  49. package/engine/internal/item/ability.lua +162 -4
  50. package/engine/internal/item+owner.lua +12 -6
  51. package/engine/internal/item.d.ts +20 -19
  52. package/engine/internal/item.lua +191 -74
  53. package/engine/internal/mechanics/ability-duration.lua +1 -1
  54. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  55. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  56. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  57. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  58. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  59. package/engine/internal/misc/frame-coordinates.lua +21 -0
  60. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  61. package/engine/internal/misc/get-terrain-z.lua +11 -0
  62. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  63. package/engine/internal/misc/player-local-handle.lua +5 -0
  64. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  65. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  66. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  67. package/engine/internal/object-data/evasion-probability.lua +16 -0
  68. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  69. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  70. package/engine/internal/unit/ability.d.ts +35 -0
  71. package/engine/internal/unit/ability.lua +98 -9
  72. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  73. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  74. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  75. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  76. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  77. package/engine/internal/unit/allowed-targets.lua +9 -1
  78. package/engine/internal/unit/bonus.d.ts +4 -0
  79. package/engine/internal/unit/bonus.lua +27 -0
  80. package/engine/internal/unit/fly-height.d.ts +7 -0
  81. package/engine/internal/unit/fly-height.lua +20 -0
  82. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  83. package/engine/internal/unit/ignore-events-items.lua +5 -0
  84. package/engine/internal/unit/item.lua +6 -12
  85. package/engine/internal/unit/main-selected.lua +12 -27
  86. package/engine/internal/unit/order.d.ts +20 -0
  87. package/engine/internal/unit/order.lua +136 -0
  88. package/engine/internal/unit/scale.d.ts +7 -0
  89. package/engine/internal/unit/scale.lua +20 -0
  90. package/engine/internal/unit+ability.lua +10 -1
  91. package/engine/internal/unit+damage.d.ts +2 -11
  92. package/engine/internal/unit+damage.lua +10 -14
  93. package/engine/internal/unit+spellSteal.lua +1 -2
  94. package/engine/internal/unit-missile-launch.lua +45 -14
  95. package/engine/internal/unit.d.ts +45 -18
  96. package/engine/internal/unit.lua +391 -175
  97. package/engine/internal/utility.lua +12 -0
  98. package/engine/lightning.d.ts +12 -5
  99. package/engine/lightning.lua +48 -14
  100. package/engine/local-client.d.ts +2 -0
  101. package/engine/local-client.lua +30 -0
  102. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  103. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  104. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  105. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  106. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  107. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  108. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  109. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  110. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  111. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  112. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  113. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  114. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  115. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  116. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  117. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  118. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  119. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  120. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  121. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  122. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  123. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  124. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  125. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  126. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  127. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  128. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  129. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  130. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  131. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  132. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  133. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  134. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  135. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  136. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  137. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  138. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  139. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  140. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  141. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  142. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  143. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  144. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  145. package/engine/object-data/entry/ability-type/web.lua +52 -0
  146. package/engine/object-data/entry/ability-type.d.ts +19 -17
  147. package/engine/object-data/entry/ability-type.lua +93 -36
  148. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  149. package/engine/object-data/entry/buff-type.d.ts +6 -12
  150. package/engine/object-data/entry/buff-type.lua +13 -29
  151. package/engine/object-data/entry/destructible-type.d.ts +28 -2
  152. package/engine/object-data/entry/destructible-type.lua +155 -0
  153. package/engine/object-data/entry/item-type.d.ts +3 -1
  154. package/engine/object-data/entry/item-type.lua +15 -2
  155. package/engine/object-data/entry/lightning-type.d.ts +1 -1
  156. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  157. package/engine/object-data/entry/sound-preset.lua +140 -0
  158. package/engine/object-data/entry/unit-type.d.ts +25 -5
  159. package/engine/object-data/entry/unit-type.lua +258 -93
  160. package/engine/object-data/entry/upgrade.d.ts +1 -1
  161. package/engine/object-data/entry/upgrade.lua +4 -4
  162. package/engine/object-data/entry.d.ts +16 -14
  163. package/engine/object-data/entry.lua +60 -32
  164. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  165. package/engine/object-field/ability.d.ts +12 -6
  166. package/engine/object-field/ability.lua +8 -4
  167. package/engine/object-field/unit.d.ts +72 -3
  168. package/engine/object-field/unit.lua +268 -7
  169. package/engine/object-field.d.ts +23 -6
  170. package/engine/object-field.lua +337 -116
  171. package/engine/random.d.ts +9 -0
  172. package/engine/random.lua +13 -0
  173. package/engine/standard/entries/buff-type.d.ts +3 -0
  174. package/engine/standard/entries/buff-type.lua +3 -0
  175. package/engine/standard/entries/sound-preset.d.ts +10 -0
  176. package/engine/standard/entries/sound-preset.lua +10 -0
  177. package/engine/standard/fields/ability.d.ts +4 -2
  178. package/engine/standard/fields/ability.lua +4 -2
  179. package/engine/standard/fields/unit.d.ts +7 -0
  180. package/engine/standard/fields/unit.lua +13 -0
  181. package/engine/synchronization.d.ts +11 -0
  182. package/engine/synchronization.lua +77 -0
  183. package/engine/text-tag.d.ts +36 -2
  184. package/engine/text-tag.lua +250 -10
  185. package/engine/unit.d.ts +4 -0
  186. package/engine/unit.lua +4 -0
  187. package/net/socket.lua +1 -1
  188. package/objutil/buff.lua +2 -3
  189. package/objutil/unit.lua +8 -0
  190. package/package.json +2 -2
  191. package/patch-lualib.lua +1 -1
  192. package/utility/arrays.d.ts +2 -0
  193. package/utility/arrays.lua +11 -0
  194. package/utility/callback-array.d.ts +17 -0
  195. package/utility/callback-array.lua +61 -0
  196. package/utility/functions.d.ts +8 -0
  197. package/utility/functions.lua +13 -0
  198. package/utility/linked-set.d.ts +2 -0
  199. package/utility/linked-set.lua +22 -1
  200. package/utility/lua-maps.d.ts +15 -2
  201. package/utility/lua-maps.lua +53 -2
  202. package/utility/lua-sets.d.ts +2 -0
  203. package/utility/lua-sets.lua +7 -0
  204. package/utility/reflection.lua +11 -7
  205. package/utility/types.d.ts +3 -0
  206. package/core/types/order.d.ts +0 -25
  207. 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
  )
@@ -76,16 +88,16 @@ __TS__SetDescriptor(
76
88
  "cooldown",
77
89
  {
78
90
  get = function(self)
79
- local ____self_4 = self.unitType
80
- return ____self_4.getNumberField(
81
- ____self_4,
91
+ local ____self_5 = self.unitType
92
+ return ____self_5.getNumberField(
93
+ ____self_5,
82
94
  ("ua" .. tostring(self.index)) .. "c"
83
95
  )
84
96
  end,
85
97
  set = function(self, cooldown)
86
- local ____self_5 = self.unitType
87
- ____self_5.setNumberField(
88
- ____self_5,
98
+ local ____self_6 = self.unitType
99
+ ____self_6.setNumberField(
100
+ ____self_6,
89
101
  ("ua" .. tostring(self.index)) .. "c",
90
102
  cooldown
91
103
  )
@@ -119,16 +131,16 @@ __TS__SetDescriptor(
119
131
  "damageBase",
120
132
  {
121
133
  get = function(self)
122
- local ____self_6 = self.unitType
123
- return ____self_6.getNumberField(
124
- ____self_6,
134
+ local ____self_7 = self.unitType
135
+ return ____self_7.getNumberField(
136
+ ____self_7,
125
137
  ("ua" .. tostring(self.index)) .. "b"
126
138
  )
127
139
  end,
128
140
  set = function(self, damageBase)
129
- local ____self_7 = self.unitType
130
- ____self_7.setNumberField(
131
- ____self_7,
141
+ local ____self_8 = self.unitType
142
+ ____self_8.setNumberField(
143
+ ____self_8,
132
144
  ("ua" .. tostring(self.index)) .. "b",
133
145
  damageBase
134
146
  )
@@ -141,16 +153,16 @@ __TS__SetDescriptor(
141
153
  "damageDiceCount",
142
154
  {
143
155
  get = function(self)
144
- local ____self_8 = self.unitType
145
- return ____self_8.getNumberField(
146
- ____self_8,
156
+ local ____self_9 = self.unitType
157
+ return ____self_9.getNumberField(
158
+ ____self_9,
147
159
  ("ua" .. tostring(self.index)) .. "d"
148
160
  )
149
161
  end,
150
162
  set = function(self, damageDiceNumber)
151
- local ____self_9 = self.unitType
152
- ____self_9.setNumberField(
153
- ____self_9,
163
+ local ____self_10 = self.unitType
164
+ ____self_10.setNumberField(
165
+ ____self_10,
154
166
  ("ua" .. tostring(self.index)) .. "d",
155
167
  damageDiceNumber
156
168
  )
@@ -163,16 +175,16 @@ __TS__SetDescriptor(
163
175
  "damageDiceSideCount",
164
176
  {
165
177
  get = function(self)
166
- local ____self_10 = self.unitType
167
- return ____self_10.getNumberField(
168
- ____self_10,
178
+ local ____self_11 = self.unitType
179
+ return ____self_11.getNumberField(
180
+ ____self_11,
169
181
  ("ua" .. tostring(self.index)) .. "s"
170
182
  )
171
183
  end,
172
184
  set = function(self, damageDiceSideCount)
173
- local ____self_11 = self.unitType
174
- ____self_11.setNumberField(
175
- ____self_11,
185
+ local ____self_12 = self.unitType
186
+ ____self_12.setNumberField(
187
+ ____self_12,
176
188
  ("ua" .. tostring(self.index)) .. "s",
177
189
  damageDiceSideCount
178
190
  )
@@ -185,16 +197,16 @@ __TS__SetDescriptor(
185
197
  "impactDelay",
186
198
  {
187
199
  get = function(self)
188
- local ____self_12 = self.unitType
189
- return ____self_12.getNumberField(
190
- ____self_12,
200
+ local ____self_13 = self.unitType
201
+ return ____self_13.getNumberField(
202
+ ____self_13,
191
203
  "udp" .. tostring(self.index)
192
204
  )
193
205
  end,
194
206
  set = function(self, impactDelay)
195
- local ____self_13 = self.unitType
196
- ____self_13.setNumberField(
197
- ____self_13,
207
+ local ____self_14 = self.unitType
208
+ ____self_14.setNumberField(
209
+ ____self_14,
198
210
  "udp" .. tostring(self.index),
199
211
  impactDelay
200
212
  )
@@ -207,16 +219,16 @@ __TS__SetDescriptor(
207
219
  "missileModelPath",
208
220
  {
209
221
  get = function(self)
210
- local ____self_14 = self.unitType
211
- return ____self_14.getStringField(
212
- ____self_14,
222
+ local ____self_15 = self.unitType
223
+ return ____self_15.getStringField(
224
+ ____self_15,
213
225
  ("ua" .. tostring(self.index)) .. "m"
214
226
  )
215
227
  end,
216
228
  set = function(self, missileModelPath)
217
- local ____self_15 = self.unitType
218
- ____self_15.setStringField(
219
- ____self_15,
229
+ local ____self_16 = self.unitType
230
+ ____self_16.setStringField(
231
+ ____self_16,
220
232
  ("ua" .. tostring(self.index)) .. "m",
221
233
  missileModelPath
222
234
  )
@@ -224,21 +236,65 @@ __TS__SetDescriptor(
224
236
  },
225
237
  true
226
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
+ )
227
283
  __TS__SetDescriptor(
228
284
  UnitTypeWeapon.prototype,
229
285
  "range",
230
286
  {
231
287
  get = function(self)
232
- local ____self_16 = self.unitType
233
- return ____self_16.getNumberField(
234
- ____self_16,
288
+ local ____self_21 = self.unitType
289
+ return ____self_21.getNumberField(
290
+ ____self_21,
235
291
  ("ua" .. tostring(self.index)) .. "r"
236
292
  )
237
293
  end,
238
294
  set = function(self, range)
239
- local ____self_17 = self.unitType
240
- ____self_17.setNumberField(
241
- ____self_17,
295
+ local ____self_22 = self.unitType
296
+ ____self_22.setNumberField(
297
+ ____self_22,
242
298
  ("ua" .. tostring(self.index)) .. "r",
243
299
  range
244
300
  )
@@ -251,16 +307,16 @@ __TS__SetDescriptor(
251
307
  "soundType",
252
308
  {
253
309
  get = function(self)
254
- local ____self_18 = self.unitType
255
- return ____self_18.getStringField(
256
- ____self_18,
310
+ local ____self_23 = self.unitType
311
+ return ____self_23.getStringField(
312
+ ____self_23,
257
313
  "ucs" .. tostring(self.index)
258
314
  )
259
315
  end,
260
316
  set = function(self, soundType)
261
- local ____self_19 = self.unitType
262
- ____self_19.setStringField(
263
- ____self_19,
317
+ local ____self_24 = self.unitType
318
+ ____self_24.setStringField(
319
+ ____self_24,
264
320
  "ucs" .. tostring(self.index),
265
321
  soundType
266
322
  )
@@ -273,16 +329,16 @@ __TS__SetDescriptor(
273
329
  "soundTypeSD",
274
330
  {
275
331
  get = function(self)
276
- local ____self_20 = self.unitType
277
- return ____self_20.getStringField(
278
- ____self_20,
332
+ local ____self_25 = self.unitType
333
+ return ____self_25.getStringField(
334
+ ____self_25,
279
335
  ("ucs" .. tostring(self.index)) .. ":sd"
280
336
  )
281
337
  end,
282
338
  set = function(self, soundTypeSD)
283
- local ____self_21 = self.unitType
284
- ____self_21.setStringField(
285
- ____self_21,
339
+ local ____self_26 = self.unitType
340
+ ____self_26.setStringField(
341
+ ____self_26,
286
342
  ("ucs" .. tostring(self.index)) .. ":sd",
287
343
  soundTypeSD
288
344
  )
@@ -295,16 +351,16 @@ __TS__SetDescriptor(
295
351
  "soundTypeHD",
296
352
  {
297
353
  get = function(self)
298
- local ____self_22 = self.unitType
299
- return ____self_22.getStringField(
300
- ____self_22,
354
+ local ____self_27 = self.unitType
355
+ return ____self_27.getStringField(
356
+ ____self_27,
301
357
  ("ucs" .. tostring(self.index)) .. ":hd"
302
358
  )
303
359
  end,
304
360
  set = function(self, soundTypeHD)
305
- local ____self_23 = self.unitType
306
- ____self_23.setStringField(
307
- ____self_23,
361
+ local ____self_28 = self.unitType
362
+ ____self_28.setStringField(
363
+ ____self_28,
308
364
  ("ucs" .. tostring(self.index)) .. ":hd",
309
365
  soundTypeHD
310
366
  )
@@ -345,10 +401,10 @@ __TS__SetDescriptor(
345
401
  "abilityTypeIds",
346
402
  {
347
403
  get = function(self)
348
- return self:getObjectDataEntryIdsField("uabi")
404
+ return self:getObjectDataEntryNumericIdsField("uabi")
349
405
  end,
350
406
  set = function(self, abilityTypeIds)
351
- self:setObjectDataEntryIdsField("uabi", abilityTypeIds)
407
+ self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
352
408
  end
353
409
  },
354
410
  true
@@ -358,10 +414,10 @@ __TS__SetDescriptor(
358
414
  "defaultActiveAbilityTypeId",
359
415
  {
360
416
  get = function(self)
361
- return self:getObjectDataEntryIdsField("udaa")[1]
417
+ return self:getObjectDataEntryNumericIdsField("udaa")[1]
362
418
  end,
363
419
  set = function(self, abilityTypeId)
364
- self:setObjectDataEntryIdsField(
420
+ self:setObjectDataEntryNumericIdsField(
365
421
  "udaa",
366
422
  arrayOfNotNull(abilityTypeId)
367
423
  )
@@ -807,6 +863,9 @@ __TS__SetDescriptor(
807
863
  end,
808
864
  set = function(self, modelPath)
809
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
810
869
  end
811
870
  },
812
871
  true
@@ -820,6 +879,9 @@ __TS__SetDescriptor(
820
879
  end,
821
880
  set = function(self, modelPathSD)
822
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
823
885
  end
824
886
  },
825
887
  true
@@ -833,6 +895,51 @@ __TS__SetDescriptor(
833
895
  end,
834
896
  set = function(self, modelPathHD)
835
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
836
943
  end
837
944
  },
838
945
  true
@@ -876,6 +983,19 @@ __TS__SetDescriptor(
876
983
  },
877
984
  true
878
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
+ )
879
999
  __TS__SetDescriptor(
880
1000
  UnitType.prototype,
881
1001
  "selectionCircleScale",
@@ -1123,6 +1243,19 @@ __TS__SetDescriptor(
1123
1243
  },
1124
1244
  true
1125
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
+ )
1126
1259
  __TS__SetDescriptor(
1127
1260
  UnitType.prototype,
1128
1261
  "armorSoundType",
@@ -1162,6 +1295,22 @@ __TS__SetDescriptor(
1162
1295
  },
1163
1296
  true
1164
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
+ )
1165
1314
  __TS__SetDescriptor(
1166
1315
  UnitType.prototype,
1167
1316
  "combatClassifications",
@@ -1180,7 +1329,7 @@ __TS__SetDescriptor(
1180
1329
  )
1181
1330
  __TS__SetDescriptor(
1182
1331
  UnitType.prototype,
1183
- "unitClassifications",
1332
+ "classifications",
1184
1333
  {
1185
1334
  get = function(self)
1186
1335
  return stringArrayToUnitClassifications(self:getStringsField("utyp"))
@@ -1288,10 +1437,13 @@ __TS__SetDescriptor(
1288
1437
  "movementType",
1289
1438
  {
1290
1439
  get = function(self)
1291
- return self:getStringField("umvt")
1440
+ return stringToMovementType(self:getStringField("umvt"))
1292
1441
  end,
1293
1442
  set = function(self, movementType)
1294
- self:setStringField("umvt", movementType)
1443
+ self:setStringField(
1444
+ "umvt",
1445
+ movementTypeToString(movementType)
1446
+ )
1295
1447
  end
1296
1448
  },
1297
1449
  true
@@ -1413,6 +1565,19 @@ __TS__SetDescriptor(
1413
1565
  },
1414
1566
  true
1415
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
+ )
1416
1581
  __TS__SetDescriptor(
1417
1582
  UnitType.prototype,
1418
1583
  "manaRegenerationRate",
@@ -1496,10 +1661,10 @@ __TS__SetDescriptor(
1496
1661
  "affectingUpgradeIds",
1497
1662
  {
1498
1663
  get = function(self)
1499
- return self:getObjectDataEntryIdsField("upgr")
1664
+ return self:getObjectDataEntryNumericIdsField("upgr")
1500
1665
  end,
1501
1666
  set = function(self, affectingUpgradeIds)
1502
- self:setObjectDataEntryIdsField("upgr", affectingUpgradeIds)
1667
+ self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
1503
1668
  end
1504
1669
  },
1505
1670
  true
@@ -1559,11 +1724,11 @@ __TS__SetDescriptor(
1559
1724
  implementReadonlyNumberIndexSupplier(
1560
1725
  ____exports.UnitType,
1561
1726
  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
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
1567
1732
  end
1568
1733
  )
1569
1734
  ____exports.HeroUnitType = __TS__Class()
@@ -1582,10 +1747,10 @@ __TS__SetDescriptor(
1582
1747
  "heroAbilityTypeIds",
1583
1748
  {
1584
1749
  get = function(self)
1585
- return self:getObjectDataEntryIdsField("uhab")
1750
+ return self:getObjectDataEntryNumericIdsField("uhab")
1586
1751
  end,
1587
1752
  set = function(self, heroAbilityTypeIds)
1588
- self:setObjectDataEntryIdsField("uhab", heroAbilityTypeIds)
1753
+ self:setObjectDataEntryNumericIdsField("uhab", heroAbilityTypeIds)
1589
1754
  end
1590
1755
  },
1591
1756
  true
@@ -1624,11 +1789,11 @@ __TS__SetDescriptor(
1624
1789
  implementReadonlyNumberIndexSupplier(
1625
1790
  ____exports.HeroUnitType,
1626
1791
  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
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
1632
1797
  end
1633
1798
  )
1634
1799
  return ____exports
@@ -3,7 +3,7 @@ import { TupleOf } from "../../../utility/types";
3
3
  import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
4
4
  import { ObjectDataEntry, ObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
5
5
  import { AbilityTypeId } from "./ability-type";
6
- export type UpgradeId = ObjectDataEntryId & {
6
+ export type UpgradeId = ObjectDataEntryId & number & {
7
7
  readonly __upgradeId: unique symbol;
8
8
  };
9
9
  export declare const enum UpgradeEffectType {
@@ -32,7 +32,7 @@ function Upgrade.prototype.getEffect(self, i)
32
32
  type = effectType,
33
33
  bonusBase = self:getNumberField("gba" .. tostring(i)),
34
34
  bonusIncrement = self:getNumberField("gmo" .. tostring(i)),
35
- abilityTypeId = self:getObjectDataEntryIdField("gco" .. tostring(i))
35
+ abilityTypeId = self:getObjectDataEntryNumericIdField("gco" .. tostring(i))
36
36
  }
37
37
  end
38
38
  return nil
@@ -51,7 +51,7 @@ function Upgrade.prototype.setEffect(self, i, effect)
51
51
  effect and effect.bonusIncrement or 0
52
52
  )
53
53
  if (effect and effect.abilityTypeId) ~= nil then
54
- self:setObjectDataEntryIdField(
54
+ self:setObjectDataEntryNumericIdField(
55
55
  "gco" .. tostring(i),
56
56
  effect and effect.abilityTypeId
57
57
  )
@@ -145,7 +145,7 @@ __TS__SetDescriptor(
145
145
  "techTreeDependencies",
146
146
  {
147
147
  get = function(self)
148
- local techTreeDependencyIds = self:getObjectDataEntryIdsLevelField("greq")
148
+ local techTreeDependencyIds = self:getObjectDataEntryNumericIdsLevelField("greq")
149
149
  local techTreeDependencyInternalLevels = self:getNumbersLevelField("grqc")
150
150
  return mapIndexed(
151
151
  techTreeDependencyIds,
@@ -177,7 +177,7 @@ __TS__SetDescriptor(
177
177
  function(level) return level + 1 end
178
178
  )
179
179
  end
180
- self:setObjectDataEntryIdsLevelField("greq", techTreeDependencyIds)
180
+ self:setObjectDataEntryNumericIdsLevelField("greq", techTreeDependencyIds)
181
181
  self:setNumbersLevelField("grqc", techTreeDependencyInternalLevels)
182
182
  end
183
183
  },