warscript 0.0.1-dev.b530e1f → 0.0.1-dev.b9f7033

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 (264) hide show
  1. package/attributes.d.ts +17 -0
  2. package/attributes.lua +23 -0
  3. package/binaryreader.d.ts +1 -0
  4. package/binaryreader.lua +3 -0
  5. package/binarywriter.lua +12 -0
  6. package/config.d.ts +5 -0
  7. package/config.lua +10 -0
  8. package/core/types/effect.d.ts +14 -6
  9. package/core/types/effect.lua +131 -35
  10. package/core/types/frame.d.ts +8 -1
  11. package/core/types/frame.lua +117 -22
  12. package/core/types/group.d.ts +0 -1
  13. package/core/types/handle.d.ts +2 -1
  14. package/core/types/handle.lua +5 -0
  15. package/core/types/image.d.ts +0 -1
  16. package/core/types/missile.d.ts +2 -2
  17. package/core/types/missile.lua +8 -2
  18. package/core/types/player.lua +3 -1
  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 +9 -0
  24. package/core/types/tileCell.lua +92 -0
  25. package/core/types/timer.d.ts +8 -8
  26. package/core/types/timer.lua +39 -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/engine/ability.d.ts +1 -1
  33. package/engine/behavior.d.ts +15 -10
  34. package/engine/behavior.lua +112 -33
  35. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  36. package/engine/behaviour/ability/always-enabled.lua +31 -0
  37. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  38. package/engine/behaviour/ability/apply-buff.lua +32 -0
  39. package/engine/behaviour/ability/apply-unit-behavior.d.ts +13 -4
  40. package/engine/behaviour/ability/apply-unit-behavior.lua +32 -9
  41. package/engine/behaviour/ability/damage.d.ts +39 -11
  42. package/engine/behaviour/ability/damage.lua +83 -37
  43. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  44. package/engine/behaviour/ability/emulate-impact.lua +43 -0
  45. package/engine/behaviour/ability/heal.d.ts +33 -6
  46. package/engine/behaviour/ability/heal.lua +89 -10
  47. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  48. package/engine/behaviour/ability/instant-impact.lua +4 -15
  49. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  50. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  51. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  52. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  53. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  54. package/engine/behaviour/ability/restore-mana.lua +29 -0
  55. package/engine/behaviour/ability.d.ts +27 -4
  56. package/engine/behaviour/ability.lua +152 -26
  57. package/engine/behaviour/unit/stun-immunity.d.ts +5 -4
  58. package/engine/behaviour/unit/stun-immunity.lua +43 -27
  59. package/engine/behaviour/unit.d.ts +40 -2
  60. package/engine/behaviour/unit.lua +208 -0
  61. package/engine/buff.d.ts +104 -44
  62. package/engine/buff.lua +453 -215
  63. package/engine/game-map.d.ts +7 -0
  64. package/engine/game-map.lua +32 -0
  65. package/engine/internal/ability.d.ts +24 -15
  66. package/engine/internal/ability.lua +129 -85
  67. package/engine/internal/item/ability.lua +162 -4
  68. package/engine/internal/item+owner.lua +12 -6
  69. package/engine/internal/item.d.ts +8 -7
  70. package/engine/internal/item.lua +153 -51
  71. package/engine/internal/mechanics/ability-duration.d.ts +1 -3
  72. package/engine/internal/mechanics/ability-duration.lua +3 -1
  73. package/engine/internal/mechanics/cast-ability.d.ts +2 -0
  74. package/engine/internal/mechanics/cast-ability.lua +86 -0
  75. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  76. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  77. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  78. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  79. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  80. package/engine/internal/misc/frame-coordinates.lua +21 -0
  81. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  82. package/engine/internal/misc/get-terrain-z.lua +11 -0
  83. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  84. package/engine/internal/misc/player-local-handle.lua +5 -0
  85. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  86. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  87. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  88. package/engine/internal/object-data/evasion-probability.lua +16 -0
  89. package/engine/internal/unit/ability.d.ts +45 -1
  90. package/engine/internal/unit/ability.lua +98 -14
  91. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  92. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  93. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  94. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  95. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  96. package/engine/internal/unit/allowed-targets.lua +9 -1
  97. package/engine/internal/unit/bonus.d.ts +11 -8
  98. package/engine/internal/unit/bonus.lua +23 -1
  99. package/engine/internal/unit/detach-missiles.d.ts +7 -0
  100. package/engine/internal/unit/detach-missiles.lua +30 -0
  101. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  102. package/engine/internal/unit/ignore-events-items.lua +5 -0
  103. package/engine/internal/unit/item.d.ts +24 -0
  104. package/engine/internal/unit/item.lua +78 -0
  105. package/engine/internal/unit/main-selected.d.ts +13 -0
  106. package/engine/internal/unit/main-selected.lua +51 -0
  107. package/engine/internal/unit/order.d.ts +20 -0
  108. package/engine/internal/unit/order.lua +136 -0
  109. package/engine/internal/unit+ability.lua +12 -3
  110. package/engine/internal/unit+damage.d.ts +2 -11
  111. package/engine/internal/unit+damage.lua +10 -14
  112. package/engine/internal/unit+spellSteal.lua +1 -2
  113. package/engine/internal/unit+transport.lua +4 -10
  114. package/engine/internal/unit-missile-launch.lua +33 -7
  115. package/engine/internal/unit.d.ts +89 -24
  116. package/engine/internal/unit.lua +594 -206
  117. package/engine/internal/utility.lua +12 -0
  118. package/engine/lightning.d.ts +12 -5
  119. package/engine/lightning.lua +48 -14
  120. package/engine/local-client.d.ts +7 -2
  121. package/engine/local-client.lua +82 -0
  122. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  123. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  124. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  125. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  126. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  127. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  128. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  129. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  130. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  131. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  132. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  133. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  134. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  135. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  136. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  137. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  138. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  139. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  140. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  141. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  142. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  143. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  144. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  145. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  146. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  147. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  148. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  149. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  150. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  151. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  152. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  153. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  154. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  155. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  156. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  157. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  158. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  159. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  160. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  161. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  162. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  163. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  164. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  165. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  166. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  167. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  168. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  169. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  170. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  171. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  172. package/engine/object-data/entry/ability-type/web.lua +52 -0
  173. package/engine/object-data/entry/ability-type.d.ts +19 -18
  174. package/engine/object-data/entry/ability-type.lua +90 -36
  175. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  176. package/engine/object-data/entry/buff-type/applicable.lua +39 -102
  177. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  178. package/engine/object-data/entry/buff-type.d.ts +6 -13
  179. package/engine/object-data/entry/buff-type.lua +13 -29
  180. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  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 +61 -5
  188. package/engine/object-data/entry/unit-type.lua +511 -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 +33 -8
  196. package/engine/object-field/ability.lua +61 -1
  197. package/engine/object-field/unit.d.ts +57 -2
  198. package/engine/object-field/unit.lua +207 -4
  199. package/engine/object-field.d.ts +17 -5
  200. package/engine/object-field.lua +201 -97
  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 +3 -1
  210. package/engine/standard/fields/ability.lua +3 -1
  211. package/engine/standard/fields/unit.d.ts +4 -0
  212. package/engine/standard/fields/unit.lua +7 -0
  213. package/engine/text-tag.d.ts +36 -2
  214. package/engine/text-tag.lua +249 -10
  215. package/engine/unit.d.ts +5 -0
  216. package/engine/unit.lua +14 -2
  217. package/event.d.ts +2 -3
  218. package/event.lua +9 -5
  219. package/global/vec2.lua +1 -0
  220. package/index.d.ts +1 -0
  221. package/index.lua +1 -0
  222. package/lualib_bundle.lua +146 -42
  223. package/math/vec2.d.ts +2 -9
  224. package/math.d.ts +0 -2
  225. package/net/socket.d.ts +7 -1
  226. package/net/socket.lua +45 -4
  227. package/network.d.ts +1 -0
  228. package/network.lua +3 -2
  229. package/objutil/ability.d.ts +0 -1
  230. package/objutil/buff.d.ts +0 -1
  231. package/objutil/buff.lua +2 -3
  232. package/objutil/object.d.ts +0 -1
  233. package/objutil/unit.d.ts +0 -1
  234. package/objutil/unit.lua +8 -0
  235. package/package.json +13 -14
  236. package/patch-lua.d.ts +0 -0
  237. package/patch-lua.lua +10 -0
  238. package/patch-lualib.lua +1 -1
  239. package/property.d.ts +55 -0
  240. package/property.lua +374 -0
  241. package/string.d.ts +30 -0
  242. package/string.lua +14 -0
  243. package/util/stream.d.ts +0 -1
  244. package/utility/arrays.d.ts +12 -5
  245. package/utility/arrays.lua +37 -3
  246. package/utility/bit-set.d.ts +0 -2
  247. package/utility/callback-array.d.ts +13 -0
  248. package/utility/callback-array.lua +46 -0
  249. package/utility/functions.d.ts +8 -0
  250. package/utility/functions.lua +13 -0
  251. package/utility/lazy.d.ts +2 -0
  252. package/utility/lazy.lua +14 -0
  253. package/utility/linked-set.d.ts +12 -3
  254. package/utility/linked-set.lua +8 -2
  255. package/utility/lua-maps.d.ts +16 -4
  256. package/utility/lua-maps.lua +53 -2
  257. package/utility/lua-sets.d.ts +3 -2
  258. package/utility/lua-sets.lua +7 -0
  259. package/utility/reflection.lua +11 -7
  260. package/utility/types.d.ts +3 -2
  261. package/core/mapbounds.d.ts +0 -8
  262. package/core/mapbounds.lua +0 -12
  263. package/core/types/order.d.ts +0 -25
  264. 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,43 @@ __TS__SetDescriptor(
92
236
  },
93
237
  true
94
238
  )
239
+ __TS__SetDescriptor(
240
+ UnitTypeWeapon.prototype,
241
+ "range",
242
+ {
243
+ get = function(self)
244
+ local ____self_17 = self.unitType
245
+ return ____self_17.getNumberField(
246
+ ____self_17,
247
+ ("ua" .. tostring(self.index)) .. "r"
248
+ )
249
+ end,
250
+ set = function(self, range)
251
+ local ____self_18 = self.unitType
252
+ ____self_18.setNumberField(
253
+ ____self_18,
254
+ ("ua" .. tostring(self.index)) .. "r",
255
+ range
256
+ )
257
+ end
258
+ },
259
+ true
260
+ )
95
261
  __TS__SetDescriptor(
96
262
  UnitTypeWeapon.prototype,
97
263
  "soundType",
98
264
  {
99
265
  get = function(self)
100
- local ____self_6 = self.unitType
101
- return ____self_6.getStringField(
102
- ____self_6,
266
+ local ____self_19 = self.unitType
267
+ return ____self_19.getStringField(
268
+ ____self_19,
103
269
  "ucs" .. tostring(self.index)
104
270
  )
105
271
  end,
106
272
  set = function(self, soundType)
107
- local ____self_7 = self.unitType
108
- ____self_7.setStringField(
109
- ____self_7,
273
+ local ____self_20 = self.unitType
274
+ ____self_20.setStringField(
275
+ ____self_20,
110
276
  "ucs" .. tostring(self.index),
111
277
  soundType
112
278
  )
@@ -119,16 +285,16 @@ __TS__SetDescriptor(
119
285
  "soundTypeSD",
120
286
  {
121
287
  get = function(self)
122
- local ____self_8 = self.unitType
123
- return ____self_8.getStringField(
124
- ____self_8,
288
+ local ____self_21 = self.unitType
289
+ return ____self_21.getStringField(
290
+ ____self_21,
125
291
  ("ucs" .. tostring(self.index)) .. ":sd"
126
292
  )
127
293
  end,
128
294
  set = function(self, soundTypeSD)
129
- local ____self_9 = self.unitType
130
- ____self_9.setStringField(
131
- ____self_9,
295
+ local ____self_22 = self.unitType
296
+ ____self_22.setStringField(
297
+ ____self_22,
132
298
  ("ucs" .. tostring(self.index)) .. ":sd",
133
299
  soundTypeSD
134
300
  )
@@ -141,16 +307,16 @@ __TS__SetDescriptor(
141
307
  "soundTypeHD",
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)) .. ":hd"
148
314
  )
149
315
  end,
150
316
  set = function(self, soundTypeHD)
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)) .. ":hd",
155
321
  soundTypeHD
156
322
  )
@@ -191,10 +357,10 @@ __TS__SetDescriptor(
191
357
  "abilityTypeIds",
192
358
  {
193
359
  get = function(self)
194
- return self:getObjectDataEntryIdsField("uabi")
360
+ return self:getObjectDataEntryNumericIdsField("uabi")
195
361
  end,
196
362
  set = function(self, abilityTypeIds)
197
- self:setObjectDataEntryIdsField("uabi", abilityTypeIds)
363
+ self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
198
364
  end
199
365
  },
200
366
  true
@@ -204,10 +370,10 @@ __TS__SetDescriptor(
204
370
  "defaultActiveAbilityTypeId",
205
371
  {
206
372
  get = function(self)
207
- return self:getObjectDataEntryIdsField("udaa")[1]
373
+ return self:getObjectDataEntryNumericIdsField("udaa")[1]
208
374
  end,
209
375
  set = function(self, abilityTypeId)
210
- self:setObjectDataEntryIdsField(
376
+ self:setObjectDataEntryNumericIdsField(
211
377
  "udaa",
212
378
  arrayOfNotNull(abilityTypeId)
213
379
  )
@@ -653,6 +819,9 @@ __TS__SetDescriptor(
653
819
  end,
654
820
  set = function(self, modelPath)
655
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
656
825
  end
657
826
  },
658
827
  true
@@ -666,6 +835,9 @@ __TS__SetDescriptor(
666
835
  end,
667
836
  set = function(self, modelPathSD)
668
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
669
841
  end
670
842
  },
671
843
  true
@@ -679,6 +851,103 @@ __TS__SetDescriptor(
679
851
  end,
680
852
  set = function(self, modelPathHD)
681
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)
682
951
  end
683
952
  },
684
953
  true
@@ -891,6 +1160,58 @@ __TS__SetDescriptor(
891
1160
  },
892
1161
  true
893
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
+ )
894
1215
  __TS__SetDescriptor(
895
1216
  UnitType.prototype,
896
1217
  "armorSoundType",
@@ -930,6 +1251,22 @@ __TS__SetDescriptor(
930
1251
  },
931
1252
  true
932
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
+ )
933
1270
  __TS__SetDescriptor(
934
1271
  UnitType.prototype,
935
1272
  "combatClassifications",
@@ -948,7 +1285,7 @@ __TS__SetDescriptor(
948
1285
  )
949
1286
  __TS__SetDescriptor(
950
1287
  UnitType.prototype,
951
- "unitClassifications",
1288
+ "classifications",
952
1289
  {
953
1290
  get = function(self)
954
1291
  return stringArrayToUnitClassifications(self:getStringsField("utyp"))
@@ -964,25 +1301,25 @@ __TS__SetDescriptor(
964
1301
  )
965
1302
  __TS__SetDescriptor(
966
1303
  UnitType.prototype,
967
- "firstWeapon",
1304
+ "weapons",
968
1305
  {get = function(self)
969
- return self.weapons[1]
1306
+ return getOrCreateUnitTypeWeapons(self)
970
1307
  end},
971
1308
  true
972
1309
  )
973
1310
  __TS__SetDescriptor(
974
1311
  UnitType.prototype,
975
- "secondWeapon",
1312
+ "firstWeapon",
976
1313
  {get = function(self)
977
- return self.weapons[2]
1314
+ return self.weapons[1]
978
1315
  end},
979
1316
  true
980
1317
  )
981
1318
  __TS__SetDescriptor(
982
1319
  UnitType.prototype,
983
- "weapons",
1320
+ "secondWeapon",
984
1321
  {get = function(self)
985
- return getOrCreateUnitTypeWeapons(self)
1322
+ return self.weapons[2]
986
1323
  end},
987
1324
  true
988
1325
  )
@@ -1056,10 +1393,13 @@ __TS__SetDescriptor(
1056
1393
  "movementType",
1057
1394
  {
1058
1395
  get = function(self)
1059
- return self:getStringField("umvt")
1396
+ return stringToMovementType(self:getStringField("umvt"))
1060
1397
  end,
1061
1398
  set = function(self, movementType)
1062
- self:setStringField("umvt", movementType)
1399
+ self:setStringField(
1400
+ "umvt",
1401
+ movementTypeToString(movementType)
1402
+ )
1063
1403
  end
1064
1404
  },
1065
1405
  true
@@ -1168,6 +1508,84 @@ __TS__SetDescriptor(
1168
1508
  },
1169
1509
  true
1170
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
+ )
1171
1589
  __TS__SetDescriptor(
1172
1590
  UnitType.prototype,
1173
1591
  "isStructure",
@@ -1199,10 +1617,10 @@ __TS__SetDescriptor(
1199
1617
  "affectingUpgradeIds",
1200
1618
  {
1201
1619
  get = function(self)
1202
- return self:getObjectDataEntryIdsField("upgr")
1620
+ return self:getObjectDataEntryNumericIdsField("upgr")
1203
1621
  end,
1204
1622
  set = function(self, affectingUpgradeIds)
1205
- self:setObjectDataEntryIdsField("upgr", affectingUpgradeIds)
1623
+ self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
1206
1624
  end
1207
1625
  },
1208
1626
  true
@@ -1262,11 +1680,11 @@ __TS__SetDescriptor(
1262
1680
  implementReadonlyNumberIndexSupplier(
1263
1681
  ____exports.UnitType,
1264
1682
  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
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
1270
1688
  end
1271
1689
  )
1272
1690
  ____exports.HeroUnitType = __TS__Class()
@@ -1285,10 +1703,41 @@ __TS__SetDescriptor(
1285
1703
  "heroAbilityTypeIds",
1286
1704
  {
1287
1705
  get = function(self)
1288
- return self:getObjectDataEntryIdsField("uhab")
1706
+ return self:getObjectDataEntryNumericIdsField("uhab")
1289
1707
  end,
1290
1708
  set = function(self, heroAbilityTypeIds)
1291
- 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)
1292
1741
  end
1293
1742
  },
1294
1743
  true
@@ -1296,11 +1745,11 @@ __TS__SetDescriptor(
1296
1745
  implementReadonlyNumberIndexSupplier(
1297
1746
  ____exports.HeroUnitType,
1298
1747
  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
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
1304
1753
  end
1305
1754
  )
1306
1755
  return ____exports