warscript 0.0.1-dev.effa673 → 0.0.1-dev.f074376

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 (139) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/core/types/frame.lua +24 -21
  4. package/core/types/player.d.ts +16 -0
  5. package/core/types/player.lua +60 -15
  6. package/core/types/playerCamera.d.ts +2 -0
  7. package/core/types/playerCamera.lua +123 -5
  8. package/core/types/sound.lua +5 -0
  9. package/core/types/tileCell.d.ts +11 -1
  10. package/core/types/tileCell.lua +97 -0
  11. package/core/types/timer.d.ts +9 -8
  12. package/core/types/timer.lua +45 -23
  13. package/decl/native.d.ts +846 -790
  14. package/destroyable.d.ts +1 -0
  15. package/destroyable.lua +9 -0
  16. package/engine/behavior.d.ts +14 -1
  17. package/engine/behavior.lua +230 -70
  18. package/engine/behaviour/ability/apply-buff.lua +5 -5
  19. package/engine/behaviour/ability/damage.d.ts +6 -3
  20. package/engine/behaviour/ability/damage.lua +24 -36
  21. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  22. package/engine/behaviour/ability/emulate-impact.lua +18 -3
  23. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  24. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  25. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  26. package/engine/behaviour/ability/restore-mana.lua +6 -6
  27. package/engine/behaviour/ability.d.ts +2 -1
  28. package/engine/behaviour/ability.lua +10 -18
  29. package/engine/behaviour/unit/stun-immunity.d.ts +11 -5
  30. package/engine/behaviour/unit/stun-immunity.lua +53 -28
  31. package/engine/behaviour/unit.d.ts +39 -3
  32. package/engine/behaviour/unit.lua +259 -6
  33. package/engine/buff.d.ts +17 -6
  34. package/engine/buff.lua +160 -97
  35. package/engine/internal/ability.d.ts +7 -1
  36. package/engine/internal/ability.lua +49 -9
  37. package/engine/internal/item/ability.lua +63 -11
  38. package/engine/internal/item+owner.lua +12 -6
  39. package/engine/internal/item.d.ts +18 -17
  40. package/engine/internal/item.lua +135 -49
  41. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  42. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  43. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  44. package/engine/internal/misc/frame-coordinates.lua +21 -0
  45. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  46. package/engine/internal/misc/get-terrain-z.lua +11 -0
  47. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  48. package/engine/internal/misc/player-local-handle.lua +5 -0
  49. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  50. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  51. package/engine/internal/unit/ability.d.ts +35 -0
  52. package/engine/internal/unit/ability.lua +98 -9
  53. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  54. package/engine/internal/unit/allowed-targets.lua +9 -1
  55. package/engine/internal/unit/bonus.d.ts +2 -0
  56. package/engine/internal/unit/bonus.lua +10 -0
  57. package/engine/internal/unit/fly-height.d.ts +7 -0
  58. package/engine/internal/unit/fly-height.lua +20 -0
  59. package/engine/internal/unit/main-selected.lua +12 -27
  60. package/engine/internal/unit/order.d.ts +20 -0
  61. package/engine/internal/unit/order.lua +136 -0
  62. package/engine/internal/unit/scale.d.ts +7 -0
  63. package/engine/internal/unit/scale.lua +20 -0
  64. package/engine/internal/unit+ability.lua +10 -1
  65. package/engine/internal/unit+damage.d.ts +2 -11
  66. package/engine/internal/unit+damage.lua +10 -14
  67. package/engine/internal/unit+spellSteal.lua +1 -2
  68. package/engine/internal/unit-missile-launch.lua +45 -14
  69. package/engine/internal/unit.d.ts +39 -19
  70. package/engine/internal/unit.lua +329 -169
  71. package/engine/local-client.d.ts +2 -0
  72. package/engine/local-client.lua +30 -0
  73. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  74. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  75. package/engine/object-data/auxiliary/attachment-preset.d.ts +1 -1
  76. package/engine/object-data/auxiliary/attachment-preset.lua +3 -2
  77. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  78. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  79. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  80. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  81. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  82. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  83. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  84. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  85. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  86. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  87. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  88. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  89. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  90. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  91. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  92. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  93. package/engine/object-data/entry/ability-type.lua +11 -3
  94. package/engine/object-data/entry/buff-type/applicable.lua +5 -0
  95. package/engine/object-data/entry/buff-type.d.ts +5 -11
  96. package/engine/object-data/entry/buff-type.lua +11 -27
  97. package/engine/object-data/entry/destructible-type.d.ts +27 -1
  98. package/engine/object-data/entry/destructible-type.lua +155 -0
  99. package/engine/object-data/entry/unit-type.d.ts +17 -4
  100. package/engine/object-data/entry/unit-type.lua +197 -85
  101. package/engine/object-field/ability.d.ts +4 -4
  102. package/engine/object-field/ability.lua +7 -6
  103. package/engine/object-field/unit.d.ts +72 -3
  104. package/engine/object-field/unit.lua +268 -7
  105. package/engine/object-field.d.ts +23 -6
  106. package/engine/object-field.lua +335 -118
  107. package/engine/random.d.ts +9 -0
  108. package/engine/random.lua +13 -0
  109. package/engine/standard/entries/buff-type.d.ts +3 -0
  110. package/engine/standard/entries/buff-type.lua +3 -0
  111. package/engine/standard/fields/ability.d.ts +2 -2
  112. package/engine/standard/fields/ability.lua +2 -2
  113. package/engine/standard/fields/unit.d.ts +7 -0
  114. package/engine/standard/fields/unit.lua +13 -0
  115. package/engine/synchronization.d.ts +11 -0
  116. package/engine/synchronization.lua +77 -0
  117. package/engine/text-tag.d.ts +36 -2
  118. package/engine/text-tag.lua +250 -10
  119. package/engine/unit.d.ts +3 -0
  120. package/engine/unit.lua +3 -0
  121. package/net/socket.lua +1 -1
  122. package/objutil/buff.lua +2 -3
  123. package/package.json +2 -2
  124. package/patch-lualib.lua +1 -1
  125. package/utility/arrays.d.ts +2 -0
  126. package/utility/arrays.lua +11 -0
  127. package/utility/callback-array.d.ts +17 -0
  128. package/utility/callback-array.lua +61 -0
  129. package/utility/functions.d.ts +8 -0
  130. package/utility/functions.lua +13 -0
  131. package/utility/linked-set.d.ts +2 -0
  132. package/utility/linked-set.lua +22 -1
  133. package/utility/lua-maps.d.ts +15 -2
  134. package/utility/lua-maps.lua +53 -2
  135. package/utility/lua-sets.d.ts +2 -0
  136. package/utility/lua-sets.lua +7 -0
  137. package/utility/types.d.ts +3 -0
  138. package/core/types/order.d.ts +0 -25
  139. 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";
4
+ import { ObjectDataEntry, ObjectDataEntryConstructor, ObjectDataEntryId } from "../entry";
5
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
@@ -13,6 +13,7 @@ import type { AbilityTypeId } from "./ability-type";
13
13
  import type { UpgradeId } from "./upgrade";
14
14
  import { AnimationQualifier } from "../auxiliary/animation-qualifier";
15
15
  import { AttackType } from "../auxiliary/attack-type";
16
+ import { ArmorType } from "../auxiliary/armor-type";
16
17
  export type UnitTypeId = ObjectDataEntryId & number & {
17
18
  readonly __unitTypeId: unique symbol;
18
19
  };
@@ -23,8 +24,8 @@ export declare class UnitTypeWeapon {
23
24
  private readonly unitType;
24
25
  private readonly index;
25
26
  private constructor();
26
- get attackType(): AttackType;
27
- set attackType(attackType: AttackType);
27
+ get attackType(): AttackType | undefined;
28
+ set attackType(attackType: AttackType | undefined);
28
29
  get backSwingDuration(): number;
29
30
  set backSwingDuration(backSwingDuration: number);
30
31
  get cooldown(): number;
@@ -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;
@@ -144,6 +149,8 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
144
149
  set runSpeedSD(runSpeedSD: number);
145
150
  get runSpeedHD(): number;
146
151
  set runSpeedHD(runSpeedHD: number);
152
+ get selectionCircleHeight(): number;
153
+ set selectionCircleHeight(height: number);
147
154
  get selectionCircleScale(): number;
148
155
  set selectionCircleScale(selectionCircleScale: number);
149
156
  get selectionCircleScaleSD(): number;
@@ -182,16 +189,20 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
182
189
  set walkSpeedSD(walkSpeedSD: number);
183
190
  get walkSpeedHD(): number;
184
191
  set walkSpeedHD(walkSpeedHD: number);
192
+ get armor(): number;
193
+ set armor(armor: number);
185
194
  get armorSoundType(): ArmorSoundType;
186
195
  set armorSoundType(armorSoundType: ArmorSoundType);
187
196
  get armorSoundTypeSD(): ArmorSoundType;
188
197
  set armorSoundTypeSD(armorSoundTypeSD: ArmorSoundType);
189
198
  get armorSoundTypeHD(): ArmorSoundType;
190
199
  set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
200
+ get armorType(): ArmorType;
201
+ set armorType(armorType: ArmorType);
191
202
  get combatClassifications(): CombatClassifications;
192
203
  set combatClassifications(combatClassifications: CombatClassifications);
193
- get unitClassifications(): UnitClassifications;
194
- set unitClassifications(unitClassifications: UnitClassifications);
204
+ get classifications(): UnitClassifications;
205
+ set classifications(unitClassifications: UnitClassifications);
195
206
  get weapons(): TupleOf<UnitTypeWeapon, 2>;
196
207
  get firstWeapon(): UnitTypeWeapon;
197
208
  get secondWeapon(): UnitTypeWeapon;
@@ -225,6 +236,8 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
225
236
  set goldCost(goldCost: number);
226
237
  get healthRegenerationRate(): number;
227
238
  set healthRegenerationRate(healthRegenerationRate: number);
239
+ get level(): number;
240
+ set level(level: number);
228
241
  get manaRegenerationRate(): number;
229
242
  set manaRegenerationRate(manaRegenerationRate: number);
230
243
  get maximumHealth(): number;