warscript 0.0.1-dev.c59dd14 → 0.0.1-dev.c60b168
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 -1
- package/attributes.lua +8 -1
- package/binaryreader.d.ts +1 -0
- package/binaryreader.lua +3 -0
- 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 +8 -1
- package/core/types/frame.lua +103 -13
- package/core/types/group.d.ts +0 -1
- package/core/types/image.d.ts +0 -1
- package/core/types/player.lua +3 -1
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +79 -5
- package/core/types/sound.d.ts +17 -24
- package/core/types/sound.lua +99 -24
- package/core/types/timer.d.ts +8 -8
- package/core/types/timer.lua +39 -23
- package/core/types/unit.lua +8 -0
- package/core/util.d.ts +1 -1
- package/core/util.lua +18 -1
- package/decl/index.d.ts +1 -0
- package/decl/native.d.ts +844 -788
- package/engine/ability.d.ts +1 -1
- package/engine/behavior.d.ts +15 -10
- 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.d.ts +6 -1
- package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
- package/engine/behaviour/ability/damage.d.ts +39 -11
- package/engine/behaviour/ability/damage.lua +83 -37
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +43 -0
- package/engine/behaviour/ability/heal.d.ts +33 -6
- package/engine/behaviour/ability/heal.lua +89 -10
- 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 +15 -0
- package/engine/behaviour/ability/restore-mana.lua +29 -0
- package/engine/behaviour/ability.d.ts +20 -4
- package/engine/behaviour/ability.lua +111 -47
- package/engine/behaviour/unit/stun-immunity.d.ts +5 -4
- package/engine/behaviour/unit/stun-immunity.lua +43 -27
- package/engine/behaviour/unit.d.ts +40 -2
- package/engine/behaviour/unit.lua +208 -0
- package/engine/buff.d.ts +104 -44
- package/engine/buff.lua +453 -215
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/internal/ability.d.ts +23 -14
- package/engine/internal/ability.lua +128 -85
- package/engine/internal/item/ability.lua +162 -4
- package/engine/internal/item+owner.lua +12 -6
- package/engine/internal/item.d.ts +7 -4
- package/engine/internal/item.lua +141 -35
- 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 +11 -8
- 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+transport.lua +4 -10
- package/engine/internal/unit-missile-launch.lua +33 -7
- package/engine/internal/unit.d.ts +55 -18
- package/engine/internal/unit.lua +392 -157
- 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 -3
- 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/combat-classification.d.ts +0 -2
- 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.d.ts +0 -1
- package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -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/channel.d.ts +0 -1
- 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 -18
- package/engine/object-data/entry/ability-type.lua +90 -36
- package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
- package/engine/object-data/entry/buff-type/applicable.lua +18 -37
- package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
- package/engine/object-data/entry/buff-type.d.ts +6 -13
- package/engine/object-data/entry/buff-type.lua +13 -29
- package/engine/object-data/entry/destructible-type.d.ts +1 -2
- package/engine/object-data/entry/item-type/blank.d.ts +0 -1
- package/engine/object-data/entry/item-type.d.ts +15 -2
- package/engine/object-data/entry/item-type.lua +93 -2
- package/engine/object-data/entry/lightning-type.d.ts +1 -2
- 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 -6
- package/engine/object-data/entry/unit-type.lua +214 -93
- package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
- package/engine/object-data/entry/upgrade.d.ts +1 -2
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +18 -17
- 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 -7
- package/engine/object-field.lua +190 -90
- package/engine/random.d.ts +1 -5
- 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 +13 -2
- package/event.d.ts +2 -3
- package/event.lua +9 -5
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/lualib_bundle.lua +146 -42
- package/math/vec2.d.ts +2 -9
- package/math.d.ts +0 -2
- 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/ability.d.ts +0 -1
- package/objutil/buff.d.ts +0 -1
- package/objutil/buff.lua +2 -3
- package/objutil/object.d.ts +0 -1
- package/objutil/unit.d.ts +0 -1
- package/objutil/unit.lua +8 -0
- package/package.json +13 -13
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +10 -0
- package/property.d.ts +55 -0
- package/property.lua +374 -0
- package/string.d.ts +16 -0
- package/string.lua +5 -0
- package/util/stream.d.ts +0 -1
- package/utility/arrays.d.ts +12 -5
- package/utility/arrays.lua +37 -3
- package/utility/bit-set.d.ts +0 -2
- 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 -3
- package/utility/linked-set.lua +8 -2
- package/utility/lua-maps.d.ts +5 -2
- package/utility/lua-maps.lua +20 -0
- package/utility/lua-sets.d.ts +3 -2
- package/utility/lua-sets.lua +7 -0
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +1 -0
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
|
@@ -6,9 +6,8 @@ local ____unit = require("engine.internal.unit")
|
|
|
6
6
|
local Unit = ____unit.Unit
|
|
7
7
|
local ____event = require("event")
|
|
8
8
|
local Event = ____event.Event
|
|
9
|
-
local
|
|
10
|
-
local
|
|
11
|
-
local boundRegion = ____mapbounds.boundRegion
|
|
9
|
+
local ____game_2Dmap = require("engine.game-map")
|
|
10
|
+
local GameMap = ____game_2Dmap.GameMap
|
|
12
11
|
local eventInvoke = Event.invoke
|
|
13
12
|
local tableRemove = table.remove
|
|
14
13
|
local ____assert = _G.assert
|
|
@@ -58,8 +57,8 @@ triggerAddCondition(
|
|
|
58
57
|
deboard(unit)
|
|
59
58
|
end
|
|
60
59
|
if not unitAlive(handle) then
|
|
61
|
-
unit.x =
|
|
62
|
-
unit.y =
|
|
60
|
+
unit.x = GameMap.worldBoundsRect.maxX
|
|
61
|
+
unit.y = GameMap.worldBoundsRect.maxY
|
|
63
62
|
end
|
|
64
63
|
local transport = Unit:of(getTransportUnit())
|
|
65
64
|
transportByUnit[unit] = transport
|
|
@@ -68,11 +67,6 @@ triggerAddCondition(
|
|
|
68
67
|
eventInvoke(onBoardEvent, unit, transport)
|
|
69
68
|
end)
|
|
70
69
|
)
|
|
71
|
-
boundRegion.onUnitEnter:addListener(function(unit)
|
|
72
|
-
if transportByUnit[unit] ~= nil and not isUnitLoaded(unit.handle) then
|
|
73
|
-
deboard(unit)
|
|
74
|
-
end
|
|
75
|
-
end)
|
|
76
70
|
Unit.deathEvent:addListener(function(unit)
|
|
77
71
|
if transportByUnit[unit] ~= nil then
|
|
78
72
|
deboard(unit)
|
|
@@ -7,14 +7,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
|
|
@@ -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:
|
|
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 & {
|
|
@@ -76,6 +84,8 @@ export declare class UnitWeapon {
|
|
|
76
84
|
set cooldown(cooldown: number);
|
|
77
85
|
get damage(): [minimumDamage: number, maximumDamage: number];
|
|
78
86
|
set damage([minimumDamage, maximumDamage]: [number, number]);
|
|
87
|
+
get allowedTargetCombatClassifications(): CombatClassifications;
|
|
88
|
+
set allowedTargetCombatClassifications(allowedTargetCombatClassifications: CombatClassifications);
|
|
79
89
|
get damageBase(): number;
|
|
80
90
|
set damageBase(damageBase: number);
|
|
81
91
|
get damageDiceCount(): number;
|
|
@@ -94,20 +104,29 @@ export declare class UnitWeapon {
|
|
|
94
104
|
set missileSpeed(missileSpeed: number);
|
|
95
105
|
}
|
|
96
106
|
declare const enum UnitPropertyKey {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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
|
|
103
116
|
}
|
|
117
|
+
export type UnitSyncId = number & {
|
|
118
|
+
readonly __unitSyncId: unique symbol;
|
|
119
|
+
};
|
|
104
120
|
export declare class Unit extends Handle<junit> {
|
|
121
|
+
readonly syncId: UnitSyncId;
|
|
105
122
|
private [UnitPropertyKey.IS_PAUSED]?;
|
|
106
123
|
private [UnitPropertyKey.STUN_COUNTER]?;
|
|
107
124
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
|
|
108
125
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
|
|
109
126
|
private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
|
|
110
127
|
private [UnitPropertyKey.IS_TEAM_GLOW_HIDDEN]?;
|
|
128
|
+
private [UnitPropertyKey.LAST_X]?;
|
|
129
|
+
private [UnitPropertyKey.LAST_Y]?;
|
|
111
130
|
private _owner?;
|
|
112
131
|
private _timeScale?;
|
|
113
132
|
private events?;
|
|
@@ -128,6 +147,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
128
147
|
get isAlive(): boolean;
|
|
129
148
|
get isDead(): boolean;
|
|
130
149
|
get isIllusion(): boolean;
|
|
150
|
+
get isStunned(): boolean;
|
|
131
151
|
get combatClassifications(): CombatClassifications;
|
|
132
152
|
set combatClassifications(combatClassifications: CombatClassifications);
|
|
133
153
|
hasCombatClassification(combatClassification: CombatClassification): boolean;
|
|
@@ -140,16 +160,19 @@ export declare class Unit extends Handle<junit> {
|
|
|
140
160
|
isInRangeOf(unit: Unit, range: number): boolean;
|
|
141
161
|
isAllyOf(unit: Unit): boolean;
|
|
142
162
|
isEnemyOf(unit: Unit): boolean;
|
|
143
|
-
playAnimation(animation: string, rarity?: jraritycontrol): void;
|
|
144
|
-
|
|
163
|
+
playAnimation(...parameters: [animation: number] | [animation: string, rarity?: jraritycontrol]): void;
|
|
164
|
+
resetAnimation(): void;
|
|
145
165
|
queueAnimation(animation: string): void;
|
|
146
166
|
get weapons(): [UnitWeapon, UnitWeapon];
|
|
147
167
|
get firstWeapon(): UnitWeapon;
|
|
148
168
|
get secondWeapon(): UnitWeapon;
|
|
169
|
+
chooseWeapon(target: Unit): UnitWeapon | undefined;
|
|
149
170
|
get level(): number;
|
|
150
171
|
set level(v: number);
|
|
151
172
|
get xp(): number;
|
|
152
173
|
set xp(v: number);
|
|
174
|
+
get primaryAttribute(): UnitAttribute;
|
|
175
|
+
set primaryAttribute(primaryAttribute: UnitAttribute);
|
|
153
176
|
get strengthBase(): number;
|
|
154
177
|
set strengthBase(strengthBase: number);
|
|
155
178
|
get strengthBonus(): number;
|
|
@@ -224,11 +247,13 @@ export declare class Unit extends Handle<junit> {
|
|
|
224
247
|
set timeScale(v: number);
|
|
225
248
|
get collisionSize(): number;
|
|
226
249
|
get pathingCollisionRange(): number;
|
|
250
|
+
get movementType(): MovementType;
|
|
251
|
+
set movementType(movementType: MovementType);
|
|
227
252
|
set pathing(v: boolean);
|
|
228
253
|
isSelected(player: Player): boolean;
|
|
229
254
|
explode(): void;
|
|
230
255
|
kill(): void;
|
|
231
|
-
revive(
|
|
256
|
+
revive(x: number, y: number, doEffect?: boolean): void;
|
|
232
257
|
healTarget(target: Widget, amount: number): void;
|
|
233
258
|
useItem(item: Item): boolean;
|
|
234
259
|
issueImmediateOrder(order: number): boolean;
|
|
@@ -241,7 +266,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
241
266
|
dropItemTarget(item: Item, target: Widget): boolean;
|
|
242
267
|
dropItemSlot(item: Item, slot: number): boolean;
|
|
243
268
|
itemInSlot(slot: number): Item | null;
|
|
244
|
-
addAbility(abilityId: number): UnitAbility |
|
|
269
|
+
addAbility(abilityId: number): UnitAbility | undefined;
|
|
245
270
|
makeAbilityPermanent(abilityId: number, permanent: true): boolean;
|
|
246
271
|
setAbilityLevel(abilityId: number, level: number): number;
|
|
247
272
|
getAbilityLevel(abilityId: number): number;
|
|
@@ -252,6 +277,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
252
277
|
getAbilityRemainingCooldown(abilityId: number): number;
|
|
253
278
|
startAbilityCooldown(abilityId: number, cooldown: number): void;
|
|
254
279
|
endAbilityCooldown(abilityId: number): void;
|
|
280
|
+
interruptMovement(): void;
|
|
255
281
|
interruptAttack(): void;
|
|
256
282
|
interruptCast(abilityId: number): void;
|
|
257
283
|
getDistanceTo(target: Unit | Vec2): number;
|
|
@@ -274,6 +300,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
274
300
|
get onUnitInRange(): Record<number, Event<[Unit]>>;
|
|
275
301
|
get onManaEqual(): Record<number, Event<[Unit, number]>>;
|
|
276
302
|
get manaEvent(): Record<Operator, Record<number, Event<[Unit]>>>;
|
|
303
|
+
get targetAcquiredEvent(): Event;
|
|
277
304
|
get onSelect(): Event;
|
|
278
305
|
get onDeselect(): Event;
|
|
279
306
|
get onImmediateOrder(): Event<[number]>;
|
|
@@ -288,7 +315,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
288
315
|
static getInRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
|
|
289
316
|
static getInCollisionRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
|
|
290
317
|
static getInSector(pos: Vec2, range: number, offsetAngle: number, centralAngle: number): Unit[];
|
|
291
|
-
static getSelectionOf(player: Player): Unit[];
|
|
318
|
+
static getSelectionOf(player: Player, target?: Unit[]): Unit[];
|
|
292
319
|
static readonly deathEvent: UnitTriggerEvent<[Unit]>;
|
|
293
320
|
static readonly onDecay: UnitTriggerEvent<[]>;
|
|
294
321
|
static readonly onResurrect: InitializingEvent<[Unit], void>;
|
|
@@ -323,9 +350,18 @@ export declare class Unit extends Handle<junit> {
|
|
|
323
350
|
static readonly autoAttackStartEvent: UnitTriggerEvent<[Unit]>;
|
|
324
351
|
static readonly onDamaging: Event<[source: Unit | undefined, target: Unit, event: DamagingEvent]>;
|
|
325
352
|
static readonly onDamage: InitializingEvent<[source: Unit | undefined, target: Unit, event: DamageEvent], jtrigger>;
|
|
326
|
-
static
|
|
327
|
-
static
|
|
328
|
-
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
|
+
]>;
|
|
329
365
|
static get onCreate(): EventDispatcher<[Unit], [Unit]>;
|
|
330
366
|
static get destroyEvent(): EventDispatcher<[Unit], [Unit]>;
|
|
331
367
|
getField(field: junitintegerfield | junitrealfield): number;
|
|
@@ -336,5 +372,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
336
372
|
setField(field: junitbooleanfield, value: boolean): boolean;
|
|
337
373
|
setField(field: junitstringfield, value: string): boolean;
|
|
338
374
|
toString(): string;
|
|
375
|
+
static getBySyncId(syncId: UnitSyncId): Unit | undefined;
|
|
339
376
|
}
|
|
340
377
|
export {};
|