warscript 0.0.1-dev.f566ce7 → 0.0.1-dev.f594e71

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 (185) hide show
  1. package/core/types/frame.d.ts +1 -0
  2. package/core/types/frame.lua +65 -36
  3. package/core/types/handle.lua +9 -9
  4. package/core/types/player.d.ts +2 -1
  5. package/core/types/player.lua +18 -13
  6. package/core/types/playerColor.lua +4 -3
  7. package/core/types/sound.d.ts +1 -1
  8. package/core/types/sound.lua +13 -8
  9. package/core/types/unit.d.ts +4 -0
  10. package/core/types/unit.lua +4 -0
  11. package/decl/native.d.ts +705 -7
  12. package/engine/behaviour/ability/damage.lua +11 -14
  13. package/engine/behaviour/ability.d.ts +1 -0
  14. package/engine/behaviour/ability.lua +11 -0
  15. package/engine/behaviour/unit.d.ts +1 -0
  16. package/engine/behaviour/unit.lua +1 -0
  17. package/engine/buff.d.ts +12 -10
  18. package/engine/buff.lua +64 -16
  19. package/engine/index.d.ts +2 -1
  20. package/engine/internal/ability.d.ts +4 -0
  21. package/engine/internal/ability.lua +37 -18
  22. package/engine/internal/item+owner.d.ts +1 -0
  23. package/engine/internal/item+owner.lua +7 -0
  24. package/engine/internal/item.d.ts +16 -1
  25. package/engine/internal/item.lua +130 -20
  26. package/engine/internal/unit/ability.lua +15 -3
  27. package/engine/internal/unit/appearance.d.ts +15 -0
  28. package/engine/internal/unit/appearance.lua +85 -0
  29. package/engine/internal/unit/bag.d.ts +18 -0
  30. package/engine/internal/unit/bag.lua +63 -0
  31. package/engine/internal/unit/buff.d.ts +2 -2
  32. package/engine/internal/unit/buff.lua +34 -19
  33. package/engine/internal/unit/equipment.d.ts +36 -0
  34. package/engine/internal/unit/equipment.lua +169 -0
  35. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +3 -3
  36. package/engine/internal/unit/{item.lua → inventory.lua} +25 -26
  37. package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
  38. package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
  39. package/engine/internal/unit+damage.d.ts +9 -0
  40. package/engine/internal/unit+damage.lua +33 -0
  41. package/engine/internal/unit-missile-data.lua +58 -32
  42. package/engine/internal/unit.d.ts +0 -1
  43. package/engine/internal/unit.lua +2 -7
  44. package/engine/local-client.d.ts +20 -0
  45. package/engine/local-client.lua +284 -53
  46. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  47. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  48. package/engine/object-data/auxiliary/equipment-type.d.ts +13 -0
  49. package/engine/object-data/auxiliary/equipment-type.lua +2 -0
  50. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  51. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  52. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  53. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  54. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  55. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  56. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  57. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  58. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  59. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  60. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  61. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  62. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  63. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -0
  64. package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
  65. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  66. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  67. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  68. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  69. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  70. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  71. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  72. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  73. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  74. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  75. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  76. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  77. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  78. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  79. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  80. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  81. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  82. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  83. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  84. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  85. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  86. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  87. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  88. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  89. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  90. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  91. package/engine/object-data/entry/ability-type/healing-modifier.d.ts +9 -0
  92. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  93. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  94. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  95. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  96. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  97. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  98. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  99. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  100. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  101. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  102. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  103. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  104. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  105. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  106. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  107. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  108. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  109. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  110. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  111. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  112. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  113. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  114. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  115. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  116. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  117. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  118. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  119. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  120. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  121. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  122. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  123. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  124. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  125. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  126. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  127. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  128. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  129. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  130. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  131. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  132. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  133. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  134. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  135. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  136. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  137. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  138. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  139. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  140. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  141. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  142. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  143. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  144. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  145. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  146. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  147. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  148. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  149. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  150. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  151. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  152. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  153. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  154. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  155. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  156. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  157. package/engine/object-data/entry/ability-type.d.ts +10 -3
  158. package/engine/object-data/entry/ability-type.lua +53 -0
  159. package/engine/object-data/entry/buff-type.d.ts +6 -2
  160. package/engine/object-data/entry/buff-type.lua +26 -0
  161. package/engine/object-data/entry/destructible-type.d.ts +6 -2
  162. package/engine/object-data/entry/destructible-type.lua +26 -0
  163. package/engine/object-data/entry/item-type.d.ts +12 -3
  164. package/engine/object-data/entry/item-type.lua +52 -0
  165. package/engine/object-data/entry/lightning-type.d.ts +2 -2
  166. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  167. package/engine/object-data/entry/unit-type.d.ts +47 -2
  168. package/engine/object-data/entry/unit-type.lua +383 -49
  169. package/engine/object-data/entry/upgrade.d.ts +2 -2
  170. package/engine/object-data/entry.d.ts +4 -1
  171. package/engine/standard/entries/ability-type.d.ts +3102 -7
  172. package/engine/standard/entries/ability-type.lua +0 -6
  173. package/engine/standard/entries/item-type.d.ts +1299 -0
  174. package/engine/standard/entries/item-type.lua +2 -0
  175. package/engine/standard/entries/unit-type.d.ts +5 -0
  176. package/engine/standard/entries/unit-type.lua +5 -0
  177. package/engine/unit.d.ts +4 -1
  178. package/engine/unit.lua +4 -1
  179. package/event.d.ts +1 -1
  180. package/network.lua +25 -1
  181. package/operation.d.ts +8 -1
  182. package/operation.lua +37 -14
  183. package/package.json +2 -22
  184. package/utility/random.d.ts +102 -0
  185. package/utility/random.lua +273 -0
@@ -31,6 +31,10 @@ local ____armor_2Dtype = require("engine.object-data.auxiliary.armor-type")
31
31
  local armorTypeToString = ____armor_2Dtype.armorTypeToString
32
32
  local stringToArmorType = ____armor_2Dtype.stringToArmorType
33
33
  local getOrCreateUnitTypeWeapons
34
+ --- Bit of the `udea` (death type) field: the corpse can be raised.
35
+ local DEATH_TYPE_RAISABLE = 1
36
+ --- Bit of the `udea` (death type) field: the corpse decays.
37
+ local DEATH_TYPE_DECAYABLE = 2
34
38
  ____exports.UnitTypeWeapon = __TS__Class()
35
39
  local UnitTypeWeapon = ____exports.UnitTypeWeapon
36
40
  UnitTypeWeapon.name = "UnitTypeWeapon"
@@ -216,21 +220,21 @@ __TS__SetDescriptor(
216
220
  )
217
221
  __TS__SetDescriptor(
218
222
  UnitTypeWeapon.prototype,
219
- "missileModelPath",
223
+ "missileArc",
220
224
  {
221
225
  get = function(self)
222
226
  local ____self_15 = self.unitType
223
- return ____self_15.getStringField(
227
+ return ____self_15.getNumberField(
224
228
  ____self_15,
225
- ("ua" .. tostring(self.index)) .. "m"
229
+ "uma" .. tostring(self.index)
226
230
  )
227
231
  end,
228
- set = function(self, missileModelPath)
232
+ set = function(self, missileArc)
229
233
  local ____self_16 = self.unitType
230
- ____self_16.setStringField(
234
+ ____self_16.setNumberField(
231
235
  ____self_16,
232
- ("ua" .. tostring(self.index)) .. "m",
233
- missileModelPath
236
+ "uma" .. tostring(self.index),
237
+ missileArc
234
238
  )
235
239
  end
236
240
  },
@@ -238,21 +242,21 @@ __TS__SetDescriptor(
238
242
  )
239
243
  __TS__SetDescriptor(
240
244
  UnitTypeWeapon.prototype,
241
- "missileModelPathSD",
245
+ "missileModelPath",
242
246
  {
243
247
  get = function(self)
244
248
  local ____self_17 = self.unitType
245
249
  return ____self_17.getStringField(
246
250
  ____self_17,
247
- ("ua" .. tostring(self.index)) .. "m:sd"
251
+ ("ua" .. tostring(self.index)) .. "m"
248
252
  )
249
253
  end,
250
- set = function(self, missileModelPathSD)
254
+ set = function(self, missileModelPath)
251
255
  local ____self_18 = self.unitType
252
256
  ____self_18.setStringField(
253
257
  ____self_18,
254
- ("ua" .. tostring(self.index)) .. "m:sd",
255
- missileModelPathSD
258
+ ("ua" .. tostring(self.index)) .. "m",
259
+ missileModelPath
256
260
  )
257
261
  end
258
262
  },
@@ -260,21 +264,21 @@ __TS__SetDescriptor(
260
264
  )
261
265
  __TS__SetDescriptor(
262
266
  UnitTypeWeapon.prototype,
263
- "missileModelPathHD",
267
+ "missileModelPathSD",
264
268
  {
265
269
  get = function(self)
266
270
  local ____self_19 = self.unitType
267
271
  return ____self_19.getStringField(
268
272
  ____self_19,
269
- ("ua" .. tostring(self.index)) .. "m:hd"
273
+ ("ua" .. tostring(self.index)) .. "m:sd"
270
274
  )
271
275
  end,
272
- set = function(self, missileModelPathHD)
276
+ set = function(self, missileModelPathSD)
273
277
  local ____self_20 = self.unitType
274
278
  ____self_20.setStringField(
275
279
  ____self_20,
276
- ("ua" .. tostring(self.index)) .. "m:hd",
277
- missileModelPathHD
280
+ ("ua" .. tostring(self.index)) .. "m:sd",
281
+ missileModelPathSD
278
282
  )
279
283
  end
280
284
  },
@@ -282,21 +286,21 @@ __TS__SetDescriptor(
282
286
  )
283
287
  __TS__SetDescriptor(
284
288
  UnitTypeWeapon.prototype,
285
- "range",
289
+ "missileModelPathHD",
286
290
  {
287
291
  get = function(self)
288
292
  local ____self_21 = self.unitType
289
- return ____self_21.getNumberField(
293
+ return ____self_21.getStringField(
290
294
  ____self_21,
291
- ("ua" .. tostring(self.index)) .. "r"
295
+ ("ua" .. tostring(self.index)) .. "m:hd"
292
296
  )
293
297
  end,
294
- set = function(self, range)
298
+ set = function(self, missileModelPathHD)
295
299
  local ____self_22 = self.unitType
296
- ____self_22.setNumberField(
300
+ ____self_22.setStringField(
297
301
  ____self_22,
298
- ("ua" .. tostring(self.index)) .. "r",
299
- range
302
+ ("ua" .. tostring(self.index)) .. "m:hd",
303
+ missileModelPathHD
300
304
  )
301
305
  end
302
306
  },
@@ -304,19 +308,85 @@ __TS__SetDescriptor(
304
308
  )
305
309
  __TS__SetDescriptor(
306
310
  UnitTypeWeapon.prototype,
307
- "soundType",
311
+ "missileModelPathDE",
308
312
  {
309
313
  get = function(self)
310
314
  local ____self_23 = self.unitType
311
315
  return ____self_23.getStringField(
312
316
  ____self_23,
313
- "ucs" .. tostring(self.index)
317
+ ("ua" .. tostring(self.index)) .. "m:de"
314
318
  )
315
319
  end,
316
- set = function(self, soundType)
320
+ set = function(self, missileModelPathDE)
317
321
  local ____self_24 = self.unitType
318
322
  ____self_24.setStringField(
319
323
  ____self_24,
324
+ ("ua" .. tostring(self.index)) .. "m:de",
325
+ missileModelPathDE
326
+ )
327
+ end
328
+ },
329
+ true
330
+ )
331
+ __TS__SetDescriptor(
332
+ UnitTypeWeapon.prototype,
333
+ "missileSpeed",
334
+ {
335
+ get = function(self)
336
+ local ____self_25 = self.unitType
337
+ return ____self_25.getNumberField(
338
+ ____self_25,
339
+ ("ua" .. tostring(self.index)) .. "z"
340
+ )
341
+ end,
342
+ set = function(self, missileSpeed)
343
+ local ____self_26 = self.unitType
344
+ ____self_26.setNumberField(
345
+ ____self_26,
346
+ ("ua" .. tostring(self.index)) .. "z",
347
+ missileSpeed
348
+ )
349
+ end
350
+ },
351
+ true
352
+ )
353
+ __TS__SetDescriptor(
354
+ UnitTypeWeapon.prototype,
355
+ "range",
356
+ {
357
+ get = function(self)
358
+ local ____self_27 = self.unitType
359
+ return ____self_27.getNumberField(
360
+ ____self_27,
361
+ ("ua" .. tostring(self.index)) .. "r"
362
+ )
363
+ end,
364
+ set = function(self, range)
365
+ local ____self_28 = self.unitType
366
+ ____self_28.setNumberField(
367
+ ____self_28,
368
+ ("ua" .. tostring(self.index)) .. "r",
369
+ range
370
+ )
371
+ end
372
+ },
373
+ true
374
+ )
375
+ __TS__SetDescriptor(
376
+ UnitTypeWeapon.prototype,
377
+ "soundType",
378
+ {
379
+ get = function(self)
380
+ local ____self_29 = self.unitType
381
+ return ____self_29.getStringField(
382
+ ____self_29,
383
+ "ucs" .. tostring(self.index)
384
+ )
385
+ end,
386
+ set = function(self, soundType)
387
+ local ____self_30 = self.unitType
388
+ ____self_30.setStringField(
389
+ ____self_30,
320
390
  "ucs" .. tostring(self.index),
321
391
  soundType
322
392
  )
@@ -329,16 +399,16 @@ __TS__SetDescriptor(
329
399
  "soundTypeSD",
330
400
  {
331
401
  get = function(self)
332
- local ____self_25 = self.unitType
333
- return ____self_25.getStringField(
334
- ____self_25,
402
+ local ____self_31 = self.unitType
403
+ return ____self_31.getStringField(
404
+ ____self_31,
335
405
  ("ucs" .. tostring(self.index)) .. ":sd"
336
406
  )
337
407
  end,
338
408
  set = function(self, soundTypeSD)
339
- local ____self_26 = self.unitType
340
- ____self_26.setStringField(
341
- ____self_26,
409
+ local ____self_32 = self.unitType
410
+ ____self_32.setStringField(
411
+ ____self_32,
342
412
  ("ucs" .. tostring(self.index)) .. ":sd",
343
413
  soundTypeSD
344
414
  )
@@ -351,22 +421,44 @@ __TS__SetDescriptor(
351
421
  "soundTypeHD",
352
422
  {
353
423
  get = function(self)
354
- local ____self_27 = self.unitType
355
- return ____self_27.getStringField(
356
- ____self_27,
424
+ local ____self_33 = self.unitType
425
+ return ____self_33.getStringField(
426
+ ____self_33,
357
427
  ("ucs" .. tostring(self.index)) .. ":hd"
358
428
  )
359
429
  end,
360
430
  set = function(self, soundTypeHD)
361
- local ____self_28 = self.unitType
362
- ____self_28.setStringField(
363
- ____self_28,
431
+ local ____self_34 = self.unitType
432
+ ____self_34.setStringField(
433
+ ____self_34,
364
434
  ("ucs" .. tostring(self.index)) .. ":hd",
365
435
  soundTypeHD
366
436
  )
367
437
  end
368
438
  },
369
439
  true
440
+ )
441
+ __TS__SetDescriptor(
442
+ UnitTypeWeapon.prototype,
443
+ "soundTypeDE",
444
+ {
445
+ get = function(self)
446
+ local ____self_35 = self.unitType
447
+ return ____self_35.getStringField(
448
+ ____self_35,
449
+ ("ucs" .. tostring(self.index)) .. ":de"
450
+ )
451
+ end,
452
+ set = function(self, soundTypeDE)
453
+ local ____self_36 = self.unitType
454
+ ____self_36.setStringField(
455
+ ____self_36,
456
+ ("ucs" .. tostring(self.index)) .. ":de",
457
+ soundTypeDE
458
+ )
459
+ end
460
+ },
461
+ true
370
462
  );
371
463
  (function(self)
372
464
  local unitTypeWeaponsByUnitTypeId = {}
@@ -392,6 +484,10 @@ end
392
484
  function UnitType.getObjectData(self, map)
393
485
  return map.objects.unit
394
486
  end
487
+ function UnitType.prototype.setDeathTypeFlag(self, flag, value)
488
+ local deathType = self:getNumberField("udea")
489
+ self:setNumberField("udea", value and deathType | flag or deathType & ~flag)
490
+ end
395
491
  UnitType.idGenerator = __TS__New(
396
492
  ObjectDataEntryIdGenerator,
397
493
  fourCC("x000")
@@ -516,6 +612,32 @@ __TS__SetDescriptor(
516
612
  },
517
613
  true
518
614
  )
615
+ __TS__SetDescriptor(
616
+ UnitType.prototype,
617
+ "isDecayable",
618
+ {
619
+ get = function(self)
620
+ return self:getNumberField("udea") & DEATH_TYPE_DECAYABLE ~= 0
621
+ end,
622
+ set = function(self, isDecayable)
623
+ self:setDeathTypeFlag(DEATH_TYPE_DECAYABLE, isDecayable)
624
+ end
625
+ },
626
+ true
627
+ )
628
+ __TS__SetDescriptor(
629
+ UnitType.prototype,
630
+ "isRaisable",
631
+ {
632
+ get = function(self)
633
+ return self:getNumberField("udea") & DEATH_TYPE_RAISABLE ~= 0
634
+ end,
635
+ set = function(self, isRaisable)
636
+ self:setDeathTypeFlag(DEATH_TYPE_RAISABLE, isRaisable)
637
+ end
638
+ },
639
+ true
640
+ )
519
641
  __TS__SetDescriptor(
520
642
  UnitType.prototype,
521
643
  "iconPath",
@@ -555,6 +677,19 @@ __TS__SetDescriptor(
555
677
  },
556
678
  true
557
679
  )
680
+ __TS__SetDescriptor(
681
+ UnitType.prototype,
682
+ "iconPathDE",
683
+ {
684
+ get = function(self)
685
+ return self:getStringField("uico:de")
686
+ end,
687
+ set = function(self, iconPathDE)
688
+ self:setStringField("uico:de", iconPathDE)
689
+ end
690
+ },
691
+ true
692
+ )
558
693
  __TS__SetDescriptor(
559
694
  UnitType.prototype,
560
695
  "isMissileScalingEnabled",
@@ -659,6 +794,19 @@ __TS__SetDescriptor(
659
794
  },
660
795
  true
661
796
  )
797
+ __TS__SetDescriptor(
798
+ UnitType.prototype,
799
+ "missileLaunchOffsetZDE",
800
+ {
801
+ get = function(self)
802
+ return self:getNumberField("ulpz:de")
803
+ end,
804
+ set = function(self, missileLaunchOffsetZDE)
805
+ self:setNumberField("ulpz:de", missileLaunchOffsetZDE)
806
+ end
807
+ },
808
+ true
809
+ )
662
810
  __TS__SetDescriptor(
663
811
  UnitType.prototype,
664
812
  "missileLaunchSwimmingOffsetZ",
@@ -698,6 +846,19 @@ __TS__SetDescriptor(
698
846
  },
699
847
  true
700
848
  )
849
+ __TS__SetDescriptor(
850
+ UnitType.prototype,
851
+ "missileLaunchSwimmingOffsetZDE",
852
+ {
853
+ get = function(self)
854
+ return self:getNumberField("ulsz:de")
855
+ end,
856
+ set = function(self, missileLaunchSwimmingOffsetZDE)
857
+ self:setNumberField("ulsz:de", missileLaunchSwimmingOffsetZDE)
858
+ end
859
+ },
860
+ true
861
+ )
701
862
  __TS__SetDescriptor(
702
863
  UnitType.prototype,
703
864
  "missileLaunchVisualOffsetX",
@@ -737,6 +898,19 @@ __TS__SetDescriptor(
737
898
  },
738
899
  true
739
900
  )
901
+ __TS__SetDescriptor(
902
+ UnitType.prototype,
903
+ "missileLaunchVisualOffsetXDE",
904
+ {
905
+ get = function(self)
906
+ return self:getNumberField("projectileVisOffsetX:de")
907
+ end,
908
+ set = function(self, missileLaunchVisualOffsetXDE)
909
+ self:setNumberField("projectileVisOffsetX:de", missileLaunchVisualOffsetXDE)
910
+ end
911
+ },
912
+ true
913
+ )
740
914
  __TS__SetDescriptor(
741
915
  UnitType.prototype,
742
916
  "missileLaunchVisualOffsetY",
@@ -776,6 +950,19 @@ __TS__SetDescriptor(
776
950
  },
777
951
  true
778
952
  )
953
+ __TS__SetDescriptor(
954
+ UnitType.prototype,
955
+ "missileLaunchVisualOffsetYDE",
956
+ {
957
+ get = function(self)
958
+ return self:getNumberField("projectileVisOffsetY:de")
959
+ end,
960
+ set = function(self, missileLaunchVisualOffsetYDE)
961
+ self:setNumberField("projectileVisOffsetY:de", missileLaunchVisualOffsetYDE)
962
+ end
963
+ },
964
+ true
965
+ )
779
966
  __TS__SetDescriptor(
780
967
  UnitType.prototype,
781
968
  "missileImpactOffsetZ",
@@ -815,6 +1002,19 @@ __TS__SetDescriptor(
815
1002
  },
816
1003
  true
817
1004
  )
1005
+ __TS__SetDescriptor(
1006
+ UnitType.prototype,
1007
+ "missileImpactOffsetZDE",
1008
+ {
1009
+ get = function(self)
1010
+ return self:getNumberField("uimz:de")
1011
+ end,
1012
+ set = function(self, missileImpactOffsetZDE)
1013
+ self:setNumberField("uimz:de", missileImpactOffsetZDE)
1014
+ end
1015
+ },
1016
+ true
1017
+ )
818
1018
  __TS__SetDescriptor(
819
1019
  UnitType.prototype,
820
1020
  "missileImpactSwimmingOffsetZ",
@@ -854,6 +1054,19 @@ __TS__SetDescriptor(
854
1054
  },
855
1055
  true
856
1056
  )
1057
+ __TS__SetDescriptor(
1058
+ UnitType.prototype,
1059
+ "missileImpactSwimmingOffsetZDE",
1060
+ {
1061
+ get = function(self)
1062
+ return self:getNumberField("uisz:de")
1063
+ end,
1064
+ set = function(self, missileImpactSwimmingOffsetZDE)
1065
+ self:setNumberField("uisz:de", missileImpactSwimmingOffsetZDE)
1066
+ end
1067
+ },
1068
+ true
1069
+ )
857
1070
  __TS__SetDescriptor(
858
1071
  UnitType.prototype,
859
1072
  "modelPath",
@@ -902,6 +1115,22 @@ __TS__SetDescriptor(
902
1115
  },
903
1116
  true
904
1117
  )
1118
+ __TS__SetDescriptor(
1119
+ UnitType.prototype,
1120
+ "modelPathDE",
1121
+ {
1122
+ get = function(self)
1123
+ return self:getStringField("umdl:de")
1124
+ end,
1125
+ set = function(self, modelPathDE)
1126
+ self:setStringField("umdl:de", modelPathDE)
1127
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
1128
+ self:setStringField("upor:de", "")
1129
+ end
1130
+ end
1131
+ },
1132
+ true
1133
+ )
905
1134
  __TS__SetDescriptor(
906
1135
  UnitType.prototype,
907
1136
  "portraitModelPath",
@@ -944,6 +1173,20 @@ __TS__SetDescriptor(
944
1173
  },
945
1174
  true
946
1175
  )
1176
+ __TS__SetDescriptor(
1177
+ UnitType.prototype,
1178
+ "portraitModelPathDE",
1179
+ {
1180
+ get = function(self)
1181
+ return self:getStringField("upor:de")
1182
+ end,
1183
+ set = function(self, portraitModelPathDE)
1184
+ self:setStringField("upor:de", portraitModelPathDE)
1185
+ self.isPortraitModelPathSet = true
1186
+ end
1187
+ },
1188
+ true
1189
+ )
947
1190
  __TS__SetDescriptor(
948
1191
  UnitType.prototype,
949
1192
  "runSpeed",
@@ -983,6 +1226,19 @@ __TS__SetDescriptor(
983
1226
  },
984
1227
  true
985
1228
  )
1229
+ __TS__SetDescriptor(
1230
+ UnitType.prototype,
1231
+ "runSpeedDE",
1232
+ {
1233
+ get = function(self)
1234
+ return self:getNumberField("urun:de")
1235
+ end,
1236
+ set = function(self, runSpeedDE)
1237
+ self:setNumberField("urun:de", runSpeedDE)
1238
+ end
1239
+ },
1240
+ true
1241
+ )
986
1242
  __TS__SetDescriptor(
987
1243
  UnitType.prototype,
988
1244
  "selectionCircleHeight",
@@ -1035,6 +1291,19 @@ __TS__SetDescriptor(
1035
1291
  },
1036
1292
  true
1037
1293
  )
1294
+ __TS__SetDescriptor(
1295
+ UnitType.prototype,
1296
+ "selectionCircleScaleDE",
1297
+ {
1298
+ get = function(self)
1299
+ return self:getNumberField("ussc:de")
1300
+ end,
1301
+ set = function(self, selectionCircleScaleDE)
1302
+ self:setNumberField("ussc:de", selectionCircleScaleDE)
1303
+ end
1304
+ },
1305
+ true
1306
+ )
1038
1307
  __TS__SetDescriptor(
1039
1308
  UnitType.prototype,
1040
1309
  "scale",
@@ -1074,6 +1343,19 @@ __TS__SetDescriptor(
1074
1343
  },
1075
1344
  true
1076
1345
  )
1346
+ __TS__SetDescriptor(
1347
+ UnitType.prototype,
1348
+ "scaleDE",
1349
+ {
1350
+ get = function(self)
1351
+ return self:getNumberField("usca:de")
1352
+ end,
1353
+ set = function(self, scaleDE)
1354
+ self:setNumberField("usca:de", scaleDE)
1355
+ end
1356
+ },
1357
+ true
1358
+ )
1077
1359
  __TS__SetDescriptor(
1078
1360
  UnitType.prototype,
1079
1361
  "scoreScreenIconPath",
@@ -1113,6 +1395,19 @@ __TS__SetDescriptor(
1113
1395
  },
1114
1396
  true
1115
1397
  )
1398
+ __TS__SetDescriptor(
1399
+ UnitType.prototype,
1400
+ "scoreScreenIconPathDE",
1401
+ {
1402
+ get = function(self)
1403
+ return self:getStringField("ussi:de")
1404
+ end,
1405
+ set = function(self, scoreScreenIconPathDE)
1406
+ self:setStringField("ussi:de", scoreScreenIconPathDE)
1407
+ end
1408
+ },
1409
+ true
1410
+ )
1116
1411
  __TS__SetDescriptor(
1117
1412
  UnitType.prototype,
1118
1413
  "specialEffectModelPath",
@@ -1152,6 +1447,19 @@ __TS__SetDescriptor(
1152
1447
  },
1153
1448
  true
1154
1449
  )
1450
+ __TS__SetDescriptor(
1451
+ UnitType.prototype,
1452
+ "specialEffectModelPathDE",
1453
+ {
1454
+ get = function(self)
1455
+ return self:getStringField("uspa:de")
1456
+ end,
1457
+ set = function(self, specialEffectModelPathDE)
1458
+ self:setStringField("uspa:de", specialEffectModelPathDE)
1459
+ end
1460
+ },
1461
+ true
1462
+ )
1155
1463
  __TS__SetDescriptor(
1156
1464
  UnitType.prototype,
1157
1465
  "shadowImageHeight",
@@ -1243,6 +1551,19 @@ __TS__SetDescriptor(
1243
1551
  },
1244
1552
  true
1245
1553
  )
1554
+ __TS__SetDescriptor(
1555
+ UnitType.prototype,
1556
+ "walkSpeedDE",
1557
+ {
1558
+ get = function(self)
1559
+ return self:getNumberField("uwal:de")
1560
+ end,
1561
+ set = function(self, walkSpeedDE)
1562
+ self:setNumberField("uwal:de", walkSpeedDE)
1563
+ end
1564
+ },
1565
+ true
1566
+ )
1246
1567
  __TS__SetDescriptor(
1247
1568
  UnitType.prototype,
1248
1569
  "armor",
@@ -1295,6 +1616,19 @@ __TS__SetDescriptor(
1295
1616
  },
1296
1617
  true
1297
1618
  )
1619
+ __TS__SetDescriptor(
1620
+ UnitType.prototype,
1621
+ "armorSoundTypeDE",
1622
+ {
1623
+ get = function(self)
1624
+ return self:getStringField("uarm:de")
1625
+ end,
1626
+ set = function(self, armorSoundTypeDE)
1627
+ self:setStringField("uarm:de", armorSoundTypeDE)
1628
+ end
1629
+ },
1630
+ true
1631
+ )
1298
1632
  __TS__SetDescriptor(
1299
1633
  UnitType.prototype,
1300
1634
  "armorType",
@@ -1724,11 +2058,11 @@ __TS__SetDescriptor(
1724
2058
  implementReadonlyNumberIndexSupplier(
1725
2059
  ____exports.UnitType,
1726
2060
  function(id)
1727
- local ____class_29 = __TS__Class()
1728
- ____class_29.name = ____class_29.name
1729
- __TS__ClassExtends(____class_29, ____exports.UnitType)
1730
- ____class_29.BASE_ID = id
1731
- return ____class_29
2061
+ local ____class_37 = __TS__Class()
2062
+ ____class_37.name = ____class_37.name
2063
+ __TS__ClassExtends(____class_37, ____exports.UnitType)
2064
+ ____class_37.BASE_ID = id
2065
+ return ____class_37
1732
2066
  end
1733
2067
  )
1734
2068
  ____exports.HeroUnitType = __TS__Class()
@@ -1789,11 +2123,11 @@ __TS__SetDescriptor(
1789
2123
  implementReadonlyNumberIndexSupplier(
1790
2124
  ____exports.HeroUnitType,
1791
2125
  function(id)
1792
- local ____class_30 = __TS__Class()
1793
- ____class_30.name = ____class_30.name
1794
- __TS__ClassExtends(____class_30, ____exports.HeroUnitType)
1795
- ____class_30.BASE_ID = id
1796
- return ____class_30
2126
+ local ____class_38 = __TS__Class()
2127
+ ____class_38.name = ____class_38.name
2128
+ __TS__ClassExtends(____class_38, ____exports.HeroUnitType)
2129
+ ____class_38.BASE_ID = id
2130
+ return ____class_38
1797
2131
  end
1798
2132
  )
1799
2133
  return ____exports
@@ -1,9 +1,9 @@
1
1
  /** @noSelfInFile */
2
2
  import { TupleOf } from "../../../utility/types";
3
3
  import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
4
- import { ObjectDataEntry, ObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
4
+ import { ObjectDataEntry, CustomObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
5
5
  import { AbilityTypeId } from "./ability-type";
6
- export type UpgradeId = ObjectDataEntryId & number & {
6
+ export type UpgradeId = CustomObjectDataEntryId & number & {
7
7
  readonly __upgradeId: unique symbol;
8
8
  };
9
9
  export declare const enum UpgradeEffectType {
@@ -1,9 +1,12 @@
1
1
  /** @noSelfInFile */
2
2
  import { AttachmentPreset, AttachmentPresetInput } from "./auxiliary/attachment-preset";
3
3
  import { MutableKeys } from "../../utility/types";
4
- export type ObjectDataEntryId = (number | string) & {
4
+ import { StandardAbilityTypeId } from "../standard/entries/ability-type";
5
+ import { StandardItemTypeId } from "../standard/entries/item-type";
6
+ export type CustomObjectDataEntryId = (number | string) & {
5
7
  readonly __objectDataEntryId: unique symbol;
6
8
  };
9
+ export type ObjectDataEntryId = CustomObjectDataEntryId | StandardAbilityTypeId | StandardItemTypeId;
7
10
  export type ObjectDataEntryIdType<T extends ObjectDataEntry> = T extends ObjectDataEntry<infer Id> ? Id : never;
8
11
  export type ObjectDataEntryConstructor<T extends ObjectDataEntry> = OmitConstructor<typeof ObjectDataEntry> & (new (object: WarObject) => T);
9
12
  export type ObjectDataEntryAbstractConstructor<T extends ObjectDataEntry> = OmitConstructor<typeof ObjectDataEntry> & (abstract new (object: WarObject) => T);