warscript 0.0.1-dev.47f470c → 0.0.1-dev.4f5b9e7

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 (141) hide show
  1. package/attributes.d.ts +5 -0
  2. package/attributes.lua +8 -1
  3. package/binarywriter.lua +12 -0
  4. package/core/types/effect.d.ts +1 -3
  5. package/core/types/effect.lua +26 -29
  6. package/core/types/frame.lua +24 -21
  7. package/core/types/player.lua +3 -1
  8. package/core/types/playerCamera.d.ts +2 -0
  9. package/core/types/playerCamera.lua +123 -5
  10. package/core/types/sound.d.ts +17 -25
  11. package/core/types/sound.lua +91 -46
  12. package/core/types/tileCell.d.ts +9 -0
  13. package/core/types/tileCell.lua +92 -0
  14. package/core/types/timer.d.ts +8 -8
  15. package/core/types/timer.lua +39 -23
  16. package/core/util.lua +6 -1
  17. package/decl/native.d.ts +846 -790
  18. package/engine/behavior.d.ts +5 -0
  19. package/engine/behavior.lua +106 -27
  20. package/engine/behaviour/ability/apply-buff.lua +1 -1
  21. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  22. package/engine/behaviour/ability/damage.d.ts +9 -3
  23. package/engine/behaviour/ability/damage.lua +26 -38
  24. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  25. package/engine/behaviour/ability/emulate-impact.lua +18 -3
  26. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  27. package/engine/behaviour/ability/restore-mana.lua +6 -6
  28. package/engine/behaviour/ability.d.ts +5 -1
  29. package/engine/behaviour/ability.lua +26 -21
  30. package/engine/behaviour/unit/stun-immunity.d.ts +7 -3
  31. package/engine/behaviour/unit/stun-immunity.lua +52 -27
  32. package/engine/behaviour/unit.d.ts +34 -0
  33. package/engine/behaviour/unit.lua +190 -4
  34. package/engine/buff.d.ts +15 -12
  35. package/engine/buff.lua +133 -117
  36. package/engine/internal/ability.d.ts +7 -1
  37. package/engine/internal/ability.lua +49 -9
  38. package/engine/internal/item/ability.lua +63 -11
  39. package/engine/internal/item+owner.lua +12 -6
  40. package/engine/internal/item.d.ts +18 -17
  41. package/engine/internal/item.lua +135 -49
  42. package/engine/internal/mechanics/ability-duration.lua +1 -1
  43. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  44. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  45. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  46. package/engine/internal/misc/frame-coordinates.lua +21 -0
  47. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  48. package/engine/internal/misc/get-terrain-z.lua +11 -0
  49. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  50. package/engine/internal/misc/player-local-handle.lua +5 -0
  51. package/engine/internal/unit/ability.d.ts +35 -0
  52. package/engine/internal/unit/ability.lua +63 -1
  53. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  54. package/engine/internal/unit/allowed-targets.lua +9 -1
  55. package/engine/internal/unit/order.d.ts +20 -0
  56. package/engine/internal/unit/order.lua +136 -0
  57. package/engine/internal/unit+ability.lua +10 -1
  58. package/engine/internal/unit+damage.d.ts +2 -11
  59. package/engine/internal/unit+damage.lua +10 -14
  60. package/engine/internal/unit+spellSteal.lua +1 -2
  61. package/engine/internal/unit-missile-launch.lua +18 -5
  62. package/engine/internal/unit.d.ts +32 -10
  63. package/engine/internal/unit.lua +257 -110
  64. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  65. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  66. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  67. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  68. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  69. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  70. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  71. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  72. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  73. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  74. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  75. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  76. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  77. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  78. package/engine/object-data/entry/ability-type/blank-configurable.lua +0 -9
  79. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  80. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  81. package/engine/object-data/entry/ability-type/curse.lua +2 -2
  82. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  83. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  84. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  85. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  86. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  87. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  88. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  89. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  90. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  91. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  92. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  93. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  94. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  95. package/engine/object-data/entry/ability-type/web.lua +52 -0
  96. package/engine/object-data/entry/ability-type.d.ts +18 -16
  97. package/engine/object-data/entry/ability-type.lua +77 -16
  98. package/engine/object-data/entry/buff-type/applicable.lua +9 -4
  99. package/engine/object-data/entry/buff-type.d.ts +5 -11
  100. package/engine/object-data/entry/buff-type.lua +11 -27
  101. package/engine/object-data/entry/sound-preset.d.ts +18 -2
  102. package/engine/object-data/entry/sound-preset.lua +105 -15
  103. package/engine/object-data/entry/unit-type.d.ts +13 -4
  104. package/engine/object-data/entry/unit-type.lua +156 -88
  105. package/engine/object-data/entry.d.ts +2 -2
  106. package/engine/object-data/entry.lua +14 -7
  107. package/engine/object-field/ability.d.ts +4 -4
  108. package/engine/object-field/ability.lua +7 -6
  109. package/engine/object-field/unit.d.ts +57 -3
  110. package/engine/object-field/unit.lua +207 -7
  111. package/engine/object-field.d.ts +17 -6
  112. package/engine/object-field.lua +188 -92
  113. package/engine/random.d.ts +9 -0
  114. package/engine/random.lua +13 -0
  115. package/engine/standard/entries/buff-type.d.ts +3 -0
  116. package/engine/standard/entries/buff-type.lua +3 -0
  117. package/engine/standard/fields/unit.d.ts +4 -0
  118. package/engine/standard/fields/unit.lua +7 -0
  119. package/engine/text-tag.d.ts +36 -2
  120. package/engine/text-tag.lua +249 -10
  121. package/engine/unit.d.ts +1 -0
  122. package/engine/unit.lua +1 -0
  123. package/objutil/buff.lua +2 -3
  124. package/objutil/unit.lua +2 -2
  125. package/package.json +2 -2
  126. package/patch-lualib.lua +1 -1
  127. package/utility/arrays.d.ts +2 -0
  128. package/utility/arrays.lua +11 -0
  129. package/utility/callback-array.d.ts +13 -0
  130. package/utility/callback-array.lua +46 -0
  131. package/utility/functions.d.ts +8 -0
  132. package/utility/functions.lua +13 -0
  133. package/utility/linked-set.d.ts +1 -0
  134. package/utility/linked-set.lua +3 -0
  135. package/utility/lua-maps.d.ts +15 -2
  136. package/utility/lua-maps.lua +53 -2
  137. package/utility/lua-sets.d.ts +2 -0
  138. package/utility/lua-sets.lua +7 -0
  139. package/utility/reflection.lua +11 -7
  140. package/core/types/order.d.ts +0 -25
  141. package/core/types/order.lua +0 -55
@@ -5,8 +5,6 @@ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
5
  local ____exports = {}
6
6
  local ____entry = require("engine.object-data.entry")
7
7
  local ObjectDataEntry = ____entry.ObjectDataEntry
8
- local ____reflection = require("utility.reflection")
9
- local implementReadonlyNumberIndexSupplier = ____reflection.implementReadonlyNumberIndexSupplier
10
8
  ____exports.SoundPreset = __TS__Class()
11
9
  local SoundPreset = ____exports.SoundPreset
12
10
  SoundPreset.name = "SoundPreset"
@@ -19,19 +17,7 @@ function SoundPreset.generateId(self)
19
17
  end
20
18
  function SoundPreset.getObjectData(self, map)
21
19
  return map.objects.sound
22
- end;
23
- (function(self)
24
- implementReadonlyNumberIndexSupplier(
25
- ____exports.SoundPreset,
26
- function(id)
27
- local ____class_3 = __TS__Class()
28
- ____class_3.name = ____class_3.name
29
- __TS__ClassExtends(____class_3, ____exports.SoundPreset)
30
- ____class_3.BASE_ID = id
31
- return ____class_3
32
- end
33
- )
34
- end)(SoundPreset)
20
+ end
35
21
  SoundPreset.BASE_ID = "BlizzardWave"
36
22
  SoundPreset.nextId = 0
37
23
  __TS__SetDescriptor(
@@ -47,4 +33,108 @@ __TS__SetDescriptor(
47
33
  },
48
34
  true
49
35
  )
36
+ __TS__SetDescriptor(
37
+ SoundPreset.prototype,
38
+ "volume",
39
+ {
40
+ get = function(self)
41
+ return self:getNumberField("Volume")
42
+ end,
43
+ set = function(self, volume)
44
+ self:setNumberField("Volume", volume)
45
+ end
46
+ },
47
+ true
48
+ )
49
+ __TS__SetDescriptor(
50
+ SoundPreset.prototype,
51
+ "pitch",
52
+ {
53
+ get = function(self)
54
+ return self:getNumberField("Pitch")
55
+ end,
56
+ set = function(self, pitch)
57
+ self:setNumberField("Pitch", pitch)
58
+ end
59
+ },
60
+ true
61
+ )
62
+ __TS__SetDescriptor(
63
+ SoundPreset.prototype,
64
+ "priority",
65
+ {
66
+ get = function(self)
67
+ return self:getNumberField("Priority")
68
+ end,
69
+ set = function(self, priority)
70
+ self:setNumberField("Priority", priority)
71
+ end
72
+ },
73
+ true
74
+ )
75
+ __TS__SetDescriptor(
76
+ SoundPreset.prototype,
77
+ "channel",
78
+ {
79
+ get = function(self)
80
+ return self:getNumberField("Channel")
81
+ end,
82
+ set = function(self, channel)
83
+ self:setNumberField("Channel", channel)
84
+ end
85
+ },
86
+ true
87
+ )
88
+ __TS__SetDescriptor(
89
+ SoundPreset.prototype,
90
+ "minimumDistance",
91
+ {
92
+ get = function(self)
93
+ return self:getNumberField("MinDistance")
94
+ end,
95
+ set = function(self, minimumDistance)
96
+ self:setNumberField("MinDistance", minimumDistance)
97
+ end
98
+ },
99
+ true
100
+ )
101
+ __TS__SetDescriptor(
102
+ SoundPreset.prototype,
103
+ "maximumDistance",
104
+ {
105
+ get = function(self)
106
+ return self:getNumberField("MaxDistance")
107
+ end,
108
+ set = function(self, maximumDistance)
109
+ self:setNumberField("MaxDistance", maximumDistance)
110
+ end
111
+ },
112
+ true
113
+ )
114
+ __TS__SetDescriptor(
115
+ SoundPreset.prototype,
116
+ "distanceCutoff",
117
+ {
118
+ get = function(self)
119
+ return self:getNumberField("DistanceCutoff")
120
+ end,
121
+ set = function(self, distanceCutoff)
122
+ self:setNumberField("DistanceCutoff", distanceCutoff)
123
+ end
124
+ },
125
+ true
126
+ )
127
+ __TS__SetDescriptor(
128
+ SoundPreset.prototype,
129
+ "eax",
130
+ {
131
+ get = function(self)
132
+ return self:getStringField("EAXFlags")
133
+ end,
134
+ set = function(self, eax)
135
+ self:setStringField("EAXFlags", eax)
136
+ end
137
+ },
138
+ true
139
+ )
50
140
  return ____exports
@@ -13,6 +13,7 @@ import type { AbilityTypeId } from "./ability-type";
13
13
  import type { UpgradeId } from "./upgrade";
14
14
  import { AnimationQualifier } from "../auxiliary/animation-qualifier";
15
15
  import { AttackType } from "../auxiliary/attack-type";
16
+ import { ArmorType } from "../auxiliary/armor-type";
16
17
  export type UnitTypeId = ObjectDataEntryId & number & {
17
18
  readonly __unitTypeId: unique symbol;
18
19
  };
@@ -23,8 +24,8 @@ export declare class UnitTypeWeapon {
23
24
  private readonly unitType;
24
25
  private readonly index;
25
26
  private constructor();
26
- get attackType(): AttackType;
27
- set attackType(attackType: AttackType);
27
+ get attackType(): AttackType | undefined;
28
+ set attackType(attackType: AttackType | undefined);
28
29
  get backSwingDuration(): number;
29
30
  set backSwingDuration(backSwingDuration: number);
30
31
  get cooldown(): number;
@@ -144,6 +145,8 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
144
145
  set runSpeedSD(runSpeedSD: number);
145
146
  get runSpeedHD(): number;
146
147
  set runSpeedHD(runSpeedHD: number);
148
+ get selectionCircleHeight(): number;
149
+ set selectionCircleHeight(height: number);
147
150
  get selectionCircleScale(): number;
148
151
  set selectionCircleScale(selectionCircleScale: number);
149
152
  get selectionCircleScaleSD(): number;
@@ -182,16 +185,20 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
182
185
  set walkSpeedSD(walkSpeedSD: number);
183
186
  get walkSpeedHD(): number;
184
187
  set walkSpeedHD(walkSpeedHD: number);
188
+ get armor(): number;
189
+ set armor(armor: number);
185
190
  get armorSoundType(): ArmorSoundType;
186
191
  set armorSoundType(armorSoundType: ArmorSoundType);
187
192
  get armorSoundTypeSD(): ArmorSoundType;
188
193
  set armorSoundTypeSD(armorSoundTypeSD: ArmorSoundType);
189
194
  get armorSoundTypeHD(): ArmorSoundType;
190
195
  set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
196
+ get armorType(): ArmorType;
197
+ set armorType(armorType: ArmorType);
191
198
  get combatClassifications(): CombatClassifications;
192
199
  set combatClassifications(combatClassifications: CombatClassifications);
193
- get unitClassifications(): UnitClassifications;
194
- set unitClassifications(unitClassifications: UnitClassifications);
200
+ get classifications(): UnitClassifications;
201
+ set classifications(unitClassifications: UnitClassifications);
195
202
  get weapons(): TupleOf<UnitTypeWeapon, 2>;
196
203
  get firstWeapon(): UnitTypeWeapon;
197
204
  get secondWeapon(): UnitTypeWeapon;
@@ -225,6 +232,8 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
225
232
  set goldCost(goldCost: number);
226
233
  get healthRegenerationRate(): number;
227
234
  set healthRegenerationRate(healthRegenerationRate: number);
235
+ get level(): number;
236
+ set level(level: number);
228
237
  get manaRegenerationRate(): number;
229
238
  set manaRegenerationRate(manaRegenerationRate: number);
230
239
  get maximumHealth(): number;
@@ -12,6 +12,9 @@ local implementReadonlyNumberIndexSupplier = ____reflection.implementReadonlyNum
12
12
  local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
13
13
  local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
14
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
15
18
  local ____unit_2Dclassification = require("engine.object-data.auxiliary.unit-classification")
16
19
  local stringArrayToUnitClassifications = ____unit_2Dclassification.stringArrayToUnitClassifications
17
20
  local unitClassificationsToStringArray = ____unit_2Dclassification.unitClassificationsToStringArray
@@ -19,8 +22,14 @@ local ____entry = require("engine.object-data.entry")
19
22
  local ObjectDataEntry = ____entry.ObjectDataEntry
20
23
  local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
21
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
22
28
  local ____config = require("config")
23
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
24
33
  local getOrCreateUnitTypeWeapons
25
34
  ____exports.UnitTypeWeapon = __TS__Class()
26
35
  local UnitTypeWeapon = ____exports.UnitTypeWeapon
@@ -34,18 +43,19 @@ __TS__SetDescriptor(
34
43
  "attackType",
35
44
  {
36
45
  get = function(self)
46
+ local ____stringToAttackType_1 = stringToAttackType
37
47
  local ____self_0 = self.unitType
38
- return ____self_0.getStringField(
48
+ return ____stringToAttackType_1(____self_0.getStringField(
39
49
  ____self_0,
40
50
  ("ua" .. tostring(self.index)) .. "t"
41
- )
51
+ ))
42
52
  end,
43
53
  set = function(self, attackType)
44
- local ____self_1 = self.unitType
45
- ____self_1.setStringField(
46
- ____self_1,
54
+ local ____self_2 = self.unitType
55
+ ____self_2.setStringField(
56
+ ____self_2,
47
57
  ("ua" .. tostring(self.index)) .. "t",
48
- attackType
58
+ attackTypeToString(attackType)
49
59
  )
50
60
  end
51
61
  },
@@ -56,16 +66,16 @@ __TS__SetDescriptor(
56
66
  "backSwingDuration",
57
67
  {
58
68
  get = function(self)
59
- local ____self_2 = self.unitType
60
- return ____self_2.getNumberField(
61
- ____self_2,
69
+ local ____self_3 = self.unitType
70
+ return ____self_3.getNumberField(
71
+ ____self_3,
62
72
  "ubs" .. tostring(self.index)
63
73
  )
64
74
  end,
65
75
  set = function(self, backSwingDuration)
66
- local ____self_3 = self.unitType
67
- ____self_3.setNumberField(
68
- ____self_3,
76
+ local ____self_4 = self.unitType
77
+ ____self_4.setNumberField(
78
+ ____self_4,
69
79
  "ubs" .. tostring(self.index),
70
80
  backSwingDuration
71
81
  )
@@ -78,16 +88,16 @@ __TS__SetDescriptor(
78
88
  "cooldown",
79
89
  {
80
90
  get = function(self)
81
- local ____self_4 = self.unitType
82
- return ____self_4.getNumberField(
83
- ____self_4,
91
+ local ____self_5 = self.unitType
92
+ return ____self_5.getNumberField(
93
+ ____self_5,
84
94
  ("ua" .. tostring(self.index)) .. "c"
85
95
  )
86
96
  end,
87
97
  set = function(self, cooldown)
88
- local ____self_5 = self.unitType
89
- ____self_5.setNumberField(
90
- ____self_5,
98
+ local ____self_6 = self.unitType
99
+ ____self_6.setNumberField(
100
+ ____self_6,
91
101
  ("ua" .. tostring(self.index)) .. "c",
92
102
  cooldown
93
103
  )
@@ -121,16 +131,16 @@ __TS__SetDescriptor(
121
131
  "damageBase",
122
132
  {
123
133
  get = function(self)
124
- local ____self_6 = self.unitType
125
- return ____self_6.getNumberField(
126
- ____self_6,
134
+ local ____self_7 = self.unitType
135
+ return ____self_7.getNumberField(
136
+ ____self_7,
127
137
  ("ua" .. tostring(self.index)) .. "b"
128
138
  )
129
139
  end,
130
140
  set = function(self, damageBase)
131
- local ____self_7 = self.unitType
132
- ____self_7.setNumberField(
133
- ____self_7,
141
+ local ____self_8 = self.unitType
142
+ ____self_8.setNumberField(
143
+ ____self_8,
134
144
  ("ua" .. tostring(self.index)) .. "b",
135
145
  damageBase
136
146
  )
@@ -143,16 +153,16 @@ __TS__SetDescriptor(
143
153
  "damageDiceCount",
144
154
  {
145
155
  get = function(self)
146
- local ____self_8 = self.unitType
147
- return ____self_8.getNumberField(
148
- ____self_8,
156
+ local ____self_9 = self.unitType
157
+ return ____self_9.getNumberField(
158
+ ____self_9,
149
159
  ("ua" .. tostring(self.index)) .. "d"
150
160
  )
151
161
  end,
152
162
  set = function(self, damageDiceNumber)
153
- local ____self_9 = self.unitType
154
- ____self_9.setNumberField(
155
- ____self_9,
163
+ local ____self_10 = self.unitType
164
+ ____self_10.setNumberField(
165
+ ____self_10,
156
166
  ("ua" .. tostring(self.index)) .. "d",
157
167
  damageDiceNumber
158
168
  )
@@ -165,16 +175,16 @@ __TS__SetDescriptor(
165
175
  "damageDiceSideCount",
166
176
  {
167
177
  get = function(self)
168
- local ____self_10 = self.unitType
169
- return ____self_10.getNumberField(
170
- ____self_10,
178
+ local ____self_11 = self.unitType
179
+ return ____self_11.getNumberField(
180
+ ____self_11,
171
181
  ("ua" .. tostring(self.index)) .. "s"
172
182
  )
173
183
  end,
174
184
  set = function(self, damageDiceSideCount)
175
- local ____self_11 = self.unitType
176
- ____self_11.setNumberField(
177
- ____self_11,
185
+ local ____self_12 = self.unitType
186
+ ____self_12.setNumberField(
187
+ ____self_12,
178
188
  ("ua" .. tostring(self.index)) .. "s",
179
189
  damageDiceSideCount
180
190
  )
@@ -187,16 +197,16 @@ __TS__SetDescriptor(
187
197
  "impactDelay",
188
198
  {
189
199
  get = function(self)
190
- local ____self_12 = self.unitType
191
- return ____self_12.getNumberField(
192
- ____self_12,
200
+ local ____self_13 = self.unitType
201
+ return ____self_13.getNumberField(
202
+ ____self_13,
193
203
  "udp" .. tostring(self.index)
194
204
  )
195
205
  end,
196
206
  set = function(self, impactDelay)
197
- local ____self_13 = self.unitType
198
- ____self_13.setNumberField(
199
- ____self_13,
207
+ local ____self_14 = self.unitType
208
+ ____self_14.setNumberField(
209
+ ____self_14,
200
210
  "udp" .. tostring(self.index),
201
211
  impactDelay
202
212
  )
@@ -209,16 +219,16 @@ __TS__SetDescriptor(
209
219
  "missileModelPath",
210
220
  {
211
221
  get = function(self)
212
- local ____self_14 = self.unitType
213
- return ____self_14.getStringField(
214
- ____self_14,
222
+ local ____self_15 = self.unitType
223
+ return ____self_15.getStringField(
224
+ ____self_15,
215
225
  ("ua" .. tostring(self.index)) .. "m"
216
226
  )
217
227
  end,
218
228
  set = function(self, missileModelPath)
219
- local ____self_15 = self.unitType
220
- ____self_15.setStringField(
221
- ____self_15,
229
+ local ____self_16 = self.unitType
230
+ ____self_16.setStringField(
231
+ ____self_16,
222
232
  ("ua" .. tostring(self.index)) .. "m",
223
233
  missileModelPath
224
234
  )
@@ -231,16 +241,16 @@ __TS__SetDescriptor(
231
241
  "range",
232
242
  {
233
243
  get = function(self)
234
- local ____self_16 = self.unitType
235
- return ____self_16.getNumberField(
236
- ____self_16,
244
+ local ____self_17 = self.unitType
245
+ return ____self_17.getNumberField(
246
+ ____self_17,
237
247
  ("ua" .. tostring(self.index)) .. "r"
238
248
  )
239
249
  end,
240
250
  set = function(self, range)
241
- local ____self_17 = self.unitType
242
- ____self_17.setNumberField(
243
- ____self_17,
251
+ local ____self_18 = self.unitType
252
+ ____self_18.setNumberField(
253
+ ____self_18,
244
254
  ("ua" .. tostring(self.index)) .. "r",
245
255
  range
246
256
  )
@@ -253,16 +263,16 @@ __TS__SetDescriptor(
253
263
  "soundType",
254
264
  {
255
265
  get = function(self)
256
- local ____self_18 = self.unitType
257
- return ____self_18.getStringField(
258
- ____self_18,
266
+ local ____self_19 = self.unitType
267
+ return ____self_19.getStringField(
268
+ ____self_19,
259
269
  "ucs" .. tostring(self.index)
260
270
  )
261
271
  end,
262
272
  set = function(self, soundType)
263
- local ____self_19 = self.unitType
264
- ____self_19.setStringField(
265
- ____self_19,
273
+ local ____self_20 = self.unitType
274
+ ____self_20.setStringField(
275
+ ____self_20,
266
276
  "ucs" .. tostring(self.index),
267
277
  soundType
268
278
  )
@@ -275,16 +285,16 @@ __TS__SetDescriptor(
275
285
  "soundTypeSD",
276
286
  {
277
287
  get = function(self)
278
- local ____self_20 = self.unitType
279
- return ____self_20.getStringField(
280
- ____self_20,
288
+ local ____self_21 = self.unitType
289
+ return ____self_21.getStringField(
290
+ ____self_21,
281
291
  ("ucs" .. tostring(self.index)) .. ":sd"
282
292
  )
283
293
  end,
284
294
  set = function(self, soundTypeSD)
285
- local ____self_21 = self.unitType
286
- ____self_21.setStringField(
287
- ____self_21,
295
+ local ____self_22 = self.unitType
296
+ ____self_22.setStringField(
297
+ ____self_22,
288
298
  ("ucs" .. tostring(self.index)) .. ":sd",
289
299
  soundTypeSD
290
300
  )
@@ -297,16 +307,16 @@ __TS__SetDescriptor(
297
307
  "soundTypeHD",
298
308
  {
299
309
  get = function(self)
300
- local ____self_22 = self.unitType
301
- return ____self_22.getStringField(
302
- ____self_22,
310
+ local ____self_23 = self.unitType
311
+ return ____self_23.getStringField(
312
+ ____self_23,
303
313
  ("ucs" .. tostring(self.index)) .. ":hd"
304
314
  )
305
315
  end,
306
316
  set = function(self, soundTypeHD)
307
- local ____self_23 = self.unitType
308
- ____self_23.setStringField(
309
- ____self_23,
317
+ local ____self_24 = self.unitType
318
+ ____self_24.setStringField(
319
+ ____self_24,
310
320
  ("ucs" .. tostring(self.index)) .. ":hd",
311
321
  soundTypeHD
312
322
  )
@@ -810,7 +820,7 @@ __TS__SetDescriptor(
810
820
  set = function(self, modelPath)
811
821
  self:setStringField("umdl", modelPath)
812
822
  if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
813
- self:setStringField("upor", modelPath)
823
+ self:setStringField("upor", "")
814
824
  end
815
825
  end
816
826
  },
@@ -826,7 +836,7 @@ __TS__SetDescriptor(
826
836
  set = function(self, modelPathSD)
827
837
  self:setStringField("umdl:sd", modelPathSD)
828
838
  if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
829
- self:setStringField("upor:sd", modelPathSD)
839
+ self:setStringField("upor:sd", "")
830
840
  end
831
841
  end
832
842
  },
@@ -842,7 +852,7 @@ __TS__SetDescriptor(
842
852
  set = function(self, modelPathHD)
843
853
  self:setStringField("umdl:hd", modelPathHD)
844
854
  if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
845
- self:setStringField("upor:hd", modelPathHD)
855
+ self:setStringField("upor:hd", "")
846
856
  end
847
857
  end
848
858
  },
@@ -929,6 +939,19 @@ __TS__SetDescriptor(
929
939
  },
930
940
  true
931
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)
951
+ end
952
+ },
953
+ true
954
+ )
932
955
  __TS__SetDescriptor(
933
956
  UnitType.prototype,
934
957
  "selectionCircleScale",
@@ -1176,6 +1199,19 @@ __TS__SetDescriptor(
1176
1199
  },
1177
1200
  true
1178
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
+ )
1179
1215
  __TS__SetDescriptor(
1180
1216
  UnitType.prototype,
1181
1217
  "armorSoundType",
@@ -1215,6 +1251,22 @@ __TS__SetDescriptor(
1215
1251
  },
1216
1252
  true
1217
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
+ )
1218
1270
  __TS__SetDescriptor(
1219
1271
  UnitType.prototype,
1220
1272
  "combatClassifications",
@@ -1233,7 +1285,7 @@ __TS__SetDescriptor(
1233
1285
  )
1234
1286
  __TS__SetDescriptor(
1235
1287
  UnitType.prototype,
1236
- "unitClassifications",
1288
+ "classifications",
1237
1289
  {
1238
1290
  get = function(self)
1239
1291
  return stringArrayToUnitClassifications(self:getStringsField("utyp"))
@@ -1341,10 +1393,13 @@ __TS__SetDescriptor(
1341
1393
  "movementType",
1342
1394
  {
1343
1395
  get = function(self)
1344
- return self:getStringField("umvt")
1396
+ return stringToMovementType(self:getStringField("umvt"))
1345
1397
  end,
1346
1398
  set = function(self, movementType)
1347
- self:setStringField("umvt", movementType)
1399
+ self:setStringField(
1400
+ "umvt",
1401
+ movementTypeToString(movementType)
1402
+ )
1348
1403
  end
1349
1404
  },
1350
1405
  true
@@ -1466,6 +1521,19 @@ __TS__SetDescriptor(
1466
1521
  },
1467
1522
  true
1468
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
+ )
1469
1537
  __TS__SetDescriptor(
1470
1538
  UnitType.prototype,
1471
1539
  "manaRegenerationRate",
@@ -1612,11 +1680,11 @@ __TS__SetDescriptor(
1612
1680
  implementReadonlyNumberIndexSupplier(
1613
1681
  ____exports.UnitType,
1614
1682
  function(id)
1615
- local ____class_24 = __TS__Class()
1616
- ____class_24.name = ____class_24.name
1617
- __TS__ClassExtends(____class_24, ____exports.UnitType)
1618
- ____class_24.BASE_ID = id
1619
- return ____class_24
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
1620
1688
  end
1621
1689
  )
1622
1690
  ____exports.HeroUnitType = __TS__Class()
@@ -1677,11 +1745,11 @@ __TS__SetDescriptor(
1677
1745
  implementReadonlyNumberIndexSupplier(
1678
1746
  ____exports.HeroUnitType,
1679
1747
  function(id)
1680
- local ____class_25 = __TS__Class()
1681
- ____class_25.name = ____class_25.name
1682
- __TS__ClassExtends(____class_25, ____exports.HeroUnitType)
1683
- ____class_25.BASE_ID = id
1684
- return ____class_25
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
1685
1753
  end
1686
1754
  )
1687
1755
  return ____exports
@@ -14,17 +14,17 @@ export declare const extractObjectDataEntryLevelArrayFieldValue: <T extends stri
14
14
  export declare abstract class ObjectDataEntry<Id extends ObjectDataEntryId = ObjectDataEntryId> {
15
15
  protected readonly object: WarObject;
16
16
  static readonly BASE_ID: ObjectDataEntryId;
17
- static readonly ID_TYPE: string;
18
17
  protected static readonly IS_SYNTHETIC: boolean;
19
18
  private readonly levelFieldParametersByField;
20
19
  private readonly maxAffectedLevelByField;
21
20
  private _isInternal;
22
21
  private get type();
23
22
  get isInternal(): boolean;
23
+ static get idType(): "number" | "string";
24
24
  protected static generateId(): number | string;
25
25
  protected static getObjectData(map: WarMap): WarObjects;
26
26
  static getAllIdsByBaseIds<T extends ObjectDataEntry>(this: ObjectDataEntryAbstractConstructor<T>, baseIds: number | number[] | string | string[]): ObjectDataEntryIdType<T>[];
27
- static create<T extends ObjectDataEntry>(this: ObjectDataEntryConstructor<T>, ...args: [id?: number, properties?: ObjectDataEntryProperties<T>] | [properties: ObjectDataEntryProperties<T>]): T;
27
+ static create<T extends ObjectDataEntry>(this: ObjectDataEntryConstructor<T>, ...args: [id?: number | string, properties?: ObjectDataEntryProperties<T>] | [properties: ObjectDataEntryProperties<T>]): T;
28
28
  static getAllByBaseIds<T extends ObjectDataEntry>(this: ObjectDataEntryAbstractConstructor<T>, baseIds: number | number[] | string | string[]): T[];
29
29
  static getAll<T extends ObjectDataEntry>(this: ObjectDataEntryAbstractConstructor<T>): T[];
30
30
  static of<T extends ObjectDataEntry>(this: ObjectDataEntryAbstractConstructor<T>, id: number | string): T | undefined;