warscript 0.0.1-dev.e1acea3 → 0.0.1-dev.e3899e3

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 (207) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/config.d.ts +5 -0
  4. package/config.lua +10 -0
  5. package/core/types/effect.d.ts +2 -3
  6. package/core/types/effect.lua +95 -48
  7. package/core/types/frame.lua +24 -21
  8. package/core/types/player.d.ts +16 -0
  9. package/core/types/player.lua +60 -15
  10. package/core/types/playerCamera.d.ts +2 -0
  11. package/core/types/playerCamera.lua +123 -5
  12. package/core/types/sound.d.ts +17 -24
  13. package/core/types/sound.lua +99 -24
  14. package/core/types/tileCell.d.ts +11 -1
  15. package/core/types/tileCell.lua +97 -0
  16. package/core/types/timer.d.ts +9 -8
  17. package/core/types/timer.lua +45 -23
  18. package/core/util.d.ts +1 -1
  19. package/core/util.lua +12 -1
  20. package/decl/native.d.ts +846 -790
  21. package/destroyable.d.ts +1 -0
  22. package/destroyable.lua +9 -0
  23. package/engine/behavior.d.ts +14 -1
  24. package/engine/behavior.lua +230 -70
  25. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  26. package/engine/behaviour/ability/always-enabled.lua +31 -0
  27. package/engine/behaviour/ability/apply-buff.d.ts +5 -0
  28. package/engine/behaviour/ability/apply-buff.lua +36 -4
  29. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  30. package/engine/behaviour/ability/damage.d.ts +9 -3
  31. package/engine/behaviour/ability/damage.lua +26 -38
  32. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  33. package/engine/behaviour/ability/emulate-impact.lua +22 -8
  34. package/engine/behaviour/ability/on-command-impact.lua +7 -0
  35. package/engine/behaviour/ability/remove-buffs.d.ts +13 -1
  36. package/engine/behaviour/ability/remove-buffs.lua +29 -2
  37. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  38. package/engine/behaviour/ability/restore-mana.lua +6 -6
  39. package/engine/behaviour/ability.d.ts +17 -4
  40. package/engine/behaviour/ability.lua +87 -23
  41. package/engine/behaviour/unit/stun-immunity.d.ts +11 -5
  42. package/engine/behaviour/unit/stun-immunity.lua +53 -28
  43. package/engine/behaviour/unit.d.ts +40 -2
  44. package/engine/behaviour/unit.lua +259 -6
  45. package/engine/buff.d.ts +70 -44
  46. package/engine/buff.lua +362 -232
  47. package/engine/internal/ability.d.ts +18 -2
  48. package/engine/internal/ability.lua +116 -11
  49. package/engine/internal/item/ability.lua +162 -4
  50. package/engine/internal/item+owner.lua +12 -6
  51. package/engine/internal/item.d.ts +20 -19
  52. package/engine/internal/item.lua +191 -74
  53. package/engine/internal/mechanics/ability-duration.lua +1 -1
  54. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  55. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  56. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  57. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  58. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  59. package/engine/internal/misc/frame-coordinates.lua +21 -0
  60. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  61. package/engine/internal/misc/get-terrain-z.lua +11 -0
  62. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  63. package/engine/internal/misc/player-local-handle.lua +5 -0
  64. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  65. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  66. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  67. package/engine/internal/object-data/evasion-probability.lua +16 -0
  68. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  69. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  70. package/engine/internal/unit/ability.d.ts +35 -0
  71. package/engine/internal/unit/ability.lua +98 -9
  72. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  73. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  74. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  75. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  76. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  77. package/engine/internal/unit/allowed-targets.lua +9 -1
  78. package/engine/internal/unit/bonus.d.ts +4 -0
  79. package/engine/internal/unit/bonus.lua +27 -0
  80. package/engine/internal/unit/fly-height.d.ts +7 -0
  81. package/engine/internal/unit/fly-height.lua +20 -0
  82. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  83. package/engine/internal/unit/ignore-events-items.lua +5 -0
  84. package/engine/internal/unit/item.lua +6 -12
  85. package/engine/internal/unit/main-selected.lua +12 -27
  86. package/engine/internal/unit/order.d.ts +20 -0
  87. package/engine/internal/unit/order.lua +136 -0
  88. package/engine/internal/unit/scale.d.ts +7 -0
  89. package/engine/internal/unit/scale.lua +20 -0
  90. package/engine/internal/unit+ability.lua +10 -1
  91. package/engine/internal/unit+damage.d.ts +2 -11
  92. package/engine/internal/unit+damage.lua +10 -14
  93. package/engine/internal/unit+spellSteal.lua +1 -2
  94. package/engine/internal/unit-missile-launch.lua +45 -14
  95. package/engine/internal/unit.d.ts +45 -18
  96. package/engine/internal/unit.lua +391 -175
  97. package/engine/internal/utility.lua +12 -0
  98. package/engine/lightning.d.ts +12 -5
  99. package/engine/lightning.lua +48 -14
  100. package/engine/local-client.d.ts +2 -0
  101. package/engine/local-client.lua +30 -0
  102. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  103. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  104. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  105. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  106. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  107. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  108. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  109. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  110. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  111. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  112. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  113. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  114. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  115. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  116. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  117. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  118. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  119. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  120. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  121. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  122. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  123. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  124. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  125. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  126. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  127. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  128. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  129. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  130. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  131. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  132. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  133. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  134. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  135. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  136. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  137. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  138. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  139. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  140. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  141. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  142. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  143. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  144. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  145. package/engine/object-data/entry/ability-type/web.lua +52 -0
  146. package/engine/object-data/entry/ability-type.d.ts +19 -17
  147. package/engine/object-data/entry/ability-type.lua +93 -36
  148. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  149. package/engine/object-data/entry/buff-type.d.ts +6 -12
  150. package/engine/object-data/entry/buff-type.lua +13 -29
  151. package/engine/object-data/entry/destructible-type.d.ts +28 -2
  152. package/engine/object-data/entry/destructible-type.lua +155 -0
  153. package/engine/object-data/entry/item-type.d.ts +3 -1
  154. package/engine/object-data/entry/item-type.lua +15 -2
  155. package/engine/object-data/entry/lightning-type.d.ts +1 -1
  156. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  157. package/engine/object-data/entry/sound-preset.lua +140 -0
  158. package/engine/object-data/entry/unit-type.d.ts +25 -5
  159. package/engine/object-data/entry/unit-type.lua +258 -93
  160. package/engine/object-data/entry/upgrade.d.ts +1 -1
  161. package/engine/object-data/entry/upgrade.lua +4 -4
  162. package/engine/object-data/entry.d.ts +16 -14
  163. package/engine/object-data/entry.lua +60 -32
  164. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  165. package/engine/object-field/ability.d.ts +12 -6
  166. package/engine/object-field/ability.lua +8 -4
  167. package/engine/object-field/unit.d.ts +72 -3
  168. package/engine/object-field/unit.lua +268 -7
  169. package/engine/object-field.d.ts +23 -6
  170. package/engine/object-field.lua +337 -116
  171. package/engine/random.d.ts +9 -0
  172. package/engine/random.lua +13 -0
  173. package/engine/standard/entries/buff-type.d.ts +3 -0
  174. package/engine/standard/entries/buff-type.lua +3 -0
  175. package/engine/standard/entries/sound-preset.d.ts +10 -0
  176. package/engine/standard/entries/sound-preset.lua +10 -0
  177. package/engine/standard/fields/ability.d.ts +4 -2
  178. package/engine/standard/fields/ability.lua +4 -2
  179. package/engine/standard/fields/unit.d.ts +7 -0
  180. package/engine/standard/fields/unit.lua +13 -0
  181. package/engine/synchronization.d.ts +11 -0
  182. package/engine/synchronization.lua +77 -0
  183. package/engine/text-tag.d.ts +36 -2
  184. package/engine/text-tag.lua +250 -10
  185. package/engine/unit.d.ts +4 -0
  186. package/engine/unit.lua +4 -0
  187. package/net/socket.lua +1 -1
  188. package/objutil/buff.lua +2 -3
  189. package/objutil/unit.lua +8 -0
  190. package/package.json +2 -2
  191. package/patch-lualib.lua +1 -1
  192. package/utility/arrays.d.ts +2 -0
  193. package/utility/arrays.lua +11 -0
  194. package/utility/callback-array.d.ts +17 -0
  195. package/utility/callback-array.lua +61 -0
  196. package/utility/functions.d.ts +8 -0
  197. package/utility/functions.lua +13 -0
  198. package/utility/linked-set.d.ts +2 -0
  199. package/utility/linked-set.lua +22 -1
  200. package/utility/lua-maps.d.ts +15 -2
  201. package/utility/lua-maps.lua +53 -2
  202. package/utility/lua-sets.d.ts +2 -0
  203. package/utility/lua-sets.lua +7 -0
  204. package/utility/reflection.lua +11 -7
  205. package/utility/types.d.ts +3 -0
  206. package/core/types/order.d.ts +0 -25
  207. package/core/types/order.lua +0 -55
@@ -1,14 +1,30 @@
1
1
  /** @noSelfInFile */
2
2
  import { ArmorSoundType } from "../auxiliary/armor-sound-type";
3
3
  import { CombatClassifications } from "../auxiliary/combat-classification";
4
- import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
5
- export type DestructibleTypeId = ObjectDataEntryId & {
4
+ import { ObjectDataEntry, ObjectDataEntryConstructor, ObjectDataEntryId } from "../entry";
5
+ export type DestructibleTypeId = ObjectDataEntryId & number & {
6
6
  readonly __destructibleTypeId: unique symbol;
7
7
  };
8
+ export type StandardDestructibleTypeId = DestructibleTypeId & {
9
+ readonly __standardDestructibleTypeId: unique symbol;
10
+ };
8
11
  export declare abstract class DestructibleType extends ObjectDataEntry<DestructibleTypeId> {
12
+ static readonly [id: StandardDestructibleTypeId]: ObjectDataEntryConstructor<DestructibleType>;
9
13
  private static readonly idGenerator;
10
14
  protected static generateId(): number;
11
15
  protected static getObjectData(map: WarMap): WarObjects;
16
+ get fixedFacing(): number;
17
+ set fixedFacing(fixedFacing: number);
18
+ get flyOverHeight(): number;
19
+ set flyOverHeight(flyOverHeight: number);
20
+ get modelPath(): string;
21
+ set modelPath(modelPath: string);
22
+ get modelPathSD(): string;
23
+ set modelPathSD(modelPathSD: string);
24
+ get modelPathHD(): string;
25
+ set modelPathHD(modelPathHD: string);
26
+ get occlusionHeight(): number;
27
+ set occlusionHeight(occlusionHeight: number);
12
28
  get armorSoundType(): ArmorSoundType;
13
29
  set armorSoundType(armorSoundType: ArmorSoundType);
14
30
  get armorSoundTypeSD(): ArmorSoundType;
@@ -17,4 +33,14 @@ export declare abstract class DestructibleType extends ObjectDataEntry<Destructi
17
33
  set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
18
34
  get combatClassifications(): CombatClassifications;
19
35
  set combatClassifications(combatClassifications: CombatClassifications);
36
+ get cliffHeight(): number;
37
+ set cliffHeight(cliffHeight: number);
38
+ get isWalkable(): boolean;
39
+ set isWalkable(isWalkable: boolean);
40
+ get pathingTexturePath(): string;
41
+ set pathingTexturePath(pathingTexturePath: string);
42
+ get deadPathingTexturePath(): string;
43
+ set deadPathingTexturePath(deadPathingTexturePath: string);
44
+ get name(): string;
45
+ set name(name: string);
20
46
  }
@@ -11,6 +11,8 @@ local ____entry = require("engine.object-data.entry")
11
11
  local ObjectDataEntry = ____entry.ObjectDataEntry
12
12
  local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
13
13
  local ObjectDataEntryIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.ObjectDataEntryIdGenerator
14
+ local ____reflection = require("utility.reflection")
15
+ local implementReadonlyNumberIndexSupplier = ____reflection.implementReadonlyNumberIndexSupplier
14
16
  ____exports.DestructibleType = __TS__Class()
15
17
  local DestructibleType = ____exports.DestructibleType
16
18
  DestructibleType.name = "DestructibleType"
@@ -25,6 +27,84 @@ DestructibleType.idGenerator = __TS__New(
25
27
  ObjectDataEntryIdGenerator,
26
28
  fourCC("D000")
27
29
  )
30
+ __TS__SetDescriptor(
31
+ DestructibleType.prototype,
32
+ "fixedFacing",
33
+ {
34
+ get = function(self)
35
+ return self:getNumberField("bfxr")
36
+ end,
37
+ set = function(self, fixedFacing)
38
+ self:setNumberField("bfxr", fixedFacing)
39
+ end
40
+ },
41
+ true
42
+ )
43
+ __TS__SetDescriptor(
44
+ DestructibleType.prototype,
45
+ "flyOverHeight",
46
+ {
47
+ get = function(self)
48
+ return self:getNumberField("bflh")
49
+ end,
50
+ set = function(self, flyOverHeight)
51
+ self:setNumberField("bflh", flyOverHeight)
52
+ end
53
+ },
54
+ true
55
+ )
56
+ __TS__SetDescriptor(
57
+ DestructibleType.prototype,
58
+ "modelPath",
59
+ {
60
+ get = function(self)
61
+ return self:getStringField("bfil")
62
+ end,
63
+ set = function(self, modelPath)
64
+ self:setStringField("bfil", modelPath)
65
+ end
66
+ },
67
+ true
68
+ )
69
+ __TS__SetDescriptor(
70
+ DestructibleType.prototype,
71
+ "modelPathSD",
72
+ {
73
+ get = function(self)
74
+ return self:getStringField("bfil:sd")
75
+ end,
76
+ set = function(self, modelPathSD)
77
+ self:setStringField("bfil:sd", modelPathSD)
78
+ end
79
+ },
80
+ true
81
+ )
82
+ __TS__SetDescriptor(
83
+ DestructibleType.prototype,
84
+ "modelPathHD",
85
+ {
86
+ get = function(self)
87
+ return self:getStringField("bfil:hd")
88
+ end,
89
+ set = function(self, modelPathHD)
90
+ self:setStringField("bfil:hd", modelPathHD)
91
+ end
92
+ },
93
+ true
94
+ )
95
+ __TS__SetDescriptor(
96
+ DestructibleType.prototype,
97
+ "occlusionHeight",
98
+ {
99
+ get = function(self)
100
+ return self:getNumberField("boch")
101
+ end,
102
+ set = function(self, occlusionHeight)
103
+ self:setNumberField("boch", occlusionHeight)
104
+ end
105
+ },
106
+ true
107
+ )
28
108
  __TS__SetDescriptor(
29
109
  DestructibleType.prototype,
30
110
  "armorSoundType",
@@ -80,4 +160,79 @@ __TS__SetDescriptor(
80
160
  },
81
161
  true
82
162
  )
163
+ __TS__SetDescriptor(
164
+ DestructibleType.prototype,
165
+ "cliffHeight",
166
+ {
167
+ get = function(self)
168
+ return self:getNumberField("bclh")
169
+ end,
170
+ set = function(self, cliffHeight)
171
+ self:setNumberField("bclh", cliffHeight)
172
+ end
173
+ },
174
+ true
175
+ )
176
+ __TS__SetDescriptor(
177
+ DestructibleType.prototype,
178
+ "isWalkable",
179
+ {
180
+ get = function(self)
181
+ return self:getBooleanField("bwal")
182
+ end,
183
+ set = function(self, isWalkable)
184
+ self:setBooleanField("bwal", isWalkable)
185
+ end
186
+ },
187
+ true
188
+ )
189
+ __TS__SetDescriptor(
190
+ DestructibleType.prototype,
191
+ "pathingTexturePath",
192
+ {
193
+ get = function(self)
194
+ return self:getStringField("bptx")
195
+ end,
196
+ set = function(self, pathingTexturePath)
197
+ self:setStringField("bptx", pathingTexturePath)
198
+ end
199
+ },
200
+ true
201
+ )
202
+ __TS__SetDescriptor(
203
+ DestructibleType.prototype,
204
+ "deadPathingTexturePath",
205
+ {
206
+ get = function(self)
207
+ return self:getStringField("bptd")
208
+ end,
209
+ set = function(self, deadPathingTexturePath)
210
+ self:setStringField("bptd", deadPathingTexturePath)
211
+ end
212
+ },
213
+ true
214
+ )
215
+ __TS__SetDescriptor(
216
+ DestructibleType.prototype,
217
+ "name",
218
+ {
219
+ get = function(self)
220
+ return self:getStringField("bnam")
221
+ end,
222
+ set = function(self, name)
223
+ self:setStringField("bnam", name)
224
+ end
225
+ },
226
+ true
227
+ )
228
+ implementReadonlyNumberIndexSupplier(
229
+ ____exports.DestructibleType,
230
+ function(id)
231
+ local ____class_0 = __TS__Class()
232
+ ____class_0.name = ____class_0.name
233
+ __TS__ClassExtends(____class_0, ____exports.DestructibleType)
234
+ ____class_0.BASE_ID = id
235
+ return ____class_0
236
+ end
237
+ )
83
238
  return ____exports
@@ -2,7 +2,7 @@
2
2
  import { ArmorSoundType } from "../auxiliary/armor-sound-type";
3
3
  import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
4
4
  import type { AbilityTypeId } from "./ability-type";
5
- export type ItemTypeId = ObjectDataEntryId & {
5
+ export type ItemTypeId = ObjectDataEntryId & number & {
6
6
  readonly __itemTypeId: unique symbol;
7
7
  };
8
8
  export declare class ItemType extends ObjectDataEntry<ItemTypeId> {
@@ -45,6 +45,8 @@ export declare class ItemType extends ObjectDataEntry<ItemTypeId> {
45
45
  set tooltipText(tooltipText: string);
46
46
  get tooltipExtendedText(): string;
47
47
  set tooltipExtendedText(tooltipText: string);
48
+ get cooldownGroupId(): number;
49
+ set cooldownGroupId(cooldownGroupId: number);
48
50
  get goldCost(): number;
49
51
  set goldCost(goldCost: number);
50
52
  get lumberCost(): number;
@@ -27,10 +27,10 @@ __TS__SetDescriptor(
27
27
  "abilityTypeIds",
28
28
  {
29
29
  get = function(self)
30
- return self:getObjectDataEntryIdsField("iabi")
30
+ return self:getObjectDataEntryNumericIdsField("iabi")
31
31
  end,
32
32
  set = function(self, abilityTypeIds)
33
- self:setObjectDataEntryIdsField("iabi", abilityTypeIds)
33
+ self:setObjectDataEntryNumericIdsField("iabi", abilityTypeIds)
34
34
  end
35
35
  },
36
36
  true
@@ -256,6 +256,19 @@ __TS__SetDescriptor(
256
256
  },
257
257
  true
258
258
  )
259
+ __TS__SetDescriptor(
260
+ ItemType.prototype,
261
+ "cooldownGroupId",
262
+ {
263
+ get = function(self)
264
+ return self:getObjectDataEntryNumericIdField("icid")
265
+ end,
266
+ set = function(self, cooldownGroupId)
267
+ self:setObjectDataEntryNumericIdField("icid", cooldownGroupId)
268
+ end
269
+ },
270
+ true
271
+ )
259
272
  __TS__SetDescriptor(
260
273
  ItemType.prototype,
261
274
  "goldCost",
@@ -1,7 +1,7 @@
1
1
  /** @noSelfInFile */
2
2
  import { ObjectDataEntry, ObjectDataEntryConstructor, ObjectDataEntryId } from "../entry";
3
3
  import { Color } from "../../../core/types/color";
4
- export type LightningTypeId = ObjectDataEntryId & {
4
+ export type LightningTypeId = ObjectDataEntryId & number & {
5
5
  readonly __lightningTypeId: unique symbol;
6
6
  };
7
7
  export type StandardLightningTypeId = LightningTypeId & {
@@ -0,0 +1,33 @@
1
+ /** @noSelfInFile */
2
+ import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
3
+ import { SoundEax } from "../auxiliary/sound-eax";
4
+ export type SoundPresetId = ObjectDataEntryId & string & {
5
+ readonly __soundPresetId: unique symbol;
6
+ };
7
+ export type StandardSoundPresetId = SoundPresetId & {
8
+ readonly __standardSoundPresetId: unique symbol;
9
+ };
10
+ export declare class SoundPreset extends ObjectDataEntry<SoundPresetId> {
11
+ static readonly BASE_ID: SoundPresetId;
12
+ private static nextId;
13
+ protected static generateId(): string;
14
+ protected static getObjectData(map: WarMap): WarObjects;
15
+ get filePaths(): string[];
16
+ set filePaths(filePaths: string[]);
17
+ get volume(): number;
18
+ set volume(volume: number);
19
+ get pitch(): number;
20
+ set pitch(pitch: number);
21
+ get priority(): number;
22
+ set priority(priority: number);
23
+ get channel(): number;
24
+ set channel(channel: number);
25
+ get minimumDistance(): number;
26
+ set minimumDistance(minimumDistance: number);
27
+ get maximumDistance(): number;
28
+ set maximumDistance(maximumDistance: number);
29
+ get distanceCutoff(): number;
30
+ set distanceCutoff(distanceCutoff: number);
31
+ get eax(): SoundEax;
32
+ set eax(eax: SoundEax);
33
+ }
@@ -0,0 +1,140 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____entry = require("engine.object-data.entry")
7
+ local ObjectDataEntry = ____entry.ObjectDataEntry
8
+ ____exports.SoundPreset = __TS__Class()
9
+ local SoundPreset = ____exports.SoundPreset
10
+ SoundPreset.name = "SoundPreset"
11
+ __TS__ClassExtends(SoundPreset, ObjectDataEntry)
12
+ function SoundPreset.generateId(self)
13
+ local ____self_0, ____nextId_1 = self, "nextId"
14
+ local ____self_nextId_2 = ____self_0[____nextId_1]
15
+ ____self_0[____nextId_1] = ____self_nextId_2 + 1
16
+ return "CustomSound" .. tostring(____self_nextId_2)
17
+ end
18
+ function SoundPreset.getObjectData(self, map)
19
+ return map.objects.sound
20
+ end
21
+ SoundPreset.BASE_ID = "BlizzardWave"
22
+ SoundPreset.nextId = 0
23
+ __TS__SetDescriptor(
24
+ SoundPreset.prototype,
25
+ "filePaths",
26
+ {
27
+ get = function(self)
28
+ return self:getStringsField("FileNames")
29
+ end,
30
+ set = function(self, filePaths)
31
+ self:setStringsField("FileNames", filePaths)
32
+ end
33
+ },
34
+ true
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
+ )
140
+ return ____exports
@@ -13,7 +13,8 @@ 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
- export type UnitTypeId = ObjectDataEntryId & {
16
+ import { ArmorType } from "../auxiliary/armor-type";
17
+ export type UnitTypeId = ObjectDataEntryId & number & {
17
18
  readonly __unitTypeId: unique symbol;
18
19
  };
19
20
  export type StandardUnitTypeId = UnitTypeId & {
@@ -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;
@@ -41,6 +42,10 @@ export declare class UnitTypeWeapon {
41
42
  set impactDelay(impactDelay: number);
42
43
  get missileModelPath(): string;
43
44
  set missileModelPath(missileModelPath: string);
45
+ get missileModelPathSD(): string;
46
+ set missileModelPathSD(missileModelPathSD: string);
47
+ get missileModelPathHD(): string;
48
+ set missileModelPathHD(missileModelPathHD: string);
44
49
  get range(): number;
45
50
  set range(range: number);
46
51
  get soundType(): WeaponSoundType;
@@ -55,6 +60,7 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
55
60
  protected static readonly idGenerator: ObjectDataEntryIdGenerator;
56
61
  protected static generateId(): number;
57
62
  protected static getObjectData(map: WarMap): WarObjects;
63
+ private isPortraitModelPathSet?;
58
64
  get abilityTypeIds(): AbilityTypeId[];
59
65
  set abilityTypeIds(abilityTypeIds: AbilityTypeId[]);
60
66
  get defaultActiveAbilityTypeId(): AbilityTypeId | undefined;
@@ -131,12 +137,20 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
131
137
  set modelPathSD(modelPathSD: string);
132
138
  get modelPathHD(): string;
133
139
  set modelPathHD(modelPathHD: string);
140
+ get portraitModelPath(): string;
141
+ set portraitModelPath(portraitModelPath: string);
142
+ get portraitModelPathSD(): string;
143
+ set portraitModelPathSD(portraitModelPathSD: string);
144
+ get portraitModelPathHD(): string;
145
+ set portraitModelPathHD(portraitModelPathHD: string);
134
146
  get runSpeed(): number;
135
147
  set runSpeed(runSpeed: number);
136
148
  get runSpeedSD(): number;
137
149
  set runSpeedSD(runSpeedSD: number);
138
150
  get runSpeedHD(): number;
139
151
  set runSpeedHD(runSpeedHD: number);
152
+ get selectionCircleHeight(): number;
153
+ set selectionCircleHeight(height: number);
140
154
  get selectionCircleScale(): number;
141
155
  set selectionCircleScale(selectionCircleScale: number);
142
156
  get selectionCircleScaleSD(): number;
@@ -175,16 +189,20 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
175
189
  set walkSpeedSD(walkSpeedSD: number);
176
190
  get walkSpeedHD(): number;
177
191
  set walkSpeedHD(walkSpeedHD: number);
192
+ get armor(): number;
193
+ set armor(armor: number);
178
194
  get armorSoundType(): ArmorSoundType;
179
195
  set armorSoundType(armorSoundType: ArmorSoundType);
180
196
  get armorSoundTypeSD(): ArmorSoundType;
181
197
  set armorSoundTypeSD(armorSoundTypeSD: ArmorSoundType);
182
198
  get armorSoundTypeHD(): ArmorSoundType;
183
199
  set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
200
+ get armorType(): ArmorType;
201
+ set armorType(armorType: ArmorType);
184
202
  get combatClassifications(): CombatClassifications;
185
203
  set combatClassifications(combatClassifications: CombatClassifications);
186
- get unitClassifications(): UnitClassifications;
187
- set unitClassifications(unitClassifications: UnitClassifications);
204
+ get classifications(): UnitClassifications;
205
+ set classifications(unitClassifications: UnitClassifications);
188
206
  get weapons(): TupleOf<UnitTypeWeapon, 2>;
189
207
  get firstWeapon(): UnitTypeWeapon;
190
208
  get secondWeapon(): UnitTypeWeapon;
@@ -218,6 +236,8 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
218
236
  set goldCost(goldCost: number);
219
237
  get healthRegenerationRate(): number;
220
238
  set healthRegenerationRate(healthRegenerationRate: number);
239
+ get level(): number;
240
+ set level(level: number);
221
241
  get manaRegenerationRate(): number;
222
242
  set manaRegenerationRate(manaRegenerationRate: number);
223
243
  get maximumHealth(): number;