warscript 0.0.1-dev.c59dd14 → 0.0.1-dev.c677d41

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