warscript 0.0.1-dev.ee2345e → 0.0.1-dev.ef189a5

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 (261) hide show
  1. package/attributes.d.ts +6 -1
  2. package/attributes.lua +17 -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 +117 -22
  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.d.ts +16 -0
  16. package/core/types/player.lua +60 -15
  17. package/core/types/playerCamera.d.ts +2 -0
  18. package/core/types/playerCamera.lua +123 -5
  19. package/core/types/sound.d.ts +17 -24
  20. package/core/types/sound.lua +99 -24
  21. package/core/types/tileCell.d.ts +11 -1
  22. package/core/types/tileCell.lua +97 -0
  23. package/core/types/timer.d.ts +9 -8
  24. package/core/types/timer.lua +45 -23
  25. package/core/types/unit.lua +8 -0
  26. package/core/util.d.ts +1 -1
  27. package/core/util.lua +18 -1
  28. package/decl/index.d.ts +1 -0
  29. package/decl/native.d.ts +846 -790
  30. package/engine/ability.d.ts +1 -1
  31. package/engine/behavior.d.ts +22 -11
  32. package/engine/behavior.lua +175 -73
  33. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  34. package/engine/behaviour/ability/always-enabled.lua +31 -0
  35. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  36. package/engine/behaviour/ability/apply-buff.lua +36 -4
  37. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  38. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  39. package/engine/behaviour/ability/damage.d.ts +39 -11
  40. package/engine/behaviour/ability/damage.lua +83 -37
  41. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  42. package/engine/behaviour/ability/emulate-impact.lua +43 -0
  43. package/engine/behaviour/ability/heal.d.ts +33 -6
  44. package/engine/behaviour/ability/heal.lua +89 -10
  45. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  46. package/engine/behaviour/ability/instant-impact.lua +4 -15
  47. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  48. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  49. package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
  50. package/engine/behaviour/ability/remove-buffs.lua +49 -0
  51. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  52. package/engine/behaviour/ability/restore-mana.lua +29 -0
  53. package/engine/behaviour/ability.d.ts +29 -5
  54. package/engine/behaviour/ability.lua +154 -27
  55. package/engine/behaviour/unit/stun-immunity.d.ts +11 -6
  56. package/engine/behaviour/unit/stun-immunity.lua +53 -28
  57. package/engine/behaviour/unit.d.ts +48 -4
  58. package/engine/behaviour/unit.lua +282 -2
  59. package/engine/buff.d.ts +114 -44
  60. package/engine/buff.lua +525 -224
  61. package/engine/game-map.d.ts +7 -0
  62. package/engine/game-map.lua +32 -0
  63. package/engine/internal/ability.d.ts +23 -14
  64. package/engine/internal/ability.lua +129 -85
  65. package/engine/internal/item/ability.lua +162 -4
  66. package/engine/internal/item+owner.lua +12 -6
  67. package/engine/internal/item.d.ts +20 -19
  68. package/engine/internal/item.lua +191 -74
  69. package/engine/internal/mechanics/ability-duration.lua +1 -1
  70. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  71. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  72. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  73. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  74. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  75. package/engine/internal/misc/frame-coordinates.lua +21 -0
  76. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  77. package/engine/internal/misc/get-terrain-z.lua +11 -0
  78. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  79. package/engine/internal/misc/player-local-handle.lua +5 -0
  80. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  81. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  82. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  83. package/engine/internal/object-data/evasion-probability.lua +16 -0
  84. package/engine/internal/unit/ability.d.ts +45 -1
  85. package/engine/internal/unit/ability.lua +128 -17
  86. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  87. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  88. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  89. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  90. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  91. package/engine/internal/unit/allowed-targets.lua +9 -1
  92. package/engine/internal/unit/bonus.d.ts +11 -8
  93. package/engine/internal/unit/bonus.lua +23 -1
  94. package/engine/internal/unit/fly-height.d.ts +7 -0
  95. package/engine/internal/unit/fly-height.lua +20 -0
  96. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  97. package/engine/internal/unit/ignore-events-items.lua +5 -0
  98. package/engine/internal/unit/item.d.ts +24 -0
  99. package/engine/internal/unit/item.lua +78 -0
  100. package/engine/internal/unit/main-selected.d.ts +13 -0
  101. package/engine/internal/unit/main-selected.lua +36 -0
  102. package/engine/internal/unit/order.d.ts +20 -0
  103. package/engine/internal/unit/order.lua +136 -0
  104. package/engine/internal/unit/scale.d.ts +7 -0
  105. package/engine/internal/unit/scale.lua +20 -0
  106. package/engine/internal/unit+ability.lua +12 -3
  107. package/engine/internal/unit+damage.d.ts +2 -11
  108. package/engine/internal/unit+damage.lua +10 -14
  109. package/engine/internal/unit+spellSteal.lua +1 -2
  110. package/engine/internal/unit+transport.lua +4 -10
  111. package/engine/internal/unit-missile-launch.lua +63 -13
  112. package/engine/internal/unit.d.ts +96 -28
  113. package/engine/internal/unit.lua +648 -241
  114. package/engine/internal/utility.lua +12 -0
  115. package/engine/lightning.d.ts +12 -5
  116. package/engine/lightning.lua +48 -14
  117. package/engine/local-client.d.ts +9 -2
  118. package/engine/local-client.lua +112 -0
  119. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  120. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  121. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  122. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  123. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  124. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  125. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  126. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  127. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  128. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  129. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  130. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  131. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  132. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  133. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  134. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  135. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  136. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  137. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  138. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  139. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  140. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  141. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  142. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  143. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  144. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  145. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  146. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  147. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  148. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  149. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  150. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  151. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  152. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  153. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  154. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  155. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  156. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  157. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  158. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  159. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  160. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  161. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  162. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  163. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  164. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  165. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  166. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  167. package/engine/object-data/entry/ability-type/web.lua +52 -0
  168. package/engine/object-data/entry/ability-type.d.ts +19 -18
  169. package/engine/object-data/entry/ability-type.lua +93 -36
  170. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  171. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  172. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  173. package/engine/object-data/entry/buff-type.d.ts +6 -13
  174. package/engine/object-data/entry/buff-type.lua +13 -29
  175. package/engine/object-data/entry/destructible-type.d.ts +6 -3
  176. package/engine/object-data/entry/destructible-type.lua +12 -0
  177. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  178. package/engine/object-data/entry/item-type.d.ts +15 -2
  179. package/engine/object-data/entry/item-type.lua +93 -2
  180. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  181. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  182. package/engine/object-data/entry/sound-preset.lua +140 -0
  183. package/engine/object-data/entry/unit-type.d.ts +62 -7
  184. package/engine/object-data/entry/unit-type.lua +524 -75
  185. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  186. package/engine/object-data/entry/upgrade.d.ts +1 -2
  187. package/engine/object-data/entry/upgrade.lua +4 -4
  188. package/engine/object-data/entry.d.ts +18 -17
  189. package/engine/object-data/entry.lua +60 -32
  190. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  191. package/engine/object-field/ability.d.ts +28 -5
  192. package/engine/object-field/ability.lua +59 -5
  193. package/engine/object-field/unit.d.ts +69 -3
  194. package/engine/object-field/unit.lua +264 -7
  195. package/engine/object-field.d.ts +23 -7
  196. package/engine/object-field.lua +311 -124
  197. package/engine/random.d.ts +10 -0
  198. package/engine/random.lua +22 -0
  199. package/engine/standard/entries/buff-type.d.ts +3 -0
  200. package/engine/standard/entries/buff-type.lua +3 -0
  201. package/engine/standard/entries/sound-preset.d.ts +10 -0
  202. package/engine/standard/entries/sound-preset.lua +10 -0
  203. package/engine/standard/entries/unit-type.d.ts +39 -1
  204. package/engine/standard/entries/unit-type.lua +39 -1
  205. package/engine/standard/fields/ability.d.ts +5 -3
  206. package/engine/standard/fields/ability.lua +5 -3
  207. package/engine/standard/fields/unit.d.ts +6 -0
  208. package/engine/standard/fields/unit.lua +11 -0
  209. package/engine/synchronization.d.ts +11 -0
  210. package/engine/synchronization.lua +77 -0
  211. package/engine/text-tag.d.ts +36 -2
  212. package/engine/text-tag.lua +250 -10
  213. package/engine/unit.d.ts +6 -0
  214. package/engine/unit.lua +15 -2
  215. package/event.d.ts +2 -3
  216. package/event.lua +9 -5
  217. package/index.d.ts +1 -0
  218. package/index.lua +1 -0
  219. package/lualib_bundle.lua +146 -42
  220. package/math/vec2.d.ts +2 -9
  221. package/math.d.ts +0 -2
  222. package/net/socket.d.ts +7 -1
  223. package/net/socket.lua +45 -4
  224. package/network.d.ts +1 -0
  225. package/network.lua +3 -2
  226. package/objutil/ability.d.ts +0 -1
  227. package/objutil/buff.d.ts +0 -1
  228. package/objutil/buff.lua +3 -4
  229. package/objutil/object.d.ts +0 -1
  230. package/objutil/unit.d.ts +0 -1
  231. package/objutil/unit.lua +8 -0
  232. package/package.json +13 -14
  233. package/patch-lua.d.ts +0 -0
  234. package/patch-lua.lua +10 -0
  235. package/patch-lualib.lua +1 -1
  236. package/property.d.ts +55 -0
  237. package/property.lua +374 -0
  238. package/string.d.ts +30 -0
  239. package/string.lua +14 -0
  240. package/util/stream.d.ts +0 -1
  241. package/utility/arrays.d.ts +13 -5
  242. package/utility/arrays.lua +45 -3
  243. package/utility/bit-set.d.ts +0 -2
  244. package/utility/callback-array.d.ts +17 -0
  245. package/utility/callback-array.lua +61 -0
  246. package/utility/functions.d.ts +8 -0
  247. package/utility/functions.lua +13 -0
  248. package/utility/lazy.d.ts +2 -0
  249. package/utility/lazy.lua +14 -0
  250. package/utility/linked-set.d.ts +13 -3
  251. package/utility/linked-set.lua +27 -3
  252. package/utility/lua-maps.d.ts +16 -4
  253. package/utility/lua-maps.lua +53 -2
  254. package/utility/lua-sets.d.ts +3 -2
  255. package/utility/lua-sets.lua +7 -0
  256. package/utility/reflection.lua +11 -7
  257. package/utility/types.d.ts +4 -0
  258. package/core/mapbounds.d.ts +0 -8
  259. package/core/mapbounds.lua +0 -12
  260. package/core/types/order.d.ts +0 -25
  261. 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
  )
@@ -114,21 +236,65 @@ __TS__SetDescriptor(
114
236
  },
115
237
  true
116
238
  )
239
+ __TS__SetDescriptor(
240
+ UnitTypeWeapon.prototype,
241
+ "missileModelPathSD",
242
+ {
243
+ get = function(self)
244
+ local ____self_17 = self.unitType
245
+ return ____self_17.getStringField(
246
+ ____self_17,
247
+ ("ua" .. tostring(self.index)) .. "m:sd"
248
+ )
249
+ end,
250
+ set = function(self, missileModelPathSD)
251
+ local ____self_18 = self.unitType
252
+ ____self_18.setStringField(
253
+ ____self_18,
254
+ ("ua" .. tostring(self.index)) .. "m:sd",
255
+ missileModelPathSD
256
+ )
257
+ end
258
+ },
259
+ true
260
+ )
261
+ __TS__SetDescriptor(
262
+ UnitTypeWeapon.prototype,
263
+ "missileModelPathHD",
264
+ {
265
+ get = function(self)
266
+ local ____self_19 = self.unitType
267
+ return ____self_19.getStringField(
268
+ ____self_19,
269
+ ("ua" .. tostring(self.index)) .. "m:hd"
270
+ )
271
+ end,
272
+ set = function(self, missileModelPathHD)
273
+ local ____self_20 = self.unitType
274
+ ____self_20.setStringField(
275
+ ____self_20,
276
+ ("ua" .. tostring(self.index)) .. "m:hd",
277
+ missileModelPathHD
278
+ )
279
+ end
280
+ },
281
+ true
282
+ )
117
283
  __TS__SetDescriptor(
118
284
  UnitTypeWeapon.prototype,
119
285
  "range",
120
286
  {
121
287
  get = function(self)
122
- local ____self_8 = self.unitType
123
- return ____self_8.getNumberField(
124
- ____self_8,
288
+ local ____self_21 = self.unitType
289
+ return ____self_21.getNumberField(
290
+ ____self_21,
125
291
  ("ua" .. tostring(self.index)) .. "r"
126
292
  )
127
293
  end,
128
294
  set = function(self, range)
129
- local ____self_9 = self.unitType
130
- ____self_9.setNumberField(
131
- ____self_9,
295
+ local ____self_22 = self.unitType
296
+ ____self_22.setNumberField(
297
+ ____self_22,
132
298
  ("ua" .. tostring(self.index)) .. "r",
133
299
  range
134
300
  )
@@ -141,16 +307,16 @@ __TS__SetDescriptor(
141
307
  "soundType",
142
308
  {
143
309
  get = function(self)
144
- local ____self_10 = self.unitType
145
- return ____self_10.getStringField(
146
- ____self_10,
310
+ local ____self_23 = self.unitType
311
+ return ____self_23.getStringField(
312
+ ____self_23,
147
313
  "ucs" .. tostring(self.index)
148
314
  )
149
315
  end,
150
316
  set = function(self, soundType)
151
- local ____self_11 = self.unitType
152
- ____self_11.setStringField(
153
- ____self_11,
317
+ local ____self_24 = self.unitType
318
+ ____self_24.setStringField(
319
+ ____self_24,
154
320
  "ucs" .. tostring(self.index),
155
321
  soundType
156
322
  )
@@ -163,16 +329,16 @@ __TS__SetDescriptor(
163
329
  "soundTypeSD",
164
330
  {
165
331
  get = function(self)
166
- local ____self_12 = self.unitType
167
- return ____self_12.getStringField(
168
- ____self_12,
332
+ local ____self_25 = self.unitType
333
+ return ____self_25.getStringField(
334
+ ____self_25,
169
335
  ("ucs" .. tostring(self.index)) .. ":sd"
170
336
  )
171
337
  end,
172
338
  set = function(self, soundTypeSD)
173
- local ____self_13 = self.unitType
174
- ____self_13.setStringField(
175
- ____self_13,
339
+ local ____self_26 = self.unitType
340
+ ____self_26.setStringField(
341
+ ____self_26,
176
342
  ("ucs" .. tostring(self.index)) .. ":sd",
177
343
  soundTypeSD
178
344
  )
@@ -185,16 +351,16 @@ __TS__SetDescriptor(
185
351
  "soundTypeHD",
186
352
  {
187
353
  get = function(self)
188
- local ____self_14 = self.unitType
189
- return ____self_14.getStringField(
190
- ____self_14,
354
+ local ____self_27 = self.unitType
355
+ return ____self_27.getStringField(
356
+ ____self_27,
191
357
  ("ucs" .. tostring(self.index)) .. ":hd"
192
358
  )
193
359
  end,
194
360
  set = function(self, soundTypeHD)
195
- local ____self_15 = self.unitType
196
- ____self_15.setStringField(
197
- ____self_15,
361
+ local ____self_28 = self.unitType
362
+ ____self_28.setStringField(
363
+ ____self_28,
198
364
  ("ucs" .. tostring(self.index)) .. ":hd",
199
365
  soundTypeHD
200
366
  )
@@ -235,10 +401,10 @@ __TS__SetDescriptor(
235
401
  "abilityTypeIds",
236
402
  {
237
403
  get = function(self)
238
- return self:getObjectDataEntryIdsField("uabi")
404
+ return self:getObjectDataEntryNumericIdsField("uabi")
239
405
  end,
240
406
  set = function(self, abilityTypeIds)
241
- self:setObjectDataEntryIdsField("uabi", abilityTypeIds)
407
+ self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
242
408
  end
243
409
  },
244
410
  true
@@ -248,10 +414,10 @@ __TS__SetDescriptor(
248
414
  "defaultActiveAbilityTypeId",
249
415
  {
250
416
  get = function(self)
251
- return self:getObjectDataEntryIdsField("udaa")[1]
417
+ return self:getObjectDataEntryNumericIdsField("udaa")[1]
252
418
  end,
253
419
  set = function(self, abilityTypeId)
254
- self:setObjectDataEntryIdsField(
420
+ self:setObjectDataEntryNumericIdsField(
255
421
  "udaa",
256
422
  arrayOfNotNull(abilityTypeId)
257
423
  )
@@ -697,6 +863,9 @@ __TS__SetDescriptor(
697
863
  end,
698
864
  set = function(self, modelPath)
699
865
  self:setStringField("umdl", modelPath)
866
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
867
+ self:setStringField("upor", "")
868
+ end
700
869
  end
701
870
  },
702
871
  true
@@ -710,6 +879,9 @@ __TS__SetDescriptor(
710
879
  end,
711
880
  set = function(self, modelPathSD)
712
881
  self:setStringField("umdl:sd", modelPathSD)
882
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
883
+ self:setStringField("upor:sd", "")
884
+ end
713
885
  end
714
886
  },
715
887
  true
@@ -723,6 +895,103 @@ __TS__SetDescriptor(
723
895
  end,
724
896
  set = function(self, modelPathHD)
725
897
  self:setStringField("umdl:hd", modelPathHD)
898
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
899
+ self:setStringField("upor:hd", "")
900
+ end
901
+ end
902
+ },
903
+ true
904
+ )
905
+ __TS__SetDescriptor(
906
+ UnitType.prototype,
907
+ "portraitModelPath",
908
+ {
909
+ get = function(self)
910
+ return self:getStringField("upor")
911
+ end,
912
+ set = function(self, portraitModelPath)
913
+ self:setStringField("upor", portraitModelPath)
914
+ self.isPortraitModelPathSet = true
915
+ end
916
+ },
917
+ true
918
+ )
919
+ __TS__SetDescriptor(
920
+ UnitType.prototype,
921
+ "portraitModelPathSD",
922
+ {
923
+ get = function(self)
924
+ return self:getStringField("upor:sd")
925
+ end,
926
+ set = function(self, portraitModelPathSD)
927
+ self:setStringField("upor:sd", portraitModelPathSD)
928
+ self.isPortraitModelPathSet = true
929
+ end
930
+ },
931
+ true
932
+ )
933
+ __TS__SetDescriptor(
934
+ UnitType.prototype,
935
+ "portraitModelPathHD",
936
+ {
937
+ get = function(self)
938
+ return self:getStringField("upor:hd")
939
+ end,
940
+ set = function(self, portraitModelPathHD)
941
+ self:setStringField("upor:hd", portraitModelPathHD)
942
+ self.isPortraitModelPathSet = true
943
+ end
944
+ },
945
+ true
946
+ )
947
+ __TS__SetDescriptor(
948
+ UnitType.prototype,
949
+ "runSpeed",
950
+ {
951
+ get = function(self)
952
+ return self:getNumberField("urun")
953
+ end,
954
+ set = function(self, runSpeed)
955
+ self:setNumberField("urun", runSpeed)
956
+ end
957
+ },
958
+ true
959
+ )
960
+ __TS__SetDescriptor(
961
+ UnitType.prototype,
962
+ "runSpeedSD",
963
+ {
964
+ get = function(self)
965
+ return self:getNumberField("urun:sd")
966
+ end,
967
+ set = function(self, runSpeedSD)
968
+ self:setNumberField("urun:sd", runSpeedSD)
969
+ end
970
+ },
971
+ true
972
+ )
973
+ __TS__SetDescriptor(
974
+ UnitType.prototype,
975
+ "runSpeedHD",
976
+ {
977
+ get = function(self)
978
+ return self:getNumberField("urun:hd")
979
+ end,
980
+ set = function(self, runSpeedHD)
981
+ self:setNumberField("urun:hd", runSpeedHD)
982
+ end
983
+ },
984
+ true
985
+ )
986
+ __TS__SetDescriptor(
987
+ UnitType.prototype,
988
+ "selectionCircleHeight",
989
+ {
990
+ get = function(self)
991
+ return self:getNumberField("uslz")
992
+ end,
993
+ set = function(self, height)
994
+ self:setNumberField("uslz", height)
726
995
  end
727
996
  },
728
997
  true
@@ -935,6 +1204,58 @@ __TS__SetDescriptor(
935
1204
  },
936
1205
  true
937
1206
  )
1207
+ __TS__SetDescriptor(
1208
+ UnitType.prototype,
1209
+ "walkSpeed",
1210
+ {
1211
+ get = function(self)
1212
+ return self:getNumberField("uwal")
1213
+ end,
1214
+ set = function(self, walkSpeed)
1215
+ self:setNumberField("uwal", walkSpeed)
1216
+ end
1217
+ },
1218
+ true
1219
+ )
1220
+ __TS__SetDescriptor(
1221
+ UnitType.prototype,
1222
+ "walkSpeedSD",
1223
+ {
1224
+ get = function(self)
1225
+ return self:getNumberField("uwal:sd")
1226
+ end,
1227
+ set = function(self, walkSpeedSD)
1228
+ self:setNumberField("uwal:sd", walkSpeedSD)
1229
+ end
1230
+ },
1231
+ true
1232
+ )
1233
+ __TS__SetDescriptor(
1234
+ UnitType.prototype,
1235
+ "walkSpeedHD",
1236
+ {
1237
+ get = function(self)
1238
+ return self:getNumberField("uwal:hd")
1239
+ end,
1240
+ set = function(self, walkSpeedHD)
1241
+ self:setNumberField("uwal:hd", walkSpeedHD)
1242
+ end
1243
+ },
1244
+ true
1245
+ )
1246
+ __TS__SetDescriptor(
1247
+ UnitType.prototype,
1248
+ "armor",
1249
+ {
1250
+ get = function(self)
1251
+ return self:getNumberField("udef")
1252
+ end,
1253
+ set = function(self, armor)
1254
+ self:setNumberField("udef", armor)
1255
+ end
1256
+ },
1257
+ true
1258
+ )
938
1259
  __TS__SetDescriptor(
939
1260
  UnitType.prototype,
940
1261
  "armorSoundType",
@@ -974,6 +1295,22 @@ __TS__SetDescriptor(
974
1295
  },
975
1296
  true
976
1297
  )
1298
+ __TS__SetDescriptor(
1299
+ UnitType.prototype,
1300
+ "armorType",
1301
+ {
1302
+ get = function(self)
1303
+ return stringToArmorType(self:getStringField("udty"))
1304
+ end,
1305
+ set = function(self, armorType)
1306
+ self:setStringField(
1307
+ "udty",
1308
+ armorTypeToString(armorType)
1309
+ )
1310
+ end
1311
+ },
1312
+ true
1313
+ )
977
1314
  __TS__SetDescriptor(
978
1315
  UnitType.prototype,
979
1316
  "combatClassifications",
@@ -992,7 +1329,7 @@ __TS__SetDescriptor(
992
1329
  )
993
1330
  __TS__SetDescriptor(
994
1331
  UnitType.prototype,
995
- "unitClassifications",
1332
+ "classifications",
996
1333
  {
997
1334
  get = function(self)
998
1335
  return stringArrayToUnitClassifications(self:getStringsField("utyp"))
@@ -1008,25 +1345,25 @@ __TS__SetDescriptor(
1008
1345
  )
1009
1346
  __TS__SetDescriptor(
1010
1347
  UnitType.prototype,
1011
- "firstWeapon",
1348
+ "weapons",
1012
1349
  {get = function(self)
1013
- return self.weapons[1]
1350
+ return getOrCreateUnitTypeWeapons(self)
1014
1351
  end},
1015
1352
  true
1016
1353
  )
1017
1354
  __TS__SetDescriptor(
1018
1355
  UnitType.prototype,
1019
- "secondWeapon",
1356
+ "firstWeapon",
1020
1357
  {get = function(self)
1021
- return self.weapons[2]
1358
+ return self.weapons[1]
1022
1359
  end},
1023
1360
  true
1024
1361
  )
1025
1362
  __TS__SetDescriptor(
1026
1363
  UnitType.prototype,
1027
- "weapons",
1364
+ "secondWeapon",
1028
1365
  {get = function(self)
1029
- return getOrCreateUnitTypeWeapons(self)
1366
+ return self.weapons[2]
1030
1367
  end},
1031
1368
  true
1032
1369
  )
@@ -1100,10 +1437,13 @@ __TS__SetDescriptor(
1100
1437
  "movementType",
1101
1438
  {
1102
1439
  get = function(self)
1103
- return self:getStringField("umvt")
1440
+ return stringToMovementType(self:getStringField("umvt"))
1104
1441
  end,
1105
1442
  set = function(self, movementType)
1106
- self:setStringField("umvt", movementType)
1443
+ self:setStringField(
1444
+ "umvt",
1445
+ movementTypeToString(movementType)
1446
+ )
1107
1447
  end
1108
1448
  },
1109
1449
  true
@@ -1212,6 +1552,84 @@ __TS__SetDescriptor(
1212
1552
  },
1213
1553
  true
1214
1554
  )
1555
+ __TS__SetDescriptor(
1556
+ UnitType.prototype,
1557
+ "healthRegenerationRate",
1558
+ {
1559
+ get = function(self)
1560
+ return self:getNumberField("uhpr")
1561
+ end,
1562
+ set = function(self, healthRegenerationRate)
1563
+ self:setNumberField("uhpr", healthRegenerationRate)
1564
+ end
1565
+ },
1566
+ true
1567
+ )
1568
+ __TS__SetDescriptor(
1569
+ UnitType.prototype,
1570
+ "level",
1571
+ {
1572
+ get = function(self)
1573
+ return self:getNumberField("ulev")
1574
+ end,
1575
+ set = function(self, level)
1576
+ self:setNumberField("ulev", level)
1577
+ end
1578
+ },
1579
+ true
1580
+ )
1581
+ __TS__SetDescriptor(
1582
+ UnitType.prototype,
1583
+ "manaRegenerationRate",
1584
+ {
1585
+ get = function(self)
1586
+ return self:getNumberField("umpr")
1587
+ end,
1588
+ set = function(self, manaRegenerationRate)
1589
+ self:setNumberField("umpr", manaRegenerationRate)
1590
+ end
1591
+ },
1592
+ true
1593
+ )
1594
+ __TS__SetDescriptor(
1595
+ UnitType.prototype,
1596
+ "maximumHealth",
1597
+ {
1598
+ get = function(self)
1599
+ return self:getNumberField("uhpm")
1600
+ end,
1601
+ set = function(self, maximumHealth)
1602
+ self:setNumberField("uhpm", maximumHealth)
1603
+ end
1604
+ },
1605
+ true
1606
+ )
1607
+ __TS__SetDescriptor(
1608
+ UnitType.prototype,
1609
+ "maximumMana",
1610
+ {
1611
+ get = function(self)
1612
+ return self:getNumberField("umpm")
1613
+ end,
1614
+ set = function(self, maximumMana)
1615
+ self:setNumberField("umpm", maximumMana)
1616
+ end
1617
+ },
1618
+ true
1619
+ )
1620
+ __TS__SetDescriptor(
1621
+ UnitType.prototype,
1622
+ "initialMana",
1623
+ {
1624
+ get = function(self)
1625
+ return self:getNumberField("umpi")
1626
+ end,
1627
+ set = function(self, initialMana)
1628
+ self:setNumberField("umpi", initialMana)
1629
+ end
1630
+ },
1631
+ true
1632
+ )
1215
1633
  __TS__SetDescriptor(
1216
1634
  UnitType.prototype,
1217
1635
  "isStructure",
@@ -1243,10 +1661,10 @@ __TS__SetDescriptor(
1243
1661
  "affectingUpgradeIds",
1244
1662
  {
1245
1663
  get = function(self)
1246
- return self:getObjectDataEntryIdsField("upgr")
1664
+ return self:getObjectDataEntryNumericIdsField("upgr")
1247
1665
  end,
1248
1666
  set = function(self, affectingUpgradeIds)
1249
- self:setObjectDataEntryIdsField("upgr", affectingUpgradeIds)
1667
+ self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
1250
1668
  end
1251
1669
  },
1252
1670
  true
@@ -1306,11 +1724,11 @@ __TS__SetDescriptor(
1306
1724
  implementReadonlyNumberIndexSupplier(
1307
1725
  ____exports.UnitType,
1308
1726
  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
1727
+ local ____class_29 = __TS__Class()
1728
+ ____class_29.name = ____class_29.name
1729
+ __TS__ClassExtends(____class_29, ____exports.UnitType)
1730
+ ____class_29.BASE_ID = id
1731
+ return ____class_29
1314
1732
  end
1315
1733
  )
1316
1734
  ____exports.HeroUnitType = __TS__Class()
@@ -1329,10 +1747,41 @@ __TS__SetDescriptor(
1329
1747
  "heroAbilityTypeIds",
1330
1748
  {
1331
1749
  get = function(self)
1332
- return self:getObjectDataEntryIdsField("uhab")
1750
+ return self:getObjectDataEntryNumericIdsField("uhab")
1333
1751
  end,
1334
1752
  set = function(self, heroAbilityTypeIds)
1335
- self:setObjectDataEntryIdsField("uhab", heroAbilityTypeIds)
1753
+ self:setObjectDataEntryNumericIdsField("uhab", heroAbilityTypeIds)
1754
+ end
1755
+ },
1756
+ true
1757
+ )
1758
+ __TS__SetDescriptor(
1759
+ HeroUnitType.prototype,
1760
+ "properNames",
1761
+ {
1762
+ get = function(self)
1763
+ return self:getStringsField("upro")
1764
+ end,
1765
+ set = function(self, properNames)
1766
+ if __TS__ArrayIsArray(properNames) then
1767
+ self:setStringsField("upro", properNames)
1768
+ self:setNumberField("upru", #properNames)
1769
+ else
1770
+ self:setStringField("upro", properNames)
1771
+ end
1772
+ end
1773
+ },
1774
+ true
1775
+ )
1776
+ __TS__SetDescriptor(
1777
+ HeroUnitType.prototype,
1778
+ "properNameCount",
1779
+ {
1780
+ get = function(self)
1781
+ return self:getNumberField("upru")
1782
+ end,
1783
+ set = function(self, properNameCount)
1784
+ self:setNumberField("upru", properNameCount)
1336
1785
  end
1337
1786
  },
1338
1787
  true
@@ -1340,11 +1789,11 @@ __TS__SetDescriptor(
1340
1789
  implementReadonlyNumberIndexSupplier(
1341
1790
  ____exports.HeroUnitType,
1342
1791
  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
1792
+ local ____class_30 = __TS__Class()
1793
+ ____class_30.name = ____class_30.name
1794
+ __TS__ClassExtends(____class_30, ____exports.HeroUnitType)
1795
+ ____class_30.BASE_ID = id
1796
+ return ____class_30
1348
1797
  end
1349
1798
  )
1350
1799
  return ____exports