warscript 0.0.1-dev.a44a461 → 0.0.1-dev.a4646d1
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 +1 -2
- package/attributes.lua +9 -0
- package/core/types/frame.lua +24 -21
- package/core/types/player.d.ts +16 -0
- package/core/types/player.lua +60 -15
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +3 -1
- package/core/types/timer.lua +27 -2
- package/decl/native.d.ts +6 -4
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +14 -1
- package/engine/behavior.lua +230 -70
- package/engine/behaviour/ability/apply-buff.lua +5 -5
- package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
- package/engine/behaviour/ability/emulate-impact.lua +11 -3
- package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -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 +2 -1
- package/engine/behaviour/ability.lua +10 -18
- package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
- package/engine/behaviour/unit/stun-immunity.lua +57 -31
- package/engine/behaviour/unit.d.ts +39 -3
- package/engine/behaviour/unit.lua +269 -6
- package/engine/buff.d.ts +21 -8
- package/engine/buff.lua +187 -121
- package/engine/internal/ability.d.ts +7 -1
- package/engine/internal/ability.lua +49 -9
- package/engine/internal/item/ability.lua +63 -11
- package/engine/internal/item+owner.lua +12 -6
- package/engine/internal/item.d.ts +16 -16
- package/engine/internal/item.lua +135 -49
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- 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/mana-regeneration-rate-increase-factor.d.ts +2 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
- package/engine/internal/unit/ability.d.ts +35 -0
- package/engine/internal/unit/ability.lua +98 -9
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bonus.d.ts +2 -0
- package/engine/internal/unit/bonus.lua +10 -0
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/main-selected.lua +12 -27
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit/scale.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.lua +10 -1
- package/engine/internal/unit-missile-launch.lua +52 -14
- package/engine/internal/unit.d.ts +27 -24
- package/engine/internal/unit.lua +298 -213
- package/engine/local-client.d.ts +2 -0
- package/engine/local-client.lua +30 -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/health-regeneration-type.d.ts +8 -0
- package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
- 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.lua +5 -4
- package/engine/object-data/entry/destructible-type.d.ts +27 -1
- package/engine/object-data/entry/destructible-type.lua +155 -0
- package/engine/object-data/entry/unit-type.d.ts +15 -2
- package/engine/object-data/entry/unit-type.lua +135 -33
- package/engine/object-field/ability.d.ts +3 -3
- package/engine/object-field/ability.lua +7 -6
- package/engine/object-field/unit.d.ts +31 -5
- package/engine/object-field/unit.lua +95 -0
- package/engine/object-field.d.ts +17 -6
- package/engine/object-field.lua +291 -134
- package/engine/random.d.ts +9 -0
- package/engine/random.lua +13 -0
- package/engine/standard/fields/ability.d.ts +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- package/engine/standard/fields/unit.d.ts +12 -0
- package/engine/standard/fields/unit.lua +20 -0
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +250 -10
- package/engine/unit.d.ts +5 -0
- package/engine/unit.lua +5 -0
- package/net/socket.lua +1 -1
- package/objutil/buff.lua +10 -8
- package/package.json +2 -2
- package/patch-lua.lua +9 -0
- package/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +1 -0
- package/utility/arrays.lua +8 -0
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +7 -0
- package/utility/functions.lua +12 -0
- package/utility/linked-map.d.ts +26 -0
- package/utility/linked-map.lua +66 -0
- package/utility/linked-set.d.ts +1 -0
- package/utility/linked-set.lua +23 -1
- package/utility/lua-maps.d.ts +12 -2
- package/utility/lua-maps.lua +37 -2
- package/utility/lua-sets.d.ts +1 -0
- package/utility/lua-sets.lua +4 -0
- package/utility/records.lua +20 -1
- package/utility/types.d.ts +3 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____unit = require("engine.internal.unit")
|
|
5
|
+
local Unit = ____unit.Unit
|
|
6
|
+
local ____unit = require("engine.standard.fields.unit")
|
|
7
|
+
local SCALING_VALUE_UNIT_FIELD = ____unit.SCALING_VALUE_UNIT_FIELD
|
|
8
|
+
__TS__ObjectDefineProperty(
|
|
9
|
+
Unit.prototype,
|
|
10
|
+
"scale",
|
|
11
|
+
{
|
|
12
|
+
get = function(self)
|
|
13
|
+
return SCALING_VALUE_UNIT_FIELD:getValue(self)
|
|
14
|
+
end,
|
|
15
|
+
set = function(self, value)
|
|
16
|
+
SCALING_VALUE_UNIT_FIELD:setValue(self, value)
|
|
17
|
+
end
|
|
18
|
+
}
|
|
19
|
+
)
|
|
20
|
+
return ____exports
|
|
@@ -7,8 +7,8 @@ local UnitAbility = ____ability.UnitAbility
|
|
|
7
7
|
local ____unit = require("engine.internal.unit")
|
|
8
8
|
local Unit = ____unit.Unit
|
|
9
9
|
local ____event = require("event")
|
|
10
|
-
local Event = ____event.Event
|
|
11
10
|
local createDispatchingEvent = ____event.createDispatchingEvent
|
|
11
|
+
local Event = ____event.Event
|
|
12
12
|
local abilityGainedEvent = createDispatchingEvent(
|
|
13
13
|
__TS__New(Event),
|
|
14
14
|
function(unit, ability) return ability.typeId end
|
|
@@ -40,6 +40,15 @@ ItemAbility.onCreate:addListener(
|
|
|
40
40
|
end
|
|
41
41
|
end
|
|
42
42
|
)
|
|
43
|
+
ItemAbility.destroyEvent:addListener(
|
|
44
|
+
4,
|
|
45
|
+
function(ability)
|
|
46
|
+
local unit = ability.owner.owner
|
|
47
|
+
if unit ~= nil then
|
|
48
|
+
Event.invoke(abilityLostEvent, unit, ability)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
)
|
|
43
52
|
Unit.itemPickedUpEvent:addListener(
|
|
44
53
|
0,
|
|
45
54
|
function(unit, item)
|
|
@@ -9,9 +9,18 @@ local ____timer = require("core.types.timer")
|
|
|
9
9
|
local Timer = ____timer.Timer
|
|
10
10
|
local ____lua_2Dsets = require("utility.lua-sets")
|
|
11
11
|
local luaSetOf = ____lua_2Dsets.luaSetOf
|
|
12
|
+
local ____attributes = require("attributes")
|
|
13
|
+
local attribute = ____attributes.attribute
|
|
14
|
+
local ____linked_2Dset = require("utility.linked-set")
|
|
15
|
+
local LinkedSet = ____linked_2Dset.LinkedSet
|
|
16
|
+
local ____math = require("math")
|
|
17
|
+
local ceil = ____math.ceil
|
|
12
18
|
local autoAttackFinishEvent = __TS__New(Event)
|
|
13
19
|
rawset(Unit, "autoAttackFinishEvent", autoAttackFinishEvent)
|
|
14
|
-
local
|
|
20
|
+
local units = __TS__New(LinkedSet)
|
|
21
|
+
local targetAttribute = attribute()
|
|
22
|
+
local impactDelayAttribute = attribute()
|
|
23
|
+
local passedTimeAttribute = attribute()
|
|
15
24
|
local instantOrderIds = luaSetOf(
|
|
16
25
|
orderId("avatar"),
|
|
17
26
|
orderId("berserk"),
|
|
@@ -27,25 +36,54 @@ local instantOrderIds = luaSetOf(
|
|
|
27
36
|
orderId("undivineshield"),
|
|
28
37
|
orderId("unimmolation")
|
|
29
38
|
)
|
|
30
|
-
|
|
39
|
+
---
|
|
40
|
+
-- @internal For use by internal systems only.
|
|
41
|
+
____exports.resetAutoAttackTimer = function(unit)
|
|
42
|
+
if units:remove(unit) then
|
|
43
|
+
unit[targetAttribute] = nil
|
|
44
|
+
unit[impactDelayAttribute] = nil
|
|
45
|
+
unit[passedTimeAttribute] = nil
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
local function reset(unit, orderId)
|
|
31
49
|
if not (instantOrderIds[orderId] ~= nil) then
|
|
32
|
-
|
|
33
|
-
if eventTimer then
|
|
34
|
-
eventTimer:destroy()
|
|
35
|
-
eventTimerByUnit[source] = nil
|
|
36
|
-
end
|
|
50
|
+
____exports.resetAutoAttackTimer(unit)
|
|
37
51
|
end
|
|
38
52
|
end
|
|
39
53
|
Unit.onImmediateOrder:addListener(reset)
|
|
40
54
|
Unit.onPointOrder:addListener(reset)
|
|
41
55
|
Unit.onTargetOrder:addListener(reset)
|
|
42
|
-
local
|
|
43
|
-
|
|
44
|
-
|
|
56
|
+
local timerPeriod = 1 / 64
|
|
57
|
+
local function invokeEvent(unit)
|
|
58
|
+
units:remove(unit)
|
|
59
|
+
local target = unit[targetAttribute]
|
|
60
|
+
unit[targetAttribute] = nil
|
|
61
|
+
unit[impactDelayAttribute] = nil
|
|
62
|
+
unit[passedTimeAttribute] = nil
|
|
63
|
+
Event.invoke(autoAttackFinishEvent, unit, target)
|
|
64
|
+
end
|
|
65
|
+
local function checkUnit(unit)
|
|
66
|
+
local passedTime = unit[passedTimeAttribute] + timerPeriod
|
|
67
|
+
local impactDelay = unit[impactDelayAttribute]
|
|
68
|
+
if passedTime >= impactDelay and ceil(passedTime / 0.02) >= ceil(impactDelay / 0.02) then
|
|
69
|
+
invokeEvent(unit)
|
|
70
|
+
else
|
|
71
|
+
unit[passedTimeAttribute] = passedTime
|
|
72
|
+
end
|
|
45
73
|
end
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
local timer = Timer:simple(attackPoint, timerCallback, source, target)
|
|
49
|
-
eventTimerByUnit[source] = timer
|
|
74
|
+
Timer.onPeriod[timerPeriod]:addListener(function()
|
|
75
|
+
units:forEach(checkUnit)
|
|
50
76
|
end)
|
|
77
|
+
Unit.autoAttackStartEvent:addListener(
|
|
78
|
+
999999,
|
|
79
|
+
function(source, target)
|
|
80
|
+
if source[targetAttribute] ~= nil then
|
|
81
|
+
invokeEvent(source)
|
|
82
|
+
end
|
|
83
|
+
source[targetAttribute] = target
|
|
84
|
+
source[impactDelayAttribute] = (source:chooseWeapon(target) or source.firstWeapon).impactDelay
|
|
85
|
+
source[passedTimeAttribute] = -timerPeriod
|
|
86
|
+
units:add(source)
|
|
87
|
+
end
|
|
88
|
+
)
|
|
51
89
|
return ____exports
|
|
@@ -23,6 +23,7 @@ export declare namespace UnitClassification {
|
|
|
23
23
|
const GROUND: junittype;
|
|
24
24
|
const SUMMONED: junittype;
|
|
25
25
|
const MECHANICAL: junittype;
|
|
26
|
+
const WORKER: junittype;
|
|
26
27
|
const ANCIENT: junittype;
|
|
27
28
|
const SUICIDAL: junittype;
|
|
28
29
|
const TAUREN: junittype;
|
|
@@ -49,8 +50,9 @@ export interface DamagingEvent extends AttributesHolder {
|
|
|
49
50
|
readonly isAttack: boolean;
|
|
50
51
|
readonly originalAmount: number;
|
|
51
52
|
readonly originalMetadata: unknown;
|
|
53
|
+
preventRetaliation(this: DamagingEvent): void;
|
|
52
54
|
}
|
|
53
|
-
export type DamageEvent = DamagingEvent & {
|
|
55
|
+
export type DamageEvent = Omit<DamagingEvent, "preventRetaliation"> & {
|
|
54
56
|
preventDeath<P extends any[]>(this: DamageEvent, callback: (this: void, ...parameters: P) => any, ...parameters: P): void;
|
|
55
57
|
};
|
|
56
58
|
export type AttackDamageEvent = DamagingEvent & {
|
|
@@ -78,10 +80,14 @@ export declare class UnitWeapon {
|
|
|
78
80
|
readonly unit: Unit;
|
|
79
81
|
readonly index: 0 | 1;
|
|
80
82
|
constructor(unit: Unit, index: 0 | 1);
|
|
83
|
+
get isEnabled(): boolean;
|
|
84
|
+
set isEnabled(isEnabled: boolean);
|
|
81
85
|
get cooldown(): number;
|
|
82
86
|
set cooldown(cooldown: number);
|
|
83
87
|
get damage(): [minimumDamage: number, maximumDamage: number];
|
|
84
88
|
set damage([minimumDamage, maximumDamage]: [number, number]);
|
|
89
|
+
get allowedTargetCombatClassifications(): CombatClassifications;
|
|
90
|
+
set allowedTargetCombatClassifications(allowedTargetCombatClassifications: CombatClassifications);
|
|
85
91
|
get damageBase(): number;
|
|
86
92
|
set damageBase(damageBase: number);
|
|
87
93
|
get damageDiceCount(): number;
|
|
@@ -103,12 +109,13 @@ declare const enum UnitPropertyKey {
|
|
|
103
109
|
SYNC_ID = 100,
|
|
104
110
|
IS_PAUSED = 101,
|
|
105
111
|
STUN_COUNTER = 102,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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
|
|
112
119
|
}
|
|
113
120
|
export type UnitSyncId = number & {
|
|
114
121
|
readonly __unitSyncId: unique symbol;
|
|
@@ -117,6 +124,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
117
124
|
readonly syncId: UnitSyncId;
|
|
118
125
|
private [UnitPropertyKey.IS_PAUSED]?;
|
|
119
126
|
private [UnitPropertyKey.STUN_COUNTER]?;
|
|
127
|
+
private [UnitPropertyKey.FORCE_STUN_COUNTER]?;
|
|
120
128
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
|
|
121
129
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
|
|
122
130
|
private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
|
|
@@ -156,29 +164,23 @@ export declare class Unit extends Handle<junit> {
|
|
|
156
164
|
isInRangeOf(unit: Unit, range: number): boolean;
|
|
157
165
|
isAllyOf(unit: Unit): boolean;
|
|
158
166
|
isEnemyOf(unit: Unit): boolean;
|
|
159
|
-
playAnimation(animation: string, rarity?: jraritycontrol): void;
|
|
160
|
-
playAnimation(animation: number): void;
|
|
167
|
+
playAnimation(...parameters: [animation: number] | [animation: string, rarity?: jraritycontrol]): void;
|
|
161
168
|
resetAnimation(): void;
|
|
162
169
|
queueAnimation(animation: string): void;
|
|
163
170
|
get weapons(): [UnitWeapon, UnitWeapon];
|
|
164
171
|
get firstWeapon(): UnitWeapon;
|
|
165
172
|
get secondWeapon(): UnitWeapon;
|
|
173
|
+
chooseWeapon(target: Unit): UnitWeapon | undefined;
|
|
166
174
|
get level(): number;
|
|
167
175
|
set level(v: number);
|
|
168
176
|
get xp(): number;
|
|
169
177
|
set xp(v: number);
|
|
170
178
|
get primaryAttribute(): UnitAttribute;
|
|
171
179
|
set primaryAttribute(primaryAttribute: UnitAttribute);
|
|
172
|
-
get strengthBase(): number;
|
|
173
|
-
set strengthBase(strengthBase: number);
|
|
174
180
|
get strengthBonus(): number;
|
|
175
181
|
get strength(): number;
|
|
176
|
-
get agilityBase(): number;
|
|
177
|
-
set agilityBase(agilityBase: number);
|
|
178
182
|
get agilityBonus(): number;
|
|
179
183
|
get agility(): number;
|
|
180
|
-
get intelligenceBase(): number;
|
|
181
|
-
set intelligenceBase(intelligenceBase: number);
|
|
182
184
|
get intelligenceBonus(): number;
|
|
183
185
|
get intelligence(): number;
|
|
184
186
|
get name(): string;
|
|
@@ -212,8 +214,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
212
214
|
set facing(v: number);
|
|
213
215
|
get speed(): number;
|
|
214
216
|
set speed(v: number);
|
|
215
|
-
get flyHeight(): number;
|
|
216
|
-
set flyHeight(v: number);
|
|
217
217
|
get x(): number;
|
|
218
218
|
set x(v: number);
|
|
219
219
|
get y(): number;
|
|
@@ -237,8 +237,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
237
237
|
get isInvulnerable(): boolean;
|
|
238
238
|
get vertexColor(): Color;
|
|
239
239
|
set vertexColor(v: Color);
|
|
240
|
-
get scale(): number;
|
|
241
|
-
set scale(v: number);
|
|
242
240
|
get timeScale(): number;
|
|
243
241
|
set timeScale(v: number);
|
|
244
242
|
get collisionSize(): number;
|
|
@@ -262,18 +260,17 @@ export declare class Unit extends Handle<junit> {
|
|
|
262
260
|
dropItemTarget(item: Item, target: Widget): boolean;
|
|
263
261
|
dropItemSlot(item: Item, slot: number): boolean;
|
|
264
262
|
itemInSlot(slot: number): Item | null;
|
|
265
|
-
addAbility(abilityId: number): UnitAbility |
|
|
263
|
+
addAbility(abilityId: number): UnitAbility | undefined;
|
|
266
264
|
makeAbilityPermanent(abilityId: number, permanent: true): boolean;
|
|
267
265
|
setAbilityLevel(abilityId: number, level: number): number;
|
|
268
266
|
getAbilityLevel(abilityId: number): number;
|
|
269
267
|
hasAbility(abilityId: number): boolean;
|
|
270
|
-
|
|
271
|
-
removeAbility(
|
|
268
|
+
getAbility(abilityId: number): UnitAbility | undefined;
|
|
269
|
+
removeAbility(abilityTypeId: number): boolean;
|
|
272
270
|
hideAbility(abilityId: number, flag: boolean): void;
|
|
273
271
|
getAbilityRemainingCooldown(abilityId: number): number;
|
|
274
272
|
startAbilityCooldown(abilityId: number, cooldown: number): void;
|
|
275
273
|
endAbilityCooldown(abilityId: number): void;
|
|
276
|
-
interruptAttack(): void;
|
|
277
274
|
interruptCast(abilityId: number): void;
|
|
278
275
|
getDistanceTo(target: Unit | Vec2): number;
|
|
279
276
|
getCollisionDistanceTo(...target: [Unit] | [targetX: number, targetY: number]): number;
|
|
@@ -287,6 +284,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
287
284
|
unpauseEx(): void;
|
|
288
285
|
incrementStunCounter(): void;
|
|
289
286
|
decrementStunCounter(): void;
|
|
287
|
+
incrementForceStunCounter(): void;
|
|
288
|
+
decrementForceStunCounter(): void;
|
|
290
289
|
set waygateActive(v: boolean);
|
|
291
290
|
get waygateActive(): boolean;
|
|
292
291
|
set waygateDestination(v: Vec2);
|
|
@@ -295,6 +294,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
295
294
|
get onUnitInRange(): Record<number, Event<[Unit]>>;
|
|
296
295
|
get onManaEqual(): Record<number, Event<[Unit, number]>>;
|
|
297
296
|
get manaEvent(): Record<Operator, Record<number, Event<[Unit]>>>;
|
|
297
|
+
get targetAcquiredEvent(): Event;
|
|
298
298
|
get onSelect(): Event;
|
|
299
299
|
get onDeselect(): Event;
|
|
300
300
|
get onImmediateOrder(): Event<[number]>;
|
|
@@ -310,6 +310,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
310
310
|
static getInCollisionRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
|
|
311
311
|
static getInSector(pos: Vec2, range: number, offsetAngle: number, centralAngle: number): Unit[];
|
|
312
312
|
static getSelectionOf(player: Player, target?: Unit[]): Unit[];
|
|
313
|
+
static readonly levelChangedEvent: UnitTriggerEvent<[]>;
|
|
313
314
|
static readonly deathEvent: UnitTriggerEvent<[Unit]>;
|
|
314
315
|
static readonly onDecay: UnitTriggerEvent<[]>;
|
|
315
316
|
static readonly onResurrect: InitializingEvent<[Unit], void>;
|
|
@@ -347,7 +348,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
347
348
|
static itemDroppedEvent: UnitTriggerEvent<[Item]>;
|
|
348
349
|
static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
|
|
349
350
|
static itemUsedEvent: UnitTriggerEvent<[Item]>;
|
|
350
|
-
static itemStackedEvent: UnitTriggerEvent<[Item]>;
|
|
351
|
+
static itemStackedEvent: UnitTriggerEvent<[target: Item, source: Item]>;
|
|
352
|
+
static get itemChargesChangedEvent(): Event<[unit: Unit, item: Item]>;
|
|
351
353
|
static get itemUseOrderEvent(): Event<[unit: Unit, item: Item]>;
|
|
352
354
|
static get itemMoveOrderEvent(): Event<[
|
|
353
355
|
unit: Unit,
|
|
@@ -366,5 +368,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
366
368
|
setField(field: junitstringfield, value: string): boolean;
|
|
367
369
|
toString(): string;
|
|
368
370
|
static getBySyncId(syncId: UnitSyncId): Unit | undefined;
|
|
371
|
+
static synchronize: (player: Player, object: Unit | undefined) => Promise<Unit | undefined>;
|
|
369
372
|
}
|
|
370
373
|
export {};
|