warscript 0.0.1-dev.c37d12c → 0.0.1-dev.c74bdbb

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 (216) hide show
  1. package/attributes.d.ts +12 -0
  2. package/attributes.lua +16 -0
  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 +93 -1
  11. package/core/types/group.d.ts +0 -1
  12. package/core/types/handle.d.ts +2 -1
  13. package/core/types/handle.lua +5 -0
  14. package/core/types/image.d.ts +0 -1
  15. package/core/types/missile.d.ts +2 -2
  16. package/core/types/missile.lua +8 -2
  17. package/core/types/sound.d.ts +17 -24
  18. package/core/types/sound.lua +99 -24
  19. package/core/types/timer.d.ts +6 -7
  20. package/core/types/timer.lua +18 -21
  21. package/core/types/unit.lua +8 -0
  22. package/core/util.d.ts +1 -1
  23. package/core/util.lua +18 -1
  24. package/decl/index.d.ts +1 -0
  25. package/engine/ability.d.ts +1 -1
  26. package/engine/behavior.d.ts +10 -10
  27. package/engine/behavior.lua +6 -6
  28. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  29. package/engine/behaviour/ability/always-enabled.lua +31 -0
  30. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  31. package/engine/behaviour/ability/apply-buff.lua +32 -0
  32. package/engine/behaviour/ability/apply-unit-behavior.d.ts +13 -4
  33. package/engine/behaviour/ability/apply-unit-behavior.lua +32 -9
  34. package/engine/behaviour/ability/damage.d.ts +36 -11
  35. package/engine/behaviour/ability/damage.lua +90 -32
  36. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  37. package/engine/behaviour/ability/emulate-impact.lua +35 -0
  38. package/engine/behaviour/ability/heal.d.ts +33 -6
  39. package/engine/behaviour/ability/heal.lua +89 -10
  40. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  41. package/engine/behaviour/ability/instant-impact.lua +4 -15
  42. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  43. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  44. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  45. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  46. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  47. package/engine/behaviour/ability/restore-mana.lua +29 -0
  48. package/engine/behaviour/ability.d.ts +27 -4
  49. package/engine/behaviour/ability.lua +152 -17
  50. package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
  51. package/engine/behaviour/unit.d.ts +10 -2
  52. package/engine/behaviour/unit.lua +27 -0
  53. package/engine/buff.d.ts +103 -41
  54. package/engine/buff.lua +465 -212
  55. package/engine/game-map.d.ts +7 -0
  56. package/engine/game-map.lua +32 -0
  57. package/engine/internal/ability.d.ts +17 -14
  58. package/engine/internal/ability.lua +80 -76
  59. package/engine/internal/item/ability.lua +106 -0
  60. package/engine/internal/item+owner.lua +2 -2
  61. package/engine/internal/item.d.ts +2 -2
  62. package/engine/internal/item.lua +56 -25
  63. package/engine/internal/mechanics/ability-duration.d.ts +1 -3
  64. package/engine/internal/mechanics/ability-duration.lua +3 -1
  65. package/engine/internal/mechanics/cast-ability.d.ts +2 -0
  66. package/engine/internal/mechanics/cast-ability.lua +86 -0
  67. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  68. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  69. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  70. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  71. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  72. package/engine/internal/object-data/evasion-probability.lua +16 -0
  73. package/engine/internal/unit/ability.d.ts +10 -1
  74. package/engine/internal/unit/ability.lua +36 -14
  75. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  76. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  77. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  78. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  79. package/engine/internal/unit/bonus.d.ts +11 -8
  80. package/engine/internal/unit/bonus.lua +23 -1
  81. package/engine/internal/unit/detach-missiles.d.ts +7 -0
  82. package/engine/internal/unit/detach-missiles.lua +30 -0
  83. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  84. package/engine/internal/unit/ignore-events-items.lua +5 -0
  85. package/engine/internal/unit/item.d.ts +24 -0
  86. package/engine/internal/unit/item.lua +78 -0
  87. package/engine/internal/unit/main-selected.d.ts +13 -0
  88. package/engine/internal/unit/main-selected.lua +51 -0
  89. package/engine/internal/unit+ability.lua +2 -2
  90. package/engine/internal/unit+transport.lua +4 -10
  91. package/engine/internal/unit-missile-launch.lua +25 -6
  92. package/engine/internal/unit.d.ts +64 -16
  93. package/engine/internal/unit.lua +381 -134
  94. package/engine/internal/utility.lua +12 -0
  95. package/engine/lightning.d.ts +12 -5
  96. package/engine/lightning.lua +48 -14
  97. package/engine/local-client.d.ts +7 -2
  98. package/engine/local-client.lua +82 -0
  99. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  100. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  101. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  102. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  103. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  104. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  105. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  106. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  107. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  108. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  109. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  110. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  111. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  112. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  113. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  114. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  115. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  116. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  117. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  118. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  119. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  120. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  121. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  122. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  123. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  124. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  125. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  126. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  127. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  128. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  129. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  130. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  131. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  132. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  133. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  134. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  135. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  136. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  137. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  138. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  139. package/engine/object-data/entry/ability-type/web.lua +52 -0
  140. package/engine/object-data/entry/ability-type.d.ts +20 -18
  141. package/engine/object-data/entry/ability-type.lua +90 -33
  142. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  143. package/engine/object-data/entry/buff-type/applicable.lua +39 -102
  144. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  145. package/engine/object-data/entry/buff-type.d.ts +1 -2
  146. package/engine/object-data/entry/buff-type.lua +2 -2
  147. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  148. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  149. package/engine/object-data/entry/item-type.d.ts +15 -2
  150. package/engine/object-data/entry/item-type.lua +93 -2
  151. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  152. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  153. package/engine/object-data/entry/sound-preset.lua +140 -0
  154. package/engine/object-data/entry/unit-type.d.ts +50 -3
  155. package/engine/object-data/entry/unit-type.lua +439 -58
  156. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  157. package/engine/object-data/entry/upgrade.d.ts +1 -2
  158. package/engine/object-data/entry/upgrade.lua +4 -4
  159. package/engine/object-data/entry.d.ts +18 -17
  160. package/engine/object-data/entry.lua +60 -32
  161. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  162. package/engine/object-field/ability.d.ts +33 -8
  163. package/engine/object-field/ability.lua +60 -1
  164. package/engine/object-field/unit.d.ts +1 -0
  165. package/engine/object-field/unit.lua +3 -0
  166. package/engine/object-field.d.ts +6 -6
  167. package/engine/object-field.lua +41 -18
  168. package/engine/random.d.ts +1 -0
  169. package/engine/random.lua +9 -0
  170. package/engine/standard/entries/sound-preset.d.ts +10 -0
  171. package/engine/standard/entries/sound-preset.lua +10 -0
  172. package/engine/standard/entries/unit-type.d.ts +42 -1
  173. package/engine/standard/entries/unit-type.lua +42 -1
  174. package/engine/standard/fields/ability.d.ts +3 -1
  175. package/engine/standard/fields/ability.lua +3 -1
  176. package/engine/unit.d.ts +4 -0
  177. package/engine/unit.lua +13 -2
  178. package/event.d.ts +2 -3
  179. package/event.lua +9 -5
  180. package/global/vec2.lua +1 -0
  181. package/index.d.ts +1 -0
  182. package/index.lua +1 -0
  183. package/lualib_bundle.lua +146 -42
  184. package/math/vec2.d.ts +2 -9
  185. package/math.d.ts +0 -2
  186. package/net/socket.d.ts +7 -1
  187. package/net/socket.lua +45 -4
  188. package/network.d.ts +1 -0
  189. package/network.lua +3 -2
  190. package/objutil/ability.d.ts +0 -1
  191. package/objutil/buff.d.ts +0 -1
  192. package/objutil/buff.lua +1 -1
  193. package/objutil/object.d.ts +0 -1
  194. package/objutil/unit.d.ts +0 -1
  195. package/objutil/unit.lua +8 -0
  196. package/package.json +13 -14
  197. package/patch-lua.d.ts +0 -0
  198. package/patch-lua.lua +10 -0
  199. package/property.d.ts +55 -0
  200. package/property.lua +374 -0
  201. package/string.d.ts +30 -0
  202. package/string.lua +14 -0
  203. package/util/stream.d.ts +0 -1
  204. package/utility/arrays.d.ts +11 -5
  205. package/utility/arrays.lua +34 -3
  206. package/utility/bit-set.d.ts +0 -2
  207. package/utility/lazy.d.ts +2 -0
  208. package/utility/lazy.lua +14 -0
  209. package/utility/linked-set.d.ts +12 -3
  210. package/utility/linked-set.lua +21 -2
  211. package/utility/lua-maps.d.ts +1 -2
  212. package/utility/lua-sets.d.ts +1 -2
  213. package/utility/reflection.lua +11 -7
  214. package/utility/types.d.ts +3 -2
  215. package/core/mapbounds.d.ts +0 -8
  216. package/core/mapbounds.lua +0 -12
@@ -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
@@ -18,6 +19,8 @@ local ____entry = require("engine.object-data.entry")
18
19
  local ObjectDataEntry = ____entry.ObjectDataEntry
19
20
  local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
20
21
  local ObjectDataEntryIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.ObjectDataEntryIdGenerator
22
+ local ____config = require("config")
23
+ local WarscriptConfig = ____config.WarscriptConfig
21
24
  local getOrCreateUnitTypeWeapons
22
25
  ____exports.UnitTypeWeapon = __TS__Class()
23
26
  local UnitTypeWeapon = ____exports.UnitTypeWeapon
@@ -28,21 +31,21 @@ function UnitTypeWeapon.prototype.____constructor(self, unitType, index)
28
31
  end
29
32
  __TS__SetDescriptor(
30
33
  UnitTypeWeapon.prototype,
31
- "backSwingDuration",
34
+ "attackType",
32
35
  {
33
36
  get = function(self)
34
37
  local ____self_0 = self.unitType
35
- return ____self_0.getNumberField(
38
+ return ____self_0.getStringField(
36
39
  ____self_0,
37
- "ubs" .. tostring(self.index)
40
+ ("ua" .. tostring(self.index)) .. "t"
38
41
  )
39
42
  end,
40
- set = function(self, backSwingDuration)
43
+ set = function(self, attackType)
41
44
  local ____self_1 = self.unitType
42
- ____self_1.setNumberField(
45
+ ____self_1.setStringField(
43
46
  ____self_1,
44
- "ubs" .. tostring(self.index),
45
- backSwingDuration
47
+ ("ua" .. tostring(self.index)) .. "t",
48
+ attackType
46
49
  )
47
50
  end
48
51
  },
@@ -50,19 +53,150 @@ __TS__SetDescriptor(
50
53
  )
51
54
  __TS__SetDescriptor(
52
55
  UnitTypeWeapon.prototype,
53
- "impactDelay",
56
+ "backSwingDuration",
54
57
  {
55
58
  get = function(self)
56
59
  local ____self_2 = self.unitType
57
60
  return ____self_2.getNumberField(
58
61
  ____self_2,
59
- "udp" .. tostring(self.index)
62
+ "ubs" .. tostring(self.index)
60
63
  )
61
64
  end,
62
- set = function(self, impactDelay)
65
+ set = function(self, backSwingDuration)
63
66
  local ____self_3 = self.unitType
64
67
  ____self_3.setNumberField(
65
68
  ____self_3,
69
+ "ubs" .. tostring(self.index),
70
+ backSwingDuration
71
+ )
72
+ end
73
+ },
74
+ true
75
+ )
76
+ __TS__SetDescriptor(
77
+ UnitTypeWeapon.prototype,
78
+ "cooldown",
79
+ {
80
+ get = function(self)
81
+ local ____self_4 = self.unitType
82
+ return ____self_4.getNumberField(
83
+ ____self_4,
84
+ ("ua" .. tostring(self.index)) .. "c"
85
+ )
86
+ end,
87
+ set = function(self, cooldown)
88
+ local ____self_5 = self.unitType
89
+ ____self_5.setNumberField(
90
+ ____self_5,
91
+ ("ua" .. tostring(self.index)) .. "c",
92
+ cooldown
93
+ )
94
+ end
95
+ },
96
+ true
97
+ )
98
+ __TS__SetDescriptor(
99
+ UnitTypeWeapon.prototype,
100
+ "damage",
101
+ {
102
+ get = function(self)
103
+ local minimumDamage = self.damageBase + self.damageDiceCount
104
+ local maximumDamage = self.damageBase + self.damageDiceCount * self.damageDiceSideCount
105
+ return {minimumDamage, maximumDamage}
106
+ end,
107
+ set = function(self, ____bindingPattern0)
108
+ local maximumDamage
109
+ local minimumDamage
110
+ minimumDamage = ____bindingPattern0[1]
111
+ maximumDamage = ____bindingPattern0[2]
112
+ self.damageBase = minimumDamage - 1
113
+ self.damageDiceCount = 1
114
+ self.damageDiceSideCount = maximumDamage - minimumDamage + 1
115
+ end
116
+ },
117
+ true
118
+ )
119
+ __TS__SetDescriptor(
120
+ UnitTypeWeapon.prototype,
121
+ "damageBase",
122
+ {
123
+ get = function(self)
124
+ local ____self_6 = self.unitType
125
+ return ____self_6.getNumberField(
126
+ ____self_6,
127
+ ("ua" .. tostring(self.index)) .. "b"
128
+ )
129
+ end,
130
+ set = function(self, damageBase)
131
+ local ____self_7 = self.unitType
132
+ ____self_7.setNumberField(
133
+ ____self_7,
134
+ ("ua" .. tostring(self.index)) .. "b",
135
+ damageBase
136
+ )
137
+ end
138
+ },
139
+ true
140
+ )
141
+ __TS__SetDescriptor(
142
+ UnitTypeWeapon.prototype,
143
+ "damageDiceCount",
144
+ {
145
+ get = function(self)
146
+ local ____self_8 = self.unitType
147
+ return ____self_8.getNumberField(
148
+ ____self_8,
149
+ ("ua" .. tostring(self.index)) .. "d"
150
+ )
151
+ end,
152
+ set = function(self, damageDiceNumber)
153
+ local ____self_9 = self.unitType
154
+ ____self_9.setNumberField(
155
+ ____self_9,
156
+ ("ua" .. tostring(self.index)) .. "d",
157
+ damageDiceNumber
158
+ )
159
+ end
160
+ },
161
+ true
162
+ )
163
+ __TS__SetDescriptor(
164
+ UnitTypeWeapon.prototype,
165
+ "damageDiceSideCount",
166
+ {
167
+ get = function(self)
168
+ local ____self_10 = self.unitType
169
+ return ____self_10.getNumberField(
170
+ ____self_10,
171
+ ("ua" .. tostring(self.index)) .. "s"
172
+ )
173
+ end,
174
+ set = function(self, damageDiceSideCount)
175
+ local ____self_11 = self.unitType
176
+ ____self_11.setNumberField(
177
+ ____self_11,
178
+ ("ua" .. tostring(self.index)) .. "s",
179
+ damageDiceSideCount
180
+ )
181
+ end
182
+ },
183
+ true
184
+ )
185
+ __TS__SetDescriptor(
186
+ UnitTypeWeapon.prototype,
187
+ "impactDelay",
188
+ {
189
+ get = function(self)
190
+ local ____self_12 = self.unitType
191
+ return ____self_12.getNumberField(
192
+ ____self_12,
193
+ "udp" .. tostring(self.index)
194
+ )
195
+ end,
196
+ set = function(self, impactDelay)
197
+ local ____self_13 = self.unitType
198
+ ____self_13.setNumberField(
199
+ ____self_13,
66
200
  "udp" .. tostring(self.index),
67
201
  impactDelay
68
202
  )
@@ -75,16 +209,16 @@ __TS__SetDescriptor(
75
209
  "missileModelPath",
76
210
  {
77
211
  get = function(self)
78
- local ____self_4 = self.unitType
79
- return ____self_4.getStringField(
80
- ____self_4,
212
+ local ____self_14 = self.unitType
213
+ return ____self_14.getStringField(
214
+ ____self_14,
81
215
  ("ua" .. tostring(self.index)) .. "m"
82
216
  )
83
217
  end,
84
218
  set = function(self, missileModelPath)
85
- local ____self_5 = self.unitType
86
- ____self_5.setStringField(
87
- ____self_5,
219
+ local ____self_15 = self.unitType
220
+ ____self_15.setStringField(
221
+ ____self_15,
88
222
  ("ua" .. tostring(self.index)) .. "m",
89
223
  missileModelPath
90
224
  )
@@ -92,21 +226,43 @@ __TS__SetDescriptor(
92
226
  },
93
227
  true
94
228
  )
229
+ __TS__SetDescriptor(
230
+ UnitTypeWeapon.prototype,
231
+ "range",
232
+ {
233
+ get = function(self)
234
+ local ____self_16 = self.unitType
235
+ return ____self_16.getNumberField(
236
+ ____self_16,
237
+ ("ua" .. tostring(self.index)) .. "r"
238
+ )
239
+ end,
240
+ set = function(self, range)
241
+ local ____self_17 = self.unitType
242
+ ____self_17.setNumberField(
243
+ ____self_17,
244
+ ("ua" .. tostring(self.index)) .. "r",
245
+ range
246
+ )
247
+ end
248
+ },
249
+ true
250
+ )
95
251
  __TS__SetDescriptor(
96
252
  UnitTypeWeapon.prototype,
97
253
  "soundType",
98
254
  {
99
255
  get = function(self)
100
- local ____self_6 = self.unitType
101
- return ____self_6.getStringField(
102
- ____self_6,
256
+ local ____self_18 = self.unitType
257
+ return ____self_18.getStringField(
258
+ ____self_18,
103
259
  "ucs" .. tostring(self.index)
104
260
  )
105
261
  end,
106
262
  set = function(self, soundType)
107
- local ____self_7 = self.unitType
108
- ____self_7.setStringField(
109
- ____self_7,
263
+ local ____self_19 = self.unitType
264
+ ____self_19.setStringField(
265
+ ____self_19,
110
266
  "ucs" .. tostring(self.index),
111
267
  soundType
112
268
  )
@@ -119,16 +275,16 @@ __TS__SetDescriptor(
119
275
  "soundTypeSD",
120
276
  {
121
277
  get = function(self)
122
- local ____self_8 = self.unitType
123
- return ____self_8.getStringField(
124
- ____self_8,
278
+ local ____self_20 = self.unitType
279
+ return ____self_20.getStringField(
280
+ ____self_20,
125
281
  ("ucs" .. tostring(self.index)) .. ":sd"
126
282
  )
127
283
  end,
128
284
  set = function(self, soundTypeSD)
129
- local ____self_9 = self.unitType
130
- ____self_9.setStringField(
131
- ____self_9,
285
+ local ____self_21 = self.unitType
286
+ ____self_21.setStringField(
287
+ ____self_21,
132
288
  ("ucs" .. tostring(self.index)) .. ":sd",
133
289
  soundTypeSD
134
290
  )
@@ -141,16 +297,16 @@ __TS__SetDescriptor(
141
297
  "soundTypeHD",
142
298
  {
143
299
  get = function(self)
144
- local ____self_10 = self.unitType
145
- return ____self_10.getStringField(
146
- ____self_10,
300
+ local ____self_22 = self.unitType
301
+ return ____self_22.getStringField(
302
+ ____self_22,
147
303
  ("ucs" .. tostring(self.index)) .. ":hd"
148
304
  )
149
305
  end,
150
306
  set = function(self, soundTypeHD)
151
- local ____self_11 = self.unitType
152
- ____self_11.setStringField(
153
- ____self_11,
307
+ local ____self_23 = self.unitType
308
+ ____self_23.setStringField(
309
+ ____self_23,
154
310
  ("ucs" .. tostring(self.index)) .. ":hd",
155
311
  soundTypeHD
156
312
  )
@@ -191,10 +347,10 @@ __TS__SetDescriptor(
191
347
  "abilityTypeIds",
192
348
  {
193
349
  get = function(self)
194
- return self:getObjectDataEntryIdsField("uabi")
350
+ return self:getObjectDataEntryNumericIdsField("uabi")
195
351
  end,
196
352
  set = function(self, abilityTypeIds)
197
- self:setObjectDataEntryIdsField("uabi", abilityTypeIds)
353
+ self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
198
354
  end
199
355
  },
200
356
  true
@@ -204,10 +360,10 @@ __TS__SetDescriptor(
204
360
  "defaultActiveAbilityTypeId",
205
361
  {
206
362
  get = function(self)
207
- return self:getObjectDataEntryIdsField("udaa")[1]
363
+ return self:getObjectDataEntryNumericIdsField("udaa")[1]
208
364
  end,
209
365
  set = function(self, abilityTypeId)
210
- self:setObjectDataEntryIdsField(
366
+ self:setObjectDataEntryNumericIdsField(
211
367
  "udaa",
212
368
  arrayOfNotNull(abilityTypeId)
213
369
  )
@@ -653,6 +809,9 @@ __TS__SetDescriptor(
653
809
  end,
654
810
  set = function(self, modelPath)
655
811
  self:setStringField("umdl", modelPath)
812
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
813
+ self:setStringField("upor", "")
814
+ end
656
815
  end
657
816
  },
658
817
  true
@@ -666,6 +825,9 @@ __TS__SetDescriptor(
666
825
  end,
667
826
  set = function(self, modelPathSD)
668
827
  self:setStringField("umdl:sd", modelPathSD)
828
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
829
+ self:setStringField("upor:sd", "")
830
+ end
669
831
  end
670
832
  },
671
833
  true
@@ -679,6 +841,90 @@ __TS__SetDescriptor(
679
841
  end,
680
842
  set = function(self, modelPathHD)
681
843
  self:setStringField("umdl:hd", modelPathHD)
844
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
845
+ self:setStringField("upor:hd", "")
846
+ end
847
+ end
848
+ },
849
+ true
850
+ )
851
+ __TS__SetDescriptor(
852
+ UnitType.prototype,
853
+ "portraitModelPath",
854
+ {
855
+ get = function(self)
856
+ return self:getStringField("upor")
857
+ end,
858
+ set = function(self, portraitModelPath)
859
+ self:setStringField("upor", portraitModelPath)
860
+ self.isPortraitModelPathSet = true
861
+ end
862
+ },
863
+ true
864
+ )
865
+ __TS__SetDescriptor(
866
+ UnitType.prototype,
867
+ "portraitModelPathSD",
868
+ {
869
+ get = function(self)
870
+ return self:getStringField("upor:sd")
871
+ end,
872
+ set = function(self, portraitModelPathSD)
873
+ self:setStringField("upor:sd", portraitModelPathSD)
874
+ self.isPortraitModelPathSet = true
875
+ end
876
+ },
877
+ true
878
+ )
879
+ __TS__SetDescriptor(
880
+ UnitType.prototype,
881
+ "portraitModelPathHD",
882
+ {
883
+ get = function(self)
884
+ return self:getStringField("upor:hd")
885
+ end,
886
+ set = function(self, portraitModelPathHD)
887
+ self:setStringField("upor:hd", portraitModelPathHD)
888
+ self.isPortraitModelPathSet = true
889
+ end
890
+ },
891
+ true
892
+ )
893
+ __TS__SetDescriptor(
894
+ UnitType.prototype,
895
+ "runSpeed",
896
+ {
897
+ get = function(self)
898
+ return self:getNumberField("urun")
899
+ end,
900
+ set = function(self, runSpeed)
901
+ self:setNumberField("urun", runSpeed)
902
+ end
903
+ },
904
+ true
905
+ )
906
+ __TS__SetDescriptor(
907
+ UnitType.prototype,
908
+ "runSpeedSD",
909
+ {
910
+ get = function(self)
911
+ return self:getNumberField("urun:sd")
912
+ end,
913
+ set = function(self, runSpeedSD)
914
+ self:setNumberField("urun:sd", runSpeedSD)
915
+ end
916
+ },
917
+ true
918
+ )
919
+ __TS__SetDescriptor(
920
+ UnitType.prototype,
921
+ "runSpeedHD",
922
+ {
923
+ get = function(self)
924
+ return self:getNumberField("urun:hd")
925
+ end,
926
+ set = function(self, runSpeedHD)
927
+ self:setNumberField("urun:hd", runSpeedHD)
682
928
  end
683
929
  },
684
930
  true
@@ -891,6 +1137,45 @@ __TS__SetDescriptor(
891
1137
  },
892
1138
  true
893
1139
  )
1140
+ __TS__SetDescriptor(
1141
+ UnitType.prototype,
1142
+ "walkSpeed",
1143
+ {
1144
+ get = function(self)
1145
+ return self:getNumberField("uwal")
1146
+ end,
1147
+ set = function(self, walkSpeed)
1148
+ self:setNumberField("uwal", walkSpeed)
1149
+ end
1150
+ },
1151
+ true
1152
+ )
1153
+ __TS__SetDescriptor(
1154
+ UnitType.prototype,
1155
+ "walkSpeedSD",
1156
+ {
1157
+ get = function(self)
1158
+ return self:getNumberField("uwal:sd")
1159
+ end,
1160
+ set = function(self, walkSpeedSD)
1161
+ self:setNumberField("uwal:sd", walkSpeedSD)
1162
+ end
1163
+ },
1164
+ true
1165
+ )
1166
+ __TS__SetDescriptor(
1167
+ UnitType.prototype,
1168
+ "walkSpeedHD",
1169
+ {
1170
+ get = function(self)
1171
+ return self:getNumberField("uwal:hd")
1172
+ end,
1173
+ set = function(self, walkSpeedHD)
1174
+ self:setNumberField("uwal:hd", walkSpeedHD)
1175
+ end
1176
+ },
1177
+ true
1178
+ )
894
1179
  __TS__SetDescriptor(
895
1180
  UnitType.prototype,
896
1181
  "armorSoundType",
@@ -964,25 +1249,25 @@ __TS__SetDescriptor(
964
1249
  )
965
1250
  __TS__SetDescriptor(
966
1251
  UnitType.prototype,
967
- "firstWeapon",
1252
+ "weapons",
968
1253
  {get = function(self)
969
- return self.weapons[1]
1254
+ return getOrCreateUnitTypeWeapons(self)
970
1255
  end},
971
1256
  true
972
1257
  )
973
1258
  __TS__SetDescriptor(
974
1259
  UnitType.prototype,
975
- "secondWeapon",
1260
+ "firstWeapon",
976
1261
  {get = function(self)
977
- return self.weapons[2]
1262
+ return self.weapons[1]
978
1263
  end},
979
1264
  true
980
1265
  )
981
1266
  __TS__SetDescriptor(
982
1267
  UnitType.prototype,
983
- "weapons",
1268
+ "secondWeapon",
984
1269
  {get = function(self)
985
- return getOrCreateUnitTypeWeapons(self)
1270
+ return self.weapons[2]
986
1271
  end},
987
1272
  true
988
1273
  )
@@ -1168,6 +1453,71 @@ __TS__SetDescriptor(
1168
1453
  },
1169
1454
  true
1170
1455
  )
1456
+ __TS__SetDescriptor(
1457
+ UnitType.prototype,
1458
+ "healthRegenerationRate",
1459
+ {
1460
+ get = function(self)
1461
+ return self:getNumberField("uhpr")
1462
+ end,
1463
+ set = function(self, healthRegenerationRate)
1464
+ self:setNumberField("uhpr", healthRegenerationRate)
1465
+ end
1466
+ },
1467
+ true
1468
+ )
1469
+ __TS__SetDescriptor(
1470
+ UnitType.prototype,
1471
+ "manaRegenerationRate",
1472
+ {
1473
+ get = function(self)
1474
+ return self:getNumberField("umpr")
1475
+ end,
1476
+ set = function(self, manaRegenerationRate)
1477
+ self:setNumberField("umpr", manaRegenerationRate)
1478
+ end
1479
+ },
1480
+ true
1481
+ )
1482
+ __TS__SetDescriptor(
1483
+ UnitType.prototype,
1484
+ "maximumHealth",
1485
+ {
1486
+ get = function(self)
1487
+ return self:getNumberField("uhpm")
1488
+ end,
1489
+ set = function(self, maximumHealth)
1490
+ self:setNumberField("uhpm", maximumHealth)
1491
+ end
1492
+ },
1493
+ true
1494
+ )
1495
+ __TS__SetDescriptor(
1496
+ UnitType.prototype,
1497
+ "maximumMana",
1498
+ {
1499
+ get = function(self)
1500
+ return self:getNumberField("umpm")
1501
+ end,
1502
+ set = function(self, maximumMana)
1503
+ self:setNumberField("umpm", maximumMana)
1504
+ end
1505
+ },
1506
+ true
1507
+ )
1508
+ __TS__SetDescriptor(
1509
+ UnitType.prototype,
1510
+ "initialMana",
1511
+ {
1512
+ get = function(self)
1513
+ return self:getNumberField("umpi")
1514
+ end,
1515
+ set = function(self, initialMana)
1516
+ self:setNumberField("umpi", initialMana)
1517
+ end
1518
+ },
1519
+ true
1520
+ )
1171
1521
  __TS__SetDescriptor(
1172
1522
  UnitType.prototype,
1173
1523
  "isStructure",
@@ -1199,10 +1549,10 @@ __TS__SetDescriptor(
1199
1549
  "affectingUpgradeIds",
1200
1550
  {
1201
1551
  get = function(self)
1202
- return self:getObjectDataEntryIdsField("upgr")
1552
+ return self:getObjectDataEntryNumericIdsField("upgr")
1203
1553
  end,
1204
1554
  set = function(self, affectingUpgradeIds)
1205
- self:setObjectDataEntryIdsField("upgr", affectingUpgradeIds)
1555
+ self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
1206
1556
  end
1207
1557
  },
1208
1558
  true
@@ -1262,11 +1612,11 @@ __TS__SetDescriptor(
1262
1612
  implementReadonlyNumberIndexSupplier(
1263
1613
  ____exports.UnitType,
1264
1614
  function(id)
1265
- local ____class_12 = __TS__Class()
1266
- ____class_12.name = ____class_12.name
1267
- __TS__ClassExtends(____class_12, ____exports.UnitType)
1268
- ____class_12.BASE_ID = id
1269
- return ____class_12
1615
+ local ____class_24 = __TS__Class()
1616
+ ____class_24.name = ____class_24.name
1617
+ __TS__ClassExtends(____class_24, ____exports.UnitType)
1618
+ ____class_24.BASE_ID = id
1619
+ return ____class_24
1270
1620
  end
1271
1621
  )
1272
1622
  ____exports.HeroUnitType = __TS__Class()
@@ -1285,10 +1635,41 @@ __TS__SetDescriptor(
1285
1635
  "heroAbilityTypeIds",
1286
1636
  {
1287
1637
  get = function(self)
1288
- return self:getObjectDataEntryIdsField("uhab")
1638
+ return self:getObjectDataEntryNumericIdsField("uhab")
1289
1639
  end,
1290
1640
  set = function(self, heroAbilityTypeIds)
1291
- self:setObjectDataEntryIdsField("uhab", heroAbilityTypeIds)
1641
+ self:setObjectDataEntryNumericIdsField("uhab", heroAbilityTypeIds)
1642
+ end
1643
+ },
1644
+ true
1645
+ )
1646
+ __TS__SetDescriptor(
1647
+ HeroUnitType.prototype,
1648
+ "properNames",
1649
+ {
1650
+ get = function(self)
1651
+ return self:getStringsField("upro")
1652
+ end,
1653
+ set = function(self, properNames)
1654
+ if __TS__ArrayIsArray(properNames) then
1655
+ self:setStringsField("upro", properNames)
1656
+ self:setNumberField("upru", #properNames)
1657
+ else
1658
+ self:setStringField("upro", properNames)
1659
+ end
1660
+ end
1661
+ },
1662
+ true
1663
+ )
1664
+ __TS__SetDescriptor(
1665
+ HeroUnitType.prototype,
1666
+ "properNameCount",
1667
+ {
1668
+ get = function(self)
1669
+ return self:getNumberField("upru")
1670
+ end,
1671
+ set = function(self, properNameCount)
1672
+ self:setNumberField("upru", properNameCount)
1292
1673
  end
1293
1674
  },
1294
1675
  true
@@ -1296,11 +1677,11 @@ __TS__SetDescriptor(
1296
1677
  implementReadonlyNumberIndexSupplier(
1297
1678
  ____exports.HeroUnitType,
1298
1679
  function(id)
1299
- local ____class_13 = __TS__Class()
1300
- ____class_13.name = ____class_13.name
1301
- __TS__ClassExtends(____class_13, ____exports.HeroUnitType)
1302
- ____class_13.BASE_ID = id
1303
- return ____class_13
1680
+ local ____class_25 = __TS__Class()
1681
+ ____class_25.name = ____class_25.name
1682
+ __TS__ClassExtends(____class_25, ____exports.HeroUnitType)
1683
+ ____class_25.BASE_ID = id
1684
+ return ____class_25
1304
1685
  end
1305
1686
  )
1306
1687
  return ____exports
@@ -1,4 +1,3 @@
1
- /// <reference types="warpack-types/warpack" />
2
1
  /** @noSelfInFile */
3
2
  import { Upgrade, UpgradeId } from "../upgrade";
4
3
  export declare class BlankUpgrade extends Upgrade {
@@ -1,10 +1,9 @@
1
- /// <reference types="warpack-types/warpack" />
2
1
  /** @noSelfInFile */
3
2
  import { TupleOf } from "../../../utility/types";
4
3
  import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
5
4
  import { ObjectDataEntry, ObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
6
5
  import { AbilityTypeId } from "./ability-type";
7
- export type UpgradeId = ObjectDataEntryId & {
6
+ export type UpgradeId = ObjectDataEntryId & number & {
8
7
  readonly __upgradeId: unique symbol;
9
8
  };
10
9
  export declare const enum UpgradeEffectType {