warscript 0.0.1-dev.7b6a4ac → 0.0.1-dev.7c9c5d2

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 (228) hide show
  1. package/attributes.d.ts +17 -0
  2. package/attributes.lua +23 -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/decl/native.d.ts +840 -786
  26. package/engine/ability.d.ts +1 -1
  27. package/engine/behavior.d.ts +10 -10
  28. package/engine/behavior.lua +6 -6
  29. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  30. package/engine/behaviour/ability/always-enabled.lua +31 -0
  31. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  32. package/engine/behaviour/ability/apply-buff.lua +32 -0
  33. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  34. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  35. package/engine/behaviour/ability/damage.d.ts +39 -11
  36. package/engine/behaviour/ability/damage.lua +83 -37
  37. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  38. package/engine/behaviour/ability/emulate-impact.lua +35 -0
  39. package/engine/behaviour/ability/heal.d.ts +33 -6
  40. package/engine/behaviour/ability/heal.lua +89 -10
  41. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  42. package/engine/behaviour/ability/instant-impact.lua +4 -15
  43. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  44. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  45. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  46. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  47. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  48. package/engine/behaviour/ability/restore-mana.lua +29 -0
  49. package/engine/behaviour/ability.d.ts +27 -4
  50. package/engine/behaviour/ability.lua +152 -17
  51. package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
  52. package/engine/behaviour/unit.d.ts +10 -2
  53. package/engine/behaviour/unit.lua +27 -0
  54. package/engine/buff.d.ts +103 -41
  55. package/engine/buff.lua +465 -212
  56. package/engine/game-map.d.ts +7 -0
  57. package/engine/game-map.lua +32 -0
  58. package/engine/internal/ability.d.ts +18 -13
  59. package/engine/internal/ability.lua +87 -76
  60. package/engine/internal/item/ability.lua +106 -0
  61. package/engine/internal/item+owner.lua +2 -2
  62. package/engine/internal/item.d.ts +4 -3
  63. package/engine/internal/item.lua +56 -25
  64. package/engine/internal/mechanics/ability-duration.lua +1 -1
  65. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  66. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  67. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  68. package/engine/internal/misc/damage-metadata-by-target.lua +5 -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/ignore-events-items.d.ts +2 -0
  82. package/engine/internal/unit/ignore-events-items.lua +5 -0
  83. package/engine/internal/unit/item.d.ts +24 -0
  84. package/engine/internal/unit/item.lua +78 -0
  85. package/engine/internal/unit/main-selected.d.ts +13 -0
  86. package/engine/internal/unit/main-selected.lua +51 -0
  87. package/engine/internal/unit+ability.lua +2 -2
  88. package/engine/internal/unit+damage.d.ts +2 -11
  89. package/engine/internal/unit+damage.lua +10 -14
  90. package/engine/internal/unit+spellSteal.lua +1 -2
  91. package/engine/internal/unit+transport.lua +4 -10
  92. package/engine/internal/unit-missile-launch.lua +25 -6
  93. package/engine/internal/unit.d.ts +78 -18
  94. package/engine/internal/unit.lua +475 -167
  95. package/engine/internal/utility.lua +12 -0
  96. package/engine/lightning.d.ts +12 -5
  97. package/engine/lightning.lua +48 -14
  98. package/engine/local-client.d.ts +7 -2
  99. package/engine/local-client.lua +82 -0
  100. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  101. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  102. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  103. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  104. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  105. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  106. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  107. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  108. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  109. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  110. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  111. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  112. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  113. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  114. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  115. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  116. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  117. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  118. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  119. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  120. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  121. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  122. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  123. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  124. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  125. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  126. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  127. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  128. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  129. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  130. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  131. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  132. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  133. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  134. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  135. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  136. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  137. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  138. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  139. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  140. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  141. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  142. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  143. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  144. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  145. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  146. package/engine/object-data/entry/ability-type/web.lua +52 -0
  147. package/engine/object-data/entry/ability-type.d.ts +19 -18
  148. package/engine/object-data/entry/ability-type.lua +89 -33
  149. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  150. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  151. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  152. package/engine/object-data/entry/buff-type.d.ts +6 -13
  153. package/engine/object-data/entry/buff-type.lua +13 -29
  154. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  155. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  156. package/engine/object-data/entry/item-type.d.ts +15 -2
  157. package/engine/object-data/entry/item-type.lua +93 -2
  158. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  159. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  160. package/engine/object-data/entry/sound-preset.lua +140 -0
  161. package/engine/object-data/entry/unit-type.d.ts +47 -5
  162. package/engine/object-data/entry/unit-type.lua +421 -74
  163. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  164. package/engine/object-data/entry/upgrade.d.ts +1 -2
  165. package/engine/object-data/entry/upgrade.lua +4 -4
  166. package/engine/object-data/entry.d.ts +18 -17
  167. package/engine/object-data/entry.lua +60 -32
  168. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  169. package/engine/object-field/ability.d.ts +26 -3
  170. package/engine/object-field/ability.lua +54 -1
  171. package/engine/object-field/unit.d.ts +46 -3
  172. package/engine/object-field/unit.lua +173 -7
  173. package/engine/object-field.d.ts +11 -4
  174. package/engine/object-field.lua +162 -76
  175. package/engine/random.d.ts +1 -0
  176. package/engine/random.lua +9 -0
  177. package/engine/standard/entries/buff-type.d.ts +3 -0
  178. package/engine/standard/entries/buff-type.lua +3 -0
  179. package/engine/standard/entries/sound-preset.d.ts +10 -0
  180. package/engine/standard/entries/sound-preset.lua +10 -0
  181. package/engine/standard/entries/unit-type.d.ts +39 -1
  182. package/engine/standard/entries/unit-type.lua +39 -1
  183. package/engine/standard/fields/ability.d.ts +3 -1
  184. package/engine/standard/fields/ability.lua +3 -1
  185. package/engine/unit.d.ts +3 -0
  186. package/engine/unit.lua +12 -2
  187. package/event.d.ts +2 -3
  188. package/event.lua +9 -5
  189. package/index.d.ts +1 -0
  190. package/index.lua +1 -0
  191. package/lualib_bundle.lua +146 -42
  192. package/math/vec2.d.ts +2 -9
  193. package/math.d.ts +0 -2
  194. package/net/socket.d.ts +7 -1
  195. package/net/socket.lua +45 -4
  196. package/network.d.ts +1 -0
  197. package/network.lua +3 -2
  198. package/objutil/ability.d.ts +0 -1
  199. package/objutil/buff.d.ts +0 -1
  200. package/objutil/buff.lua +2 -3
  201. package/objutil/object.d.ts +0 -1
  202. package/objutil/unit.d.ts +0 -1
  203. package/objutil/unit.lua +8 -0
  204. package/package.json +13 -14
  205. package/patch-lua.d.ts +0 -0
  206. package/patch-lua.lua +10 -0
  207. package/property.d.ts +55 -0
  208. package/property.lua +374 -0
  209. package/string.d.ts +30 -0
  210. package/string.lua +14 -0
  211. package/util/stream.d.ts +0 -1
  212. package/utility/arrays.d.ts +12 -5
  213. package/utility/arrays.lua +37 -3
  214. package/utility/bit-set.d.ts +0 -2
  215. package/utility/functions.d.ts +1 -0
  216. package/utility/functions.lua +1 -0
  217. package/utility/lazy.d.ts +2 -0
  218. package/utility/lazy.lua +14 -0
  219. package/utility/linked-set.d.ts +12 -3
  220. package/utility/linked-set.lua +8 -2
  221. package/utility/lua-maps.d.ts +4 -2
  222. package/utility/lua-maps.lua +16 -0
  223. package/utility/lua-sets.d.ts +2 -2
  224. package/utility/lua-sets.lua +3 -0
  225. package/utility/reflection.lua +11 -7
  226. package/utility/types.d.ts +1 -0
  227. package/core/mapbounds.d.ts +0 -8
  228. 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
@@ -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,11 @@ 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
21
30
  local getOrCreateUnitTypeWeapons
22
31
  ____exports.UnitTypeWeapon = __TS__Class()
23
32
  local UnitTypeWeapon = ____exports.UnitTypeWeapon
@@ -31,18 +40,19 @@ __TS__SetDescriptor(
31
40
  "attackType",
32
41
  {
33
42
  get = function(self)
43
+ local ____stringToAttackType_1 = stringToAttackType
34
44
  local ____self_0 = self.unitType
35
- return ____self_0.getStringField(
45
+ return ____stringToAttackType_1(____self_0.getStringField(
36
46
  ____self_0,
37
47
  ("ua" .. tostring(self.index)) .. "t"
38
- )
48
+ ))
39
49
  end,
40
50
  set = function(self, attackType)
41
- local ____self_1 = self.unitType
42
- ____self_1.setStringField(
43
- ____self_1,
51
+ local ____self_2 = self.unitType
52
+ ____self_2.setStringField(
53
+ ____self_2,
44
54
  ("ua" .. tostring(self.index)) .. "t",
45
- attackType
55
+ attackTypeToString(attackType)
46
56
  )
47
57
  end
48
58
  },
@@ -53,16 +63,16 @@ __TS__SetDescriptor(
53
63
  "backSwingDuration",
54
64
  {
55
65
  get = function(self)
56
- local ____self_2 = self.unitType
57
- return ____self_2.getNumberField(
58
- ____self_2,
66
+ local ____self_3 = self.unitType
67
+ return ____self_3.getNumberField(
68
+ ____self_3,
59
69
  "ubs" .. tostring(self.index)
60
70
  )
61
71
  end,
62
72
  set = function(self, backSwingDuration)
63
- local ____self_3 = self.unitType
64
- ____self_3.setNumberField(
65
- ____self_3,
73
+ local ____self_4 = self.unitType
74
+ ____self_4.setNumberField(
75
+ ____self_4,
66
76
  "ubs" .. tostring(self.index),
67
77
  backSwingDuration
68
78
  )
@@ -70,21 +80,130 @@ __TS__SetDescriptor(
70
80
  },
71
81
  true
72
82
  )
83
+ __TS__SetDescriptor(
84
+ UnitTypeWeapon.prototype,
85
+ "cooldown",
86
+ {
87
+ get = function(self)
88
+ local ____self_5 = self.unitType
89
+ return ____self_5.getNumberField(
90
+ ____self_5,
91
+ ("ua" .. tostring(self.index)) .. "c"
92
+ )
93
+ end,
94
+ set = function(self, cooldown)
95
+ local ____self_6 = self.unitType
96
+ ____self_6.setNumberField(
97
+ ____self_6,
98
+ ("ua" .. tostring(self.index)) .. "c",
99
+ cooldown
100
+ )
101
+ end
102
+ },
103
+ true
104
+ )
105
+ __TS__SetDescriptor(
106
+ UnitTypeWeapon.prototype,
107
+ "damage",
108
+ {
109
+ get = function(self)
110
+ local minimumDamage = self.damageBase + self.damageDiceCount
111
+ local maximumDamage = self.damageBase + self.damageDiceCount * self.damageDiceSideCount
112
+ return {minimumDamage, maximumDamage}
113
+ end,
114
+ set = function(self, ____bindingPattern0)
115
+ local maximumDamage
116
+ local minimumDamage
117
+ minimumDamage = ____bindingPattern0[1]
118
+ maximumDamage = ____bindingPattern0[2]
119
+ self.damageBase = minimumDamage - 1
120
+ self.damageDiceCount = 1
121
+ self.damageDiceSideCount = maximumDamage - minimumDamage + 1
122
+ end
123
+ },
124
+ true
125
+ )
126
+ __TS__SetDescriptor(
127
+ UnitTypeWeapon.prototype,
128
+ "damageBase",
129
+ {
130
+ get = function(self)
131
+ local ____self_7 = self.unitType
132
+ return ____self_7.getNumberField(
133
+ ____self_7,
134
+ ("ua" .. tostring(self.index)) .. "b"
135
+ )
136
+ end,
137
+ set = function(self, damageBase)
138
+ local ____self_8 = self.unitType
139
+ ____self_8.setNumberField(
140
+ ____self_8,
141
+ ("ua" .. tostring(self.index)) .. "b",
142
+ damageBase
143
+ )
144
+ end
145
+ },
146
+ true
147
+ )
148
+ __TS__SetDescriptor(
149
+ UnitTypeWeapon.prototype,
150
+ "damageDiceCount",
151
+ {
152
+ get = function(self)
153
+ local ____self_9 = self.unitType
154
+ return ____self_9.getNumberField(
155
+ ____self_9,
156
+ ("ua" .. tostring(self.index)) .. "d"
157
+ )
158
+ end,
159
+ set = function(self, damageDiceNumber)
160
+ local ____self_10 = self.unitType
161
+ ____self_10.setNumberField(
162
+ ____self_10,
163
+ ("ua" .. tostring(self.index)) .. "d",
164
+ damageDiceNumber
165
+ )
166
+ end
167
+ },
168
+ true
169
+ )
170
+ __TS__SetDescriptor(
171
+ UnitTypeWeapon.prototype,
172
+ "damageDiceSideCount",
173
+ {
174
+ get = function(self)
175
+ local ____self_11 = self.unitType
176
+ return ____self_11.getNumberField(
177
+ ____self_11,
178
+ ("ua" .. tostring(self.index)) .. "s"
179
+ )
180
+ end,
181
+ set = function(self, damageDiceSideCount)
182
+ local ____self_12 = self.unitType
183
+ ____self_12.setNumberField(
184
+ ____self_12,
185
+ ("ua" .. tostring(self.index)) .. "s",
186
+ damageDiceSideCount
187
+ )
188
+ end
189
+ },
190
+ true
191
+ )
73
192
  __TS__SetDescriptor(
74
193
  UnitTypeWeapon.prototype,
75
194
  "impactDelay",
76
195
  {
77
196
  get = function(self)
78
- local ____self_4 = self.unitType
79
- return ____self_4.getNumberField(
80
- ____self_4,
197
+ local ____self_13 = self.unitType
198
+ return ____self_13.getNumberField(
199
+ ____self_13,
81
200
  "udp" .. tostring(self.index)
82
201
  )
83
202
  end,
84
203
  set = function(self, impactDelay)
85
- local ____self_5 = self.unitType
86
- ____self_5.setNumberField(
87
- ____self_5,
204
+ local ____self_14 = self.unitType
205
+ ____self_14.setNumberField(
206
+ ____self_14,
88
207
  "udp" .. tostring(self.index),
89
208
  impactDelay
90
209
  )
@@ -97,16 +216,16 @@ __TS__SetDescriptor(
97
216
  "missileModelPath",
98
217
  {
99
218
  get = function(self)
100
- local ____self_6 = self.unitType
101
- return ____self_6.getStringField(
102
- ____self_6,
219
+ local ____self_15 = self.unitType
220
+ return ____self_15.getStringField(
221
+ ____self_15,
103
222
  ("ua" .. tostring(self.index)) .. "m"
104
223
  )
105
224
  end,
106
225
  set = function(self, missileModelPath)
107
- local ____self_7 = self.unitType
108
- ____self_7.setStringField(
109
- ____self_7,
226
+ local ____self_16 = self.unitType
227
+ ____self_16.setStringField(
228
+ ____self_16,
110
229
  ("ua" .. tostring(self.index)) .. "m",
111
230
  missileModelPath
112
231
  )
@@ -119,16 +238,16 @@ __TS__SetDescriptor(
119
238
  "range",
120
239
  {
121
240
  get = function(self)
122
- local ____self_8 = self.unitType
123
- return ____self_8.getNumberField(
124
- ____self_8,
241
+ local ____self_17 = self.unitType
242
+ return ____self_17.getNumberField(
243
+ ____self_17,
125
244
  ("ua" .. tostring(self.index)) .. "r"
126
245
  )
127
246
  end,
128
247
  set = function(self, range)
129
- local ____self_9 = self.unitType
130
- ____self_9.setNumberField(
131
- ____self_9,
248
+ local ____self_18 = self.unitType
249
+ ____self_18.setNumberField(
250
+ ____self_18,
132
251
  ("ua" .. tostring(self.index)) .. "r",
133
252
  range
134
253
  )
@@ -141,16 +260,16 @@ __TS__SetDescriptor(
141
260
  "soundType",
142
261
  {
143
262
  get = function(self)
144
- local ____self_10 = self.unitType
145
- return ____self_10.getStringField(
146
- ____self_10,
263
+ local ____self_19 = self.unitType
264
+ return ____self_19.getStringField(
265
+ ____self_19,
147
266
  "ucs" .. tostring(self.index)
148
267
  )
149
268
  end,
150
269
  set = function(self, soundType)
151
- local ____self_11 = self.unitType
152
- ____self_11.setStringField(
153
- ____self_11,
270
+ local ____self_20 = self.unitType
271
+ ____self_20.setStringField(
272
+ ____self_20,
154
273
  "ucs" .. tostring(self.index),
155
274
  soundType
156
275
  )
@@ -163,16 +282,16 @@ __TS__SetDescriptor(
163
282
  "soundTypeSD",
164
283
  {
165
284
  get = function(self)
166
- local ____self_12 = self.unitType
167
- return ____self_12.getStringField(
168
- ____self_12,
285
+ local ____self_21 = self.unitType
286
+ return ____self_21.getStringField(
287
+ ____self_21,
169
288
  ("ucs" .. tostring(self.index)) .. ":sd"
170
289
  )
171
290
  end,
172
291
  set = function(self, soundTypeSD)
173
- local ____self_13 = self.unitType
174
- ____self_13.setStringField(
175
- ____self_13,
292
+ local ____self_22 = self.unitType
293
+ ____self_22.setStringField(
294
+ ____self_22,
176
295
  ("ucs" .. tostring(self.index)) .. ":sd",
177
296
  soundTypeSD
178
297
  )
@@ -185,16 +304,16 @@ __TS__SetDescriptor(
185
304
  "soundTypeHD",
186
305
  {
187
306
  get = function(self)
188
- local ____self_14 = self.unitType
189
- return ____self_14.getStringField(
190
- ____self_14,
307
+ local ____self_23 = self.unitType
308
+ return ____self_23.getStringField(
309
+ ____self_23,
191
310
  ("ucs" .. tostring(self.index)) .. ":hd"
192
311
  )
193
312
  end,
194
313
  set = function(self, soundTypeHD)
195
- local ____self_15 = self.unitType
196
- ____self_15.setStringField(
197
- ____self_15,
314
+ local ____self_24 = self.unitType
315
+ ____self_24.setStringField(
316
+ ____self_24,
198
317
  ("ucs" .. tostring(self.index)) .. ":hd",
199
318
  soundTypeHD
200
319
  )
@@ -235,10 +354,10 @@ __TS__SetDescriptor(
235
354
  "abilityTypeIds",
236
355
  {
237
356
  get = function(self)
238
- return self:getObjectDataEntryIdsField("uabi")
357
+ return self:getObjectDataEntryNumericIdsField("uabi")
239
358
  end,
240
359
  set = function(self, abilityTypeIds)
241
- self:setObjectDataEntryIdsField("uabi", abilityTypeIds)
360
+ self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
242
361
  end
243
362
  },
244
363
  true
@@ -248,10 +367,10 @@ __TS__SetDescriptor(
248
367
  "defaultActiveAbilityTypeId",
249
368
  {
250
369
  get = function(self)
251
- return self:getObjectDataEntryIdsField("udaa")[1]
370
+ return self:getObjectDataEntryNumericIdsField("udaa")[1]
252
371
  end,
253
372
  set = function(self, abilityTypeId)
254
- self:setObjectDataEntryIdsField(
373
+ self:setObjectDataEntryNumericIdsField(
255
374
  "udaa",
256
375
  arrayOfNotNull(abilityTypeId)
257
376
  )
@@ -697,6 +816,9 @@ __TS__SetDescriptor(
697
816
  end,
698
817
  set = function(self, modelPath)
699
818
  self:setStringField("umdl", modelPath)
819
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
820
+ self:setStringField("upor", "")
821
+ end
700
822
  end
701
823
  },
702
824
  true
@@ -710,6 +832,9 @@ __TS__SetDescriptor(
710
832
  end,
711
833
  set = function(self, modelPathSD)
712
834
  self:setStringField("umdl:sd", modelPathSD)
835
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
836
+ self:setStringField("upor:sd", "")
837
+ end
713
838
  end
714
839
  },
715
840
  true
@@ -723,6 +848,90 @@ __TS__SetDescriptor(
723
848
  end,
724
849
  set = function(self, modelPathHD)
725
850
  self:setStringField("umdl:hd", modelPathHD)
851
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
852
+ self:setStringField("upor:hd", "")
853
+ end
854
+ end
855
+ },
856
+ true
857
+ )
858
+ __TS__SetDescriptor(
859
+ UnitType.prototype,
860
+ "portraitModelPath",
861
+ {
862
+ get = function(self)
863
+ return self:getStringField("upor")
864
+ end,
865
+ set = function(self, portraitModelPath)
866
+ self:setStringField("upor", portraitModelPath)
867
+ self.isPortraitModelPathSet = true
868
+ end
869
+ },
870
+ true
871
+ )
872
+ __TS__SetDescriptor(
873
+ UnitType.prototype,
874
+ "portraitModelPathSD",
875
+ {
876
+ get = function(self)
877
+ return self:getStringField("upor:sd")
878
+ end,
879
+ set = function(self, portraitModelPathSD)
880
+ self:setStringField("upor:sd", portraitModelPathSD)
881
+ self.isPortraitModelPathSet = true
882
+ end
883
+ },
884
+ true
885
+ )
886
+ __TS__SetDescriptor(
887
+ UnitType.prototype,
888
+ "portraitModelPathHD",
889
+ {
890
+ get = function(self)
891
+ return self:getStringField("upor:hd")
892
+ end,
893
+ set = function(self, portraitModelPathHD)
894
+ self:setStringField("upor:hd", portraitModelPathHD)
895
+ self.isPortraitModelPathSet = true
896
+ end
897
+ },
898
+ true
899
+ )
900
+ __TS__SetDescriptor(
901
+ UnitType.prototype,
902
+ "runSpeed",
903
+ {
904
+ get = function(self)
905
+ return self:getNumberField("urun")
906
+ end,
907
+ set = function(self, runSpeed)
908
+ self:setNumberField("urun", runSpeed)
909
+ end
910
+ },
911
+ true
912
+ )
913
+ __TS__SetDescriptor(
914
+ UnitType.prototype,
915
+ "runSpeedSD",
916
+ {
917
+ get = function(self)
918
+ return self:getNumberField("urun:sd")
919
+ end,
920
+ set = function(self, runSpeedSD)
921
+ self:setNumberField("urun:sd", runSpeedSD)
922
+ end
923
+ },
924
+ true
925
+ )
926
+ __TS__SetDescriptor(
927
+ UnitType.prototype,
928
+ "runSpeedHD",
929
+ {
930
+ get = function(self)
931
+ return self:getNumberField("urun:hd")
932
+ end,
933
+ set = function(self, runSpeedHD)
934
+ self:setNumberField("urun:hd", runSpeedHD)
726
935
  end
727
936
  },
728
937
  true
@@ -935,6 +1144,45 @@ __TS__SetDescriptor(
935
1144
  },
936
1145
  true
937
1146
  )
1147
+ __TS__SetDescriptor(
1148
+ UnitType.prototype,
1149
+ "walkSpeed",
1150
+ {
1151
+ get = function(self)
1152
+ return self:getNumberField("uwal")
1153
+ end,
1154
+ set = function(self, walkSpeed)
1155
+ self:setNumberField("uwal", walkSpeed)
1156
+ end
1157
+ },
1158
+ true
1159
+ )
1160
+ __TS__SetDescriptor(
1161
+ UnitType.prototype,
1162
+ "walkSpeedSD",
1163
+ {
1164
+ get = function(self)
1165
+ return self:getNumberField("uwal:sd")
1166
+ end,
1167
+ set = function(self, walkSpeedSD)
1168
+ self:setNumberField("uwal:sd", walkSpeedSD)
1169
+ end
1170
+ },
1171
+ true
1172
+ )
1173
+ __TS__SetDescriptor(
1174
+ UnitType.prototype,
1175
+ "walkSpeedHD",
1176
+ {
1177
+ get = function(self)
1178
+ return self:getNumberField("uwal:hd")
1179
+ end,
1180
+ set = function(self, walkSpeedHD)
1181
+ self:setNumberField("uwal:hd", walkSpeedHD)
1182
+ end
1183
+ },
1184
+ true
1185
+ )
938
1186
  __TS__SetDescriptor(
939
1187
  UnitType.prototype,
940
1188
  "armorSoundType",
@@ -1008,25 +1256,25 @@ __TS__SetDescriptor(
1008
1256
  )
1009
1257
  __TS__SetDescriptor(
1010
1258
  UnitType.prototype,
1011
- "firstWeapon",
1259
+ "weapons",
1012
1260
  {get = function(self)
1013
- return self.weapons[1]
1261
+ return getOrCreateUnitTypeWeapons(self)
1014
1262
  end},
1015
1263
  true
1016
1264
  )
1017
1265
  __TS__SetDescriptor(
1018
1266
  UnitType.prototype,
1019
- "secondWeapon",
1267
+ "firstWeapon",
1020
1268
  {get = function(self)
1021
- return self.weapons[2]
1269
+ return self.weapons[1]
1022
1270
  end},
1023
1271
  true
1024
1272
  )
1025
1273
  __TS__SetDescriptor(
1026
1274
  UnitType.prototype,
1027
- "weapons",
1275
+ "secondWeapon",
1028
1276
  {get = function(self)
1029
- return getOrCreateUnitTypeWeapons(self)
1277
+ return self.weapons[2]
1030
1278
  end},
1031
1279
  true
1032
1280
  )
@@ -1100,10 +1348,13 @@ __TS__SetDescriptor(
1100
1348
  "movementType",
1101
1349
  {
1102
1350
  get = function(self)
1103
- return self:getStringField("umvt")
1351
+ return stringToMovementType(self:getStringField("umvt"))
1104
1352
  end,
1105
1353
  set = function(self, movementType)
1106
- self:setStringField("umvt", movementType)
1354
+ self:setStringField(
1355
+ "umvt",
1356
+ movementTypeToString(movementType)
1357
+ )
1107
1358
  end
1108
1359
  },
1109
1360
  true
@@ -1212,6 +1463,71 @@ __TS__SetDescriptor(
1212
1463
  },
1213
1464
  true
1214
1465
  )
1466
+ __TS__SetDescriptor(
1467
+ UnitType.prototype,
1468
+ "healthRegenerationRate",
1469
+ {
1470
+ get = function(self)
1471
+ return self:getNumberField("uhpr")
1472
+ end,
1473
+ set = function(self, healthRegenerationRate)
1474
+ self:setNumberField("uhpr", healthRegenerationRate)
1475
+ end
1476
+ },
1477
+ true
1478
+ )
1479
+ __TS__SetDescriptor(
1480
+ UnitType.prototype,
1481
+ "manaRegenerationRate",
1482
+ {
1483
+ get = function(self)
1484
+ return self:getNumberField("umpr")
1485
+ end,
1486
+ set = function(self, manaRegenerationRate)
1487
+ self:setNumberField("umpr", manaRegenerationRate)
1488
+ end
1489
+ },
1490
+ true
1491
+ )
1492
+ __TS__SetDescriptor(
1493
+ UnitType.prototype,
1494
+ "maximumHealth",
1495
+ {
1496
+ get = function(self)
1497
+ return self:getNumberField("uhpm")
1498
+ end,
1499
+ set = function(self, maximumHealth)
1500
+ self:setNumberField("uhpm", maximumHealth)
1501
+ end
1502
+ },
1503
+ true
1504
+ )
1505
+ __TS__SetDescriptor(
1506
+ UnitType.prototype,
1507
+ "maximumMana",
1508
+ {
1509
+ get = function(self)
1510
+ return self:getNumberField("umpm")
1511
+ end,
1512
+ set = function(self, maximumMana)
1513
+ self:setNumberField("umpm", maximumMana)
1514
+ end
1515
+ },
1516
+ true
1517
+ )
1518
+ __TS__SetDescriptor(
1519
+ UnitType.prototype,
1520
+ "initialMana",
1521
+ {
1522
+ get = function(self)
1523
+ return self:getNumberField("umpi")
1524
+ end,
1525
+ set = function(self, initialMana)
1526
+ self:setNumberField("umpi", initialMana)
1527
+ end
1528
+ },
1529
+ true
1530
+ )
1215
1531
  __TS__SetDescriptor(
1216
1532
  UnitType.prototype,
1217
1533
  "isStructure",
@@ -1243,10 +1559,10 @@ __TS__SetDescriptor(
1243
1559
  "affectingUpgradeIds",
1244
1560
  {
1245
1561
  get = function(self)
1246
- return self:getObjectDataEntryIdsField("upgr")
1562
+ return self:getObjectDataEntryNumericIdsField("upgr")
1247
1563
  end,
1248
1564
  set = function(self, affectingUpgradeIds)
1249
- self:setObjectDataEntryIdsField("upgr", affectingUpgradeIds)
1565
+ self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
1250
1566
  end
1251
1567
  },
1252
1568
  true
@@ -1306,11 +1622,11 @@ __TS__SetDescriptor(
1306
1622
  implementReadonlyNumberIndexSupplier(
1307
1623
  ____exports.UnitType,
1308
1624
  function(id)
1309
- local ____class_16 = __TS__Class()
1310
- ____class_16.name = ____class_16.name
1311
- __TS__ClassExtends(____class_16, ____exports.UnitType)
1312
- ____class_16.BASE_ID = id
1313
- return ____class_16
1625
+ local ____class_25 = __TS__Class()
1626
+ ____class_25.name = ____class_25.name
1627
+ __TS__ClassExtends(____class_25, ____exports.UnitType)
1628
+ ____class_25.BASE_ID = id
1629
+ return ____class_25
1314
1630
  end
1315
1631
  )
1316
1632
  ____exports.HeroUnitType = __TS__Class()
@@ -1329,10 +1645,41 @@ __TS__SetDescriptor(
1329
1645
  "heroAbilityTypeIds",
1330
1646
  {
1331
1647
  get = function(self)
1332
- return self:getObjectDataEntryIdsField("uhab")
1648
+ return self:getObjectDataEntryNumericIdsField("uhab")
1333
1649
  end,
1334
1650
  set = function(self, heroAbilityTypeIds)
1335
- self:setObjectDataEntryIdsField("uhab", heroAbilityTypeIds)
1651
+ self:setObjectDataEntryNumericIdsField("uhab", heroAbilityTypeIds)
1652
+ end
1653
+ },
1654
+ true
1655
+ )
1656
+ __TS__SetDescriptor(
1657
+ HeroUnitType.prototype,
1658
+ "properNames",
1659
+ {
1660
+ get = function(self)
1661
+ return self:getStringsField("upro")
1662
+ end,
1663
+ set = function(self, properNames)
1664
+ if __TS__ArrayIsArray(properNames) then
1665
+ self:setStringsField("upro", properNames)
1666
+ self:setNumberField("upru", #properNames)
1667
+ else
1668
+ self:setStringField("upro", properNames)
1669
+ end
1670
+ end
1671
+ },
1672
+ true
1673
+ )
1674
+ __TS__SetDescriptor(
1675
+ HeroUnitType.prototype,
1676
+ "properNameCount",
1677
+ {
1678
+ get = function(self)
1679
+ return self:getNumberField("upru")
1680
+ end,
1681
+ set = function(self, properNameCount)
1682
+ self:setNumberField("upru", properNameCount)
1336
1683
  end
1337
1684
  },
1338
1685
  true
@@ -1340,11 +1687,11 @@ __TS__SetDescriptor(
1340
1687
  implementReadonlyNumberIndexSupplier(
1341
1688
  ____exports.HeroUnitType,
1342
1689
  function(id)
1343
- local ____class_17 = __TS__Class()
1344
- ____class_17.name = ____class_17.name
1345
- __TS__ClassExtends(____class_17, ____exports.HeroUnitType)
1346
- ____class_17.BASE_ID = id
1347
- return ____class_17
1690
+ local ____class_26 = __TS__Class()
1691
+ ____class_26.name = ____class_26.name
1692
+ __TS__ClassExtends(____class_26, ____exports.HeroUnitType)
1693
+ ____class_26.BASE_ID = id
1694
+ return ____class_26
1348
1695
  end
1349
1696
  )
1350
1697
  return ____exports