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