warscript 0.0.1-dev.47f470c → 0.0.1-dev.48e5280

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 (197) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/core/types/effect.d.ts +1 -3
  4. package/core/types/effect.lua +26 -29
  5. package/core/types/frame.lua +24 -21
  6. package/core/types/player.d.ts +16 -0
  7. package/core/types/player.lua +60 -15
  8. package/core/types/playerCamera.d.ts +2 -0
  9. package/core/types/playerCamera.lua +123 -5
  10. package/core/types/sound.d.ts +17 -25
  11. package/core/types/sound.lua +91 -46
  12. package/core/types/tileCell.d.ts +11 -1
  13. package/core/types/tileCell.lua +97 -0
  14. package/core/types/timer.d.ts +9 -8
  15. package/core/types/timer.lua +45 -23
  16. package/core/util.lua +6 -1
  17. package/decl/native.d.ts +846 -790
  18. package/destroyable.d.ts +1 -0
  19. package/destroyable.lua +9 -0
  20. package/engine/behavior.d.ts +14 -1
  21. package/engine/behavior.lua +230 -70
  22. package/engine/behaviour/ability/apply-buff.lua +5 -5
  23. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  24. package/engine/behaviour/ability/damage.d.ts +9 -3
  25. package/engine/behaviour/ability/damage.lua +26 -38
  26. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  27. package/engine/behaviour/ability/emulate-impact.lua +18 -3
  28. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  29. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  30. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  31. package/engine/behaviour/ability/restore-mana.lua +6 -6
  32. package/engine/behaviour/ability.d.ts +15 -6
  33. package/engine/behaviour/ability.lua +56 -21
  34. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  35. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  36. package/engine/behaviour/unit.d.ts +40 -2
  37. package/engine/behaviour/unit.lua +269 -6
  38. package/engine/buff.d.ts +69 -20
  39. package/engine/buff.lua +390 -171
  40. package/engine/internal/ability.d.ts +7 -1
  41. package/engine/internal/ability.lua +49 -9
  42. package/engine/internal/item/ability.lua +63 -11
  43. package/engine/internal/item+owner.lua +12 -6
  44. package/engine/internal/item.d.ts +18 -17
  45. package/engine/internal/item.lua +135 -49
  46. package/engine/internal/mechanics/ability-duration.lua +1 -1
  47. package/engine/internal/mechanics/cast-ability.lua +6 -3
  48. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  49. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  50. package/engine/internal/misc/frame-coordinates.lua +21 -0
  51. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  52. package/engine/internal/misc/get-terrain-z.lua +11 -0
  53. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  54. package/engine/internal/misc/player-local-handle.lua +5 -0
  55. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  56. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  57. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  58. package/engine/internal/object-data/health-bonus.lua +16 -0
  59. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  60. package/engine/internal/object-data/mana-bonus.lua +16 -0
  61. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  62. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  63. package/engine/internal/unit/ability.d.ts +35 -0
  64. package/engine/internal/unit/ability.lua +98 -9
  65. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  66. package/engine/internal/unit/allowed-targets.lua +9 -1
  67. package/engine/internal/unit/attributes.d.ts +17 -0
  68. package/engine/internal/unit/attributes.lua +46 -0
  69. package/engine/internal/unit/bonus.d.ts +6 -0
  70. package/engine/internal/unit/bonus.lua +33 -3
  71. package/engine/internal/unit/fly-height.d.ts +7 -0
  72. package/engine/internal/unit/fly-height.lua +20 -0
  73. package/engine/internal/unit/interrupts.d.ts +12 -0
  74. package/engine/internal/unit/interrupts.lua +28 -0
  75. package/engine/internal/unit/main-selected.lua +12 -27
  76. package/engine/internal/unit/order.d.ts +20 -0
  77. package/engine/internal/unit/order.lua +136 -0
  78. package/engine/internal/unit/range-event.d.ts +12 -0
  79. package/engine/internal/unit/range-event.lua +90 -0
  80. package/engine/internal/unit/scale.d.ts +7 -0
  81. package/engine/internal/unit/scale.lua +20 -0
  82. package/engine/internal/unit+ability.lua +10 -1
  83. package/engine/internal/unit+bonus.lua +3 -3
  84. package/engine/internal/unit+damage.d.ts +2 -11
  85. package/engine/internal/unit+damage.lua +10 -14
  86. package/engine/internal/unit+spellSteal.lua +1 -2
  87. package/engine/internal/unit-missile-launch.lua +52 -14
  88. package/engine/internal/unit.d.ts +43 -25
  89. package/engine/internal/unit.lua +384 -260
  90. package/engine/local-client.d.ts +2 -0
  91. package/engine/local-client.lua +30 -0
  92. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  93. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  94. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  95. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  96. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  97. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  98. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  99. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  100. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  101. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  102. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  103. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  104. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  105. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  106. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → armor-bonus.d.ts} +3 -3
  107. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  108. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  109. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  110. package/engine/object-data/entry/ability-type/blank-configurable.lua +0 -9
  111. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  112. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  113. package/engine/object-data/entry/ability-type/curse.lua +2 -2
  114. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  115. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  116. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  117. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  118. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  119. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  120. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  121. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  122. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  123. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  124. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  125. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  126. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  127. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  128. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  129. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  130. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  131. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  132. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  133. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  134. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  135. package/engine/object-data/entry/ability-type/web.lua +52 -0
  136. package/engine/object-data/entry/ability-type.d.ts +20 -16
  137. package/engine/object-data/entry/ability-type.lua +161 -20
  138. package/engine/object-data/entry/buff-type/applicable.lua +9 -4
  139. package/engine/object-data/entry/buff-type.d.ts +5 -11
  140. package/engine/object-data/entry/buff-type.lua +11 -27
  141. package/engine/object-data/entry/destructible-type.d.ts +27 -1
  142. package/engine/object-data/entry/destructible-type.lua +155 -0
  143. package/engine/object-data/entry/sound-preset.d.ts +18 -2
  144. package/engine/object-data/entry/sound-preset.lua +105 -15
  145. package/engine/object-data/entry/unit-type.d.ts +17 -4
  146. package/engine/object-data/entry/unit-type.lua +200 -88
  147. package/engine/object-data/entry.d.ts +2 -2
  148. package/engine/object-data/entry.lua +14 -7
  149. package/engine/object-field/ability.d.ts +4 -4
  150. package/engine/object-field/ability.lua +7 -6
  151. package/engine/object-field/unit.d.ts +72 -3
  152. package/engine/object-field/unit.lua +268 -7
  153. package/engine/object-field.d.ts +25 -6
  154. package/engine/object-field.lua +357 -118
  155. package/engine/random.d.ts +10 -0
  156. package/engine/random.lua +21 -0
  157. package/engine/standard/entries/buff-type.d.ts +3 -0
  158. package/engine/standard/entries/buff-type.lua +3 -0
  159. package/engine/standard/fields/ability.d.ts +2 -2
  160. package/engine/standard/fields/ability.lua +2 -2
  161. package/engine/standard/fields/unit.d.ts +12 -0
  162. package/engine/standard/fields/unit.lua +20 -0
  163. package/engine/synchronization.d.ts +11 -0
  164. package/engine/synchronization.lua +77 -0
  165. package/engine/text-tag.d.ts +36 -2
  166. package/engine/text-tag.lua +250 -10
  167. package/engine/unit.d.ts +6 -0
  168. package/engine/unit.lua +6 -0
  169. package/net/socket.lua +1 -1
  170. package/objutil/buff.lua +11 -10
  171. package/objutil/unit.lua +2 -2
  172. package/package.json +2 -2
  173. package/patch-lua.lua +15 -0
  174. package/patch-lualib.lua +1 -1
  175. package/utility/arrays.d.ts +2 -0
  176. package/utility/arrays.lua +11 -0
  177. package/utility/callback-array.d.ts +17 -0
  178. package/utility/callback-array.lua +61 -0
  179. package/utility/functions.d.ts +8 -0
  180. package/utility/functions.lua +13 -0
  181. package/utility/linked-map.d.ts +34 -0
  182. package/utility/linked-map.lua +101 -0
  183. package/utility/linked-set.d.ts +4 -1
  184. package/utility/linked-set.lua +43 -1
  185. package/utility/lua-maps.d.ts +15 -2
  186. package/utility/lua-maps.lua +53 -2
  187. package/utility/lua-sets.d.ts +2 -0
  188. package/utility/lua-sets.lua +7 -0
  189. package/utility/records.lua +20 -1
  190. package/utility/reflection.lua +11 -7
  191. package/utility/types.d.ts +3 -0
  192. package/core/types/order.d.ts +0 -25
  193. package/core/types/order.lua +0 -55
  194. /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
  195. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  196. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  197. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -1,5 +1,6 @@
1
1
  /** @noSelfInFile */
2
- import { ObjectDataEntry, ObjectDataEntryConstructor, ObjectDataEntryId } from "../entry";
2
+ import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
3
+ import { SoundEax } from "../auxiliary/sound-eax";
3
4
  export type SoundPresetId = ObjectDataEntryId & string & {
4
5
  readonly __soundPresetId: unique symbol;
5
6
  };
@@ -7,11 +8,26 @@ export type StandardSoundPresetId = SoundPresetId & {
7
8
  readonly __standardSoundPresetId: unique symbol;
8
9
  };
9
10
  export declare class SoundPreset extends ObjectDataEntry<SoundPresetId> {
10
- static readonly [id: StandardSoundPresetId]: ObjectDataEntryConstructor<SoundPreset>;
11
11
  static readonly BASE_ID: SoundPresetId;
12
12
  private static nextId;
13
13
  protected static generateId(): string;
14
14
  protected static getObjectData(map: WarMap): WarObjects;
15
15
  get filePaths(): string[];
16
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);
17
33
  }
@@ -5,8 +5,6 @@ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
5
  local ____exports = {}
6
6
  local ____entry = require("engine.object-data.entry")
7
7
  local ObjectDataEntry = ____entry.ObjectDataEntry
8
- local ____reflection = require("utility.reflection")
9
- local implementReadonlyNumberIndexSupplier = ____reflection.implementReadonlyNumberIndexSupplier
10
8
  ____exports.SoundPreset = __TS__Class()
11
9
  local SoundPreset = ____exports.SoundPreset
12
10
  SoundPreset.name = "SoundPreset"
@@ -19,19 +17,7 @@ function SoundPreset.generateId(self)
19
17
  end
20
18
  function SoundPreset.getObjectData(self, map)
21
19
  return map.objects.sound
22
- end;
23
- (function(self)
24
- implementReadonlyNumberIndexSupplier(
25
- ____exports.SoundPreset,
26
- function(id)
27
- local ____class_3 = __TS__Class()
28
- ____class_3.name = ____class_3.name
29
- __TS__ClassExtends(____class_3, ____exports.SoundPreset)
30
- ____class_3.BASE_ID = id
31
- return ____class_3
32
- end
33
- )
34
- end)(SoundPreset)
20
+ end
35
21
  SoundPreset.BASE_ID = "BlizzardWave"
36
22
  SoundPreset.nextId = 0
37
23
  __TS__SetDescriptor(
@@ -47,4 +33,108 @@ __TS__SetDescriptor(
47
33
  },
48
34
  true
49
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
+ )
50
140
  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;