warscript 0.0.1-dev.ee2345e → 0.0.1-dev.f024cc2

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