warscript 0.0.1-dev.8a238c4 → 0.0.1-dev.8a25bb1

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 (220) hide show
  1. package/attributes.d.ts +5 -1
  2. package/attributes.lua +8 -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 -1
  10. package/core/types/frame.lua +93 -1
  11. package/core/types/group.d.ts +0 -1
  12. package/core/types/image.d.ts +0 -1
  13. package/core/types/missile.d.ts +2 -2
  14. package/core/types/missile.lua +8 -2
  15. package/core/types/sound.d.ts +17 -24
  16. package/core/types/sound.lua +99 -24
  17. package/core/types/timer.d.ts +6 -7
  18. package/core/types/timer.lua +18 -21
  19. package/core/types/unit.lua +8 -0
  20. package/core/util.d.ts +1 -1
  21. package/core/util.lua +18 -1
  22. package/decl/index.d.ts +1 -0
  23. package/decl/native.d.ts +840 -786
  24. package/engine/ability.d.ts +1 -1
  25. package/engine/behavior.d.ts +10 -10
  26. package/engine/behavior.lua +6 -6
  27. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  28. package/engine/behaviour/ability/always-enabled.lua +31 -0
  29. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  30. package/engine/behaviour/ability/apply-buff.lua +32 -0
  31. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  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 +35 -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 +16 -0
  44. package/engine/behaviour/ability/remove-buffs.lua +28 -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 +27 -4
  48. package/engine/behaviour/ability.lua +152 -17
  49. package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
  50. package/engine/behaviour/unit.d.ts +10 -2
  51. package/engine/behaviour/unit.lua +27 -0
  52. package/engine/buff.d.ts +103 -41
  53. package/engine/buff.lua +465 -212
  54. package/engine/game-map.d.ts +7 -0
  55. package/engine/game-map.lua +32 -0
  56. package/engine/internal/ability.d.ts +16 -13
  57. package/engine/internal/ability.lua +80 -76
  58. package/engine/internal/item/ability.lua +106 -0
  59. package/engine/internal/item+owner.lua +2 -2
  60. package/engine/internal/item.d.ts +4 -3
  61. package/engine/internal/item.lua +56 -25
  62. package/engine/internal/mechanics/ability-duration.lua +1 -1
  63. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  64. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  65. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  66. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  67. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  68. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  69. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  70. package/engine/internal/object-data/evasion-probability.lua +16 -0
  71. package/engine/internal/unit/ability.d.ts +10 -1
  72. package/engine/internal/unit/ability.lua +36 -14
  73. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  74. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  75. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  76. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  77. package/engine/internal/unit/bonus.d.ts +11 -8
  78. package/engine/internal/unit/bonus.lua +23 -1
  79. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  80. package/engine/internal/unit/ignore-events-items.lua +5 -0
  81. package/engine/internal/unit/item.d.ts +24 -0
  82. package/engine/internal/unit/item.lua +78 -0
  83. package/engine/internal/unit/main-selected.d.ts +13 -0
  84. package/engine/internal/unit/main-selected.lua +51 -0
  85. package/engine/internal/unit+ability.lua +2 -2
  86. package/engine/internal/unit+damage.d.ts +2 -11
  87. package/engine/internal/unit+damage.lua +10 -14
  88. package/engine/internal/unit+spellSteal.lua +1 -2
  89. package/engine/internal/unit+transport.lua +4 -10
  90. package/engine/internal/unit-missile-launch.lua +24 -5
  91. package/engine/internal/unit.d.ts +46 -14
  92. package/engine/internal/unit.lua +277 -121
  93. package/engine/internal/utility.lua +12 -0
  94. package/engine/lightning.d.ts +12 -5
  95. package/engine/lightning.lua +48 -14
  96. package/engine/local-client.d.ts +7 -2
  97. package/engine/local-client.lua +82 -0
  98. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  99. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  100. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  101. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  102. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  103. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  104. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  105. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  106. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  107. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  108. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  109. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  110. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  111. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  112. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  113. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  114. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  115. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  116. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  117. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  118. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  119. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  120. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  121. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  122. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  123. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  124. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  125. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  126. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  127. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  128. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  129. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  130. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  131. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  132. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  133. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  134. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  135. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  136. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  137. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  138. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  139. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  140. package/engine/object-data/entry/ability-type/web.lua +52 -0
  141. package/engine/object-data/entry/ability-type.d.ts +19 -18
  142. package/engine/object-data/entry/ability-type.lua +89 -33
  143. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  144. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  145. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  146. package/engine/object-data/entry/buff-type.d.ts +6 -13
  147. package/engine/object-data/entry/buff-type.lua +13 -29
  148. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  149. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  150. package/engine/object-data/entry/item-type.d.ts +15 -2
  151. package/engine/object-data/entry/item-type.lua +93 -2
  152. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  153. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  154. package/engine/object-data/entry/sound-preset.lua +140 -0
  155. package/engine/object-data/entry/unit-type.d.ts +10 -4
  156. package/engine/object-data/entry/unit-type.lua +155 -92
  157. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  158. package/engine/object-data/entry/upgrade.d.ts +1 -2
  159. package/engine/object-data/entry/upgrade.lua +4 -4
  160. package/engine/object-data/entry.d.ts +18 -17
  161. package/engine/object-data/entry.lua +60 -32
  162. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  163. package/engine/object-field/ability.d.ts +26 -3
  164. package/engine/object-field/ability.lua +54 -1
  165. package/engine/object-field/unit.d.ts +46 -3
  166. package/engine/object-field/unit.lua +173 -7
  167. package/engine/object-field.d.ts +11 -4
  168. package/engine/object-field.lua +162 -76
  169. package/engine/random.d.ts +1 -0
  170. package/engine/random.lua +9 -0
  171. package/engine/standard/entries/buff-type.d.ts +3 -0
  172. package/engine/standard/entries/buff-type.lua +3 -0
  173. package/engine/standard/entries/sound-preset.d.ts +10 -0
  174. package/engine/standard/entries/sound-preset.lua +10 -0
  175. package/engine/standard/fields/ability.d.ts +3 -1
  176. package/engine/standard/fields/ability.lua +3 -1
  177. package/engine/unit.d.ts +3 -0
  178. package/engine/unit.lua +12 -2
  179. package/event.d.ts +2 -3
  180. package/event.lua +9 -5
  181. package/index.d.ts +1 -0
  182. package/index.lua +1 -0
  183. package/lualib_bundle.lua +146 -42
  184. package/math/vec2.d.ts +2 -9
  185. package/math.d.ts +0 -2
  186. package/net/socket.d.ts +7 -1
  187. package/net/socket.lua +45 -4
  188. package/network.d.ts +1 -0
  189. package/network.lua +3 -2
  190. package/objutil/ability.d.ts +0 -1
  191. package/objutil/buff.d.ts +0 -1
  192. package/objutil/buff.lua +2 -3
  193. package/objutil/object.d.ts +0 -1
  194. package/objutil/unit.d.ts +0 -1
  195. package/objutil/unit.lua +8 -0
  196. package/package.json +13 -13
  197. package/patch-lua.d.ts +0 -0
  198. package/patch-lua.lua +10 -0
  199. package/property.d.ts +55 -0
  200. package/property.lua +374 -0
  201. package/string.d.ts +16 -0
  202. package/string.lua +5 -0
  203. package/util/stream.d.ts +0 -1
  204. package/utility/arrays.d.ts +12 -5
  205. package/utility/arrays.lua +37 -3
  206. package/utility/bit-set.d.ts +0 -2
  207. package/utility/functions.d.ts +1 -0
  208. package/utility/functions.lua +1 -0
  209. package/utility/lazy.d.ts +2 -0
  210. package/utility/lazy.lua +14 -0
  211. package/utility/linked-set.d.ts +12 -3
  212. package/utility/linked-set.lua +8 -2
  213. package/utility/lua-maps.d.ts +4 -2
  214. package/utility/lua-maps.lua +16 -0
  215. package/utility/lua-sets.d.ts +2 -2
  216. package/utility/lua-sets.lua +3 -0
  217. package/utility/reflection.lua +11 -7
  218. package/utility/types.d.ts +1 -0
  219. package/core/mapbounds.d.ts +0 -8
  220. package/core/mapbounds.lua +0 -12
@@ -6,9 +6,8 @@ local ____unit = require("engine.internal.unit")
6
6
  local Unit = ____unit.Unit
7
7
  local ____event = require("event")
8
8
  local Event = ____event.Event
9
- local ____mapbounds = require("core.mapbounds")
10
- local boundMax = ____mapbounds.boundMax
11
- local boundRegion = ____mapbounds.boundRegion
9
+ local ____game_2Dmap = require("engine.game-map")
10
+ local GameMap = ____game_2Dmap.GameMap
12
11
  local eventInvoke = Event.invoke
13
12
  local tableRemove = table.remove
14
13
  local ____assert = _G.assert
@@ -58,8 +57,8 @@ triggerAddCondition(
58
57
  deboard(unit)
59
58
  end
60
59
  if not unitAlive(handle) then
61
- unit.x = boundMax.x
62
- unit.y = boundMax.y
60
+ unit.x = GameMap.worldBoundsRect.maxX
61
+ unit.y = GameMap.worldBoundsRect.maxY
63
62
  end
64
63
  local transport = Unit:of(getTransportUnit())
65
64
  transportByUnit[unit] = transport
@@ -68,11 +67,6 @@ triggerAddCondition(
68
67
  eventInvoke(onBoardEvent, unit, transport)
69
68
  end)
70
69
  )
71
- boundRegion.onUnitEnter:addListener(function(unit)
72
- if transportByUnit[unit] ~= nil and not isUnitLoaded(unit.handle) then
73
- deboard(unit)
74
- end
75
- end)
76
70
  Unit.deathEvent:addListener(function(unit)
77
71
  if transportByUnit[unit] ~= nil then
78
72
  deboard(unit)
@@ -7,14 +7,33 @@ local ____event = require("event")
7
7
  local Event = ____event.Event
8
8
  local ____timer = require("core.types.timer")
9
9
  local Timer = ____timer.Timer
10
+ local ____lua_2Dsets = require("utility.lua-sets")
11
+ local luaSetOf = ____lua_2Dsets.luaSetOf
10
12
  local autoAttackFinishEvent = __TS__New(Event)
11
13
  rawset(Unit, "autoAttackFinishEvent", autoAttackFinishEvent)
12
14
  local eventTimerByUnit = {}
13
- local function reset(source)
14
- local eventTimer = eventTimerByUnit[source]
15
- if eventTimer then
16
- eventTimer:destroy()
17
- eventTimerByUnit[source] = nil
15
+ local instantOrderIds = luaSetOf(
16
+ orderId("avatar"),
17
+ orderId("berserk"),
18
+ orderId("divineshield"),
19
+ orderId("immolation"),
20
+ orderId("moveslot0"),
21
+ orderId("moveslot1"),
22
+ orderId("moveslot2"),
23
+ orderId("moveslot3"),
24
+ orderId("moveslot4"),
25
+ orderId("moveslot5"),
26
+ orderId("unavatar"),
27
+ orderId("undivineshield"),
28
+ orderId("unimmolation")
29
+ )
30
+ local function reset(source, orderId)
31
+ if not (instantOrderIds[orderId] ~= nil) then
32
+ local eventTimer = eventTimerByUnit[source]
33
+ if eventTimer then
34
+ eventTimer:destroy()
35
+ eventTimerByUnit[source] = nil
36
+ end
18
37
  end
19
38
  end
20
39
  Unit.onImmediateOrder:addListener(reset)
@@ -1,4 +1,3 @@
1
- /// <reference types="@typescript-to-lua/language-extensions" />
2
1
  /** @noSelfInFile */
3
2
  import { Handle, HandleDestructor } from "../../core/types/handle";
4
3
  import { Player } from "../../core/types/player";
@@ -12,6 +11,10 @@ import { Ability, UnitAbility } from "./ability";
12
11
  import { Widget } from "../../core/types/widget";
13
12
  import type { UnitTypeId } from "../object-data/entry/unit-type";
14
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";
15
18
  export type UnitClassification = junittype;
16
19
  export declare namespace UnitClassification {
17
20
  const STRUCTURE: junittype;
@@ -20,6 +23,7 @@ export declare namespace UnitClassification {
20
23
  const GROUND: junittype;
21
24
  const SUMMONED: junittype;
22
25
  const MECHANICAL: junittype;
26
+ const WORKER: junittype;
23
27
  const ANCIENT: junittype;
24
28
  const SUICIDAL: junittype;
25
29
  const TAUREN: junittype;
@@ -37,12 +41,15 @@ type AbilityDispatcherTable<T extends any[] = []> = {
37
41
  readonly [id: number]: Event<[Unit, Ability, ...T]>;
38
42
  };
39
43
  type AbilityEventDispatcher<T extends any[] = []> = Event<[Unit, Ability, ...T]> & AbilityDispatcherTable<T>;
40
- export interface DamagingEvent {
44
+ export interface DamagingEvent extends AttributesHolder {
41
45
  amount: number;
42
- attackType: jattacktype;
46
+ attackType: AttackType;
43
47
  damageType: jdamagetype;
44
48
  weaponType: jweapontype;
49
+ metadata: unknown;
45
50
  readonly isAttack: boolean;
51
+ readonly originalAmount: number;
52
+ readonly originalMetadata: unknown;
46
53
  }
47
54
  export type DamageEvent = DamagingEvent & {
48
55
  preventDeath<P extends any[]>(this: DamageEvent, callback: (this: void, ...parameters: P) => any, ...parameters: P): void;
@@ -94,20 +101,29 @@ export declare class UnitWeapon {
94
101
  set missileSpeed(missileSpeed: number);
95
102
  }
96
103
  declare const enum UnitPropertyKey {
97
- IS_PAUSED = 100,
98
- STUN_COUNTER = 101,
99
- DELAY_HEALTH_CHECKS_COUNTER = 102,
100
- DELAY_HEALTH_CHECKS_HEALTH_BONUS = 103,
101
- PREVENT_DEATH_HEALTH_BONUS = 104,
102
- IS_TEAM_GLOW_HIDDEN = 105
104
+ SYNC_ID = 100,
105
+ IS_PAUSED = 101,
106
+ STUN_COUNTER = 102,
107
+ DELAY_HEALTH_CHECKS_COUNTER = 103,
108
+ DELAY_HEALTH_CHECKS_HEALTH_BONUS = 104,
109
+ PREVENT_DEATH_HEALTH_BONUS = 105,
110
+ IS_TEAM_GLOW_HIDDEN = 106,
111
+ LAST_X = 107,
112
+ LAST_Y = 108
103
113
  }
114
+ export type UnitSyncId = number & {
115
+ readonly __unitSyncId: unique symbol;
116
+ };
104
117
  export declare class Unit extends Handle<junit> {
118
+ readonly syncId: UnitSyncId;
105
119
  private [UnitPropertyKey.IS_PAUSED]?;
106
120
  private [UnitPropertyKey.STUN_COUNTER]?;
107
121
  private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
108
122
  private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
109
123
  private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
110
124
  private [UnitPropertyKey.IS_TEAM_GLOW_HIDDEN]?;
125
+ private [UnitPropertyKey.LAST_X]?;
126
+ private [UnitPropertyKey.LAST_Y]?;
111
127
  private _owner?;
112
128
  private _timeScale?;
113
129
  private events?;
@@ -128,6 +144,7 @@ export declare class Unit extends Handle<junit> {
128
144
  get isAlive(): boolean;
129
145
  get isDead(): boolean;
130
146
  get isIllusion(): boolean;
147
+ get isStunned(): boolean;
131
148
  get combatClassifications(): CombatClassifications;
132
149
  set combatClassifications(combatClassifications: CombatClassifications);
133
150
  hasCombatClassification(combatClassification: CombatClassification): boolean;
@@ -142,6 +159,7 @@ export declare class Unit extends Handle<junit> {
142
159
  isEnemyOf(unit: Unit): boolean;
143
160
  playAnimation(animation: string, rarity?: jraritycontrol): void;
144
161
  playAnimation(animation: number): void;
162
+ resetAnimation(): void;
145
163
  queueAnimation(animation: string): void;
146
164
  get weapons(): [UnitWeapon, UnitWeapon];
147
165
  get firstWeapon(): UnitWeapon;
@@ -150,6 +168,8 @@ export declare class Unit extends Handle<junit> {
150
168
  set level(v: number);
151
169
  get xp(): number;
152
170
  set xp(v: number);
171
+ get primaryAttribute(): UnitAttribute;
172
+ set primaryAttribute(primaryAttribute: UnitAttribute);
153
173
  get strengthBase(): number;
154
174
  set strengthBase(strengthBase: number);
155
175
  get strengthBonus(): number;
@@ -224,11 +244,13 @@ export declare class Unit extends Handle<junit> {
224
244
  set timeScale(v: number);
225
245
  get collisionSize(): number;
226
246
  get pathingCollisionRange(): number;
247
+ get movementType(): MovementType;
248
+ set movementType(movementType: MovementType);
227
249
  set pathing(v: boolean);
228
250
  isSelected(player: Player): boolean;
229
251
  explode(): void;
230
252
  kill(): void;
231
- revive(pos: Vec2, doEffect: boolean): void;
253
+ revive(x: number, y: number, doEffect?: boolean): void;
232
254
  healTarget(target: Widget, amount: number): void;
233
255
  useItem(item: Item): boolean;
234
256
  issueImmediateOrder(order: number): boolean;
@@ -274,6 +296,7 @@ export declare class Unit extends Handle<junit> {
274
296
  get onUnitInRange(): Record<number, Event<[Unit]>>;
275
297
  get onManaEqual(): Record<number, Event<[Unit, number]>>;
276
298
  get manaEvent(): Record<Operator, Record<number, Event<[Unit]>>>;
299
+ get targetAcquiredEvent(): Event;
277
300
  get onSelect(): Event;
278
301
  get onDeselect(): Event;
279
302
  get onImmediateOrder(): Event<[number]>;
@@ -288,7 +311,7 @@ export declare class Unit extends Handle<junit> {
288
311
  static getInRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
289
312
  static getInCollisionRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
290
313
  static getInSector(pos: Vec2, range: number, offsetAngle: number, centralAngle: number): Unit[];
291
- static getSelectionOf(player: Player): Unit[];
314
+ static getSelectionOf(player: Player, target?: Unit[]): Unit[];
292
315
  static readonly deathEvent: UnitTriggerEvent<[Unit]>;
293
316
  static readonly onDecay: UnitTriggerEvent<[]>;
294
317
  static readonly onResurrect: InitializingEvent<[Unit], void>;
@@ -323,9 +346,17 @@ export declare class Unit extends Handle<junit> {
323
346
  static readonly autoAttackStartEvent: UnitTriggerEvent<[Unit]>;
324
347
  static readonly onDamaging: Event<[source: Unit | undefined, target: Unit, event: DamagingEvent]>;
325
348
  static readonly onDamage: InitializingEvent<[source: Unit | undefined, target: Unit, event: DamageEvent], jtrigger>;
326
- static onItemDrop: UnitTriggerEvent<[Item]>;
327
- static onItemPickup: UnitTriggerEvent<[Item]>;
328
- static onItemUse: UnitTriggerEvent<[Item]>;
349
+ static itemDroppedEvent: UnitTriggerEvent<[Item]>;
350
+ static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
351
+ static itemUsedEvent: UnitTriggerEvent<[Item]>;
352
+ static itemStackedEvent: UnitTriggerEvent<[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
+ ]>;
329
360
  static get onCreate(): EventDispatcher<[Unit], [Unit]>;
330
361
  static get destroyEvent(): EventDispatcher<[Unit], [Unit]>;
331
362
  getField(field: junitintegerfield | junitrealfield): number;
@@ -336,5 +367,6 @@ export declare class Unit extends Handle<junit> {
336
367
  setField(field: junitbooleanfield, value: boolean): boolean;
337
368
  setField(field: junitstringfield, value: string): boolean;
338
369
  toString(): string;
370
+ static getBySyncId(syncId: UnitSyncId): Unit | undefined;
339
371
  }
340
372
  export {};