warscript 0.0.1-dev.b026cc2 → 0.0.1-dev.b2ece39
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.
- package/attributes.d.ts +5 -0
- package/attributes.lua +8 -1
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/types/effect.d.ts +14 -6
- package/core/types/effect.lua +131 -35
- package/core/types/frame.d.ts +6 -0
- package/core/types/frame.lua +113 -22
- package/core/types/player.lua +3 -1
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/sound.d.ts +17 -24
- package/core/types/sound.lua +99 -24
- package/core/types/tileCell.d.ts +9 -0
- package/core/types/tileCell.lua +92 -0
- package/core/types/timer.d.ts +8 -8
- package/core/types/timer.lua +39 -23
- package/core/util.d.ts +1 -1
- package/core/util.lua +18 -1
- package/decl/native.d.ts +846 -790
- package/engine/behavior.d.ts +7 -2
- package/engine/behavior.lua +112 -33
- package/engine/behaviour/ability/always-enabled.d.ts +7 -0
- package/engine/behaviour/ability/always-enabled.lua +31 -0
- package/engine/behaviour/ability/apply-buff.d.ts +8 -5
- package/engine/behaviour/ability/apply-buff.lua +32 -0
- package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
- package/engine/behaviour/ability/damage.d.ts +9 -3
- package/engine/behaviour/ability/damage.lua +26 -38
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +43 -0
- package/engine/behaviour/ability/instant-impact.d.ts +2 -2
- package/engine/behaviour/ability/instant-impact.lua +4 -19
- package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
- package/engine/behaviour/ability/on-command-impact.lua +25 -0
- package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
- package/engine/behaviour/ability/remove-buffs.lua +28 -0
- package/engine/behaviour/ability/restore-mana.d.ts +1 -1
- package/engine/behaviour/ability/restore-mana.lua +6 -6
- package/engine/behaviour/ability.d.ts +20 -4
- package/engine/behaviour/ability.lua +111 -47
- package/engine/behaviour/unit/stun-immunity.d.ts +5 -3
- package/engine/behaviour/unit/stun-immunity.lua +43 -27
- package/engine/behaviour/unit.d.ts +37 -0
- package/engine/behaviour/unit.lua +205 -4
- package/engine/buff.d.ts +85 -46
- package/engine/buff.lua +373 -229
- package/engine/internal/ability.d.ts +23 -14
- package/engine/internal/ability.lua +129 -85
- package/engine/internal/item/ability.lua +162 -4
- package/engine/internal/item+owner.lua +12 -6
- package/engine/internal/item.d.ts +8 -7
- package/engine/internal/item.lua +153 -51
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
- package/engine/internal/misc/ability-disable-counter.lua +13 -0
- package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/misc/frame-coordinates.d.ts +2 -0
- package/engine/internal/misc/frame-coordinates.lua +21 -0
- package/engine/internal/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.lua +5 -0
- package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
- package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
- package/engine/internal/object-data/evasion-probability.d.ts +2 -0
- package/engine/internal/object-data/evasion-probability.lua +16 -0
- package/engine/internal/unit/ability.d.ts +45 -1
- package/engine/internal/unit/ability.lua +98 -14
- package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
- package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot.lua +52 -0
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/bonus.d.ts +6 -2
- package/engine/internal/unit/bonus.lua +23 -1
- package/engine/internal/unit/ignore-events-items.d.ts +2 -0
- package/engine/internal/unit/ignore-events-items.lua +5 -0
- package/engine/internal/unit/item.d.ts +24 -0
- package/engine/internal/unit/item.lua +78 -0
- package/engine/internal/unit/main-selected.d.ts +13 -0
- package/engine/internal/unit/main-selected.lua +51 -0
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit+ability.lua +12 -3
- package/engine/internal/unit+damage.d.ts +2 -11
- package/engine/internal/unit+damage.lua +10 -14
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit-missile-launch.lua +33 -7
- package/engine/internal/unit.d.ts +56 -18
- package/engine/internal/unit.lua +383 -155
- package/engine/internal/utility.lua +12 -0
- package/engine/lightning.d.ts +12 -5
- package/engine/lightning.lua +48 -14
- package/engine/local-client.d.ts +7 -2
- package/engine/local-client.lua +82 -0
- package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
- package/engine/object-data/auxiliary/animation-name.lua +16 -0
- package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
- package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
- package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
- package/engine/object-data/auxiliary/movement-type.lua +22 -0
- package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
- package/engine/object-data/auxiliary/sound-eax.lua +2 -0
- package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
- package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
- package/engine/object-data/entry/ability-type/berserk.lua +13 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
- package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
- package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
- package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
- package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
- package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
- package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
- package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
- package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
- package/engine/object-data/entry/ability-type/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -0
- package/engine/object-data/entry/ability-type.d.ts +19 -17
- package/engine/object-data/entry/ability-type.lua +90 -36
- package/engine/object-data/entry/buff-type/applicable.lua +18 -37
- package/engine/object-data/entry/buff-type.d.ts +6 -12
- package/engine/object-data/entry/buff-type.lua +13 -29
- package/engine/object-data/entry/destructible-type.d.ts +1 -1
- package/engine/object-data/entry/item-type.d.ts +15 -1
- package/engine/object-data/entry/item-type.lua +93 -2
- package/engine/object-data/entry/lightning-type.d.ts +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +33 -0
- package/engine/object-data/entry/sound-preset.lua +140 -0
- package/engine/object-data/entry/unit-type.d.ts +21 -5
- package/engine/object-data/entry/unit-type.lua +214 -93
- package/engine/object-data/entry/upgrade.d.ts +1 -1
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +16 -14
- package/engine/object-data/entry.lua +60 -32
- package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
- package/engine/object-field/ability.d.ts +28 -5
- package/engine/object-field/ability.lua +59 -5
- package/engine/object-field/unit.d.ts +57 -3
- package/engine/object-field/unit.lua +207 -7
- package/engine/object-field.d.ts +17 -6
- package/engine/object-field.lua +190 -90
- package/engine/random.d.ts +9 -0
- package/engine/random.lua +13 -0
- package/engine/standard/entries/buff-type.d.ts +3 -0
- package/engine/standard/entries/buff-type.lua +3 -0
- package/engine/standard/entries/sound-preset.d.ts +10 -0
- package/engine/standard/entries/sound-preset.lua +10 -0
- package/engine/standard/fields/ability.d.ts +2 -0
- package/engine/standard/fields/ability.lua +2 -0
- package/engine/standard/fields/unit.d.ts +4 -0
- package/engine/standard/fields/unit.lua +7 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +249 -10
- package/engine/unit.d.ts +4 -0
- package/engine/unit.lua +4 -0
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/net/socket.d.ts +7 -1
- package/net/socket.lua +45 -4
- package/network.d.ts +1 -0
- package/network.lua +3 -2
- package/objutil/buff.lua +2 -3
- package/objutil/unit.lua +8 -0
- package/package.json +2 -2
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +10 -0
- package/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +9 -1
- package/utility/arrays.lua +37 -3
- package/utility/callback-array.d.ts +13 -0
- package/utility/callback-array.lua +46 -0
- package/utility/functions.d.ts +8 -0
- package/utility/functions.lua +13 -0
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-set.d.ts +12 -2
- package/utility/linked-set.lua +8 -2
- package/utility/lua-maps.d.ts +4 -0
- package/utility/lua-maps.lua +20 -0
- package/utility/lua-sets.d.ts +2 -0
- package/utility/lua-sets.lua +7 -0
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +1 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
|
@@ -7,14 +7,35 @@ 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
|
|
12
|
+
local ____math = require("math")
|
|
13
|
+
local min = ____math.min
|
|
10
14
|
local autoAttackFinishEvent = __TS__New(Event)
|
|
11
15
|
rawset(Unit, "autoAttackFinishEvent", autoAttackFinishEvent)
|
|
12
16
|
local eventTimerByUnit = {}
|
|
13
|
-
local
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
local instantOrderIds = luaSetOf(
|
|
18
|
+
orderId("avatar"),
|
|
19
|
+
orderId("berserk"),
|
|
20
|
+
orderId("divineshield"),
|
|
21
|
+
orderId("immolation"),
|
|
22
|
+
orderId("moveslot0"),
|
|
23
|
+
orderId("moveslot1"),
|
|
24
|
+
orderId("moveslot2"),
|
|
25
|
+
orderId("moveslot3"),
|
|
26
|
+
orderId("moveslot4"),
|
|
27
|
+
orderId("moveslot5"),
|
|
28
|
+
orderId("unavatar"),
|
|
29
|
+
orderId("undivineshield"),
|
|
30
|
+
orderId("unimmolation")
|
|
31
|
+
)
|
|
32
|
+
local function reset(source, orderId)
|
|
33
|
+
if not (instantOrderIds[orderId] ~= nil) then
|
|
34
|
+
local eventTimer = eventTimerByUnit[source]
|
|
35
|
+
if eventTimer then
|
|
36
|
+
eventTimer:destroy()
|
|
37
|
+
eventTimerByUnit[source] = nil
|
|
38
|
+
end
|
|
18
39
|
end
|
|
19
40
|
end
|
|
20
41
|
Unit.onImmediateOrder:addListener(reset)
|
|
@@ -25,8 +46,13 @@ local function timerCallback(source, target)
|
|
|
25
46
|
Event.invoke(autoAttackFinishEvent, source, target)
|
|
26
47
|
end
|
|
27
48
|
Unit.autoAttackStartEvent:addListener(function(source, target)
|
|
28
|
-
local attackPoint = source.
|
|
29
|
-
local timer = Timer:simple(
|
|
49
|
+
local attackPoint = (source:chooseWeapon(target) or source.firstWeapon).impactDelay
|
|
50
|
+
local timer = Timer:simple(
|
|
51
|
+
attackPoint + min(0.001, attackPoint / 2),
|
|
52
|
+
timerCallback,
|
|
53
|
+
source,
|
|
54
|
+
target
|
|
55
|
+
)
|
|
30
56
|
eventTimerByUnit[source] = timer
|
|
31
57
|
end)
|
|
32
58
|
return ____exports
|
|
@@ -11,6 +11,10 @@ import { Ability, UnitAbility } from "./ability";
|
|
|
11
11
|
import { Widget } from "../../core/types/widget";
|
|
12
12
|
import type { UnitTypeId } from "../object-data/entry/unit-type";
|
|
13
13
|
import { CombatClassification, CombatClassifications } from "../object-data/auxiliary/combat-classification";
|
|
14
|
+
import { MovementType } from "../object-data/auxiliary/movement-type";
|
|
15
|
+
import { UnitAttribute } from "../object-data/auxiliary/unit-attribute";
|
|
16
|
+
import { AttackType } from "../object-data/auxiliary/attack-type";
|
|
17
|
+
import { AttributesHolder } from "../../attributes";
|
|
14
18
|
export type UnitClassification = junittype;
|
|
15
19
|
export declare namespace UnitClassification {
|
|
16
20
|
const STRUCTURE: junittype;
|
|
@@ -19,6 +23,7 @@ export declare namespace UnitClassification {
|
|
|
19
23
|
const GROUND: junittype;
|
|
20
24
|
const SUMMONED: junittype;
|
|
21
25
|
const MECHANICAL: junittype;
|
|
26
|
+
const WORKER: junittype;
|
|
22
27
|
const ANCIENT: junittype;
|
|
23
28
|
const SUICIDAL: junittype;
|
|
24
29
|
const TAUREN: junittype;
|
|
@@ -36,14 +41,18 @@ type AbilityDispatcherTable<T extends any[] = []> = {
|
|
|
36
41
|
readonly [id: number]: Event<[Unit, Ability, ...T]>;
|
|
37
42
|
};
|
|
38
43
|
type AbilityEventDispatcher<T extends any[] = []> = Event<[Unit, Ability, ...T]> & AbilityDispatcherTable<T>;
|
|
39
|
-
export interface DamagingEvent {
|
|
44
|
+
export interface DamagingEvent extends AttributesHolder {
|
|
40
45
|
amount: number;
|
|
41
|
-
attackType:
|
|
46
|
+
attackType: AttackType;
|
|
42
47
|
damageType: jdamagetype;
|
|
43
48
|
weaponType: jweapontype;
|
|
49
|
+
metadata: unknown;
|
|
44
50
|
readonly isAttack: boolean;
|
|
51
|
+
readonly originalAmount: number;
|
|
52
|
+
readonly originalMetadata: unknown;
|
|
53
|
+
preventRetaliation(this: DamagingEvent): void;
|
|
45
54
|
}
|
|
46
|
-
export type DamageEvent = DamagingEvent & {
|
|
55
|
+
export type DamageEvent = Omit<DamagingEvent, "preventRetaliation"> & {
|
|
47
56
|
preventDeath<P extends any[]>(this: DamageEvent, callback: (this: void, ...parameters: P) => any, ...parameters: P): void;
|
|
48
57
|
};
|
|
49
58
|
export type AttackDamageEvent = DamagingEvent & {
|
|
@@ -75,6 +84,8 @@ export declare class UnitWeapon {
|
|
|
75
84
|
set cooldown(cooldown: number);
|
|
76
85
|
get damage(): [minimumDamage: number, maximumDamage: number];
|
|
77
86
|
set damage([minimumDamage, maximumDamage]: [number, number]);
|
|
87
|
+
get allowedTargetCombatClassifications(): CombatClassifications;
|
|
88
|
+
set allowedTargetCombatClassifications(allowedTargetCombatClassifications: CombatClassifications);
|
|
78
89
|
get damageBase(): number;
|
|
79
90
|
set damageBase(damageBase: number);
|
|
80
91
|
get damageDiceCount(): number;
|
|
@@ -93,20 +104,29 @@ export declare class UnitWeapon {
|
|
|
93
104
|
set missileSpeed(missileSpeed: number);
|
|
94
105
|
}
|
|
95
106
|
declare const enum UnitPropertyKey {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
107
|
+
SYNC_ID = 100,
|
|
108
|
+
IS_PAUSED = 101,
|
|
109
|
+
STUN_COUNTER = 102,
|
|
110
|
+
DELAY_HEALTH_CHECKS_COUNTER = 103,
|
|
111
|
+
DELAY_HEALTH_CHECKS_HEALTH_BONUS = 104,
|
|
112
|
+
PREVENT_DEATH_HEALTH_BONUS = 105,
|
|
113
|
+
IS_TEAM_GLOW_HIDDEN = 106,
|
|
114
|
+
LAST_X = 107,
|
|
115
|
+
LAST_Y = 108
|
|
102
116
|
}
|
|
117
|
+
export type UnitSyncId = number & {
|
|
118
|
+
readonly __unitSyncId: unique symbol;
|
|
119
|
+
};
|
|
103
120
|
export declare class Unit extends Handle<junit> {
|
|
121
|
+
readonly syncId: UnitSyncId;
|
|
104
122
|
private [UnitPropertyKey.IS_PAUSED]?;
|
|
105
123
|
private [UnitPropertyKey.STUN_COUNTER]?;
|
|
106
124
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
|
|
107
125
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
|
|
108
126
|
private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
|
|
109
127
|
private [UnitPropertyKey.IS_TEAM_GLOW_HIDDEN]?;
|
|
128
|
+
private [UnitPropertyKey.LAST_X]?;
|
|
129
|
+
private [UnitPropertyKey.LAST_Y]?;
|
|
110
130
|
private _owner?;
|
|
111
131
|
private _timeScale?;
|
|
112
132
|
private events?;
|
|
@@ -127,6 +147,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
127
147
|
get isAlive(): boolean;
|
|
128
148
|
get isDead(): boolean;
|
|
129
149
|
get isIllusion(): boolean;
|
|
150
|
+
get isStunned(): boolean;
|
|
130
151
|
get combatClassifications(): CombatClassifications;
|
|
131
152
|
set combatClassifications(combatClassifications: CombatClassifications);
|
|
132
153
|
hasCombatClassification(combatClassification: CombatClassification): boolean;
|
|
@@ -139,16 +160,19 @@ export declare class Unit extends Handle<junit> {
|
|
|
139
160
|
isInRangeOf(unit: Unit, range: number): boolean;
|
|
140
161
|
isAllyOf(unit: Unit): boolean;
|
|
141
162
|
isEnemyOf(unit: Unit): boolean;
|
|
142
|
-
playAnimation(animation: string, rarity?: jraritycontrol): void;
|
|
143
|
-
|
|
163
|
+
playAnimation(...parameters: [animation: number] | [animation: string, rarity?: jraritycontrol]): void;
|
|
164
|
+
resetAnimation(): void;
|
|
144
165
|
queueAnimation(animation: string): void;
|
|
145
166
|
get weapons(): [UnitWeapon, UnitWeapon];
|
|
146
167
|
get firstWeapon(): UnitWeapon;
|
|
147
168
|
get secondWeapon(): UnitWeapon;
|
|
169
|
+
chooseWeapon(target: Unit): UnitWeapon | undefined;
|
|
148
170
|
get level(): number;
|
|
149
171
|
set level(v: number);
|
|
150
172
|
get xp(): number;
|
|
151
173
|
set xp(v: number);
|
|
174
|
+
get primaryAttribute(): UnitAttribute;
|
|
175
|
+
set primaryAttribute(primaryAttribute: UnitAttribute);
|
|
152
176
|
get strengthBase(): number;
|
|
153
177
|
set strengthBase(strengthBase: number);
|
|
154
178
|
get strengthBonus(): number;
|
|
@@ -223,6 +247,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
223
247
|
set timeScale(v: number);
|
|
224
248
|
get collisionSize(): number;
|
|
225
249
|
get pathingCollisionRange(): number;
|
|
250
|
+
get movementType(): MovementType;
|
|
251
|
+
set movementType(movementType: MovementType);
|
|
226
252
|
set pathing(v: boolean);
|
|
227
253
|
isSelected(player: Player): boolean;
|
|
228
254
|
explode(): void;
|
|
@@ -240,17 +266,18 @@ export declare class Unit extends Handle<junit> {
|
|
|
240
266
|
dropItemTarget(item: Item, target: Widget): boolean;
|
|
241
267
|
dropItemSlot(item: Item, slot: number): boolean;
|
|
242
268
|
itemInSlot(slot: number): Item | null;
|
|
243
|
-
addAbility(abilityId: number): UnitAbility |
|
|
269
|
+
addAbility(abilityId: number): UnitAbility | undefined;
|
|
244
270
|
makeAbilityPermanent(abilityId: number, permanent: true): boolean;
|
|
245
271
|
setAbilityLevel(abilityId: number, level: number): number;
|
|
246
272
|
getAbilityLevel(abilityId: number): number;
|
|
247
273
|
hasAbility(abilityId: number): boolean;
|
|
248
|
-
|
|
249
|
-
removeAbility(
|
|
274
|
+
getAbility(abilityId: number): UnitAbility | undefined;
|
|
275
|
+
removeAbility(abilityTypeId: number): boolean;
|
|
250
276
|
hideAbility(abilityId: number, flag: boolean): void;
|
|
251
277
|
getAbilityRemainingCooldown(abilityId: number): number;
|
|
252
278
|
startAbilityCooldown(abilityId: number, cooldown: number): void;
|
|
253
279
|
endAbilityCooldown(abilityId: number): void;
|
|
280
|
+
interruptMovement(): void;
|
|
254
281
|
interruptAttack(): void;
|
|
255
282
|
interruptCast(abilityId: number): void;
|
|
256
283
|
getDistanceTo(target: Unit | Vec2): number;
|
|
@@ -273,6 +300,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
273
300
|
get onUnitInRange(): Record<number, Event<[Unit]>>;
|
|
274
301
|
get onManaEqual(): Record<number, Event<[Unit, number]>>;
|
|
275
302
|
get manaEvent(): Record<Operator, Record<number, Event<[Unit]>>>;
|
|
303
|
+
get targetAcquiredEvent(): Event;
|
|
276
304
|
get onSelect(): Event;
|
|
277
305
|
get onDeselect(): Event;
|
|
278
306
|
get onImmediateOrder(): Event<[number]>;
|
|
@@ -287,7 +315,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
287
315
|
static getInRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
|
|
288
316
|
static getInCollisionRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
|
|
289
317
|
static getInSector(pos: Vec2, range: number, offsetAngle: number, centralAngle: number): Unit[];
|
|
290
|
-
static getSelectionOf(player: Player): Unit[];
|
|
318
|
+
static getSelectionOf(player: Player, target?: Unit[]): Unit[];
|
|
291
319
|
static readonly deathEvent: UnitTriggerEvent<[Unit]>;
|
|
292
320
|
static readonly onDecay: UnitTriggerEvent<[]>;
|
|
293
321
|
static readonly onResurrect: InitializingEvent<[Unit], void>;
|
|
@@ -322,9 +350,18 @@ export declare class Unit extends Handle<junit> {
|
|
|
322
350
|
static readonly autoAttackStartEvent: UnitTriggerEvent<[Unit]>;
|
|
323
351
|
static readonly onDamaging: Event<[source: Unit | undefined, target: Unit, event: DamagingEvent]>;
|
|
324
352
|
static readonly onDamage: InitializingEvent<[source: Unit | undefined, target: Unit, event: DamageEvent], jtrigger>;
|
|
325
|
-
static
|
|
326
|
-
static
|
|
327
|
-
static
|
|
353
|
+
static itemDroppedEvent: UnitTriggerEvent<[Item]>;
|
|
354
|
+
static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
|
|
355
|
+
static itemUsedEvent: UnitTriggerEvent<[Item]>;
|
|
356
|
+
static itemStackedEvent: UnitTriggerEvent<[target: Item, source: Item]>;
|
|
357
|
+
static get itemChargesChangedEvent(): Event<[unit: Unit, item: Item]>;
|
|
358
|
+
static get itemUseOrderEvent(): Event<[unit: Unit, item: Item]>;
|
|
359
|
+
static get itemMoveOrderEvent(): Event<[
|
|
360
|
+
unit: Unit,
|
|
361
|
+
item: Item,
|
|
362
|
+
slotFrom: 0 | 1 | 2 | 3 | 4 | 5,
|
|
363
|
+
slotTo: 0 | 1 | 2 | 3 | 4 | 5
|
|
364
|
+
]>;
|
|
328
365
|
static get onCreate(): EventDispatcher<[Unit], [Unit]>;
|
|
329
366
|
static get destroyEvent(): EventDispatcher<[Unit], [Unit]>;
|
|
330
367
|
getField(field: junitintegerfield | junitrealfield): number;
|
|
@@ -335,5 +372,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
335
372
|
setField(field: junitbooleanfield, value: boolean): boolean;
|
|
336
373
|
setField(field: junitstringfield, value: string): boolean;
|
|
337
374
|
toString(): string;
|
|
375
|
+
static getBySyncId(syncId: UnitSyncId): Unit | undefined;
|
|
338
376
|
}
|
|
339
377
|
export {};
|