warscript 0.0.1-dev.2af030d → 0.0.1-dev.2bde093

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 (223) hide show
  1. package/attributes.d.ts +0 -1
  2. package/binaryreader.d.ts +1 -0
  3. package/binaryreader.lua +3 -0
  4. package/config.d.ts +5 -0
  5. package/config.lua +10 -0
  6. package/core/types/effect.d.ts +14 -6
  7. package/core/types/effect.lua +131 -35
  8. package/core/types/frame.d.ts +8 -1
  9. package/core/types/frame.lua +93 -1
  10. package/core/types/group.d.ts +0 -1
  11. package/core/types/image.d.ts +0 -1
  12. package/core/types/missile.d.ts +2 -2
  13. package/core/types/missile.lua +8 -2
  14. package/core/types/sound.d.ts +17 -24
  15. package/core/types/sound.lua +99 -24
  16. package/core/types/timer.d.ts +6 -7
  17. package/core/types/timer.lua +18 -21
  18. package/core/types/unit.lua +8 -0
  19. package/core/util.d.ts +1 -1
  20. package/core/util.lua +18 -1
  21. package/decl/index.d.ts +1 -0
  22. package/decl/native.d.ts +840 -786
  23. package/engine/ability.d.ts +1 -1
  24. package/engine/behavior.d.ts +10 -10
  25. package/engine/behavior.lua +6 -6
  26. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  27. package/engine/behaviour/ability/always-enabled.lua +31 -0
  28. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  29. package/engine/behaviour/ability/apply-buff.lua +32 -0
  30. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  31. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  32. package/engine/behaviour/ability/damage.d.ts +38 -11
  33. package/engine/behaviour/ability/damage.lua +93 -32
  34. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  35. package/engine/behaviour/ability/emulate-impact.lua +35 -0
  36. package/engine/behaviour/ability/heal.d.ts +33 -6
  37. package/engine/behaviour/ability/heal.lua +89 -10
  38. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  39. package/engine/behaviour/ability/instant-impact.lua +4 -15
  40. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  41. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  42. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  43. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  44. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  45. package/engine/behaviour/ability/restore-mana.lua +29 -0
  46. package/engine/behaviour/ability.d.ts +27 -4
  47. package/engine/behaviour/ability.lua +152 -17
  48. package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
  49. package/engine/behaviour/unit.d.ts +10 -2
  50. package/engine/behaviour/unit.lua +27 -0
  51. package/engine/buff.d.ts +103 -41
  52. package/engine/buff.lua +465 -212
  53. package/engine/game-map.d.ts +7 -0
  54. package/engine/game-map.lua +32 -0
  55. package/engine/internal/ability.d.ts +16 -13
  56. package/engine/internal/ability.lua +80 -76
  57. package/engine/internal/item/ability.lua +106 -0
  58. package/engine/internal/item+owner.lua +2 -2
  59. package/engine/internal/item.d.ts +4 -3
  60. package/engine/internal/item.lua +56 -25
  61. package/engine/internal/mechanics/ability-duration.lua +1 -1
  62. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  63. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  64. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  65. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  66. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  67. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  68. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  69. package/engine/internal/object-data/evasion-probability.lua +16 -0
  70. package/engine/internal/unit/ability.d.ts +10 -1
  71. package/engine/internal/unit/ability.lua +36 -14
  72. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  73. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  74. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  75. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  76. package/engine/internal/unit/bonus.d.ts +11 -8
  77. package/engine/internal/unit/bonus.lua +23 -1
  78. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  79. package/engine/internal/unit/ignore-events-items.lua +5 -0
  80. package/engine/internal/unit/item.d.ts +24 -0
  81. package/engine/internal/unit/item.lua +78 -0
  82. package/engine/internal/unit/main-selected.d.ts +13 -0
  83. package/engine/internal/unit/main-selected.lua +51 -0
  84. package/engine/internal/unit+ability.lua +2 -2
  85. package/engine/internal/unit+damage.d.ts +2 -11
  86. package/engine/internal/unit+damage.lua +10 -14
  87. package/engine/internal/unit+spellSteal.lua +1 -2
  88. package/engine/internal/unit+transport.lua +4 -10
  89. package/engine/internal/unit-missile-launch.lua +24 -5
  90. package/engine/internal/unit.d.ts +43 -13
  91. package/engine/internal/unit.lua +257 -116
  92. package/engine/internal/utility.lua +12 -0
  93. package/engine/lightning.d.ts +12 -5
  94. package/engine/lightning.lua +48 -14
  95. package/engine/local-client.d.ts +7 -2
  96. package/engine/local-client.lua +82 -0
  97. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  98. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  99. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  100. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  101. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  102. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  103. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  104. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  105. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  106. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  107. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  108. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  109. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  110. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  111. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  112. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  113. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  114. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  115. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  116. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  117. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  118. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  119. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  120. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  121. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  122. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  123. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  124. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  125. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  126. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  127. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  128. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  129. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  130. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  131. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  132. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  133. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  134. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  135. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  136. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  137. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  138. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  139. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  140. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  141. package/engine/object-data/entry/ability-type/web.lua +52 -0
  142. package/engine/object-data/entry/ability-type.d.ts +19 -18
  143. package/engine/object-data/entry/ability-type.lua +89 -33
  144. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  145. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  146. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  147. package/engine/object-data/entry/buff-type.d.ts +6 -13
  148. package/engine/object-data/entry/buff-type.lua +13 -29
  149. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  150. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  151. package/engine/object-data/entry/item-type.d.ts +15 -2
  152. package/engine/object-data/entry/item-type.lua +93 -2
  153. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  154. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  155. package/engine/object-data/entry/sound-preset.lua +140 -0
  156. package/engine/object-data/entry/unit-type.d.ts +10 -4
  157. package/engine/object-data/entry/unit-type.lua +155 -92
  158. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  159. package/engine/object-data/entry/upgrade.d.ts +1 -2
  160. package/engine/object-data/entry/upgrade.lua +4 -4
  161. package/engine/object-data/entry.d.ts +18 -17
  162. package/engine/object-data/entry.lua +60 -32
  163. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  164. package/engine/object-field/ability.d.ts +26 -3
  165. package/engine/object-field/ability.lua +54 -1
  166. package/engine/object-field/unit.d.ts +46 -3
  167. package/engine/object-field/unit.lua +173 -7
  168. package/engine/object-field.d.ts +11 -4
  169. package/engine/object-field.lua +162 -76
  170. package/engine/random.d.ts +1 -0
  171. package/engine/random.lua +9 -0
  172. package/engine/standard/entries/buff-type.d.ts +3 -0
  173. package/engine/standard/entries/buff-type.lua +3 -0
  174. package/engine/standard/entries/sound-preset.d.ts +10 -0
  175. package/engine/standard/entries/sound-preset.lua +10 -0
  176. package/engine/standard/entries/unit-type.d.ts +18 -0
  177. package/engine/standard/entries/unit-type.lua +18 -0
  178. package/engine/standard/fields/ability.d.ts +3 -1
  179. package/engine/standard/fields/ability.lua +3 -1
  180. package/engine/unit.d.ts +3 -0
  181. package/engine/unit.lua +12 -2
  182. package/event.d.ts +2 -3
  183. package/event.lua +9 -5
  184. package/index.d.ts +1 -0
  185. package/index.lua +1 -0
  186. package/lualib_bundle.lua +146 -42
  187. package/math/vec2.d.ts +2 -9
  188. package/math.d.ts +0 -2
  189. package/net/socket.d.ts +7 -1
  190. package/net/socket.lua +45 -4
  191. package/network.d.ts +1 -0
  192. package/network.lua +3 -2
  193. package/objutil/ability.d.ts +0 -1
  194. package/objutil/buff.d.ts +0 -1
  195. package/objutil/buff.lua +2 -3
  196. package/objutil/object.d.ts +0 -1
  197. package/objutil/unit.d.ts +0 -1
  198. package/objutil/unit.lua +8 -0
  199. package/package.json +13 -13
  200. package/patch-lua.d.ts +0 -0
  201. package/patch-lua.lua +10 -0
  202. package/property.d.ts +55 -0
  203. package/property.lua +374 -0
  204. package/string.d.ts +16 -0
  205. package/string.lua +5 -0
  206. package/util/stream.d.ts +0 -1
  207. package/utility/arrays.d.ts +12 -5
  208. package/utility/arrays.lua +37 -3
  209. package/utility/bit-set.d.ts +0 -2
  210. package/utility/functions.d.ts +1 -0
  211. package/utility/functions.lua +1 -0
  212. package/utility/lazy.d.ts +2 -0
  213. package/utility/lazy.lua +14 -0
  214. package/utility/linked-set.d.ts +12 -3
  215. package/utility/linked-set.lua +8 -2
  216. package/utility/lua-maps.d.ts +4 -2
  217. package/utility/lua-maps.lua +16 -0
  218. package/utility/lua-sets.d.ts +2 -2
  219. package/utility/lua-sets.lua +3 -0
  220. package/utility/reflection.lua +11 -7
  221. package/utility/types.d.ts +1 -0
  222. package/core/mapbounds.d.ts +0 -8
  223. 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,9 @@ 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";
15
17
  export type UnitClassification = junittype;
16
18
  export declare namespace UnitClassification {
17
19
  const STRUCTURE: junittype;
@@ -39,10 +41,13 @@ type AbilityDispatcherTable<T extends any[] = []> = {
39
41
  type AbilityEventDispatcher<T extends any[] = []> = Event<[Unit, Ability, ...T]> & AbilityDispatcherTable<T>;
40
42
  export interface DamagingEvent {
41
43
  amount: number;
42
- attackType: jattacktype;
44
+ attackType: AttackType;
43
45
  damageType: jdamagetype;
44
46
  weaponType: jweapontype;
47
+ metadata: unknown;
45
48
  readonly isAttack: boolean;
49
+ readonly originalAmount: number;
50
+ readonly originalMetadata: unknown;
46
51
  }
47
52
  export type DamageEvent = DamagingEvent & {
48
53
  preventDeath<P extends any[]>(this: DamageEvent, callback: (this: void, ...parameters: P) => any, ...parameters: P): void;
@@ -94,20 +99,29 @@ export declare class UnitWeapon {
94
99
  set missileSpeed(missileSpeed: number);
95
100
  }
96
101
  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
102
+ SYNC_ID = 100,
103
+ IS_PAUSED = 101,
104
+ STUN_COUNTER = 102,
105
+ DELAY_HEALTH_CHECKS_COUNTER = 103,
106
+ DELAY_HEALTH_CHECKS_HEALTH_BONUS = 104,
107
+ PREVENT_DEATH_HEALTH_BONUS = 105,
108
+ IS_TEAM_GLOW_HIDDEN = 106,
109
+ LAST_X = 107,
110
+ LAST_Y = 108
103
111
  }
112
+ export type UnitSyncId = number & {
113
+ readonly __unitSyncId: unique symbol;
114
+ };
104
115
  export declare class Unit extends Handle<junit> {
116
+ readonly syncId: UnitSyncId;
105
117
  private [UnitPropertyKey.IS_PAUSED]?;
106
118
  private [UnitPropertyKey.STUN_COUNTER]?;
107
119
  private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
108
120
  private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
109
121
  private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
110
122
  private [UnitPropertyKey.IS_TEAM_GLOW_HIDDEN]?;
123
+ private [UnitPropertyKey.LAST_X]?;
124
+ private [UnitPropertyKey.LAST_Y]?;
111
125
  private _owner?;
112
126
  private _timeScale?;
113
127
  private events?;
@@ -128,6 +142,7 @@ export declare class Unit extends Handle<junit> {
128
142
  get isAlive(): boolean;
129
143
  get isDead(): boolean;
130
144
  get isIllusion(): boolean;
145
+ get isStunned(): boolean;
131
146
  get combatClassifications(): CombatClassifications;
132
147
  set combatClassifications(combatClassifications: CombatClassifications);
133
148
  hasCombatClassification(combatClassification: CombatClassification): boolean;
@@ -142,6 +157,7 @@ export declare class Unit extends Handle<junit> {
142
157
  isEnemyOf(unit: Unit): boolean;
143
158
  playAnimation(animation: string, rarity?: jraritycontrol): void;
144
159
  playAnimation(animation: number): void;
160
+ resetAnimation(): void;
145
161
  queueAnimation(animation: string): void;
146
162
  get weapons(): [UnitWeapon, UnitWeapon];
147
163
  get firstWeapon(): UnitWeapon;
@@ -150,6 +166,8 @@ export declare class Unit extends Handle<junit> {
150
166
  set level(v: number);
151
167
  get xp(): number;
152
168
  set xp(v: number);
169
+ get primaryAttribute(): UnitAttribute;
170
+ set primaryAttribute(primaryAttribute: UnitAttribute);
153
171
  get strengthBase(): number;
154
172
  set strengthBase(strengthBase: number);
155
173
  get strengthBonus(): number;
@@ -224,11 +242,13 @@ export declare class Unit extends Handle<junit> {
224
242
  set timeScale(v: number);
225
243
  get collisionSize(): number;
226
244
  get pathingCollisionRange(): number;
245
+ get movementType(): MovementType;
246
+ set movementType(movementType: MovementType);
227
247
  set pathing(v: boolean);
228
248
  isSelected(player: Player): boolean;
229
249
  explode(): void;
230
250
  kill(): void;
231
- revive(pos: Vec2, doEffect: boolean): void;
251
+ revive(x: number, y: number, doEffect?: boolean): void;
232
252
  healTarget(target: Widget, amount: number): void;
233
253
  useItem(item: Item): boolean;
234
254
  issueImmediateOrder(order: number): boolean;
@@ -249,6 +269,7 @@ export declare class Unit extends Handle<junit> {
249
269
  getAbilityById(abilityId: number): UnitAbility | undefined;
250
270
  removeAbility(abilityId: number): boolean;
251
271
  hideAbility(abilityId: number, flag: boolean): void;
272
+ getAbilityRemainingCooldown(abilityId: number): number;
252
273
  startAbilityCooldown(abilityId: number, cooldown: number): void;
253
274
  endAbilityCooldown(abilityId: number): void;
254
275
  interruptAttack(): void;
@@ -287,7 +308,7 @@ export declare class Unit extends Handle<junit> {
287
308
  static getInRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
288
309
  static getInCollisionRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
289
310
  static getInSector(pos: Vec2, range: number, offsetAngle: number, centralAngle: number): Unit[];
290
- static getSelectionOf(player: Player): Unit[];
311
+ static getSelectionOf(player: Player, target?: Unit[]): Unit[];
291
312
  static readonly deathEvent: UnitTriggerEvent<[Unit]>;
292
313
  static readonly onDecay: UnitTriggerEvent<[]>;
293
314
  static readonly onResurrect: InitializingEvent<[Unit], void>;
@@ -322,9 +343,17 @@ export declare class Unit extends Handle<junit> {
322
343
  static readonly autoAttackStartEvent: UnitTriggerEvent<[Unit]>;
323
344
  static readonly onDamaging: Event<[source: Unit | undefined, target: Unit, event: DamagingEvent]>;
324
345
  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]>;
346
+ static itemDroppedEvent: UnitTriggerEvent<[Item]>;
347
+ static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
348
+ static itemUsedEvent: UnitTriggerEvent<[Item]>;
349
+ static itemStackedEvent: UnitTriggerEvent<[Item]>;
350
+ static get itemUseOrderEvent(): Event<[unit: Unit, item: Item]>;
351
+ static get itemMoveOrderEvent(): Event<[
352
+ unit: Unit,
353
+ item: Item,
354
+ slotFrom: 0 | 1 | 2 | 3 | 4 | 5,
355
+ slotTo: 0 | 1 | 2 | 3 | 4 | 5
356
+ ]>;
328
357
  static get onCreate(): EventDispatcher<[Unit], [Unit]>;
329
358
  static get destroyEvent(): EventDispatcher<[Unit], [Unit]>;
330
359
  getField(field: junitintegerfield | junitrealfield): number;
@@ -335,5 +364,6 @@ export declare class Unit extends Handle<junit> {
335
364
  setField(field: junitbooleanfield, value: boolean): boolean;
336
365
  setField(field: junitstringfield, value: string): boolean;
337
366
  toString(): string;
367
+ static getBySyncId(syncId: UnitSyncId): Unit | undefined;
338
368
  }
339
369
  export {};