warscript 0.0.1-dev.ea69747 → 0.0.1-dev.eb6b18a
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 +17 -0
- package/attributes.lua +23 -0
- 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 +93 -1
- package/core/types/group.d.ts +0 -1
- package/core/types/handle.d.ts +2 -1
- package/core/types/handle.lua +5 -0
- package/core/types/image.d.ts +0 -1
- package/core/types/missile.d.ts +2 -2
- package/core/types/missile.lua +8 -2
- package/core/types/sound.d.ts +17 -24
- package/core/types/sound.lua +99 -24
- package/core/types/timer.d.ts +6 -7
- package/core/types/timer.lua +18 -21
- 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 +840 -786
- package/engine/ability.d.ts +1 -1
- package/engine/behavior.d.ts +10 -10
- package/engine/behavior.lua +6 -6
- 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 +13 -4
- package/engine/behaviour/ability/apply-unit-behavior.lua +32 -9
- 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 +42 -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 -15
- 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 +27 -4
- package/engine/behaviour/ability.lua +152 -26
- 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 +34 -2
- package/engine/behaviour/unit.lua +181 -0
- package/engine/buff.d.ts +103 -41
- package/engine/buff.lua +465 -212
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/internal/ability.d.ts +21 -14
- package/engine/internal/ability.lua +97 -76
- package/engine/internal/item/ability.lua +112 -4
- package/engine/internal/item+owner.lua +2 -2
- package/engine/internal/item.d.ts +7 -4
- package/engine/internal/item.lua +131 -28
- package/engine/internal/mechanics/ability-duration.d.ts +1 -3
- package/engine/internal/mechanics/ability-duration.lua +3 -1
- package/engine/internal/mechanics/cast-ability.d.ts +2 -0
- package/engine/internal/mechanics/cast-ability.lua +86 -0
- 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/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/detach-missiles.d.ts +7 -0
- package/engine/internal/unit/detach-missiles.lua +30 -0
- 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 +2 -2
- 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 +25 -6
- package/engine/internal/unit.d.ts +85 -19
- package/engine/internal/unit.lua +555 -167
- 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/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/blink.d.ts +10 -0
- package/engine/object-data/entry/ability-type/blink.lua +39 -0
- 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 +4 -4
- 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/mine.d.ts +10 -0
- package/engine/object-data/entry/ability-type/mine.lua +39 -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/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/spirit-touch.d.ts +2 -2
- package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
- 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 +20 -18
- package/engine/object-data/entry/ability-type.lua +90 -33
- package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
- package/engine/object-data/entry/buff-type/applicable.lua +39 -102
- 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 +50 -3
- package/engine/object-data/entry/unit-type.lua +452 -61
- 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 +33 -8
- package/engine/object-field/ability.lua +60 -1
- package/engine/object-field/unit.d.ts +50 -2
- package/engine/object-field/unit.lua +186 -4
- package/engine/object-field.d.ts +21 -8
- package/engine/object-field.lua +221 -97
- package/engine/random.d.ts +1 -0
- package/engine/random.lua +9 -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/entries/unit-type.d.ts +42 -1
- package/engine/standard/entries/unit-type.lua +42 -1
- package/engine/standard/fields/ability.d.ts +3 -1
- package/engine/standard/fields/ability.lua +3 -1
- package/engine/standard/fields/unit.d.ts +3 -0
- package/engine/standard/fields/unit.lua +5 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +175 -10
- package/engine/unit.d.ts +5 -0
- package/engine/unit.lua +14 -2
- package/event.d.ts +2 -3
- package/event.lua +9 -5
- package/exception.d.ts +2 -0
- package/exception.lua +4 -0
- package/global/vec2.lua +1 -0
- 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 -14
- 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 +30 -0
- package/string.lua +14 -0
- package/util/stream.d.ts +0 -1
- package/utility/arrays.d.ts +13 -6
- package/utility/arrays.lua +41 -4
- package/utility/bit-set.d.ts +0 -2
- package/utility/functions.d.ts +1 -0
- package/utility/functions.lua +1 -0
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-set.d.ts +32 -9
- package/utility/linked-set.lua +24 -2
- package/utility/lua-maps.d.ts +5 -2
- package/utility/lua-maps.lua +20 -0
- package/utility/lua-sets.d.ts +2 -2
- package/utility/lua-sets.lua +3 -0
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +3 -2
- 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,33 @@ 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
|
|
10
12
|
local autoAttackFinishEvent = __TS__New(Event)
|
|
11
13
|
rawset(Unit, "autoAttackFinishEvent", autoAttackFinishEvent)
|
|
12
14
|
local eventTimerByUnit = {}
|
|
13
|
-
local
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
local instantOrderIds = luaSetOf(
|
|
16
|
+
orderId("avatar"),
|
|
17
|
+
orderId("berserk"),
|
|
18
|
+
orderId("divineshield"),
|
|
19
|
+
orderId("immolation"),
|
|
20
|
+
orderId("moveslot0"),
|
|
21
|
+
orderId("moveslot1"),
|
|
22
|
+
orderId("moveslot2"),
|
|
23
|
+
orderId("moveslot3"),
|
|
24
|
+
orderId("moveslot4"),
|
|
25
|
+
orderId("moveslot5"),
|
|
26
|
+
orderId("unavatar"),
|
|
27
|
+
orderId("undivineshield"),
|
|
28
|
+
orderId("unimmolation")
|
|
29
|
+
)
|
|
30
|
+
local function reset(source, orderId)
|
|
31
|
+
if not (instantOrderIds[orderId] ~= nil) then
|
|
32
|
+
local eventTimer = eventTimerByUnit[source]
|
|
33
|
+
if eventTimer then
|
|
34
|
+
eventTimer:destroy()
|
|
35
|
+
eventTimerByUnit[source] = nil
|
|
36
|
+
end
|
|
18
37
|
end
|
|
19
38
|
end
|
|
20
39
|
Unit.onImmediateOrder:addListener(reset)
|
|
@@ -25,7 +44,7 @@ local function timerCallback(source, target)
|
|
|
25
44
|
Event.invoke(autoAttackFinishEvent, source, target)
|
|
26
45
|
end
|
|
27
46
|
Unit.autoAttackStartEvent:addListener(function(source, target)
|
|
28
|
-
local attackPoint = source.
|
|
47
|
+
local attackPoint = (source:chooseWeapon(target) or source.firstWeapon).impactDelay
|
|
29
48
|
local timer = Timer:simple(attackPoint, timerCallback, source, target)
|
|
30
49
|
eventTimerByUnit[source] = timer
|
|
31
50
|
end)
|
|
@@ -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 & {
|
|
@@ -68,25 +76,57 @@ declare const modifiers: {
|
|
|
68
76
|
speed: (unit: junit, value: number) => void;
|
|
69
77
|
armor: (unit: junit, value: number) => void;
|
|
70
78
|
};
|
|
71
|
-
|
|
79
|
+
export declare class UnitWeapon {
|
|
80
|
+
readonly unit: Unit;
|
|
72
81
|
readonly index: 0 | 1;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
82
|
+
constructor(unit: Unit, index: 0 | 1);
|
|
83
|
+
get cooldown(): number;
|
|
84
|
+
set cooldown(cooldown: number);
|
|
85
|
+
get damage(): [minimumDamage: number, maximumDamage: number];
|
|
86
|
+
set damage([minimumDamage, maximumDamage]: [number, number]);
|
|
87
|
+
get allowedTargetCombatClassifications(): CombatClassifications;
|
|
88
|
+
set allowedTargetCombatClassifications(allowedTargetCombatClassifications: CombatClassifications);
|
|
89
|
+
get damageBase(): number;
|
|
90
|
+
set damageBase(damageBase: number);
|
|
91
|
+
get damageDiceCount(): number;
|
|
92
|
+
set damageDiceCount(damageDiceCount: number);
|
|
93
|
+
get damageDiceSideCount(): number;
|
|
94
|
+
set damageDiceSideCount(damageDiceSideCount: number);
|
|
95
|
+
get range(): number;
|
|
96
|
+
set range(range: number);
|
|
97
|
+
get impactDelay(): number;
|
|
98
|
+
set impactDelay(impactDelay: number);
|
|
99
|
+
get missileArc(): number;
|
|
100
|
+
set missileArc(missileArc: number);
|
|
101
|
+
get missileModelPath(): string;
|
|
102
|
+
set missileModelPath(missileModelPath: string);
|
|
103
|
+
get missileSpeed(): number;
|
|
104
|
+
set missileSpeed(missileSpeed: number);
|
|
78
105
|
}
|
|
79
106
|
declare const enum UnitPropertyKey {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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
|
|
84
116
|
}
|
|
117
|
+
export type UnitSyncId = number & {
|
|
118
|
+
readonly __unitSyncId: unique symbol;
|
|
119
|
+
};
|
|
85
120
|
export declare class Unit extends Handle<junit> {
|
|
121
|
+
readonly syncId: UnitSyncId;
|
|
86
122
|
private [UnitPropertyKey.IS_PAUSED]?;
|
|
87
123
|
private [UnitPropertyKey.STUN_COUNTER]?;
|
|
124
|
+
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
|
|
125
|
+
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
|
|
88
126
|
private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
|
|
89
127
|
private [UnitPropertyKey.IS_TEAM_GLOW_HIDDEN]?;
|
|
128
|
+
private [UnitPropertyKey.LAST_X]?;
|
|
129
|
+
private [UnitPropertyKey.LAST_Y]?;
|
|
90
130
|
private _owner?;
|
|
91
131
|
private _timeScale?;
|
|
92
132
|
private events?;
|
|
@@ -107,6 +147,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
107
147
|
get isAlive(): boolean;
|
|
108
148
|
get isDead(): boolean;
|
|
109
149
|
get isIllusion(): boolean;
|
|
150
|
+
get isStunned(): boolean;
|
|
110
151
|
get combatClassifications(): CombatClassifications;
|
|
111
152
|
set combatClassifications(combatClassifications: CombatClassifications);
|
|
112
153
|
hasCombatClassification(combatClassification: CombatClassification): boolean;
|
|
@@ -121,12 +162,18 @@ export declare class Unit extends Handle<junit> {
|
|
|
121
162
|
isEnemyOf(unit: Unit): boolean;
|
|
122
163
|
playAnimation(animation: string, rarity?: jraritycontrol): void;
|
|
123
164
|
playAnimation(animation: number): void;
|
|
165
|
+
resetAnimation(): void;
|
|
124
166
|
queueAnimation(animation: string): void;
|
|
125
167
|
get weapons(): [UnitWeapon, UnitWeapon];
|
|
168
|
+
get firstWeapon(): UnitWeapon;
|
|
169
|
+
get secondWeapon(): UnitWeapon;
|
|
170
|
+
chooseWeapon(target: Unit): UnitWeapon | undefined;
|
|
126
171
|
get level(): number;
|
|
127
172
|
set level(v: number);
|
|
128
173
|
get xp(): number;
|
|
129
174
|
set xp(v: number);
|
|
175
|
+
get primaryAttribute(): UnitAttribute;
|
|
176
|
+
set primaryAttribute(primaryAttribute: UnitAttribute);
|
|
130
177
|
get strengthBase(): number;
|
|
131
178
|
set strengthBase(strengthBase: number);
|
|
132
179
|
get strengthBonus(): number;
|
|
@@ -148,6 +195,10 @@ export declare class Unit extends Handle<junit> {
|
|
|
148
195
|
set color(color: PlayerColor);
|
|
149
196
|
get acquisitionRange(): number;
|
|
150
197
|
set acquisitionRange(v: number);
|
|
198
|
+
/**
|
|
199
|
+
* Keeps this unit alive even if its health becomes negative until the current game thread yields.
|
|
200
|
+
*/
|
|
201
|
+
delayHealthChecks(): void;
|
|
151
202
|
get maxHealth(): number;
|
|
152
203
|
set maxHealth(maxHealth: number);
|
|
153
204
|
get healthRegenerationRate(): number;
|
|
@@ -197,11 +248,13 @@ export declare class Unit extends Handle<junit> {
|
|
|
197
248
|
set timeScale(v: number);
|
|
198
249
|
get collisionSize(): number;
|
|
199
250
|
get pathingCollisionRange(): number;
|
|
251
|
+
get movementType(): MovementType;
|
|
252
|
+
set movementType(movementType: MovementType);
|
|
200
253
|
set pathing(v: boolean);
|
|
201
254
|
isSelected(player: Player): boolean;
|
|
202
255
|
explode(): void;
|
|
203
256
|
kill(): void;
|
|
204
|
-
revive(
|
|
257
|
+
revive(x: number, y: number, doEffect?: boolean): void;
|
|
205
258
|
healTarget(target: Widget, amount: number): void;
|
|
206
259
|
useItem(item: Item): boolean;
|
|
207
260
|
issueImmediateOrder(order: number): boolean;
|
|
@@ -222,8 +275,10 @@ export declare class Unit extends Handle<junit> {
|
|
|
222
275
|
getAbilityById(abilityId: number): UnitAbility | undefined;
|
|
223
276
|
removeAbility(abilityId: number): boolean;
|
|
224
277
|
hideAbility(abilityId: number, flag: boolean): void;
|
|
278
|
+
getAbilityRemainingCooldown(abilityId: number): number;
|
|
225
279
|
startAbilityCooldown(abilityId: number, cooldown: number): void;
|
|
226
280
|
endAbilityCooldown(abilityId: number): void;
|
|
281
|
+
interruptMovement(): void;
|
|
227
282
|
interruptAttack(): void;
|
|
228
283
|
interruptCast(abilityId: number): void;
|
|
229
284
|
getDistanceTo(target: Unit | Vec2): number;
|
|
@@ -246,6 +301,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
246
301
|
get onUnitInRange(): Record<number, Event<[Unit]>>;
|
|
247
302
|
get onManaEqual(): Record<number, Event<[Unit, number]>>;
|
|
248
303
|
get manaEvent(): Record<Operator, Record<number, Event<[Unit]>>>;
|
|
304
|
+
get targetAcquiredEvent(): Event;
|
|
249
305
|
get onSelect(): Event;
|
|
250
306
|
get onDeselect(): Event;
|
|
251
307
|
get onImmediateOrder(): Event<[number]>;
|
|
@@ -260,7 +316,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
260
316
|
static getInRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
|
|
261
317
|
static getInCollisionRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
|
|
262
318
|
static getInSector(pos: Vec2, range: number, offsetAngle: number, centralAngle: number): Unit[];
|
|
263
|
-
static getSelectionOf(player: Player): Unit[];
|
|
319
|
+
static getSelectionOf(player: Player, target?: Unit[]): Unit[];
|
|
264
320
|
static readonly deathEvent: UnitTriggerEvent<[Unit]>;
|
|
265
321
|
static readonly onDecay: UnitTriggerEvent<[]>;
|
|
266
322
|
static readonly onResurrect: InitializingEvent<[Unit], void>;
|
|
@@ -295,9 +351,18 @@ export declare class Unit extends Handle<junit> {
|
|
|
295
351
|
static readonly autoAttackStartEvent: UnitTriggerEvent<[Unit]>;
|
|
296
352
|
static readonly onDamaging: Event<[source: Unit | undefined, target: Unit, event: DamagingEvent]>;
|
|
297
353
|
static readonly onDamage: InitializingEvent<[source: Unit | undefined, target: Unit, event: DamageEvent], jtrigger>;
|
|
298
|
-
static
|
|
299
|
-
static
|
|
300
|
-
static
|
|
354
|
+
static itemDroppedEvent: UnitTriggerEvent<[Item]>;
|
|
355
|
+
static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
|
|
356
|
+
static itemUsedEvent: UnitTriggerEvent<[Item]>;
|
|
357
|
+
static itemStackedEvent: UnitTriggerEvent<[Item]>;
|
|
358
|
+
static get itemChargesChangedEvent(): Event<[unit: Unit, item: Item]>;
|
|
359
|
+
static get itemUseOrderEvent(): Event<[unit: Unit, item: Item]>;
|
|
360
|
+
static get itemMoveOrderEvent(): Event<[
|
|
361
|
+
unit: Unit,
|
|
362
|
+
item: Item,
|
|
363
|
+
slotFrom: 0 | 1 | 2 | 3 | 4 | 5,
|
|
364
|
+
slotTo: 0 | 1 | 2 | 3 | 4 | 5
|
|
365
|
+
]>;
|
|
301
366
|
static get onCreate(): EventDispatcher<[Unit], [Unit]>;
|
|
302
367
|
static get destroyEvent(): EventDispatcher<[Unit], [Unit]>;
|
|
303
368
|
getField(field: junitintegerfield | junitrealfield): number;
|
|
@@ -308,5 +373,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
308
373
|
setField(field: junitbooleanfield, value: boolean): boolean;
|
|
309
374
|
setField(field: junitstringfield, value: string): boolean;
|
|
310
375
|
toString(): string;
|
|
376
|
+
static getBySyncId(syncId: UnitSyncId): Unit | undefined;
|
|
311
377
|
}
|
|
312
378
|
export {};
|