warscript 0.0.1-dev.d30161d → 0.0.1-dev.d3265a5

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/attributes.d.ts +5 -0
  2. package/attributes.lua +8 -1
  3. package/config.d.ts +5 -0
  4. package/config.lua +10 -0
  5. package/core/types/effect.d.ts +14 -6
  6. package/core/types/effect.lua +131 -35
  7. package/core/types/frame.d.ts +6 -0
  8. package/core/types/frame.lua +91 -1
  9. package/core/types/sound.d.ts +17 -24
  10. package/core/types/sound.lua +99 -24
  11. package/core/types/timer.d.ts +6 -7
  12. package/core/types/timer.lua +18 -21
  13. package/core/util.d.ts +1 -1
  14. package/core/util.lua +18 -1
  15. package/decl/native.d.ts +840 -786
  16. package/engine/behavior.d.ts +2 -2
  17. package/engine/behavior.lua +6 -6
  18. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  19. package/engine/behaviour/ability/always-enabled.lua +31 -0
  20. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  21. package/engine/behaviour/ability/apply-buff.lua +32 -0
  22. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  23. package/engine/behaviour/ability/damage.d.ts +9 -3
  24. package/engine/behaviour/ability/damage.lua +26 -38
  25. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  26. package/engine/behaviour/ability/emulate-impact.lua +42 -0
  27. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  28. package/engine/behaviour/ability/instant-impact.lua +4 -19
  29. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  30. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  31. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  32. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  33. package/engine/behaviour/ability.d.ts +20 -4
  34. package/engine/behaviour/ability.lua +112 -39
  35. package/engine/behaviour/unit.d.ts +22 -0
  36. package/engine/behaviour/unit.lua +134 -4
  37. package/engine/buff.d.ts +84 -43
  38. package/engine/buff.lua +385 -226
  39. package/engine/internal/ability.d.ts +20 -13
  40. package/engine/internal/ability.lua +97 -76
  41. package/engine/internal/item/ability.lua +112 -4
  42. package/engine/internal/item+owner.lua +2 -2
  43. package/engine/internal/item.d.ts +7 -4
  44. package/engine/internal/item.lua +131 -28
  45. package/engine/internal/mechanics/ability-duration.lua +1 -1
  46. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  47. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  48. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  49. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  50. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  51. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  52. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  53. package/engine/internal/object-data/evasion-probability.lua +16 -0
  54. package/engine/internal/unit/ability.d.ts +15 -1
  55. package/engine/internal/unit/ability.lua +50 -14
  56. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  57. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  58. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  59. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  60. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  61. package/engine/internal/unit/allowed-targets.lua +9 -1
  62. package/engine/internal/unit/bonus.d.ts +6 -2
  63. package/engine/internal/unit/bonus.lua +23 -1
  64. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  65. package/engine/internal/unit/ignore-events-items.lua +5 -0
  66. package/engine/internal/unit/item.d.ts +24 -0
  67. package/engine/internal/unit/item.lua +78 -0
  68. package/engine/internal/unit/main-selected.d.ts +13 -0
  69. package/engine/internal/unit/main-selected.lua +51 -0
  70. package/engine/internal/unit/order.d.ts +20 -0
  71. package/engine/internal/unit/order.lua +136 -0
  72. package/engine/internal/unit+ability.lua +2 -2
  73. package/engine/internal/unit+damage.d.ts +2 -11
  74. package/engine/internal/unit+damage.lua +10 -14
  75. package/engine/internal/unit+spellSteal.lua +1 -2
  76. package/engine/internal/unit-missile-launch.lua +25 -6
  77. package/engine/internal/unit.d.ts +52 -13
  78. package/engine/internal/unit.lua +344 -116
  79. package/engine/internal/utility.lua +12 -0
  80. package/engine/lightning.d.ts +12 -5
  81. package/engine/lightning.lua +48 -14
  82. package/engine/local-client.d.ts +7 -2
  83. package/engine/local-client.lua +82 -0
  84. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  85. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  86. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  87. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  88. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  89. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  90. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  91. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  92. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  93. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  94. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  95. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  96. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  97. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  98. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  99. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  100. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  101. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  102. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  103. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  104. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  105. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  106. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  107. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  108. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  109. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  110. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  111. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  112. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  113. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  114. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  115. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  116. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  117. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  118. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  119. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  120. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  121. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  122. package/engine/object-data/entry/ability-type/web.lua +52 -0
  123. package/engine/object-data/entry/ability-type.d.ts +19 -17
  124. package/engine/object-data/entry/ability-type.lua +89 -33
  125. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  126. package/engine/object-data/entry/buff-type.d.ts +6 -12
  127. package/engine/object-data/entry/buff-type.lua +13 -29
  128. package/engine/object-data/entry/destructible-type.d.ts +1 -1
  129. package/engine/object-data/entry/item-type.d.ts +15 -1
  130. package/engine/object-data/entry/item-type.lua +93 -2
  131. package/engine/object-data/entry/lightning-type.d.ts +1 -1
  132. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  133. package/engine/object-data/entry/sound-preset.lua +140 -0
  134. package/engine/object-data/entry/unit-type.d.ts +10 -3
  135. package/engine/object-data/entry/unit-type.lua +155 -92
  136. package/engine/object-data/entry/upgrade.d.ts +1 -1
  137. package/engine/object-data/entry/upgrade.lua +4 -4
  138. package/engine/object-data/entry.d.ts +16 -14
  139. package/engine/object-data/entry.lua +60 -32
  140. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  141. package/engine/object-field/ability.d.ts +26 -3
  142. package/engine/object-field/ability.lua +54 -1
  143. package/engine/object-field/unit.d.ts +50 -3
  144. package/engine/object-field/unit.lua +186 -7
  145. package/engine/object-field.d.ts +17 -6
  146. package/engine/object-field.lua +187 -89
  147. package/engine/standard/entries/buff-type.d.ts +3 -0
  148. package/engine/standard/entries/buff-type.lua +3 -0
  149. package/engine/standard/entries/sound-preset.d.ts +10 -0
  150. package/engine/standard/entries/sound-preset.lua +10 -0
  151. package/engine/standard/fields/ability.d.ts +2 -0
  152. package/engine/standard/fields/ability.lua +2 -0
  153. package/engine/standard/fields/unit.d.ts +3 -0
  154. package/engine/standard/fields/unit.lua +5 -0
  155. package/engine/text-tag.d.ts +12 -1
  156. package/engine/text-tag.lua +44 -10
  157. package/engine/unit.d.ts +4 -0
  158. package/engine/unit.lua +4 -0
  159. package/index.d.ts +1 -0
  160. package/index.lua +1 -0
  161. package/net/socket.d.ts +7 -1
  162. package/net/socket.lua +45 -4
  163. package/network.d.ts +1 -0
  164. package/network.lua +3 -2
  165. package/objutil/buff.lua +2 -3
  166. package/objutil/unit.lua +8 -0
  167. package/package.json +2 -2
  168. package/patch-lua.d.ts +0 -0
  169. package/patch-lua.lua +10 -0
  170. package/utility/arrays.d.ts +9 -1
  171. package/utility/arrays.lua +37 -3
  172. package/utility/functions.d.ts +1 -0
  173. package/utility/functions.lua +1 -0
  174. package/utility/lazy.d.ts +2 -0
  175. package/utility/lazy.lua +14 -0
  176. package/utility/linked-set.d.ts +12 -2
  177. package/utility/linked-set.lua +8 -2
  178. package/utility/lua-maps.d.ts +4 -0
  179. package/utility/lua-maps.lua +20 -0
  180. package/utility/lua-sets.d.ts +1 -0
  181. package/utility/lua-sets.lua +3 -0
  182. package/utility/reflection.lua +11 -7
  183. package/utility/types.d.ts +1 -0
  184. package/core/types/order.d.ts +0 -25
  185. package/core/types/order.lua +0 -55
@@ -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,4 +256,95 @@ __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
+ )
272
+ __TS__SetDescriptor(
273
+ ItemType.prototype,
274
+ "goldCost",
275
+ {
276
+ get = function(self)
277
+ return self:getNumberField("igol")
278
+ end,
279
+ set = function(self, goldCost)
280
+ self:setNumberField("igol", goldCost)
281
+ end
282
+ },
283
+ true
284
+ )
285
+ __TS__SetDescriptor(
286
+ ItemType.prototype,
287
+ "lumberCost",
288
+ {
289
+ get = function(self)
290
+ return self:getNumberField("ilum")
291
+ end,
292
+ set = function(self, lumberCost)
293
+ self:setNumberField("ilum", lumberCost)
294
+ end
295
+ },
296
+ true
297
+ )
298
+ __TS__SetDescriptor(
299
+ ItemType.prototype,
300
+ "activelyUsed",
301
+ {
302
+ get = function(self)
303
+ return self:getBooleanField("iusa")
304
+ end,
305
+ set = function(self, activelyUsed)
306
+ self:setBooleanField("iusa", activelyUsed)
307
+ end
308
+ },
309
+ true
310
+ )
311
+ __TS__SetDescriptor(
312
+ ItemType.prototype,
313
+ "perishable",
314
+ {
315
+ get = function(self)
316
+ return self:getBooleanField("iper")
317
+ end,
318
+ set = function(self, perishable)
319
+ self:setBooleanField("iper", perishable)
320
+ end
321
+ },
322
+ true
323
+ )
324
+ __TS__SetDescriptor(
325
+ ItemType.prototype,
326
+ "initialStackSize",
327
+ {
328
+ get = function(self)
329
+ return self:getNumberField("iuse")
330
+ end,
331
+ set = function(self, initialStackSize)
332
+ self:setNumberField("iuse", initialStackSize)
333
+ end
334
+ },
335
+ true
336
+ )
337
+ __TS__SetDescriptor(
338
+ ItemType.prototype,
339
+ "maximumStackSize",
340
+ {
341
+ get = function(self)
342
+ return self:getNumberField("ista")
343
+ end,
344
+ set = function(self, maximumStackSize)
345
+ self:setNumberField("ista", maximumStackSize)
346
+ end
347
+ },
348
+ true
349
+ )
259
350
  return ____exports
@@ -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,7 @@ import type { AbilityTypeId } from "./ability-type";
13
13
  import type { UpgradeId } from "./upgrade";
14
14
  import { AnimationQualifier } from "../auxiliary/animation-qualifier";
15
15
  import { AttackType } from "../auxiliary/attack-type";
16
- export type UnitTypeId = ObjectDataEntryId & {
16
+ export type UnitTypeId = ObjectDataEntryId & number & {
17
17
  readonly __unitTypeId: unique symbol;
18
18
  };
19
19
  export type StandardUnitTypeId = UnitTypeId & {
@@ -23,8 +23,8 @@ export declare class UnitTypeWeapon {
23
23
  private readonly unitType;
24
24
  private readonly index;
25
25
  private constructor();
26
- get attackType(): AttackType;
27
- set attackType(attackType: AttackType);
26
+ get attackType(): AttackType | undefined;
27
+ set attackType(attackType: AttackType | undefined);
28
28
  get backSwingDuration(): number;
29
29
  set backSwingDuration(backSwingDuration: number);
30
30
  get cooldown(): number;
@@ -55,6 +55,7 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
55
55
  protected static readonly idGenerator: ObjectDataEntryIdGenerator;
56
56
  protected static generateId(): number;
57
57
  protected static getObjectData(map: WarMap): WarObjects;
58
+ private isPortraitModelPathSet?;
58
59
  get abilityTypeIds(): AbilityTypeId[];
59
60
  set abilityTypeIds(abilityTypeIds: AbilityTypeId[]);
60
61
  get defaultActiveAbilityTypeId(): AbilityTypeId | undefined;
@@ -131,6 +132,12 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
131
132
  set modelPathSD(modelPathSD: string);
132
133
  get modelPathHD(): string;
133
134
  set modelPathHD(modelPathHD: string);
135
+ get portraitModelPath(): string;
136
+ set portraitModelPath(portraitModelPath: string);
137
+ get portraitModelPathSD(): string;
138
+ set portraitModelPathSD(portraitModelPathSD: string);
139
+ get portraitModelPathHD(): string;
140
+ set portraitModelPathHD(portraitModelPathHD: string);
134
141
  get runSpeed(): number;
135
142
  set runSpeed(runSpeed: number);
136
143
  get runSpeedSD(): number;