warscript 0.0.1-dev.f48f7bb → 0.0.1-dev.f9166a3
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.
- package/attributes.d.ts +5 -0
- package/attributes.lua +8 -1
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/types/effect.d.ts +1 -3
- package/core/types/effect.lua +26 -29
- package/core/types/order.d.ts +1 -0
- package/core/types/order.lua +11 -1
- package/core/types/sound.d.ts +17 -24
- package/core/types/sound.lua +99 -24
- package/core/types/timer.d.ts +6 -7
- package/core/types/timer.lua +18 -21
- package/core/util.lua +6 -1
- package/decl/native.d.ts +840 -786
- package/engine/behaviour/ability/apply-buff.d.ts +5 -0
- package/engine/behaviour/ability/apply-buff.lua +32 -0
- package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
- package/engine/behaviour/ability/damage.d.ts +9 -3
- package/engine/behaviour/ability/damage.lua +26 -38
- package/engine/behaviour/ability/emulate-impact.lua +16 -2
- package/engine/behaviour/ability.d.ts +7 -2
- package/engine/behaviour/ability.lua +35 -8
- package/engine/behaviour/unit.d.ts +17 -0
- package/engine/behaviour/unit.lua +114 -4
- package/engine/buff.d.ts +56 -41
- package/engine/buff.lua +295 -228
- package/engine/internal/ability.d.ts +4 -0
- package/engine/internal/ability.lua +17 -2
- package/engine/internal/item/ability.lua +15 -13
- package/engine/internal/item.d.ts +7 -4
- package/engine/internal/item.lua +131 -28
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
- package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
- package/engine/internal/object-data/evasion-probability.d.ts +2 -0
- package/engine/internal/object-data/evasion-probability.lua +16 -0
- package/engine/internal/unit/ability.d.ts +5 -0
- package/engine/internal/unit/ability.lua +14 -0
- package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
- package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot.lua +52 -0
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/bonus.d.ts +2 -0
- package/engine/internal/unit/bonus.lua +17 -0
- package/engine/internal/unit/item.lua +3 -48
- package/engine/internal/unit+damage.d.ts +2 -11
- package/engine/internal/unit+damage.lua +10 -14
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit-missile-launch.lua +1 -1
- package/engine/internal/unit.d.ts +27 -4
- package/engine/internal/unit.lua +178 -37
- package/engine/lightning.d.ts +12 -5
- package/engine/lightning.lua +48 -14
- package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
- package/engine/object-data/auxiliary/animation-name.lua +16 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
- package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
- package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
- package/engine/object-data/auxiliary/movement-type.lua +22 -0
- package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
- package/engine/object-data/auxiliary/sound-eax.lua +2 -0
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
- package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
- package/engine/object-data/entry/ability-type/berserk.lua +13 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
- package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
- package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
- package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
- package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
- package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
- package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
- package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
- package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
- package/engine/object-data/entry/ability-type/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -0
- package/engine/object-data/entry/ability-type.d.ts +19 -17
- package/engine/object-data/entry/ability-type.lua +81 -21
- package/engine/object-data/entry/buff-type/applicable.lua +18 -37
- package/engine/object-data/entry/buff-type.d.ts +6 -12
- package/engine/object-data/entry/buff-type.lua +13 -29
- package/engine/object-data/entry/destructible-type.d.ts +1 -1
- package/engine/object-data/entry/item-type.d.ts +1 -1
- package/engine/object-data/entry/item-type.lua +4 -4
- package/engine/object-data/entry/lightning-type.d.ts +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +33 -0
- package/engine/object-data/entry/sound-preset.lua +140 -0
- package/engine/object-data/entry/unit-type.d.ts +10 -3
- package/engine/object-data/entry/unit-type.lua +155 -92
- package/engine/object-data/entry/upgrade.d.ts +1 -1
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +16 -14
- package/engine/object-data/entry.lua +60 -32
- package/engine/object-field/ability.d.ts +1 -1
- package/engine/object-field/unit.d.ts +46 -3
- package/engine/object-field/unit.lua +173 -7
- package/engine/object-field.d.ts +12 -3
- package/engine/object-field.lua +164 -78
- package/engine/standard/entries/buff-type.d.ts +3 -0
- package/engine/standard/entries/buff-type.lua +3 -0
- package/engine/standard/entries/sound-preset.d.ts +10 -0
- package/engine/standard/entries/sound-preset.lua +10 -0
- package/engine/unit.d.ts +1 -0
- package/engine/unit.lua +1 -0
- package/objutil/buff.lua +1 -2
- package/objutil/unit.lua +8 -0
- package/package.json +2 -2
- package/utility/arrays.d.ts +1 -0
- package/utility/arrays.lua +3 -0
- package/utility/functions.d.ts +1 -0
- package/utility/functions.lua +1 -0
- package/utility/linked-set.d.ts +1 -0
- package/utility/linked-set.lua +3 -0
- package/utility/lua-maps.d.ts +3 -0
- package/utility/lua-maps.lua +16 -0
- package/utility/lua-sets.d.ts +1 -0
- package/utility/lua-sets.lua +3 -0
- package/utility/reflection.lua +11 -7
|
@@ -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,6 +22,11 @@ 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
|
|
28
|
+
local ____config = require("config")
|
|
29
|
+
local WarscriptConfig = ____config.WarscriptConfig
|
|
22
30
|
local getOrCreateUnitTypeWeapons
|
|
23
31
|
____exports.UnitTypeWeapon = __TS__Class()
|
|
24
32
|
local UnitTypeWeapon = ____exports.UnitTypeWeapon
|
|
@@ -32,18 +40,19 @@ __TS__SetDescriptor(
|
|
|
32
40
|
"attackType",
|
|
33
41
|
{
|
|
34
42
|
get = function(self)
|
|
43
|
+
local ____stringToAttackType_1 = stringToAttackType
|
|
35
44
|
local ____self_0 = self.unitType
|
|
36
|
-
return ____self_0.getStringField(
|
|
45
|
+
return ____stringToAttackType_1(____self_0.getStringField(
|
|
37
46
|
____self_0,
|
|
38
47
|
("ua" .. tostring(self.index)) .. "t"
|
|
39
|
-
)
|
|
48
|
+
))
|
|
40
49
|
end,
|
|
41
50
|
set = function(self, attackType)
|
|
42
|
-
local
|
|
43
|
-
|
|
44
|
-
|
|
51
|
+
local ____self_2 = self.unitType
|
|
52
|
+
____self_2.setStringField(
|
|
53
|
+
____self_2,
|
|
45
54
|
("ua" .. tostring(self.index)) .. "t",
|
|
46
|
-
attackType
|
|
55
|
+
attackTypeToString(attackType)
|
|
47
56
|
)
|
|
48
57
|
end
|
|
49
58
|
},
|
|
@@ -54,16 +63,16 @@ __TS__SetDescriptor(
|
|
|
54
63
|
"backSwingDuration",
|
|
55
64
|
{
|
|
56
65
|
get = function(self)
|
|
57
|
-
local
|
|
58
|
-
return
|
|
59
|
-
|
|
66
|
+
local ____self_3 = self.unitType
|
|
67
|
+
return ____self_3.getNumberField(
|
|
68
|
+
____self_3,
|
|
60
69
|
"ubs" .. tostring(self.index)
|
|
61
70
|
)
|
|
62
71
|
end,
|
|
63
72
|
set = function(self, backSwingDuration)
|
|
64
|
-
local
|
|
65
|
-
|
|
66
|
-
|
|
73
|
+
local ____self_4 = self.unitType
|
|
74
|
+
____self_4.setNumberField(
|
|
75
|
+
____self_4,
|
|
67
76
|
"ubs" .. tostring(self.index),
|
|
68
77
|
backSwingDuration
|
|
69
78
|
)
|
|
@@ -76,16 +85,16 @@ __TS__SetDescriptor(
|
|
|
76
85
|
"cooldown",
|
|
77
86
|
{
|
|
78
87
|
get = function(self)
|
|
79
|
-
local
|
|
80
|
-
return
|
|
81
|
-
|
|
88
|
+
local ____self_5 = self.unitType
|
|
89
|
+
return ____self_5.getNumberField(
|
|
90
|
+
____self_5,
|
|
82
91
|
("ua" .. tostring(self.index)) .. "c"
|
|
83
92
|
)
|
|
84
93
|
end,
|
|
85
94
|
set = function(self, cooldown)
|
|
86
|
-
local
|
|
87
|
-
|
|
88
|
-
|
|
95
|
+
local ____self_6 = self.unitType
|
|
96
|
+
____self_6.setNumberField(
|
|
97
|
+
____self_6,
|
|
89
98
|
("ua" .. tostring(self.index)) .. "c",
|
|
90
99
|
cooldown
|
|
91
100
|
)
|
|
@@ -119,16 +128,16 @@ __TS__SetDescriptor(
|
|
|
119
128
|
"damageBase",
|
|
120
129
|
{
|
|
121
130
|
get = function(self)
|
|
122
|
-
local
|
|
123
|
-
return
|
|
124
|
-
|
|
131
|
+
local ____self_7 = self.unitType
|
|
132
|
+
return ____self_7.getNumberField(
|
|
133
|
+
____self_7,
|
|
125
134
|
("ua" .. tostring(self.index)) .. "b"
|
|
126
135
|
)
|
|
127
136
|
end,
|
|
128
137
|
set = function(self, damageBase)
|
|
129
|
-
local
|
|
130
|
-
|
|
131
|
-
|
|
138
|
+
local ____self_8 = self.unitType
|
|
139
|
+
____self_8.setNumberField(
|
|
140
|
+
____self_8,
|
|
132
141
|
("ua" .. tostring(self.index)) .. "b",
|
|
133
142
|
damageBase
|
|
134
143
|
)
|
|
@@ -141,16 +150,16 @@ __TS__SetDescriptor(
|
|
|
141
150
|
"damageDiceCount",
|
|
142
151
|
{
|
|
143
152
|
get = function(self)
|
|
144
|
-
local
|
|
145
|
-
return
|
|
146
|
-
|
|
153
|
+
local ____self_9 = self.unitType
|
|
154
|
+
return ____self_9.getNumberField(
|
|
155
|
+
____self_9,
|
|
147
156
|
("ua" .. tostring(self.index)) .. "d"
|
|
148
157
|
)
|
|
149
158
|
end,
|
|
150
159
|
set = function(self, damageDiceNumber)
|
|
151
|
-
local
|
|
152
|
-
|
|
153
|
-
|
|
160
|
+
local ____self_10 = self.unitType
|
|
161
|
+
____self_10.setNumberField(
|
|
162
|
+
____self_10,
|
|
154
163
|
("ua" .. tostring(self.index)) .. "d",
|
|
155
164
|
damageDiceNumber
|
|
156
165
|
)
|
|
@@ -163,16 +172,16 @@ __TS__SetDescriptor(
|
|
|
163
172
|
"damageDiceSideCount",
|
|
164
173
|
{
|
|
165
174
|
get = function(self)
|
|
166
|
-
local
|
|
167
|
-
return
|
|
168
|
-
|
|
175
|
+
local ____self_11 = self.unitType
|
|
176
|
+
return ____self_11.getNumberField(
|
|
177
|
+
____self_11,
|
|
169
178
|
("ua" .. tostring(self.index)) .. "s"
|
|
170
179
|
)
|
|
171
180
|
end,
|
|
172
181
|
set = function(self, damageDiceSideCount)
|
|
173
|
-
local
|
|
174
|
-
|
|
175
|
-
|
|
182
|
+
local ____self_12 = self.unitType
|
|
183
|
+
____self_12.setNumberField(
|
|
184
|
+
____self_12,
|
|
176
185
|
("ua" .. tostring(self.index)) .. "s",
|
|
177
186
|
damageDiceSideCount
|
|
178
187
|
)
|
|
@@ -185,16 +194,16 @@ __TS__SetDescriptor(
|
|
|
185
194
|
"impactDelay",
|
|
186
195
|
{
|
|
187
196
|
get = function(self)
|
|
188
|
-
local
|
|
189
|
-
return
|
|
190
|
-
|
|
197
|
+
local ____self_13 = self.unitType
|
|
198
|
+
return ____self_13.getNumberField(
|
|
199
|
+
____self_13,
|
|
191
200
|
"udp" .. tostring(self.index)
|
|
192
201
|
)
|
|
193
202
|
end,
|
|
194
203
|
set = function(self, impactDelay)
|
|
195
|
-
local
|
|
196
|
-
|
|
197
|
-
|
|
204
|
+
local ____self_14 = self.unitType
|
|
205
|
+
____self_14.setNumberField(
|
|
206
|
+
____self_14,
|
|
198
207
|
"udp" .. tostring(self.index),
|
|
199
208
|
impactDelay
|
|
200
209
|
)
|
|
@@ -207,16 +216,16 @@ __TS__SetDescriptor(
|
|
|
207
216
|
"missileModelPath",
|
|
208
217
|
{
|
|
209
218
|
get = function(self)
|
|
210
|
-
local
|
|
211
|
-
return
|
|
212
|
-
|
|
219
|
+
local ____self_15 = self.unitType
|
|
220
|
+
return ____self_15.getStringField(
|
|
221
|
+
____self_15,
|
|
213
222
|
("ua" .. tostring(self.index)) .. "m"
|
|
214
223
|
)
|
|
215
224
|
end,
|
|
216
225
|
set = function(self, missileModelPath)
|
|
217
|
-
local
|
|
218
|
-
|
|
219
|
-
|
|
226
|
+
local ____self_16 = self.unitType
|
|
227
|
+
____self_16.setStringField(
|
|
228
|
+
____self_16,
|
|
220
229
|
("ua" .. tostring(self.index)) .. "m",
|
|
221
230
|
missileModelPath
|
|
222
231
|
)
|
|
@@ -229,16 +238,16 @@ __TS__SetDescriptor(
|
|
|
229
238
|
"range",
|
|
230
239
|
{
|
|
231
240
|
get = function(self)
|
|
232
|
-
local
|
|
233
|
-
return
|
|
234
|
-
|
|
241
|
+
local ____self_17 = self.unitType
|
|
242
|
+
return ____self_17.getNumberField(
|
|
243
|
+
____self_17,
|
|
235
244
|
("ua" .. tostring(self.index)) .. "r"
|
|
236
245
|
)
|
|
237
246
|
end,
|
|
238
247
|
set = function(self, range)
|
|
239
|
-
local
|
|
240
|
-
|
|
241
|
-
|
|
248
|
+
local ____self_18 = self.unitType
|
|
249
|
+
____self_18.setNumberField(
|
|
250
|
+
____self_18,
|
|
242
251
|
("ua" .. tostring(self.index)) .. "r",
|
|
243
252
|
range
|
|
244
253
|
)
|
|
@@ -251,16 +260,16 @@ __TS__SetDescriptor(
|
|
|
251
260
|
"soundType",
|
|
252
261
|
{
|
|
253
262
|
get = function(self)
|
|
254
|
-
local
|
|
255
|
-
return
|
|
256
|
-
|
|
263
|
+
local ____self_19 = self.unitType
|
|
264
|
+
return ____self_19.getStringField(
|
|
265
|
+
____self_19,
|
|
257
266
|
"ucs" .. tostring(self.index)
|
|
258
267
|
)
|
|
259
268
|
end,
|
|
260
269
|
set = function(self, soundType)
|
|
261
|
-
local
|
|
262
|
-
|
|
263
|
-
|
|
270
|
+
local ____self_20 = self.unitType
|
|
271
|
+
____self_20.setStringField(
|
|
272
|
+
____self_20,
|
|
264
273
|
"ucs" .. tostring(self.index),
|
|
265
274
|
soundType
|
|
266
275
|
)
|
|
@@ -273,16 +282,16 @@ __TS__SetDescriptor(
|
|
|
273
282
|
"soundTypeSD",
|
|
274
283
|
{
|
|
275
284
|
get = function(self)
|
|
276
|
-
local
|
|
277
|
-
return
|
|
278
|
-
|
|
285
|
+
local ____self_21 = self.unitType
|
|
286
|
+
return ____self_21.getStringField(
|
|
287
|
+
____self_21,
|
|
279
288
|
("ucs" .. tostring(self.index)) .. ":sd"
|
|
280
289
|
)
|
|
281
290
|
end,
|
|
282
291
|
set = function(self, soundTypeSD)
|
|
283
|
-
local
|
|
284
|
-
|
|
285
|
-
|
|
292
|
+
local ____self_22 = self.unitType
|
|
293
|
+
____self_22.setStringField(
|
|
294
|
+
____self_22,
|
|
286
295
|
("ucs" .. tostring(self.index)) .. ":sd",
|
|
287
296
|
soundTypeSD
|
|
288
297
|
)
|
|
@@ -295,16 +304,16 @@ __TS__SetDescriptor(
|
|
|
295
304
|
"soundTypeHD",
|
|
296
305
|
{
|
|
297
306
|
get = function(self)
|
|
298
|
-
local
|
|
299
|
-
return
|
|
300
|
-
|
|
307
|
+
local ____self_23 = self.unitType
|
|
308
|
+
return ____self_23.getStringField(
|
|
309
|
+
____self_23,
|
|
301
310
|
("ucs" .. tostring(self.index)) .. ":hd"
|
|
302
311
|
)
|
|
303
312
|
end,
|
|
304
313
|
set = function(self, soundTypeHD)
|
|
305
|
-
local
|
|
306
|
-
|
|
307
|
-
|
|
314
|
+
local ____self_24 = self.unitType
|
|
315
|
+
____self_24.setStringField(
|
|
316
|
+
____self_24,
|
|
308
317
|
("ucs" .. tostring(self.index)) .. ":hd",
|
|
309
318
|
soundTypeHD
|
|
310
319
|
)
|
|
@@ -345,10 +354,10 @@ __TS__SetDescriptor(
|
|
|
345
354
|
"abilityTypeIds",
|
|
346
355
|
{
|
|
347
356
|
get = function(self)
|
|
348
|
-
return self:
|
|
357
|
+
return self:getObjectDataEntryNumericIdsField("uabi")
|
|
349
358
|
end,
|
|
350
359
|
set = function(self, abilityTypeIds)
|
|
351
|
-
self:
|
|
360
|
+
self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
|
|
352
361
|
end
|
|
353
362
|
},
|
|
354
363
|
true
|
|
@@ -358,10 +367,10 @@ __TS__SetDescriptor(
|
|
|
358
367
|
"defaultActiveAbilityTypeId",
|
|
359
368
|
{
|
|
360
369
|
get = function(self)
|
|
361
|
-
return self:
|
|
370
|
+
return self:getObjectDataEntryNumericIdsField("udaa")[1]
|
|
362
371
|
end,
|
|
363
372
|
set = function(self, abilityTypeId)
|
|
364
|
-
self:
|
|
373
|
+
self:setObjectDataEntryNumericIdsField(
|
|
365
374
|
"udaa",
|
|
366
375
|
arrayOfNotNull(abilityTypeId)
|
|
367
376
|
)
|
|
@@ -807,6 +816,9 @@ __TS__SetDescriptor(
|
|
|
807
816
|
end,
|
|
808
817
|
set = function(self, modelPath)
|
|
809
818
|
self:setStringField("umdl", modelPath)
|
|
819
|
+
if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
|
|
820
|
+
self:setStringField("upor", "")
|
|
821
|
+
end
|
|
810
822
|
end
|
|
811
823
|
},
|
|
812
824
|
true
|
|
@@ -820,6 +832,9 @@ __TS__SetDescriptor(
|
|
|
820
832
|
end,
|
|
821
833
|
set = function(self, modelPathSD)
|
|
822
834
|
self:setStringField("umdl:sd", modelPathSD)
|
|
835
|
+
if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
|
|
836
|
+
self:setStringField("upor:sd", "")
|
|
837
|
+
end
|
|
823
838
|
end
|
|
824
839
|
},
|
|
825
840
|
true
|
|
@@ -833,6 +848,51 @@ __TS__SetDescriptor(
|
|
|
833
848
|
end,
|
|
834
849
|
set = function(self, modelPathHD)
|
|
835
850
|
self:setStringField("umdl:hd", modelPathHD)
|
|
851
|
+
if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
|
|
852
|
+
self:setStringField("upor:hd", "")
|
|
853
|
+
end
|
|
854
|
+
end
|
|
855
|
+
},
|
|
856
|
+
true
|
|
857
|
+
)
|
|
858
|
+
__TS__SetDescriptor(
|
|
859
|
+
UnitType.prototype,
|
|
860
|
+
"portraitModelPath",
|
|
861
|
+
{
|
|
862
|
+
get = function(self)
|
|
863
|
+
return self:getStringField("upor")
|
|
864
|
+
end,
|
|
865
|
+
set = function(self, portraitModelPath)
|
|
866
|
+
self:setStringField("upor", portraitModelPath)
|
|
867
|
+
self.isPortraitModelPathSet = true
|
|
868
|
+
end
|
|
869
|
+
},
|
|
870
|
+
true
|
|
871
|
+
)
|
|
872
|
+
__TS__SetDescriptor(
|
|
873
|
+
UnitType.prototype,
|
|
874
|
+
"portraitModelPathSD",
|
|
875
|
+
{
|
|
876
|
+
get = function(self)
|
|
877
|
+
return self:getStringField("upor:sd")
|
|
878
|
+
end,
|
|
879
|
+
set = function(self, portraitModelPathSD)
|
|
880
|
+
self:setStringField("upor:sd", portraitModelPathSD)
|
|
881
|
+
self.isPortraitModelPathSet = true
|
|
882
|
+
end
|
|
883
|
+
},
|
|
884
|
+
true
|
|
885
|
+
)
|
|
886
|
+
__TS__SetDescriptor(
|
|
887
|
+
UnitType.prototype,
|
|
888
|
+
"portraitModelPathHD",
|
|
889
|
+
{
|
|
890
|
+
get = function(self)
|
|
891
|
+
return self:getStringField("upor:hd")
|
|
892
|
+
end,
|
|
893
|
+
set = function(self, portraitModelPathHD)
|
|
894
|
+
self:setStringField("upor:hd", portraitModelPathHD)
|
|
895
|
+
self.isPortraitModelPathSet = true
|
|
836
896
|
end
|
|
837
897
|
},
|
|
838
898
|
true
|
|
@@ -1288,10 +1348,13 @@ __TS__SetDescriptor(
|
|
|
1288
1348
|
"movementType",
|
|
1289
1349
|
{
|
|
1290
1350
|
get = function(self)
|
|
1291
|
-
return self:getStringField("umvt")
|
|
1351
|
+
return stringToMovementType(self:getStringField("umvt"))
|
|
1292
1352
|
end,
|
|
1293
1353
|
set = function(self, movementType)
|
|
1294
|
-
self:setStringField(
|
|
1354
|
+
self:setStringField(
|
|
1355
|
+
"umvt",
|
|
1356
|
+
movementTypeToString(movementType)
|
|
1357
|
+
)
|
|
1295
1358
|
end
|
|
1296
1359
|
},
|
|
1297
1360
|
true
|
|
@@ -1496,10 +1559,10 @@ __TS__SetDescriptor(
|
|
|
1496
1559
|
"affectingUpgradeIds",
|
|
1497
1560
|
{
|
|
1498
1561
|
get = function(self)
|
|
1499
|
-
return self:
|
|
1562
|
+
return self:getObjectDataEntryNumericIdsField("upgr")
|
|
1500
1563
|
end,
|
|
1501
1564
|
set = function(self, affectingUpgradeIds)
|
|
1502
|
-
self:
|
|
1565
|
+
self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
|
|
1503
1566
|
end
|
|
1504
1567
|
},
|
|
1505
1568
|
true
|
|
@@ -1559,11 +1622,11 @@ __TS__SetDescriptor(
|
|
|
1559
1622
|
implementReadonlyNumberIndexSupplier(
|
|
1560
1623
|
____exports.UnitType,
|
|
1561
1624
|
function(id)
|
|
1562
|
-
local
|
|
1563
|
-
|
|
1564
|
-
__TS__ClassExtends(
|
|
1565
|
-
|
|
1566
|
-
return
|
|
1625
|
+
local ____class_25 = __TS__Class()
|
|
1626
|
+
____class_25.name = ____class_25.name
|
|
1627
|
+
__TS__ClassExtends(____class_25, ____exports.UnitType)
|
|
1628
|
+
____class_25.BASE_ID = id
|
|
1629
|
+
return ____class_25
|
|
1567
1630
|
end
|
|
1568
1631
|
)
|
|
1569
1632
|
____exports.HeroUnitType = __TS__Class()
|
|
@@ -1582,10 +1645,10 @@ __TS__SetDescriptor(
|
|
|
1582
1645
|
"heroAbilityTypeIds",
|
|
1583
1646
|
{
|
|
1584
1647
|
get = function(self)
|
|
1585
|
-
return self:
|
|
1648
|
+
return self:getObjectDataEntryNumericIdsField("uhab")
|
|
1586
1649
|
end,
|
|
1587
1650
|
set = function(self, heroAbilityTypeIds)
|
|
1588
|
-
self:
|
|
1651
|
+
self:setObjectDataEntryNumericIdsField("uhab", heroAbilityTypeIds)
|
|
1589
1652
|
end
|
|
1590
1653
|
},
|
|
1591
1654
|
true
|
|
@@ -1624,11 +1687,11 @@ __TS__SetDescriptor(
|
|
|
1624
1687
|
implementReadonlyNumberIndexSupplier(
|
|
1625
1688
|
____exports.HeroUnitType,
|
|
1626
1689
|
function(id)
|
|
1627
|
-
local
|
|
1628
|
-
|
|
1629
|
-
__TS__ClassExtends(
|
|
1630
|
-
|
|
1631
|
-
return
|
|
1690
|
+
local ____class_26 = __TS__Class()
|
|
1691
|
+
____class_26.name = ____class_26.name
|
|
1692
|
+
__TS__ClassExtends(____class_26, ____exports.HeroUnitType)
|
|
1693
|
+
____class_26.BASE_ID = id
|
|
1694
|
+
return ____class_26
|
|
1632
1695
|
end
|
|
1633
1696
|
)
|
|
1634
1697
|
return ____exports
|
|
@@ -3,7 +3,7 @@ import { TupleOf } from "../../../utility/types";
|
|
|
3
3
|
import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
|
|
4
4
|
import { ObjectDataEntry, ObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
|
|
5
5
|
import { AbilityTypeId } from "./ability-type";
|
|
6
|
-
export type UpgradeId = ObjectDataEntryId & {
|
|
6
|
+
export type UpgradeId = ObjectDataEntryId & number & {
|
|
7
7
|
readonly __upgradeId: unique symbol;
|
|
8
8
|
};
|
|
9
9
|
export declare const enum UpgradeEffectType {
|
|
@@ -32,7 +32,7 @@ function Upgrade.prototype.getEffect(self, i)
|
|
|
32
32
|
type = effectType,
|
|
33
33
|
bonusBase = self:getNumberField("gba" .. tostring(i)),
|
|
34
34
|
bonusIncrement = self:getNumberField("gmo" .. tostring(i)),
|
|
35
|
-
abilityTypeId = self:
|
|
35
|
+
abilityTypeId = self:getObjectDataEntryNumericIdField("gco" .. tostring(i))
|
|
36
36
|
}
|
|
37
37
|
end
|
|
38
38
|
return nil
|
|
@@ -51,7 +51,7 @@ function Upgrade.prototype.setEffect(self, i, effect)
|
|
|
51
51
|
effect and effect.bonusIncrement or 0
|
|
52
52
|
)
|
|
53
53
|
if (effect and effect.abilityTypeId) ~= nil then
|
|
54
|
-
self:
|
|
54
|
+
self:setObjectDataEntryNumericIdField(
|
|
55
55
|
"gco" .. tostring(i),
|
|
56
56
|
effect and effect.abilityTypeId
|
|
57
57
|
)
|
|
@@ -145,7 +145,7 @@ __TS__SetDescriptor(
|
|
|
145
145
|
"techTreeDependencies",
|
|
146
146
|
{
|
|
147
147
|
get = function(self)
|
|
148
|
-
local techTreeDependencyIds = self:
|
|
148
|
+
local techTreeDependencyIds = self:getObjectDataEntryNumericIdsLevelField("greq")
|
|
149
149
|
local techTreeDependencyInternalLevels = self:getNumbersLevelField("grqc")
|
|
150
150
|
return mapIndexed(
|
|
151
151
|
techTreeDependencyIds,
|
|
@@ -177,7 +177,7 @@ __TS__SetDescriptor(
|
|
|
177
177
|
function(level) return level + 1 end
|
|
178
178
|
)
|
|
179
179
|
end
|
|
180
|
-
self:
|
|
180
|
+
self:setObjectDataEntryNumericIdsLevelField("greq", techTreeDependencyIds)
|
|
181
181
|
self:setNumbersLevelField("grqc", techTreeDependencyInternalLevels)
|
|
182
182
|
end
|
|
183
183
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { AttachmentPreset, AttachmentPresetInput } from "./auxiliary/attachment-preset";
|
|
3
3
|
import { MutableKeys } from "../../utility/types";
|
|
4
|
-
export type ObjectDataEntryId = number & {
|
|
4
|
+
export type ObjectDataEntryId = (number | string) & {
|
|
5
5
|
readonly __objectDataEntryId: unique symbol;
|
|
6
6
|
};
|
|
7
7
|
export type ObjectDataEntryIdType<T extends ObjectDataEntry> = T extends ObjectDataEntry<infer Id> ? Id : never;
|
|
@@ -18,14 +18,16 @@ export declare abstract class ObjectDataEntry<Id extends ObjectDataEntryId = Obj
|
|
|
18
18
|
private readonly levelFieldParametersByField;
|
|
19
19
|
private readonly maxAffectedLevelByField;
|
|
20
20
|
private _isInternal;
|
|
21
|
+
private get type();
|
|
21
22
|
get isInternal(): boolean;
|
|
22
|
-
|
|
23
|
+
static get idType(): "number" | "string";
|
|
24
|
+
protected static generateId(): number | string;
|
|
23
25
|
protected static getObjectData(map: WarMap): WarObjects;
|
|
24
|
-
static getAllIdsByBaseIds<T extends ObjectDataEntry>(this: ObjectDataEntryAbstractConstructor<T>, baseIds: number | number[]): ObjectDataEntryIdType<T>[];
|
|
25
|
-
static create<T extends ObjectDataEntry>(this: ObjectDataEntryConstructor<T>, ...args: [id?: number, properties?: ObjectDataEntryProperties<T>] | [properties: ObjectDataEntryProperties<T>]): T;
|
|
26
|
-
static getAllByBaseIds<T extends ObjectDataEntry>(this: ObjectDataEntryAbstractConstructor<T>, baseIds: number | number[]): T[];
|
|
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 | string, properties?: ObjectDataEntryProperties<T>] | [properties: ObjectDataEntryProperties<T>]): T;
|
|
28
|
+
static getAllByBaseIds<T extends ObjectDataEntry>(this: ObjectDataEntryAbstractConstructor<T>, baseIds: number | number[] | string | string[]): T[];
|
|
27
29
|
static getAll<T extends ObjectDataEntry>(this: ObjectDataEntryAbstractConstructor<T>): T[];
|
|
28
|
-
static of<T extends ObjectDataEntry>(this: ObjectDataEntryAbstractConstructor<T>, id: number): T | undefined;
|
|
30
|
+
static of<T extends ObjectDataEntry>(this: ObjectDataEntryAbstractConstructor<T>, id: number | string): T | undefined;
|
|
29
31
|
constructor(object: WarObject);
|
|
30
32
|
get id(): Id;
|
|
31
33
|
get baseId(): Id;
|
|
@@ -42,8 +44,8 @@ export declare abstract class ObjectDataEntry<Id extends ObjectDataEntryId = Obj
|
|
|
42
44
|
protected setNumberField(field: string, value: number): void;
|
|
43
45
|
protected getStringField(field: string): string;
|
|
44
46
|
protected setStringField(field: string, value: string): void;
|
|
45
|
-
protected
|
|
46
|
-
protected
|
|
47
|
+
protected getObjectDataEntryNumericIdField<Id extends ObjectDataEntryId & number>(field: string): Id;
|
|
48
|
+
protected setObjectDataEntryNumericIdField<Id extends ObjectDataEntryId & number>(field: string, value: Id): void;
|
|
47
49
|
protected getAttachmentPresetField(modelPathField: string, nodeFQNField: string): AttachmentPreset | undefined;
|
|
48
50
|
protected setAttachmentPresetField(modelPathField: string, nodeFQNField: string, attachmentPreset: AttachmentPresetInput | undefined): void;
|
|
49
51
|
protected getBooleansField(field: string): boolean[];
|
|
@@ -52,8 +54,8 @@ export declare abstract class ObjectDataEntry<Id extends ObjectDataEntryId = Obj
|
|
|
52
54
|
protected setNumbersField(field: string, values: number[]): void;
|
|
53
55
|
protected getStringsField(field: string): string[];
|
|
54
56
|
protected setStringsField(field: string, values: string[]): void;
|
|
55
|
-
protected
|
|
56
|
-
protected
|
|
57
|
+
protected getObjectDataEntryNumericIdsField<Id extends ObjectDataEntryId & number>(field: string): Id[];
|
|
58
|
+
protected setObjectDataEntryNumericIdsField<Id extends ObjectDataEntryId & number>(field: string, values: Id[]): void;
|
|
57
59
|
protected getAttachmentPresetListField(modelPathListField: string, nodeFQNFields: string[]): AttachmentPreset[];
|
|
58
60
|
protected setAttachmentPresetListField(modelPathListField: string, nodeFQNFields: string[], lengthField: string, attachmentPresets: AttachmentPresetInput[]): void;
|
|
59
61
|
protected setFlagLevelFieldValue(fieldId: string, flag: 1 | 2 | 4 | 8 | 16, supplier: ObjectDataEntryLevelFieldValueSupplier<boolean>): void;
|
|
@@ -64,16 +66,16 @@ export declare abstract class ObjectDataEntry<Id extends ObjectDataEntryId = Obj
|
|
|
64
66
|
protected setNumberLevelField(field: string, values: ObjectDataEntryLevelFieldValueSupplier<number>): void;
|
|
65
67
|
protected getStringLevelField(field: string): string[];
|
|
66
68
|
protected setStringLevelField(field: string, values: ObjectDataEntryLevelFieldValueSupplier<string>): void;
|
|
67
|
-
protected
|
|
68
|
-
protected
|
|
69
|
+
protected getObjectDataEntryNumericIdLevelField<Id extends ObjectDataEntryId & number>(field: string): Id[];
|
|
70
|
+
protected setObjectDataEntryNumericIdLevelField<Id extends ObjectDataEntryId & number>(field: string, values: ObjectDataEntryLevelFieldValueSupplier<Id>): void;
|
|
69
71
|
protected getBooleansLevelField(field: string): boolean[][];
|
|
70
72
|
protected setBooleansLevelField(field: string, values: ObjectDataEntryLevelFieldValueSupplier<boolean[]>): void;
|
|
71
73
|
protected getNumbersLevelField(field: string): number[][];
|
|
72
74
|
protected setNumbersLevelField(field: string, values: ObjectDataEntryLevelFieldValueSupplier<number[]>): void;
|
|
73
75
|
protected getStringsLevelField(field: string): string[][];
|
|
74
76
|
protected setStringsLevelField(field: string, values: ObjectDataEntryLevelFieldValueSupplier<string[]>): void;
|
|
75
|
-
protected
|
|
76
|
-
protected
|
|
77
|
+
protected getObjectDataEntryNumericIdsLevelField<T extends ObjectDataEntryId & number>(field: string): T[][];
|
|
78
|
+
protected setObjectDataEntryNumericIdsLevelField<T extends ObjectDataEntryId & number>(field: string, values: ObjectDataEntryLevelFieldValueSupplier<T[]>): void;
|
|
77
79
|
private getLevelField;
|
|
78
80
|
private setLevelField;
|
|
79
81
|
}
|