warscript 0.0.1-dev.c946175 → 0.0.1-dev.cc49a34

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 (243) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/binaryreader.d.ts +1 -0
  4. package/binaryreader.lua +3 -0
  5. package/config.d.ts +5 -0
  6. package/config.lua +10 -0
  7. package/core/types/effect.d.ts +14 -6
  8. package/core/types/effect.lua +131 -35
  9. package/core/types/frame.d.ts +8 -0
  10. package/core/types/frame.lua +117 -22
  11. package/core/types/player.d.ts +16 -0
  12. package/core/types/player.lua +60 -15
  13. package/core/types/playerCamera.d.ts +2 -0
  14. package/core/types/playerCamera.lua +123 -5
  15. package/core/types/sound.d.ts +17 -24
  16. package/core/types/sound.lua +99 -24
  17. package/core/types/tileCell.d.ts +11 -1
  18. package/core/types/tileCell.lua +97 -0
  19. package/core/types/timer.d.ts +9 -8
  20. package/core/types/timer.lua +45 -23
  21. package/core/util.d.ts +1 -1
  22. package/core/util.lua +18 -1
  23. package/decl/native.d.ts +846 -790
  24. package/destroyable.d.ts +1 -0
  25. package/destroyable.lua +9 -0
  26. package/engine/behavior.d.ts +16 -3
  27. package/engine/behavior.lua +233 -73
  28. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  29. package/engine/behaviour/ability/always-enabled.lua +31 -0
  30. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  31. package/engine/behaviour/ability/apply-buff.lua +36 -4
  32. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  33. package/engine/behaviour/ability/damage.d.ts +39 -11
  34. package/engine/behaviour/ability/damage.lua +83 -37
  35. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  36. package/engine/behaviour/ability/emulate-impact.lua +43 -0
  37. package/engine/behaviour/ability/heal.d.ts +33 -6
  38. package/engine/behaviour/ability/heal.lua +89 -10
  39. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  40. package/engine/behaviour/ability/instant-impact.lua +4 -19
  41. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  42. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  43. package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
  44. package/engine/behaviour/ability/remove-buffs.lua +49 -0
  45. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  46. package/engine/behaviour/ability/restore-mana.lua +29 -0
  47. package/engine/behaviour/ability.d.ts +22 -5
  48. package/engine/behaviour/ability.lua +113 -48
  49. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  50. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  51. package/engine/behaviour/unit.d.ts +45 -2
  52. package/engine/behaviour/unit.lua +289 -6
  53. package/engine/buff.d.ts +119 -44
  54. package/engine/buff.lua +560 -239
  55. package/engine/game-map.d.ts +7 -0
  56. package/engine/game-map.lua +32 -0
  57. package/engine/internal/ability.d.ts +23 -14
  58. package/engine/internal/ability.lua +129 -85
  59. package/engine/internal/item/ability.lua +162 -4
  60. package/engine/internal/item+owner.lua +12 -6
  61. package/engine/internal/item.d.ts +20 -19
  62. package/engine/internal/item.lua +191 -74
  63. package/engine/internal/mechanics/ability-duration.lua +1 -1
  64. package/engine/internal/mechanics/cast-ability.lua +6 -3
  65. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  66. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  67. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  68. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  69. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  70. package/engine/internal/misc/frame-coordinates.lua +21 -0
  71. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  72. package/engine/internal/misc/get-terrain-z.lua +11 -0
  73. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  74. package/engine/internal/misc/player-local-handle.lua +5 -0
  75. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  76. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  77. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  78. package/engine/internal/object-data/evasion-probability.lua +16 -0
  79. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  80. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  81. package/engine/internal/unit/ability.d.ts +45 -1
  82. package/engine/internal/unit/ability.lua +128 -17
  83. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  84. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  85. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  86. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  87. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  88. package/engine/internal/unit/allowed-targets.lua +9 -1
  89. package/engine/internal/unit/attributes.d.ts +17 -0
  90. package/engine/internal/unit/attributes.lua +46 -0
  91. package/engine/internal/unit/bonus.d.ts +8 -2
  92. package/engine/internal/unit/bonus.lua +33 -1
  93. package/engine/internal/unit/fly-height.d.ts +7 -0
  94. package/engine/internal/unit/fly-height.lua +20 -0
  95. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  96. package/engine/internal/unit/ignore-events-items.lua +5 -0
  97. package/engine/internal/unit/interrupts.d.ts +12 -0
  98. package/engine/internal/unit/interrupts.lua +28 -0
  99. package/engine/internal/unit/item.d.ts +24 -0
  100. package/engine/internal/unit/item.lua +78 -0
  101. package/engine/internal/unit/main-selected.d.ts +13 -0
  102. package/engine/internal/unit/main-selected.lua +36 -0
  103. package/engine/internal/unit/order.d.ts +20 -0
  104. package/engine/internal/unit/order.lua +136 -0
  105. package/engine/internal/unit/scale.d.ts +7 -0
  106. package/engine/internal/unit/scale.lua +20 -0
  107. package/engine/internal/unit+ability.lua +12 -3
  108. package/engine/internal/unit+damage.d.ts +2 -11
  109. package/engine/internal/unit+damage.lua +10 -14
  110. package/engine/internal/unit+spellSteal.lua +1 -2
  111. package/engine/internal/unit+transport.lua +4 -10
  112. package/engine/internal/unit-missile-launch.lua +70 -13
  113. package/engine/internal/unit.d.ts +63 -29
  114. package/engine/internal/unit.lua +437 -245
  115. package/engine/internal/utility.lua +12 -0
  116. package/engine/lightning.d.ts +12 -5
  117. package/engine/lightning.lua +48 -14
  118. package/engine/local-client.d.ts +9 -2
  119. package/engine/local-client.lua +112 -0
  120. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  121. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  122. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  123. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  124. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  125. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  126. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  127. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  128. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  129. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  130. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  131. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  132. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  133. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  134. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  135. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  136. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  137. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  138. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  139. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  140. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  141. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  142. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  143. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  144. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  145. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  146. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  147. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  148. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  149. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  150. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  151. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  152. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  153. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  154. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  155. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  156. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  157. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  158. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  159. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  160. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  161. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  162. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  163. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  164. package/engine/object-data/entry/ability-type/web.lua +52 -0
  165. package/engine/object-data/entry/ability-type.d.ts +19 -17
  166. package/engine/object-data/entry/ability-type.lua +93 -36
  167. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  168. package/engine/object-data/entry/buff-type.d.ts +6 -12
  169. package/engine/object-data/entry/buff-type.lua +13 -29
  170. package/engine/object-data/entry/destructible-type.d.ts +28 -2
  171. package/engine/object-data/entry/destructible-type.lua +155 -0
  172. package/engine/object-data/entry/item-type.d.ts +15 -1
  173. package/engine/object-data/entry/item-type.lua +93 -2
  174. package/engine/object-data/entry/lightning-type.d.ts +1 -1
  175. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  176. package/engine/object-data/entry/sound-preset.lua +140 -0
  177. package/engine/object-data/entry/unit-type.d.ts +25 -5
  178. package/engine/object-data/entry/unit-type.lua +258 -93
  179. package/engine/object-data/entry/upgrade.d.ts +1 -1
  180. package/engine/object-data/entry/upgrade.lua +4 -4
  181. package/engine/object-data/entry.d.ts +16 -14
  182. package/engine/object-data/entry.lua +60 -32
  183. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  184. package/engine/object-field/ability.d.ts +28 -5
  185. package/engine/object-field/ability.lua +59 -5
  186. package/engine/object-field/unit.d.ts +72 -3
  187. package/engine/object-field/unit.lua +268 -7
  188. package/engine/object-field.d.ts +25 -6
  189. package/engine/object-field.lua +359 -116
  190. package/engine/random.d.ts +9 -0
  191. package/engine/random.lua +13 -0
  192. package/engine/standard/entries/buff-type.d.ts +3 -0
  193. package/engine/standard/entries/buff-type.lua +3 -0
  194. package/engine/standard/entries/sound-preset.d.ts +10 -0
  195. package/engine/standard/entries/sound-preset.lua +10 -0
  196. package/engine/standard/fields/ability.d.ts +4 -2
  197. package/engine/standard/fields/ability.lua +4 -2
  198. package/engine/standard/fields/unit.d.ts +12 -0
  199. package/engine/standard/fields/unit.lua +20 -0
  200. package/engine/synchronization.d.ts +11 -0
  201. package/engine/synchronization.lua +77 -0
  202. package/engine/text-tag.d.ts +36 -2
  203. package/engine/text-tag.lua +250 -10
  204. package/engine/unit.d.ts +8 -0
  205. package/engine/unit.lua +8 -0
  206. package/index.d.ts +1 -0
  207. package/index.lua +1 -0
  208. package/lualib_bundle.lua +7 -2
  209. package/net/socket.d.ts +7 -1
  210. package/net/socket.lua +45 -4
  211. package/network.d.ts +1 -0
  212. package/network.lua +3 -2
  213. package/objutil/buff.lua +12 -11
  214. package/objutil/unit.lua +8 -0
  215. package/package.json +2 -2
  216. package/patch-lua.d.ts +0 -0
  217. package/patch-lua.lua +10 -0
  218. package/patch-lualib.lua +1 -1
  219. package/property.d.ts +55 -0
  220. package/property.lua +374 -0
  221. package/utility/arrays.d.ts +10 -1
  222. package/utility/arrays.lua +45 -3
  223. package/utility/callback-array.d.ts +17 -0
  224. package/utility/callback-array.lua +61 -0
  225. package/utility/functions.d.ts +8 -0
  226. package/utility/functions.lua +13 -0
  227. package/utility/lazy.d.ts +2 -0
  228. package/utility/lazy.lua +14 -0
  229. package/utility/linked-map.d.ts +26 -0
  230. package/utility/linked-map.lua +66 -0
  231. package/utility/linked-set.d.ts +13 -2
  232. package/utility/linked-set.lua +27 -3
  233. package/utility/lua-maps.d.ts +15 -2
  234. package/utility/lua-maps.lua +53 -2
  235. package/utility/lua-sets.d.ts +2 -0
  236. package/utility/lua-sets.lua +7 -0
  237. package/utility/records.lua +20 -1
  238. package/utility/reflection.lua +11 -7
  239. package/utility/types.d.ts +4 -0
  240. package/core/mapbounds.d.ts +0 -8
  241. package/core/mapbounds.lua +0 -12
  242. package/core/types/order.d.ts +0 -25
  243. package/core/types/order.lua +0 -55
@@ -11,6 +11,10 @@ import { Ability, UnitAbility } from "./ability";
11
11
  import { Widget } from "../../core/types/widget";
12
12
  import type { UnitTypeId } from "../object-data/entry/unit-type";
13
13
  import { CombatClassification, CombatClassifications } from "../object-data/auxiliary/combat-classification";
14
+ import { MovementType } from "../object-data/auxiliary/movement-type";
15
+ import { UnitAttribute } from "../object-data/auxiliary/unit-attribute";
16
+ import { AttackType } from "../object-data/auxiliary/attack-type";
17
+ import { AttributesHolder } from "../../attributes";
14
18
  export type UnitClassification = junittype;
15
19
  export declare namespace UnitClassification {
16
20
  const STRUCTURE: junittype;
@@ -19,6 +23,7 @@ export declare namespace UnitClassification {
19
23
  const GROUND: junittype;
20
24
  const SUMMONED: junittype;
21
25
  const MECHANICAL: junittype;
26
+ const WORKER: junittype;
22
27
  const ANCIENT: junittype;
23
28
  const SUICIDAL: junittype;
24
29
  const TAUREN: junittype;
@@ -36,14 +41,18 @@ type AbilityDispatcherTable<T extends any[] = []> = {
36
41
  readonly [id: number]: Event<[Unit, Ability, ...T]>;
37
42
  };
38
43
  type AbilityEventDispatcher<T extends any[] = []> = Event<[Unit, Ability, ...T]> & AbilityDispatcherTable<T>;
39
- export interface DamagingEvent {
44
+ export interface DamagingEvent extends AttributesHolder {
40
45
  amount: number;
41
- attackType: jattacktype;
46
+ attackType: AttackType;
42
47
  damageType: jdamagetype;
43
48
  weaponType: jweapontype;
49
+ metadata: unknown;
44
50
  readonly isAttack: boolean;
51
+ readonly originalAmount: number;
52
+ readonly originalMetadata: unknown;
53
+ preventRetaliation(this: DamagingEvent): void;
45
54
  }
46
- export type DamageEvent = DamagingEvent & {
55
+ export type DamageEvent = Omit<DamagingEvent, "preventRetaliation"> & {
47
56
  preventDeath<P extends any[]>(this: DamageEvent, callback: (this: void, ...parameters: P) => any, ...parameters: P): void;
48
57
  };
49
58
  export type AttackDamageEvent = DamagingEvent & {
@@ -71,10 +80,14 @@ export declare class UnitWeapon {
71
80
  readonly unit: Unit;
72
81
  readonly index: 0 | 1;
73
82
  constructor(unit: Unit, index: 0 | 1);
83
+ get isEnabled(): boolean;
84
+ set isEnabled(isEnabled: boolean);
74
85
  get cooldown(): number;
75
86
  set cooldown(cooldown: number);
76
87
  get damage(): [minimumDamage: number, maximumDamage: number];
77
88
  set damage([minimumDamage, maximumDamage]: [number, number]);
89
+ get allowedTargetCombatClassifications(): CombatClassifications;
90
+ set allowedTargetCombatClassifications(allowedTargetCombatClassifications: CombatClassifications);
78
91
  get damageBase(): number;
79
92
  set damageBase(damageBase: number);
80
93
  get damageDiceCount(): number;
@@ -93,20 +106,31 @@ export declare class UnitWeapon {
93
106
  set missileSpeed(missileSpeed: number);
94
107
  }
95
108
  declare const enum UnitPropertyKey {
96
- IS_PAUSED = 100,
97
- STUN_COUNTER = 101,
98
- DELAY_HEALTH_CHECKS_COUNTER = 102,
99
- DELAY_HEALTH_CHECKS_HEALTH_BONUS = 103,
100
- PREVENT_DEATH_HEALTH_BONUS = 104,
101
- IS_TEAM_GLOW_HIDDEN = 105
109
+ SYNC_ID = 100,
110
+ IS_PAUSED = 101,
111
+ STUN_COUNTER = 102,
112
+ FORCE_STUN_COUNTER = 103,
113
+ DELAY_HEALTH_CHECKS_COUNTER = 104,
114
+ DELAY_HEALTH_CHECKS_HEALTH_BONUS = 105,
115
+ PREVENT_DEATH_HEALTH_BONUS = 106,
116
+ IS_TEAM_GLOW_HIDDEN = 107,
117
+ LAST_X = 108,
118
+ LAST_Y = 109
102
119
  }
120
+ export type UnitSyncId = number & {
121
+ readonly __unitSyncId: unique symbol;
122
+ };
103
123
  export declare class Unit extends Handle<junit> {
124
+ readonly syncId: UnitSyncId;
104
125
  private [UnitPropertyKey.IS_PAUSED]?;
105
126
  private [UnitPropertyKey.STUN_COUNTER]?;
127
+ private [UnitPropertyKey.FORCE_STUN_COUNTER]?;
106
128
  private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
107
129
  private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
108
130
  private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
109
131
  private [UnitPropertyKey.IS_TEAM_GLOW_HIDDEN]?;
132
+ private [UnitPropertyKey.LAST_X]?;
133
+ private [UnitPropertyKey.LAST_Y]?;
110
134
  private _owner?;
111
135
  private _timeScale?;
112
136
  private events?;
@@ -127,6 +151,7 @@ export declare class Unit extends Handle<junit> {
127
151
  get isAlive(): boolean;
128
152
  get isDead(): boolean;
129
153
  get isIllusion(): boolean;
154
+ get isStunned(): boolean;
130
155
  get combatClassifications(): CombatClassifications;
131
156
  set combatClassifications(combatClassifications: CombatClassifications);
132
157
  hasCombatClassification(combatClassification: CombatClassification): boolean;
@@ -139,26 +164,23 @@ export declare class Unit extends Handle<junit> {
139
164
  isInRangeOf(unit: Unit, range: number): boolean;
140
165
  isAllyOf(unit: Unit): boolean;
141
166
  isEnemyOf(unit: Unit): boolean;
142
- playAnimation(animation: string, rarity?: jraritycontrol): void;
143
- playAnimation(animation: number): void;
167
+ playAnimation(...parameters: [animation: number] | [animation: string, rarity?: jraritycontrol]): void;
168
+ resetAnimation(): void;
144
169
  queueAnimation(animation: string): void;
145
170
  get weapons(): [UnitWeapon, UnitWeapon];
146
171
  get firstWeapon(): UnitWeapon;
147
172
  get secondWeapon(): UnitWeapon;
173
+ chooseWeapon(target: Unit): UnitWeapon | undefined;
148
174
  get level(): number;
149
175
  set level(v: number);
150
176
  get xp(): number;
151
177
  set xp(v: number);
152
- get strengthBase(): number;
153
- set strengthBase(strengthBase: number);
178
+ get primaryAttribute(): UnitAttribute;
179
+ set primaryAttribute(primaryAttribute: UnitAttribute);
154
180
  get strengthBonus(): number;
155
181
  get strength(): number;
156
- get agilityBase(): number;
157
- set agilityBase(agilityBase: number);
158
182
  get agilityBonus(): number;
159
183
  get agility(): number;
160
- get intelligenceBase(): number;
161
- set intelligenceBase(intelligenceBase: number);
162
184
  get intelligenceBonus(): number;
163
185
  get intelligence(): number;
164
186
  get name(): string;
@@ -192,8 +214,6 @@ export declare class Unit extends Handle<junit> {
192
214
  set facing(v: number);
193
215
  get speed(): number;
194
216
  set speed(v: number);
195
- get flyHeight(): number;
196
- set flyHeight(v: number);
197
217
  get x(): number;
198
218
  set x(v: number);
199
219
  get y(): number;
@@ -217,12 +237,12 @@ export declare class Unit extends Handle<junit> {
217
237
  get isInvulnerable(): boolean;
218
238
  get vertexColor(): Color;
219
239
  set vertexColor(v: Color);
220
- get scale(): number;
221
- set scale(v: number);
222
240
  get timeScale(): number;
223
241
  set timeScale(v: number);
224
242
  get collisionSize(): number;
225
243
  get pathingCollisionRange(): number;
244
+ get movementType(): MovementType;
245
+ set movementType(movementType: MovementType);
226
246
  set pathing(v: boolean);
227
247
  isSelected(player: Player): boolean;
228
248
  explode(): void;
@@ -240,18 +260,17 @@ export declare class Unit extends Handle<junit> {
240
260
  dropItemTarget(item: Item, target: Widget): boolean;
241
261
  dropItemSlot(item: Item, slot: number): boolean;
242
262
  itemInSlot(slot: number): Item | null;
243
- addAbility(abilityId: number): UnitAbility | null;
263
+ addAbility(abilityId: number): UnitAbility | undefined;
244
264
  makeAbilityPermanent(abilityId: number, permanent: true): boolean;
245
265
  setAbilityLevel(abilityId: number, level: number): number;
246
266
  getAbilityLevel(abilityId: number): number;
247
267
  hasAbility(abilityId: number): boolean;
248
- getAbilityById(abilityId: number): UnitAbility | undefined;
249
- removeAbility(abilityId: number): boolean;
268
+ getAbility(abilityId: number): UnitAbility | undefined;
269
+ removeAbility(abilityTypeId: number): boolean;
250
270
  hideAbility(abilityId: number, flag: boolean): void;
251
271
  getAbilityRemainingCooldown(abilityId: number): number;
252
272
  startAbilityCooldown(abilityId: number, cooldown: number): void;
253
273
  endAbilityCooldown(abilityId: number): void;
254
- interruptAttack(): void;
255
274
  interruptCast(abilityId: number): void;
256
275
  getDistanceTo(target: Unit | Vec2): number;
257
276
  getCollisionDistanceTo(...target: [Unit] | [targetX: number, targetY: number]): number;
@@ -265,6 +284,8 @@ export declare class Unit extends Handle<junit> {
265
284
  unpauseEx(): void;
266
285
  incrementStunCounter(): void;
267
286
  decrementStunCounter(): void;
287
+ incrementForceStunCounter(): void;
288
+ decrementForceStunCounter(): void;
268
289
  set waygateActive(v: boolean);
269
290
  get waygateActive(): boolean;
270
291
  set waygateDestination(v: Vec2);
@@ -273,6 +294,7 @@ export declare class Unit extends Handle<junit> {
273
294
  get onUnitInRange(): Record<number, Event<[Unit]>>;
274
295
  get onManaEqual(): Record<number, Event<[Unit, number]>>;
275
296
  get manaEvent(): Record<Operator, Record<number, Event<[Unit]>>>;
297
+ get targetAcquiredEvent(): Event;
276
298
  get onSelect(): Event;
277
299
  get onDeselect(): Event;
278
300
  get onImmediateOrder(): Event<[number]>;
@@ -287,7 +309,8 @@ export declare class Unit extends Handle<junit> {
287
309
  static getInRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
288
310
  static getInCollisionRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
289
311
  static getInSector(pos: Vec2, range: number, offsetAngle: number, centralAngle: number): Unit[];
290
- static getSelectionOf(player: Player): Unit[];
312
+ static getSelectionOf(player: Player, target?: Unit[]): Unit[];
313
+ static readonly levelChangedEvent: UnitTriggerEvent<[]>;
291
314
  static readonly deathEvent: UnitTriggerEvent<[Unit]>;
292
315
  static readonly onDecay: UnitTriggerEvent<[]>;
293
316
  static readonly onResurrect: InitializingEvent<[Unit], void>;
@@ -322,9 +345,18 @@ export declare class Unit extends Handle<junit> {
322
345
  static readonly autoAttackStartEvent: UnitTriggerEvent<[Unit]>;
323
346
  static readonly onDamaging: Event<[source: Unit | undefined, target: Unit, event: DamagingEvent]>;
324
347
  static readonly onDamage: InitializingEvent<[source: Unit | undefined, target: Unit, event: DamageEvent], jtrigger>;
325
- static onItemDrop: UnitTriggerEvent<[Item]>;
326
- static onItemPickup: UnitTriggerEvent<[Item]>;
327
- static onItemUse: UnitTriggerEvent<[Item]>;
348
+ static itemDroppedEvent: UnitTriggerEvent<[Item]>;
349
+ static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
350
+ static itemUsedEvent: UnitTriggerEvent<[Item]>;
351
+ static itemStackedEvent: UnitTriggerEvent<[target: Item, source: Item]>;
352
+ static get itemChargesChangedEvent(): Event<[unit: Unit, item: Item]>;
353
+ static get itemUseOrderEvent(): Event<[unit: Unit, item: Item]>;
354
+ static get itemMoveOrderEvent(): Event<[
355
+ unit: Unit,
356
+ item: Item,
357
+ slotFrom: 0 | 1 | 2 | 3 | 4 | 5,
358
+ slotTo: 0 | 1 | 2 | 3 | 4 | 5
359
+ ]>;
328
360
  static get onCreate(): EventDispatcher<[Unit], [Unit]>;
329
361
  static get destroyEvent(): EventDispatcher<[Unit], [Unit]>;
330
362
  getField(field: junitintegerfield | junitrealfield): number;
@@ -335,5 +367,7 @@ export declare class Unit extends Handle<junit> {
335
367
  setField(field: junitbooleanfield, value: boolean): boolean;
336
368
  setField(field: junitstringfield, value: string): boolean;
337
369
  toString(): string;
370
+ static getBySyncId(syncId: UnitSyncId): Unit | undefined;
371
+ static synchronize: (player: Player, object: Unit | undefined) => Promise<Unit | undefined>;
338
372
  }
339
373
  export {};