warscript 0.0.1-dev.ba37a78 → 0.0.1-dev.baa67d8

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 (265) hide show
  1. package/attributes.d.ts +18 -0
  2. package/attributes.lua +32 -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 +117 -22
  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/player.d.ts +16 -0
  18. package/core/types/player.lua +60 -15
  19. package/core/types/playerCamera.d.ts +2 -0
  20. package/core/types/playerCamera.lua +123 -5
  21. package/core/types/sound.d.ts +17 -24
  22. package/core/types/sound.lua +99 -24
  23. package/core/types/tileCell.d.ts +11 -1
  24. package/core/types/tileCell.lua +97 -0
  25. package/core/types/timer.d.ts +9 -8
  26. package/core/types/timer.lua +45 -23
  27. package/core/types/unit.lua +8 -0
  28. package/core/util.d.ts +1 -1
  29. package/core/util.lua +18 -1
  30. package/decl/index.d.ts +1 -0
  31. package/decl/native.d.ts +846 -790
  32. package/destroyable.d.ts +1 -0
  33. package/destroyable.lua +9 -0
  34. package/engine/ability.d.ts +1 -1
  35. package/engine/behavior.d.ts +22 -11
  36. package/engine/behavior.lua +175 -73
  37. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  38. package/engine/behaviour/ability/always-enabled.lua +31 -0
  39. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  40. package/engine/behaviour/ability/apply-buff.lua +36 -4
  41. package/engine/behaviour/ability/apply-unit-behavior.d.ts +5 -1
  42. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  43. package/engine/behaviour/ability/damage.d.ts +39 -11
  44. package/engine/behaviour/ability/damage.lua +83 -37
  45. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  46. package/engine/behaviour/ability/emulate-impact.lua +43 -0
  47. package/engine/behaviour/ability/heal.d.ts +33 -6
  48. package/engine/behaviour/ability/heal.lua +89 -10
  49. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  50. package/engine/behaviour/ability/instant-impact.lua +4 -15
  51. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  52. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  53. package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
  54. package/engine/behaviour/ability/remove-buffs.lua +49 -0
  55. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  56. package/engine/behaviour/ability/restore-mana.lua +29 -0
  57. package/engine/behaviour/ability.d.ts +29 -5
  58. package/engine/behaviour/ability.lua +154 -27
  59. package/engine/behaviour/unit/stun-immunity.d.ts +11 -6
  60. package/engine/behaviour/unit/stun-immunity.lua +53 -28
  61. package/engine/behaviour/unit.d.ts +48 -4
  62. package/engine/behaviour/unit.lua +282 -2
  63. package/engine/buff.d.ts +114 -44
  64. package/engine/buff.lua +525 -224
  65. package/engine/game-map.d.ts +7 -0
  66. package/engine/game-map.lua +32 -0
  67. package/engine/internal/ability.d.ts +23 -14
  68. package/engine/internal/ability.lua +129 -85
  69. package/engine/internal/item/ability.lua +162 -4
  70. package/engine/internal/item+owner.lua +12 -6
  71. package/engine/internal/item.d.ts +20 -19
  72. package/engine/internal/item.lua +191 -74
  73. package/engine/internal/mechanics/ability-duration.lua +1 -1
  74. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  75. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  76. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  77. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  78. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  79. package/engine/internal/misc/frame-coordinates.lua +21 -0
  80. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  81. package/engine/internal/misc/get-terrain-z.lua +11 -0
  82. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  83. package/engine/internal/misc/player-local-handle.lua +5 -0
  84. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  85. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  86. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  87. package/engine/internal/object-data/evasion-probability.lua +16 -0
  88. package/engine/internal/unit/ability.d.ts +45 -1
  89. package/engine/internal/unit/ability.lua +128 -17
  90. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  91. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  92. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  93. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  94. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  95. package/engine/internal/unit/allowed-targets.lua +9 -1
  96. package/engine/internal/unit/bonus.d.ts +11 -8
  97. package/engine/internal/unit/bonus.lua +23 -1
  98. package/engine/internal/unit/fly-height.d.ts +7 -0
  99. package/engine/internal/unit/fly-height.lua +20 -0
  100. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  101. package/engine/internal/unit/ignore-events-items.lua +5 -0
  102. package/engine/internal/unit/item.d.ts +24 -0
  103. package/engine/internal/unit/item.lua +78 -0
  104. package/engine/internal/unit/main-selected.d.ts +13 -0
  105. package/engine/internal/unit/main-selected.lua +36 -0
  106. package/engine/internal/unit/order.d.ts +20 -0
  107. package/engine/internal/unit/order.lua +136 -0
  108. package/engine/internal/unit/scale.d.ts +7 -0
  109. package/engine/internal/unit/scale.lua +20 -0
  110. package/engine/internal/unit+ability.lua +12 -3
  111. package/engine/internal/unit+damage.d.ts +2 -11
  112. package/engine/internal/unit+damage.lua +10 -14
  113. package/engine/internal/unit+spellSteal.lua +1 -2
  114. package/engine/internal/unit+transport.lua +4 -10
  115. package/engine/internal/unit-missile-launch.lua +63 -13
  116. package/engine/internal/unit.d.ts +96 -28
  117. package/engine/internal/unit.lua +648 -241
  118. package/engine/internal/utility.lua +12 -0
  119. package/engine/lightning.d.ts +12 -5
  120. package/engine/lightning.lua +48 -14
  121. package/engine/local-client.d.ts +9 -2
  122. package/engine/local-client.lua +112 -0
  123. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  124. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  125. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  126. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  127. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  128. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  129. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  130. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  131. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  132. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  133. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  134. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  135. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  136. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  137. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  138. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  139. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  140. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  141. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  142. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  143. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  144. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  145. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  146. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  147. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  148. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  149. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  150. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  151. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  152. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  153. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  154. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  155. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  156. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  157. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  158. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  159. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  160. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  161. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  162. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  163. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  164. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  165. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  166. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  167. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  168. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  169. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  170. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  171. package/engine/object-data/entry/ability-type/web.lua +52 -0
  172. package/engine/object-data/entry/ability-type.d.ts +19 -18
  173. package/engine/object-data/entry/ability-type.lua +93 -36
  174. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  175. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  176. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  177. package/engine/object-data/entry/buff-type.d.ts +6 -13
  178. package/engine/object-data/entry/buff-type.lua +13 -29
  179. package/engine/object-data/entry/destructible-type.d.ts +18 -3
  180. package/engine/object-data/entry/destructible-type.lua +90 -0
  181. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  182. package/engine/object-data/entry/item-type.d.ts +15 -2
  183. package/engine/object-data/entry/item-type.lua +93 -2
  184. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  185. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  186. package/engine/object-data/entry/sound-preset.lua +140 -0
  187. package/engine/object-data/entry/unit-type.d.ts +65 -5
  188. package/engine/object-data/entry/unit-type.lua +555 -62
  189. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  190. package/engine/object-data/entry/upgrade.d.ts +1 -2
  191. package/engine/object-data/entry/upgrade.lua +4 -4
  192. package/engine/object-data/entry.d.ts +18 -17
  193. package/engine/object-data/entry.lua +60 -32
  194. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  195. package/engine/object-field/ability.d.ts +28 -5
  196. package/engine/object-field/ability.lua +59 -5
  197. package/engine/object-field/unit.d.ts +69 -3
  198. package/engine/object-field/unit.lua +264 -7
  199. package/engine/object-field.d.ts +23 -7
  200. package/engine/object-field.lua +337 -116
  201. package/engine/random.d.ts +10 -0
  202. package/engine/random.lua +22 -0
  203. package/engine/standard/entries/buff-type.d.ts +3 -0
  204. package/engine/standard/entries/buff-type.lua +3 -0
  205. package/engine/standard/entries/sound-preset.d.ts +10 -0
  206. package/engine/standard/entries/sound-preset.lua +10 -0
  207. package/engine/standard/entries/unit-type.d.ts +42 -1
  208. package/engine/standard/entries/unit-type.lua +42 -1
  209. package/engine/standard/fields/ability.d.ts +5 -3
  210. package/engine/standard/fields/ability.lua +5 -3
  211. package/engine/standard/fields/unit.d.ts +6 -0
  212. package/engine/standard/fields/unit.lua +11 -0
  213. package/engine/synchronization.d.ts +11 -0
  214. package/engine/synchronization.lua +77 -0
  215. package/engine/text-tag.d.ts +36 -2
  216. package/engine/text-tag.lua +250 -10
  217. package/engine/unit.d.ts +6 -0
  218. package/engine/unit.lua +15 -2
  219. package/event.d.ts +2 -3
  220. package/event.lua +9 -5
  221. package/index.d.ts +1 -0
  222. package/index.lua +1 -0
  223. package/lualib_bundle.lua +146 -42
  224. package/math/vec2.d.ts +2 -9
  225. package/math.d.ts +0 -2
  226. package/net/socket.d.ts +7 -1
  227. package/net/socket.lua +45 -4
  228. package/network.d.ts +1 -0
  229. package/network.lua +3 -2
  230. package/objutil/ability.d.ts +0 -1
  231. package/objutil/buff.d.ts +0 -1
  232. package/objutil/buff.lua +3 -4
  233. package/objutil/object.d.ts +0 -1
  234. package/objutil/unit.d.ts +0 -1
  235. package/objutil/unit.lua +8 -0
  236. package/package.json +13 -14
  237. package/patch-lua.d.ts +0 -0
  238. package/patch-lua.lua +10 -0
  239. package/patch-lualib.lua +1 -1
  240. package/property.d.ts +55 -0
  241. package/property.lua +374 -0
  242. package/string.d.ts +30 -0
  243. package/string.lua +14 -0
  244. package/util/stream.d.ts +0 -1
  245. package/utility/arrays.d.ts +13 -5
  246. package/utility/arrays.lua +45 -3
  247. package/utility/bit-set.d.ts +0 -2
  248. package/utility/callback-array.d.ts +17 -0
  249. package/utility/callback-array.lua +61 -0
  250. package/utility/functions.d.ts +8 -0
  251. package/utility/functions.lua +13 -0
  252. package/utility/lazy.d.ts +2 -0
  253. package/utility/lazy.lua +14 -0
  254. package/utility/linked-set.d.ts +13 -3
  255. package/utility/linked-set.lua +27 -3
  256. package/utility/lua-maps.d.ts +16 -4
  257. package/utility/lua-maps.lua +53 -2
  258. package/utility/lua-sets.d.ts +3 -2
  259. package/utility/lua-sets.lua +7 -0
  260. package/utility/reflection.lua +11 -7
  261. package/utility/types.d.ts +6 -2
  262. package/core/mapbounds.d.ts +0 -8
  263. package/core/mapbounds.lua +0 -12
  264. package/core/types/order.d.ts +0 -25
  265. 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
@@ -28,19 +40,42 @@ function UnitTypeWeapon.prototype.____constructor(self, unitType, index)
28
40
  end
29
41
  __TS__SetDescriptor(
30
42
  UnitTypeWeapon.prototype,
31
- "backSwingDuration",
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.getNumberField(
48
+ return ____stringToAttackType_1(____self_0.getStringField(
36
49
  ____self_0,
50
+ ("ua" .. tostring(self.index)) .. "t"
51
+ ))
52
+ end,
53
+ set = function(self, attackType)
54
+ local ____self_2 = self.unitType
55
+ ____self_2.setStringField(
56
+ ____self_2,
57
+ ("ua" .. tostring(self.index)) .. "t",
58
+ attackTypeToString(attackType)
59
+ )
60
+ end
61
+ },
62
+ true
63
+ )
64
+ __TS__SetDescriptor(
65
+ UnitTypeWeapon.prototype,
66
+ "backSwingDuration",
67
+ {
68
+ get = function(self)
69
+ local ____self_3 = self.unitType
70
+ return ____self_3.getNumberField(
71
+ ____self_3,
37
72
  "ubs" .. tostring(self.index)
38
73
  )
39
74
  end,
40
75
  set = function(self, backSwingDuration)
41
- local ____self_1 = self.unitType
42
- ____self_1.setNumberField(
43
- ____self_1,
76
+ local ____self_4 = self.unitType
77
+ ____self_4.setNumberField(
78
+ ____self_4,
44
79
  "ubs" .. tostring(self.index),
45
80
  backSwingDuration
46
81
  )
@@ -48,21 +83,130 @@ __TS__SetDescriptor(
48
83
  },
49
84
  true
50
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
+ )
51
195
  __TS__SetDescriptor(
52
196
  UnitTypeWeapon.prototype,
53
197
  "impactDelay",
54
198
  {
55
199
  get = function(self)
56
- local ____self_2 = self.unitType
57
- return ____self_2.getNumberField(
58
- ____self_2,
200
+ local ____self_13 = self.unitType
201
+ return ____self_13.getNumberField(
202
+ ____self_13,
59
203
  "udp" .. tostring(self.index)
60
204
  )
61
205
  end,
62
206
  set = function(self, impactDelay)
63
- local ____self_3 = self.unitType
64
- ____self_3.setNumberField(
65
- ____self_3,
207
+ local ____self_14 = self.unitType
208
+ ____self_14.setNumberField(
209
+ ____self_14,
66
210
  "udp" .. tostring(self.index),
67
211
  impactDelay
68
212
  )
@@ -75,16 +219,16 @@ __TS__SetDescriptor(
75
219
  "missileModelPath",
76
220
  {
77
221
  get = function(self)
78
- local ____self_4 = self.unitType
79
- return ____self_4.getStringField(
80
- ____self_4,
222
+ local ____self_15 = self.unitType
223
+ return ____self_15.getStringField(
224
+ ____self_15,
81
225
  ("ua" .. tostring(self.index)) .. "m"
82
226
  )
83
227
  end,
84
228
  set = function(self, missileModelPath)
85
- local ____self_5 = self.unitType
86
- ____self_5.setStringField(
87
- ____self_5,
229
+ local ____self_16 = self.unitType
230
+ ____self_16.setStringField(
231
+ ____self_16,
88
232
  ("ua" .. tostring(self.index)) .. "m",
89
233
  missileModelPath
90
234
  )
@@ -92,21 +236,87 @@ __TS__SetDescriptor(
92
236
  },
93
237
  true
94
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
+ )
283
+ __TS__SetDescriptor(
284
+ UnitTypeWeapon.prototype,
285
+ "range",
286
+ {
287
+ get = function(self)
288
+ local ____self_21 = self.unitType
289
+ return ____self_21.getNumberField(
290
+ ____self_21,
291
+ ("ua" .. tostring(self.index)) .. "r"
292
+ )
293
+ end,
294
+ set = function(self, range)
295
+ local ____self_22 = self.unitType
296
+ ____self_22.setNumberField(
297
+ ____self_22,
298
+ ("ua" .. tostring(self.index)) .. "r",
299
+ range
300
+ )
301
+ end
302
+ },
303
+ true
304
+ )
95
305
  __TS__SetDescriptor(
96
306
  UnitTypeWeapon.prototype,
97
307
  "soundType",
98
308
  {
99
309
  get = function(self)
100
- local ____self_6 = self.unitType
101
- return ____self_6.getStringField(
102
- ____self_6,
310
+ local ____self_23 = self.unitType
311
+ return ____self_23.getStringField(
312
+ ____self_23,
103
313
  "ucs" .. tostring(self.index)
104
314
  )
105
315
  end,
106
316
  set = function(self, soundType)
107
- local ____self_7 = self.unitType
108
- ____self_7.setStringField(
109
- ____self_7,
317
+ local ____self_24 = self.unitType
318
+ ____self_24.setStringField(
319
+ ____self_24,
110
320
  "ucs" .. tostring(self.index),
111
321
  soundType
112
322
  )
@@ -119,16 +329,16 @@ __TS__SetDescriptor(
119
329
  "soundTypeSD",
120
330
  {
121
331
  get = function(self)
122
- local ____self_8 = self.unitType
123
- return ____self_8.getStringField(
124
- ____self_8,
332
+ local ____self_25 = self.unitType
333
+ return ____self_25.getStringField(
334
+ ____self_25,
125
335
  ("ucs" .. tostring(self.index)) .. ":sd"
126
336
  )
127
337
  end,
128
338
  set = function(self, soundTypeSD)
129
- local ____self_9 = self.unitType
130
- ____self_9.setStringField(
131
- ____self_9,
339
+ local ____self_26 = self.unitType
340
+ ____self_26.setStringField(
341
+ ____self_26,
132
342
  ("ucs" .. tostring(self.index)) .. ":sd",
133
343
  soundTypeSD
134
344
  )
@@ -141,16 +351,16 @@ __TS__SetDescriptor(
141
351
  "soundTypeHD",
142
352
  {
143
353
  get = function(self)
144
- local ____self_10 = self.unitType
145
- return ____self_10.getStringField(
146
- ____self_10,
354
+ local ____self_27 = self.unitType
355
+ return ____self_27.getStringField(
356
+ ____self_27,
147
357
  ("ucs" .. tostring(self.index)) .. ":hd"
148
358
  )
149
359
  end,
150
360
  set = function(self, soundTypeHD)
151
- local ____self_11 = self.unitType
152
- ____self_11.setStringField(
153
- ____self_11,
361
+ local ____self_28 = self.unitType
362
+ ____self_28.setStringField(
363
+ ____self_28,
154
364
  ("ucs" .. tostring(self.index)) .. ":hd",
155
365
  soundTypeHD
156
366
  )
@@ -191,10 +401,10 @@ __TS__SetDescriptor(
191
401
  "abilityTypeIds",
192
402
  {
193
403
  get = function(self)
194
- return self:getObjectDataEntryIdsField("uabi")
404
+ return self:getObjectDataEntryNumericIdsField("uabi")
195
405
  end,
196
406
  set = function(self, abilityTypeIds)
197
- self:setObjectDataEntryIdsField("uabi", abilityTypeIds)
407
+ self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
198
408
  end
199
409
  },
200
410
  true
@@ -204,10 +414,10 @@ __TS__SetDescriptor(
204
414
  "defaultActiveAbilityTypeId",
205
415
  {
206
416
  get = function(self)
207
- return self:getObjectDataEntryIdsField("udaa")[1]
417
+ return self:getObjectDataEntryNumericIdsField("udaa")[1]
208
418
  end,
209
419
  set = function(self, abilityTypeId)
210
- self:setObjectDataEntryIdsField(
420
+ self:setObjectDataEntryNumericIdsField(
211
421
  "udaa",
212
422
  arrayOfNotNull(abilityTypeId)
213
423
  )
@@ -653,6 +863,9 @@ __TS__SetDescriptor(
653
863
  end,
654
864
  set = function(self, modelPath)
655
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
656
869
  end
657
870
  },
658
871
  true
@@ -666,6 +879,9 @@ __TS__SetDescriptor(
666
879
  end,
667
880
  set = function(self, modelPathSD)
668
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
669
885
  end
670
886
  },
671
887
  true
@@ -679,6 +895,103 @@ __TS__SetDescriptor(
679
895
  end,
680
896
  set = function(self, modelPathHD)
681
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)
682
995
  end
683
996
  },
684
997
  true
@@ -891,6 +1204,58 @@ __TS__SetDescriptor(
891
1204
  },
892
1205
  true
893
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
+ )
894
1259
  __TS__SetDescriptor(
895
1260
  UnitType.prototype,
896
1261
  "armorSoundType",
@@ -930,6 +1295,22 @@ __TS__SetDescriptor(
930
1295
  },
931
1296
  true
932
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
+ )
933
1314
  __TS__SetDescriptor(
934
1315
  UnitType.prototype,
935
1316
  "combatClassifications",
@@ -948,7 +1329,7 @@ __TS__SetDescriptor(
948
1329
  )
949
1330
  __TS__SetDescriptor(
950
1331
  UnitType.prototype,
951
- "unitClassifications",
1332
+ "classifications",
952
1333
  {
953
1334
  get = function(self)
954
1335
  return stringArrayToUnitClassifications(self:getStringsField("utyp"))
@@ -964,25 +1345,25 @@ __TS__SetDescriptor(
964
1345
  )
965
1346
  __TS__SetDescriptor(
966
1347
  UnitType.prototype,
967
- "firstWeapon",
1348
+ "weapons",
968
1349
  {get = function(self)
969
- return self.weapons[1]
1350
+ return getOrCreateUnitTypeWeapons(self)
970
1351
  end},
971
1352
  true
972
1353
  )
973
1354
  __TS__SetDescriptor(
974
1355
  UnitType.prototype,
975
- "secondWeapon",
1356
+ "firstWeapon",
976
1357
  {get = function(self)
977
- return self.weapons[2]
1358
+ return self.weapons[1]
978
1359
  end},
979
1360
  true
980
1361
  )
981
1362
  __TS__SetDescriptor(
982
1363
  UnitType.prototype,
983
- "weapons",
1364
+ "secondWeapon",
984
1365
  {get = function(self)
985
- return getOrCreateUnitTypeWeapons(self)
1366
+ return self.weapons[2]
986
1367
  end},
987
1368
  true
988
1369
  )
@@ -1056,10 +1437,13 @@ __TS__SetDescriptor(
1056
1437
  "movementType",
1057
1438
  {
1058
1439
  get = function(self)
1059
- return self:getStringField("umvt")
1440
+ return stringToMovementType(self:getStringField("umvt"))
1060
1441
  end,
1061
1442
  set = function(self, movementType)
1062
- self:setStringField("umvt", movementType)
1443
+ self:setStringField(
1444
+ "umvt",
1445
+ movementTypeToString(movementType)
1446
+ )
1063
1447
  end
1064
1448
  },
1065
1449
  true
@@ -1168,6 +1552,84 @@ __TS__SetDescriptor(
1168
1552
  },
1169
1553
  true
1170
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
+ )
1171
1633
  __TS__SetDescriptor(
1172
1634
  UnitType.prototype,
1173
1635
  "isStructure",
@@ -1199,10 +1661,10 @@ __TS__SetDescriptor(
1199
1661
  "affectingUpgradeIds",
1200
1662
  {
1201
1663
  get = function(self)
1202
- return self:getObjectDataEntryIdsField("upgr")
1664
+ return self:getObjectDataEntryNumericIdsField("upgr")
1203
1665
  end,
1204
1666
  set = function(self, affectingUpgradeIds)
1205
- self:setObjectDataEntryIdsField("upgr", affectingUpgradeIds)
1667
+ self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
1206
1668
  end
1207
1669
  },
1208
1670
  true
@@ -1262,11 +1724,11 @@ __TS__SetDescriptor(
1262
1724
  implementReadonlyNumberIndexSupplier(
1263
1725
  ____exports.UnitType,
1264
1726
  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
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
1270
1732
  end
1271
1733
  )
1272
1734
  ____exports.HeroUnitType = __TS__Class()
@@ -1285,10 +1747,41 @@ __TS__SetDescriptor(
1285
1747
  "heroAbilityTypeIds",
1286
1748
  {
1287
1749
  get = function(self)
1288
- return self:getObjectDataEntryIdsField("uhab")
1750
+ return self:getObjectDataEntryNumericIdsField("uhab")
1289
1751
  end,
1290
1752
  set = function(self, heroAbilityTypeIds)
1291
- 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)
1292
1785
  end
1293
1786
  },
1294
1787
  true
@@ -1296,11 +1789,11 @@ __TS__SetDescriptor(
1296
1789
  implementReadonlyNumberIndexSupplier(
1297
1790
  ____exports.HeroUnitType,
1298
1791
  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
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
1304
1797
  end
1305
1798
  )
1306
1799
  return ____exports