warscript 0.0.1-dev.ea69747 → 0.0.1-dev.eb6b18a

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 (249) 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 +13 -4
  34. package/engine/behaviour/ability/apply-unit-behavior.lua +32 -9
  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 +42 -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 -26
  51. package/engine/behaviour/unit/stun-immunity.d.ts +5 -4
  52. package/engine/behaviour/unit/stun-immunity.lua +43 -27
  53. package/engine/behaviour/unit.d.ts +34 -2
  54. package/engine/behaviour/unit.lua +181 -0
  55. package/engine/buff.d.ts +103 -41
  56. package/engine/buff.lua +465 -212
  57. package/engine/game-map.d.ts +7 -0
  58. package/engine/game-map.lua +32 -0
  59. package/engine/internal/ability.d.ts +21 -14
  60. package/engine/internal/ability.lua +97 -76
  61. package/engine/internal/item/ability.lua +112 -4
  62. package/engine/internal/item+owner.lua +2 -2
  63. package/engine/internal/item.d.ts +7 -4
  64. package/engine/internal/item.lua +131 -28
  65. package/engine/internal/mechanics/ability-duration.d.ts +1 -3
  66. package/engine/internal/mechanics/ability-duration.lua +3 -1
  67. package/engine/internal/mechanics/cast-ability.d.ts +2 -0
  68. package/engine/internal/mechanics/cast-ability.lua +86 -0
  69. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  70. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  71. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  72. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  73. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  74. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  75. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  76. package/engine/internal/object-data/evasion-probability.lua +16 -0
  77. package/engine/internal/unit/ability.d.ts +45 -1
  78. package/engine/internal/unit/ability.lua +98 -14
  79. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  80. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  81. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  82. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  83. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  84. package/engine/internal/unit/allowed-targets.lua +9 -1
  85. package/engine/internal/unit/bonus.d.ts +11 -8
  86. package/engine/internal/unit/bonus.lua +23 -1
  87. package/engine/internal/unit/detach-missiles.d.ts +7 -0
  88. package/engine/internal/unit/detach-missiles.lua +30 -0
  89. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  90. package/engine/internal/unit/ignore-events-items.lua +5 -0
  91. package/engine/internal/unit/item.d.ts +24 -0
  92. package/engine/internal/unit/item.lua +78 -0
  93. package/engine/internal/unit/main-selected.d.ts +13 -0
  94. package/engine/internal/unit/main-selected.lua +51 -0
  95. package/engine/internal/unit/order.d.ts +20 -0
  96. package/engine/internal/unit/order.lua +136 -0
  97. package/engine/internal/unit+ability.lua +2 -2
  98. package/engine/internal/unit+damage.d.ts +2 -11
  99. package/engine/internal/unit+damage.lua +10 -14
  100. package/engine/internal/unit+spellSteal.lua +1 -2
  101. package/engine/internal/unit+transport.lua +4 -10
  102. package/engine/internal/unit-missile-launch.lua +25 -6
  103. package/engine/internal/unit.d.ts +85 -19
  104. package/engine/internal/unit.lua +555 -167
  105. package/engine/internal/utility.lua +12 -0
  106. package/engine/lightning.d.ts +12 -5
  107. package/engine/lightning.lua +48 -14
  108. package/engine/local-client.d.ts +7 -2
  109. package/engine/local-client.lua +82 -0
  110. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  111. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  112. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  113. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  114. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  115. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  116. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  117. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  118. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  119. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  120. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  121. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  122. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  123. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  124. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  125. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  126. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  127. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  128. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  129. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  130. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  131. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  132. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  133. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  134. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  135. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  136. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +4 -4
  137. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  138. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  139. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  140. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  141. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  142. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  143. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  144. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  145. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  146. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  147. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  148. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  149. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  150. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  151. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  152. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  153. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  154. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  155. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  156. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  157. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  158. package/engine/object-data/entry/ability-type/web.lua +52 -0
  159. package/engine/object-data/entry/ability-type.d.ts +20 -18
  160. package/engine/object-data/entry/ability-type.lua +90 -33
  161. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  162. package/engine/object-data/entry/buff-type/applicable.lua +39 -102
  163. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  164. package/engine/object-data/entry/buff-type.d.ts +6 -13
  165. package/engine/object-data/entry/buff-type.lua +13 -29
  166. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  167. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  168. package/engine/object-data/entry/item-type.d.ts +15 -2
  169. package/engine/object-data/entry/item-type.lua +93 -2
  170. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  171. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  172. package/engine/object-data/entry/sound-preset.lua +140 -0
  173. package/engine/object-data/entry/unit-type.d.ts +50 -3
  174. package/engine/object-data/entry/unit-type.lua +452 -61
  175. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  176. package/engine/object-data/entry/upgrade.d.ts +1 -2
  177. package/engine/object-data/entry/upgrade.lua +4 -4
  178. package/engine/object-data/entry.d.ts +18 -17
  179. package/engine/object-data/entry.lua +60 -32
  180. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  181. package/engine/object-field/ability.d.ts +33 -8
  182. package/engine/object-field/ability.lua +60 -1
  183. package/engine/object-field/unit.d.ts +50 -2
  184. package/engine/object-field/unit.lua +186 -4
  185. package/engine/object-field.d.ts +21 -8
  186. package/engine/object-field.lua +221 -97
  187. package/engine/random.d.ts +1 -0
  188. package/engine/random.lua +9 -0
  189. package/engine/standard/entries/buff-type.d.ts +3 -0
  190. package/engine/standard/entries/buff-type.lua +3 -0
  191. package/engine/standard/entries/sound-preset.d.ts +10 -0
  192. package/engine/standard/entries/sound-preset.lua +10 -0
  193. package/engine/standard/entries/unit-type.d.ts +42 -1
  194. package/engine/standard/entries/unit-type.lua +42 -1
  195. package/engine/standard/fields/ability.d.ts +3 -1
  196. package/engine/standard/fields/ability.lua +3 -1
  197. package/engine/standard/fields/unit.d.ts +3 -0
  198. package/engine/standard/fields/unit.lua +5 -0
  199. package/engine/text-tag.d.ts +36 -2
  200. package/engine/text-tag.lua +175 -10
  201. package/engine/unit.d.ts +5 -0
  202. package/engine/unit.lua +14 -2
  203. package/event.d.ts +2 -3
  204. package/event.lua +9 -5
  205. package/exception.d.ts +2 -0
  206. package/exception.lua +4 -0
  207. package/global/vec2.lua +1 -0
  208. package/index.d.ts +1 -0
  209. package/index.lua +1 -0
  210. package/lualib_bundle.lua +146 -42
  211. package/math/vec2.d.ts +2 -9
  212. package/math.d.ts +0 -2
  213. package/net/socket.d.ts +7 -1
  214. package/net/socket.lua +45 -4
  215. package/network.d.ts +1 -0
  216. package/network.lua +3 -2
  217. package/objutil/ability.d.ts +0 -1
  218. package/objutil/buff.d.ts +0 -1
  219. package/objutil/buff.lua +2 -3
  220. package/objutil/object.d.ts +0 -1
  221. package/objutil/unit.d.ts +0 -1
  222. package/objutil/unit.lua +8 -0
  223. package/package.json +13 -14
  224. package/patch-lua.d.ts +0 -0
  225. package/patch-lua.lua +10 -0
  226. package/property.d.ts +55 -0
  227. package/property.lua +374 -0
  228. package/string.d.ts +30 -0
  229. package/string.lua +14 -0
  230. package/util/stream.d.ts +0 -1
  231. package/utility/arrays.d.ts +13 -6
  232. package/utility/arrays.lua +41 -4
  233. package/utility/bit-set.d.ts +0 -2
  234. package/utility/functions.d.ts +1 -0
  235. package/utility/functions.lua +1 -0
  236. package/utility/lazy.d.ts +2 -0
  237. package/utility/lazy.lua +14 -0
  238. package/utility/linked-set.d.ts +32 -9
  239. package/utility/linked-set.lua +24 -2
  240. package/utility/lua-maps.d.ts +5 -2
  241. package/utility/lua-maps.lua +20 -0
  242. package/utility/lua-sets.d.ts +2 -2
  243. package/utility/lua-sets.lua +3 -0
  244. package/utility/reflection.lua +11 -7
  245. package/utility/types.d.ts +3 -2
  246. package/core/mapbounds.d.ts +0 -8
  247. package/core/mapbounds.lua +0 -12
  248. package/core/types/order.d.ts +0 -25
  249. package/core/types/order.lua +0 -55
@@ -3,6 +3,7 @@ local __TS__Class = ____lualib.__TS__Class
3
3
  local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
4
4
  local __TS__New = ____lualib.__TS__New
5
5
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
6
+ local __TS__ArrayIsArray = ____lualib.__TS__ArrayIsArray
6
7
  local ____exports = {}
7
8
  local ____arrays = require("utility.arrays")
8
9
  local arrayOfNotNull = ____arrays.arrayOfNotNull
@@ -11,6 +12,9 @@ local implementReadonlyNumberIndexSupplier = ____reflection.implementReadonlyNum
11
12
  local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
12
13
  local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
13
14
  local stringArrayToCombatClassifications = ____combat_2Dclassification.stringArrayToCombatClassifications
15
+ local ____movement_2Dtype = require("engine.object-data.auxiliary.movement-type")
16
+ local movementTypeToString = ____movement_2Dtype.movementTypeToString
17
+ local stringToMovementType = ____movement_2Dtype.stringToMovementType
14
18
  local ____unit_2Dclassification = require("engine.object-data.auxiliary.unit-classification")
15
19
  local stringArrayToUnitClassifications = ____unit_2Dclassification.stringArrayToUnitClassifications
16
20
  local unitClassificationsToStringArray = ____unit_2Dclassification.unitClassificationsToStringArray
@@ -18,6 +22,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
@@ -28,19 +37,42 @@ function UnitTypeWeapon.prototype.____constructor(self, unitType, index)
28
37
  end
29
38
  __TS__SetDescriptor(
30
39
  UnitTypeWeapon.prototype,
31
- "backSwingDuration",
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.getNumberField(
45
+ return ____stringToAttackType_1(____self_0.getStringField(
36
46
  ____self_0,
47
+ ("ua" .. tostring(self.index)) .. "t"
48
+ ))
49
+ end,
50
+ set = function(self, attackType)
51
+ local ____self_2 = self.unitType
52
+ ____self_2.setStringField(
53
+ ____self_2,
54
+ ("ua" .. tostring(self.index)) .. "t",
55
+ attackTypeToString(attackType)
56
+ )
57
+ end
58
+ },
59
+ true
60
+ )
61
+ __TS__SetDescriptor(
62
+ UnitTypeWeapon.prototype,
63
+ "backSwingDuration",
64
+ {
65
+ get = function(self)
66
+ local ____self_3 = self.unitType
67
+ return ____self_3.getNumberField(
68
+ ____self_3,
37
69
  "ubs" .. tostring(self.index)
38
70
  )
39
71
  end,
40
72
  set = function(self, backSwingDuration)
41
- local ____self_1 = self.unitType
42
- ____self_1.setNumberField(
43
- ____self_1,
73
+ local ____self_4 = self.unitType
74
+ ____self_4.setNumberField(
75
+ ____self_4,
44
76
  "ubs" .. tostring(self.index),
45
77
  backSwingDuration
46
78
  )
@@ -48,21 +80,130 @@ __TS__SetDescriptor(
48
80
  },
49
81
  true
50
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
+ )
51
192
  __TS__SetDescriptor(
52
193
  UnitTypeWeapon.prototype,
53
194
  "impactDelay",
54
195
  {
55
196
  get = function(self)
56
- local ____self_2 = self.unitType
57
- return ____self_2.getNumberField(
58
- ____self_2,
197
+ local ____self_13 = self.unitType
198
+ return ____self_13.getNumberField(
199
+ ____self_13,
59
200
  "udp" .. tostring(self.index)
60
201
  )
61
202
  end,
62
203
  set = function(self, impactDelay)
63
- local ____self_3 = self.unitType
64
- ____self_3.setNumberField(
65
- ____self_3,
204
+ local ____self_14 = self.unitType
205
+ ____self_14.setNumberField(
206
+ ____self_14,
66
207
  "udp" .. tostring(self.index),
67
208
  impactDelay
68
209
  )
@@ -75,16 +216,16 @@ __TS__SetDescriptor(
75
216
  "missileModelPath",
76
217
  {
77
218
  get = function(self)
78
- local ____self_4 = self.unitType
79
- return ____self_4.getStringField(
80
- ____self_4,
219
+ local ____self_15 = self.unitType
220
+ return ____self_15.getStringField(
221
+ ____self_15,
81
222
  ("ua" .. tostring(self.index)) .. "m"
82
223
  )
83
224
  end,
84
225
  set = function(self, missileModelPath)
85
- local ____self_5 = self.unitType
86
- ____self_5.setStringField(
87
- ____self_5,
226
+ local ____self_16 = self.unitType
227
+ ____self_16.setStringField(
228
+ ____self_16,
88
229
  ("ua" .. tostring(self.index)) .. "m",
89
230
  missileModelPath
90
231
  )
@@ -92,21 +233,43 @@ __TS__SetDescriptor(
92
233
  },
93
234
  true
94
235
  )
236
+ __TS__SetDescriptor(
237
+ UnitTypeWeapon.prototype,
238
+ "range",
239
+ {
240
+ get = function(self)
241
+ local ____self_17 = self.unitType
242
+ return ____self_17.getNumberField(
243
+ ____self_17,
244
+ ("ua" .. tostring(self.index)) .. "r"
245
+ )
246
+ end,
247
+ set = function(self, range)
248
+ local ____self_18 = self.unitType
249
+ ____self_18.setNumberField(
250
+ ____self_18,
251
+ ("ua" .. tostring(self.index)) .. "r",
252
+ range
253
+ )
254
+ end
255
+ },
256
+ true
257
+ )
95
258
  __TS__SetDescriptor(
96
259
  UnitTypeWeapon.prototype,
97
260
  "soundType",
98
261
  {
99
262
  get = function(self)
100
- local ____self_6 = self.unitType
101
- return ____self_6.getStringField(
102
- ____self_6,
263
+ local ____self_19 = self.unitType
264
+ return ____self_19.getStringField(
265
+ ____self_19,
103
266
  "ucs" .. tostring(self.index)
104
267
  )
105
268
  end,
106
269
  set = function(self, soundType)
107
- local ____self_7 = self.unitType
108
- ____self_7.setStringField(
109
- ____self_7,
270
+ local ____self_20 = self.unitType
271
+ ____self_20.setStringField(
272
+ ____self_20,
110
273
  "ucs" .. tostring(self.index),
111
274
  soundType
112
275
  )
@@ -119,16 +282,16 @@ __TS__SetDescriptor(
119
282
  "soundTypeSD",
120
283
  {
121
284
  get = function(self)
122
- local ____self_8 = self.unitType
123
- return ____self_8.getStringField(
124
- ____self_8,
285
+ local ____self_21 = self.unitType
286
+ return ____self_21.getStringField(
287
+ ____self_21,
125
288
  ("ucs" .. tostring(self.index)) .. ":sd"
126
289
  )
127
290
  end,
128
291
  set = function(self, soundTypeSD)
129
- local ____self_9 = self.unitType
130
- ____self_9.setStringField(
131
- ____self_9,
292
+ local ____self_22 = self.unitType
293
+ ____self_22.setStringField(
294
+ ____self_22,
132
295
  ("ucs" .. tostring(self.index)) .. ":sd",
133
296
  soundTypeSD
134
297
  )
@@ -141,16 +304,16 @@ __TS__SetDescriptor(
141
304
  "soundTypeHD",
142
305
  {
143
306
  get = function(self)
144
- local ____self_10 = self.unitType
145
- return ____self_10.getStringField(
146
- ____self_10,
307
+ local ____self_23 = self.unitType
308
+ return ____self_23.getStringField(
309
+ ____self_23,
147
310
  ("ucs" .. tostring(self.index)) .. ":hd"
148
311
  )
149
312
  end,
150
313
  set = function(self, soundTypeHD)
151
- local ____self_11 = self.unitType
152
- ____self_11.setStringField(
153
- ____self_11,
314
+ local ____self_24 = self.unitType
315
+ ____self_24.setStringField(
316
+ ____self_24,
154
317
  ("ucs" .. tostring(self.index)) .. ":hd",
155
318
  soundTypeHD
156
319
  )
@@ -191,10 +354,10 @@ __TS__SetDescriptor(
191
354
  "abilityTypeIds",
192
355
  {
193
356
  get = function(self)
194
- return self:getObjectDataEntryIdsField("uabi")
357
+ return self:getObjectDataEntryNumericIdsField("uabi")
195
358
  end,
196
359
  set = function(self, abilityTypeIds)
197
- self:setObjectDataEntryIdsField("uabi", abilityTypeIds)
360
+ self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
198
361
  end
199
362
  },
200
363
  true
@@ -204,10 +367,10 @@ __TS__SetDescriptor(
204
367
  "defaultActiveAbilityTypeId",
205
368
  {
206
369
  get = function(self)
207
- return self:getObjectDataEntryIdsField("udaa")[1]
370
+ return self:getObjectDataEntryNumericIdsField("udaa")[1]
208
371
  end,
209
372
  set = function(self, abilityTypeId)
210
- self:setObjectDataEntryIdsField(
373
+ self:setObjectDataEntryNumericIdsField(
211
374
  "udaa",
212
375
  arrayOfNotNull(abilityTypeId)
213
376
  )
@@ -653,6 +816,9 @@ __TS__SetDescriptor(
653
816
  end,
654
817
  set = function(self, modelPath)
655
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
656
822
  end
657
823
  },
658
824
  true
@@ -666,6 +832,9 @@ __TS__SetDescriptor(
666
832
  end,
667
833
  set = function(self, modelPathSD)
668
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
669
838
  end
670
839
  },
671
840
  true
@@ -679,6 +848,90 @@ __TS__SetDescriptor(
679
848
  end,
680
849
  set = function(self, modelPathHD)
681
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)
682
935
  end
683
936
  },
684
937
  true
@@ -891,6 +1144,45 @@ __TS__SetDescriptor(
891
1144
  },
892
1145
  true
893
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
+ )
894
1186
  __TS__SetDescriptor(
895
1187
  UnitType.prototype,
896
1188
  "armorSoundType",
@@ -964,25 +1256,25 @@ __TS__SetDescriptor(
964
1256
  )
965
1257
  __TS__SetDescriptor(
966
1258
  UnitType.prototype,
967
- "firstWeapon",
1259
+ "weapons",
968
1260
  {get = function(self)
969
- return self.weapons[1]
1261
+ return getOrCreateUnitTypeWeapons(self)
970
1262
  end},
971
1263
  true
972
1264
  )
973
1265
  __TS__SetDescriptor(
974
1266
  UnitType.prototype,
975
- "secondWeapon",
1267
+ "firstWeapon",
976
1268
  {get = function(self)
977
- return self.weapons[2]
1269
+ return self.weapons[1]
978
1270
  end},
979
1271
  true
980
1272
  )
981
1273
  __TS__SetDescriptor(
982
1274
  UnitType.prototype,
983
- "weapons",
1275
+ "secondWeapon",
984
1276
  {get = function(self)
985
- return getOrCreateUnitTypeWeapons(self)
1277
+ return self.weapons[2]
986
1278
  end},
987
1279
  true
988
1280
  )
@@ -1056,10 +1348,13 @@ __TS__SetDescriptor(
1056
1348
  "movementType",
1057
1349
  {
1058
1350
  get = function(self)
1059
- return self:getStringField("umvt")
1351
+ return stringToMovementType(self:getStringField("umvt"))
1060
1352
  end,
1061
1353
  set = function(self, movementType)
1062
- self:setStringField("umvt", movementType)
1354
+ self:setStringField(
1355
+ "umvt",
1356
+ movementTypeToString(movementType)
1357
+ )
1063
1358
  end
1064
1359
  },
1065
1360
  true
@@ -1168,6 +1463,71 @@ __TS__SetDescriptor(
1168
1463
  },
1169
1464
  true
1170
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
+ )
1171
1531
  __TS__SetDescriptor(
1172
1532
  UnitType.prototype,
1173
1533
  "isStructure",
@@ -1199,10 +1559,10 @@ __TS__SetDescriptor(
1199
1559
  "affectingUpgradeIds",
1200
1560
  {
1201
1561
  get = function(self)
1202
- return self:getObjectDataEntryIdsField("upgr")
1562
+ return self:getObjectDataEntryNumericIdsField("upgr")
1203
1563
  end,
1204
1564
  set = function(self, affectingUpgradeIds)
1205
- self:setObjectDataEntryIdsField("upgr", affectingUpgradeIds)
1565
+ self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
1206
1566
  end
1207
1567
  },
1208
1568
  true
@@ -1262,11 +1622,11 @@ __TS__SetDescriptor(
1262
1622
  implementReadonlyNumberIndexSupplier(
1263
1623
  ____exports.UnitType,
1264
1624
  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
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
1270
1630
  end
1271
1631
  )
1272
1632
  ____exports.HeroUnitType = __TS__Class()
@@ -1285,10 +1645,41 @@ __TS__SetDescriptor(
1285
1645
  "heroAbilityTypeIds",
1286
1646
  {
1287
1647
  get = function(self)
1288
- return self:getObjectDataEntryIdsField("uhab")
1648
+ return self:getObjectDataEntryNumericIdsField("uhab")
1289
1649
  end,
1290
1650
  set = function(self, heroAbilityTypeIds)
1291
- 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)
1292
1683
  end
1293
1684
  },
1294
1685
  true
@@ -1296,11 +1687,11 @@ __TS__SetDescriptor(
1296
1687
  implementReadonlyNumberIndexSupplier(
1297
1688
  ____exports.HeroUnitType,
1298
1689
  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
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
1304
1695
  end
1305
1696
  )
1306
1697
  return ____exports