warscript 0.0.1-dev.f0a9ffe → 0.0.1-dev.f0daa48
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 -0
- 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/sound.lua +1 -1
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +3 -2
- package/core/types/timer.lua +22 -2
- package/decl/native.d.ts +2 -2
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +12 -1
- package/engine/behavior.lua +199 -65
- package/engine/behaviour/ability/apply-buff.lua +4 -4
- package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -0
- package/engine/behaviour/ability.d.ts +11 -6
- package/engine/behaviour/ability.lua +31 -1
- package/engine/behaviour/unit/stun-immunity.d.ts +9 -5
- package/engine/behaviour/unit/stun-immunity.lua +17 -7
- package/engine/behaviour/unit.d.ts +15 -5
- package/engine/behaviour/unit.lua +126 -22
- package/engine/buff.d.ts +64 -21
- package/engine/buff.lua +360 -178
- package/engine/internal/ability.d.ts +3 -1
- package/engine/internal/ability.lua +26 -9
- package/engine/internal/item+owner.lua +12 -6
- package/engine/internal/item.d.ts +13 -15
- package/engine/internal/item.lua +63 -49
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- 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/armor-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +2 -2
- package/engine/internal/object-data/health-bonus.d.ts +2 -0
- package/engine/internal/object-data/health-bonus.lua +16 -0
- package/engine/internal/object-data/mana-bonus.d.ts +2 -0
- package/engine/internal/object-data/mana-bonus.lua +16 -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 +14 -14
- package/engine/internal/unit/ability.lua +72 -45
- package/engine/internal/unit/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bonus.d.ts +6 -0
- package/engine/internal/unit/bonus.lua +33 -3
- 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/item.lua +1 -1
- package/engine/internal/unit/main-selected.lua +12 -27
- package/engine/internal/unit/range-event.d.ts +12 -0
- package/engine/internal/unit/range-event.lua +90 -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+bonus.lua +3 -3
- package/engine/internal/unit-missile-launch.lua +51 -20
- package/engine/internal/unit.d.ts +18 -22
- package/engine/internal/unit.lua +179 -200
- package/engine/local-client.d.ts +2 -0
- package/engine/local-client.lua +30 -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/auxiliary/unit-attribute.lua +1 -1
- package/engine/object-data/entry/ability-type/{armor-increase.d.ts → armor-bonus.d.ts} +3 -3
- package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
- package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -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/reincarnation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
- package/engine/object-data/entry/ability-type.d.ts +2 -0
- package/engine/object-data/entry/ability-type.lua +88 -5
- package/engine/object-data/entry/buff-type/applicable.lua +113 -109
- 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 +4 -0
- package/engine/object-data/entry/unit-type.lua +76 -32
- package/engine/object-field/ability.d.ts +3 -3
- package/engine/object-field/ability.lua +9 -8
- package/engine/object-field/unit.d.ts +20 -5
- package/engine/object-field/unit.lua +61 -0
- package/engine/object-field.d.ts +12 -4
- package/engine/object-field.lua +273 -126
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +21 -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 +11 -3
- package/engine/standard/fields/unit.lua +15 -2
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +1 -1
- package/engine/text-tag.lua +92 -17
- package/engine/unit.d.ts +5 -0
- package/engine/unit.lua +5 -0
- package/lualib_bundle.lua +118 -47
- package/net/socket.lua +1 -1
- package/objutil/buff.lua +10 -8
- package/objutil/object.lua +1 -1
- package/operation.lua +23 -17
- package/package.json +5 -5
- package/patch-lua.lua +15 -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/linked-map.d.ts +34 -0
- package/utility/linked-map.lua +101 -0
- package/utility/linked-set.d.ts +3 -1
- package/utility/linked-set.lua +40 -1
- package/utility/lua-maps.d.ts +11 -2
- package/utility/lua-maps.lua +33 -2
- package/utility/records.lua +20 -1
- package/utility/types.d.ts +3 -0
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/frame-coordinates.d.ts} +0 -0
- /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
local ____exports = {}
|
|
2
2
|
local ____unit = require("engine.object-field.unit")
|
|
3
3
|
local UnitClassificationsField = ____unit.UnitClassificationsField
|
|
4
|
+
local UnitFloatField = ____unit.UnitFloatField
|
|
5
|
+
local UnitFlyHeightField = ____unit.UnitFlyHeightField
|
|
6
|
+
local UnitHealthRegenerationTypeField = ____unit.UnitHealthRegenerationTypeField
|
|
7
|
+
local UnitIntegerField = ____unit.UnitIntegerField
|
|
4
8
|
local UnitPropulsionWindowField = ____unit.UnitPropulsionWindowField
|
|
5
|
-
|
|
6
|
-
____exports.
|
|
9
|
+
local UnitScalingValueField = ____unit.UnitScalingValueField
|
|
10
|
+
____exports.PROPULSION_WINDOW_UNIT_FIELD = UnitPropulsionWindowField:create(fourCC("urpw"))
|
|
11
|
+
____exports.CLASSIFICATIONS_UNIT_FIELD = UnitClassificationsField:create(fourCC("utyp"))
|
|
12
|
+
____exports.FLY_HEIGHT_UNIT_FIELD = UnitFlyHeightField:create(fourCC("ufyh"))
|
|
13
|
+
____exports.SCALING_VALUE_UNIT_FIELD = UnitScalingValueField:create(fourCC("usca"))
|
|
14
|
+
____exports.HEALTH_REGENERATION_RATE_UNIT_FIELD = UnitFloatField:create(fourCC("uhpr"))
|
|
15
|
+
____exports.MANA_REGENERATION_RATE_UNIT_FIELD = UnitFloatField:create(fourCC("umpr"))
|
|
16
|
+
____exports.HEALTH_REGENERATION_TYPE_UNIT_FIELD = UnitHealthRegenerationTypeField:create(fourCC("uhrt"))
|
|
17
|
+
____exports.STRENGTH_UNIT_FIELD = UnitIntegerField:create(fourCC("ustc"))
|
|
18
|
+
____exports.AGILITY_UNIT_FIELD = UnitIntegerField:create(fourCC("uagc"))
|
|
19
|
+
____exports.INTELLIGENCE_UNIT_FIELD = UnitIntegerField:create(fourCC("uinc"))
|
|
7
20
|
return ____exports
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { Player } from "../core/types/player";
|
|
3
|
+
import { Event } from "../event";
|
|
4
|
+
export declare const synchronizer: <T, K extends number>(getSyncId: (object: T) => K, getObject: (syncId: K) => T | undefined) => ((player: Player, object: T | undefined) => Promise<T | undefined>);
|
|
5
|
+
export declare class ObjectBus<T, K extends number> {
|
|
6
|
+
private readonly getSyncId;
|
|
7
|
+
readonly event: Event<[Player, T | undefined]>;
|
|
8
|
+
private readonly syncSlider;
|
|
9
|
+
constructor(getSyncId: (object: T) => K, getObject: (syncId: K) => T | undefined);
|
|
10
|
+
send(object: T | undefined): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__New = ____lualib.__TS__New
|
|
3
|
+
local __TS__Promise = ____lualib.__TS__Promise
|
|
4
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____player = require("core.types.player")
|
|
7
|
+
local Player = ____player.Player
|
|
8
|
+
local ____math = require("math")
|
|
9
|
+
local MAXIMUM_INTEGER = ____math.MAXIMUM_INTEGER
|
|
10
|
+
local MINIMUM_INTEGER = ____math.MINIMUM_INTEGER
|
|
11
|
+
local ____linked_2Dset = require("utility.linked-set")
|
|
12
|
+
local LinkedSet = ____linked_2Dset.LinkedSet
|
|
13
|
+
local ____event = require("event")
|
|
14
|
+
local Event = ____event.Event
|
|
15
|
+
local eventInvoke = Event.invoke
|
|
16
|
+
local createFrameByType = BlzCreateFrameByType
|
|
17
|
+
local createTrigger = CreateTrigger
|
|
18
|
+
local getOriginFrame = BlzGetOriginFrame
|
|
19
|
+
local getTriggerFrameValue = BlzGetTriggerFrameValue
|
|
20
|
+
local getTriggerPlayer = GetTriggerPlayer
|
|
21
|
+
local frameSetMinMaxValue = BlzFrameSetMinMaxValue
|
|
22
|
+
local frameSetValue = BlzFrameSetValue
|
|
23
|
+
local triggerAddAction = TriggerAddAction
|
|
24
|
+
local triggerRegisterFrameEvent = BlzTriggerRegisterFrameEvent
|
|
25
|
+
____exports.synchronizer = function(getSyncId, getObject)
|
|
26
|
+
local queue = __TS__New(LinkedSet)
|
|
27
|
+
local socket = __TS__New(____exports.ObjectBus, getSyncId, getObject)
|
|
28
|
+
socket.event:addListener(function(_, object)
|
|
29
|
+
local ____opt_0 = queue:pop()
|
|
30
|
+
if ____opt_0 ~= nil then
|
|
31
|
+
____opt_0(object)
|
|
32
|
+
end
|
|
33
|
+
end)
|
|
34
|
+
local function executor(____, resolve)
|
|
35
|
+
queue:add(resolve)
|
|
36
|
+
end
|
|
37
|
+
return function(player, object)
|
|
38
|
+
if player.isLocal then
|
|
39
|
+
socket:send(object)
|
|
40
|
+
end
|
|
41
|
+
return __TS__New(__TS__Promise, executor)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
____exports.ObjectBus = __TS__Class()
|
|
45
|
+
local ObjectBus = ____exports.ObjectBus
|
|
46
|
+
ObjectBus.name = "ObjectBus"
|
|
47
|
+
function ObjectBus.prototype.____constructor(self, getSyncId, getObject)
|
|
48
|
+
self.getSyncId = getSyncId
|
|
49
|
+
local syncSlider = createFrameByType(
|
|
50
|
+
"SLIDER",
|
|
51
|
+
"Synchronizer",
|
|
52
|
+
getOriginFrame(ORIGIN_FRAME_WORLD_FRAME, 0),
|
|
53
|
+
"",
|
|
54
|
+
0
|
|
55
|
+
)
|
|
56
|
+
frameSetMinMaxValue(syncSlider, MINIMUM_INTEGER, MAXIMUM_INTEGER)
|
|
57
|
+
self.syncSlider = syncSlider
|
|
58
|
+
local event = __TS__New(Event)
|
|
59
|
+
local trigger = createTrigger()
|
|
60
|
+
triggerRegisterFrameEvent(trigger, syncSlider, FRAMEEVENT_SLIDER_VALUE_CHANGED)
|
|
61
|
+
triggerAddAction(
|
|
62
|
+
trigger,
|
|
63
|
+
function()
|
|
64
|
+
eventInvoke(
|
|
65
|
+
event,
|
|
66
|
+
Player:of(getTriggerPlayer()),
|
|
67
|
+
getObject(getTriggerFrameValue())
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
)
|
|
71
|
+
self.event = event
|
|
72
|
+
end
|
|
73
|
+
function ObjectBus.prototype.send(self, object)
|
|
74
|
+
local syncId = object ~= nil and self.getSyncId(object) or 0
|
|
75
|
+
frameSetValue(self.syncSlider, syncId)
|
|
76
|
+
end
|
|
77
|
+
return ____exports
|
package/engine/text-tag.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ declare const enum TextTagPropertyKey {
|
|
|
23
23
|
Y = 107
|
|
24
24
|
}
|
|
25
25
|
export declare class TextTag extends AbstractDestroyable {
|
|
26
|
-
private
|
|
26
|
+
private [TextTagPropertyKey.HANDLE]?;
|
|
27
27
|
private [TextTagPropertyKey.CONFIGURATION]?;
|
|
28
28
|
private [TextTagPropertyKey.TEXT]?;
|
|
29
29
|
private [TextTagPropertyKey.FONT_SIZE]?;
|
package/engine/text-tag.lua
CHANGED
|
@@ -11,6 +11,12 @@ local ____timer = require("core.types.timer")
|
|
|
11
11
|
local Timer = ____timer.Timer
|
|
12
12
|
local ____destroyable = require("destroyable")
|
|
13
13
|
local AbstractDestroyable = ____destroyable.AbstractDestroyable
|
|
14
|
+
local ____playerCamera = require("core.types.playerCamera")
|
|
15
|
+
local worldCoordinatesToFrame = ____playerCamera.worldCoordinatesToFrame
|
|
16
|
+
local ____get_2Dterrain_2Dz = require("engine.internal.misc.get-terrain-z")
|
|
17
|
+
local getTerrainZ = ____get_2Dterrain_2Dz.getTerrainZ
|
|
18
|
+
local ____player_2Dlocal_2Dhandle = require("engine.internal.misc.player-local-handle")
|
|
19
|
+
local PLAYER_LOCAL_HANDLE = ____player_2Dlocal_2Dhandle.PLAYER_LOCAL_HANDLE
|
|
14
20
|
local createTextTag = CreateTextTag
|
|
15
21
|
local destroyTextTag = DestroyTextTag
|
|
16
22
|
local setTextTagText = SetTextTagText
|
|
@@ -24,6 +30,13 @@ local setTextTagPermanent = SetTextTagPermanent
|
|
|
24
30
|
local setTextTagAge = SetTextTagAge
|
|
25
31
|
local setTextTagLifespan = SetTextTagLifespan
|
|
26
32
|
local setTextTagFadepoint = SetTextTagFadepoint
|
|
33
|
+
local isUnitHidden = IsUnitHidden
|
|
34
|
+
local isUnitLoaded = IsUnitLoaded
|
|
35
|
+
local isUnitVisible = IsUnitVisible
|
|
36
|
+
local getUnitFlyHeight = GetUnitFlyHeight
|
|
37
|
+
local getUnitX = GetUnitX
|
|
38
|
+
local getUnitY = GetUnitY
|
|
39
|
+
local unitAlive = UnitAlive
|
|
27
40
|
local DEFAULT_FONT_SIZE = 0.024
|
|
28
41
|
local function applyConfiguration(textTag, configuration)
|
|
29
42
|
setTextTagFadepoint(textTag, configuration.fadepoint)
|
|
@@ -41,6 +54,33 @@ local function applyConfiguration(textTag, configuration)
|
|
|
41
54
|
setTextTagVisibility(textTag, true)
|
|
42
55
|
end
|
|
43
56
|
local unitTextTags = setmetatable({}, {__mode = "k"})
|
|
57
|
+
local function ensureHandle(textTag)
|
|
58
|
+
local handle = textTag[101]
|
|
59
|
+
if handle == nil then
|
|
60
|
+
handle = createTextTag()
|
|
61
|
+
applyConfiguration(handle, textTag[102])
|
|
62
|
+
setTextTagPermanent(handle, true)
|
|
63
|
+
setTextTagText(handle, textTag[103] or "", textTag[104] or DEFAULT_FONT_SIZE)
|
|
64
|
+
local color = textTag[105]
|
|
65
|
+
if color ~= nil then
|
|
66
|
+
setTextTagColor(
|
|
67
|
+
handle,
|
|
68
|
+
color.r,
|
|
69
|
+
color.g,
|
|
70
|
+
color.b,
|
|
71
|
+
color.a
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
local unit = textTag[100]
|
|
75
|
+
if unit ~= nil then
|
|
76
|
+
setTextTagPosUnit(handle, unit.handle, textTag[102].offsetZ)
|
|
77
|
+
else
|
|
78
|
+
setTextTagPos(handle, textTag[106] or 0, textTag[107] or 0, 0)
|
|
79
|
+
end
|
|
80
|
+
textTag[101] = handle
|
|
81
|
+
end
|
|
82
|
+
return handle
|
|
83
|
+
end
|
|
44
84
|
____exports.TextTag = __TS__Class()
|
|
45
85
|
local TextTag = ____exports.TextTag
|
|
46
86
|
TextTag.name = "TextTag"
|
|
@@ -50,7 +90,11 @@ function TextTag.prototype.____constructor(self, handle)
|
|
|
50
90
|
self[101] = handle
|
|
51
91
|
end
|
|
52
92
|
function TextTag.prototype.onDestroy(self)
|
|
53
|
-
|
|
93
|
+
local handle = self[101]
|
|
94
|
+
if handle ~= nil then
|
|
95
|
+
destroyTextTag(handle)
|
|
96
|
+
self[101] = nil
|
|
97
|
+
end
|
|
54
98
|
unitTextTags[self] = nil
|
|
55
99
|
return AbstractDestroyable.prototype.onDestroy(self)
|
|
56
100
|
end
|
|
@@ -61,14 +105,11 @@ function TextTag.flash(self, configuration, text, x, y, z)
|
|
|
61
105
|
applyConfiguration(textTag, configuration)
|
|
62
106
|
end
|
|
63
107
|
function TextTag.create(self, configuration, text, unit)
|
|
64
|
-
local
|
|
65
|
-
|
|
66
|
-
setTextTagPosUnit(handle, unit.handle, configuration.offsetZ)
|
|
67
|
-
applyConfiguration(handle, configuration)
|
|
68
|
-
setTextTagPermanent(handle, true)
|
|
69
|
-
local textTag = __TS__New(____exports.TextTag, handle)
|
|
108
|
+
local textTag = __TS__New(____exports.TextTag)
|
|
109
|
+
textTag[103] = text
|
|
70
110
|
textTag[100] = unit
|
|
71
111
|
textTag[102] = configuration
|
|
112
|
+
ensureHandle(textTag)
|
|
72
113
|
unitTextTags[textTag] = true
|
|
73
114
|
return textTag
|
|
74
115
|
end
|
|
@@ -80,7 +121,11 @@ __TS__SetDescriptor(
|
|
|
80
121
|
return self[103] or ""
|
|
81
122
|
end,
|
|
82
123
|
set = function(self, text)
|
|
83
|
-
setTextTagText(
|
|
124
|
+
setTextTagText(
|
|
125
|
+
ensureHandle(self),
|
|
126
|
+
text,
|
|
127
|
+
self[104] or DEFAULT_FONT_SIZE
|
|
128
|
+
)
|
|
84
129
|
self[103] = text
|
|
85
130
|
end
|
|
86
131
|
},
|
|
@@ -94,7 +139,11 @@ __TS__SetDescriptor(
|
|
|
94
139
|
return self[104] or DEFAULT_FONT_SIZE
|
|
95
140
|
end,
|
|
96
141
|
set = function(self, fontSize)
|
|
97
|
-
setTextTagText(
|
|
142
|
+
setTextTagText(
|
|
143
|
+
ensureHandle(self),
|
|
144
|
+
self[103] or "",
|
|
145
|
+
fontSize
|
|
146
|
+
)
|
|
98
147
|
self[104] = fontSize
|
|
99
148
|
end
|
|
100
149
|
},
|
|
@@ -109,7 +158,7 @@ __TS__SetDescriptor(
|
|
|
109
158
|
end,
|
|
110
159
|
set = function(self, color)
|
|
111
160
|
setTextTagColor(
|
|
112
|
-
self
|
|
161
|
+
ensureHandle(self),
|
|
113
162
|
color.r,
|
|
114
163
|
color.g,
|
|
115
164
|
color.b,
|
|
@@ -129,7 +178,11 @@ __TS__SetDescriptor(
|
|
|
129
178
|
end,
|
|
130
179
|
set = function(self, unit)
|
|
131
180
|
if unit ~= nil then
|
|
132
|
-
setTextTagPosUnit(
|
|
181
|
+
setTextTagPosUnit(
|
|
182
|
+
ensureHandle(self),
|
|
183
|
+
unit.handle,
|
|
184
|
+
0
|
|
185
|
+
)
|
|
133
186
|
self[106] = nil
|
|
134
187
|
self[107] = nil
|
|
135
188
|
unitTextTags[self] = true
|
|
@@ -137,7 +190,12 @@ __TS__SetDescriptor(
|
|
|
137
190
|
local unit = self[100]
|
|
138
191
|
local x = unit.x
|
|
139
192
|
local y = unit.y
|
|
140
|
-
setTextTagPos(
|
|
193
|
+
setTextTagPos(
|
|
194
|
+
ensureHandle(self),
|
|
195
|
+
x,
|
|
196
|
+
y,
|
|
197
|
+
0
|
|
198
|
+
)
|
|
141
199
|
self[106] = x
|
|
142
200
|
self[107] = y
|
|
143
201
|
unitTextTags[self] = nil
|
|
@@ -160,14 +218,14 @@ __TS__SetDescriptor(
|
|
|
160
218
|
return ____self__106_2 or 0
|
|
161
219
|
end,
|
|
162
220
|
set = function(self, x)
|
|
163
|
-
local
|
|
221
|
+
local ____ensureHandle_result_6 = ensureHandle(self)
|
|
164
222
|
local ____x_7 = x
|
|
165
223
|
local ____self__107_5 = self[107]
|
|
166
224
|
if ____self__107_5 == nil then
|
|
167
225
|
local ____opt_3 = self[100]
|
|
168
226
|
____self__107_5 = ____opt_3 and ____opt_3.y
|
|
169
227
|
end
|
|
170
|
-
setTextTagPos(
|
|
228
|
+
setTextTagPos(____ensureHandle_result_6, ____x_7, ____self__107_5 or 0, 0)
|
|
171
229
|
self[106] = x
|
|
172
230
|
self[100] = nil
|
|
173
231
|
unitTextTags[self] = nil
|
|
@@ -188,13 +246,13 @@ __TS__SetDescriptor(
|
|
|
188
246
|
return ____self__107_10 or 0
|
|
189
247
|
end,
|
|
190
248
|
set = function(self, y)
|
|
191
|
-
local
|
|
249
|
+
local ____ensureHandle_result_14 = ensureHandle(self)
|
|
192
250
|
local ____self__106_13 = self[106]
|
|
193
251
|
if ____self__106_13 == nil then
|
|
194
252
|
local ____opt_11 = self[100]
|
|
195
253
|
____self__106_13 = ____opt_11 and ____opt_11.x
|
|
196
254
|
end
|
|
197
|
-
setTextTagPos(
|
|
255
|
+
setTextTagPos(____ensureHandle_result_14, ____self__106_13 or 0, y, 0)
|
|
198
256
|
self[107] = y
|
|
199
257
|
self[100] = nil
|
|
200
258
|
unitTextTags[self] = nil
|
|
@@ -268,7 +326,24 @@ TextTag.SHADOW_STRIKE = __TS__ObjectAssign(
|
|
|
268
326
|
)
|
|
269
327
|
Timer.onPeriod[1 / 64]:addListener(function()
|
|
270
328
|
for textTag in pairs(unitTextTags) do
|
|
271
|
-
|
|
329
|
+
local unit = textTag[100].handle
|
|
330
|
+
local x = getUnitX(unit)
|
|
331
|
+
local y = getUnitY(unit)
|
|
332
|
+
local ____, ____, isInView = worldCoordinatesToFrame(
|
|
333
|
+
x,
|
|
334
|
+
y,
|
|
335
|
+
getUnitFlyHeight(unit) + getTerrainZ(x, y)
|
|
336
|
+
)
|
|
337
|
+
if isInView and not isUnitHidden(unit) and not isUnitLoaded(unit) and isUnitVisible(unit, PLAYER_LOCAL_HANDLE) and unitAlive(unit) then
|
|
338
|
+
setTextTagPosUnit(
|
|
339
|
+
ensureHandle(textTag),
|
|
340
|
+
unit,
|
|
341
|
+
textTag[102].offsetZ
|
|
342
|
+
)
|
|
343
|
+
elseif textTag[101] ~= nil then
|
|
344
|
+
destroyTextTag(textTag[101])
|
|
345
|
+
textTag[101] = nil
|
|
346
|
+
end
|
|
272
347
|
end
|
|
273
348
|
end)
|
|
274
349
|
return ____exports
|
package/engine/unit.d.ts
CHANGED
|
@@ -19,6 +19,11 @@ import "./internal/unit/invulnerability-counter";
|
|
|
19
19
|
import "./internal/unit/detach-missiles";
|
|
20
20
|
import "./internal/unit/main-selected";
|
|
21
21
|
import "./internal/unit/add-item-to-slot-init";
|
|
22
|
+
import "./internal/unit/attributes";
|
|
23
|
+
import "./internal/unit/fly-height";
|
|
24
|
+
import "./internal/unit/scale";
|
|
25
|
+
import "./internal/unit/interrupts";
|
|
26
|
+
import "./internal/unit/range-event";
|
|
22
27
|
import "./internal/unit/band-aids/ancestral-spirit-cannibalize";
|
|
23
28
|
export { Unit, DamagingEvent, DamageEvent } from "./internal/unit";
|
|
24
29
|
export * from "./internal/unit+damage";
|
package/engine/unit.lua
CHANGED
|
@@ -19,6 +19,11 @@ require("engine.internal.unit.invulnerability-counter")
|
|
|
19
19
|
require("engine.internal.unit.detach-missiles")
|
|
20
20
|
require("engine.internal.unit.main-selected")
|
|
21
21
|
require("engine.internal.unit.add-item-to-slot-init")
|
|
22
|
+
require("engine.internal.unit.attributes")
|
|
23
|
+
require("engine.internal.unit.fly-height")
|
|
24
|
+
require("engine.internal.unit.scale")
|
|
25
|
+
require("engine.internal.unit.interrupts")
|
|
26
|
+
require("engine.internal.unit.range-event")
|
|
22
27
|
require("engine.internal.unit.band-aids.ancestral-spirit-cannibalize")
|
|
23
28
|
do
|
|
24
29
|
local ____unit = require("engine.internal.unit")
|
package/lualib_bundle.lua
CHANGED
|
@@ -653,7 +653,6 @@ do
|
|
|
653
653
|
self.state = 0
|
|
654
654
|
self.fulfilledCallbacks = {}
|
|
655
655
|
self.rejectedCallbacks = {}
|
|
656
|
-
self.finallyCallbacks = {}
|
|
657
656
|
local success, ____error = ____pcall(
|
|
658
657
|
executor,
|
|
659
658
|
nil,
|
|
@@ -703,14 +702,40 @@ do
|
|
|
703
702
|
return self["then"](self, nil, onRejected)
|
|
704
703
|
end
|
|
705
704
|
function __TS__Promise.prototype.finally(self, onFinally)
|
|
706
|
-
if onFinally then
|
|
707
|
-
|
|
708
|
-
____self_finallyCallbacks_2[#____self_finallyCallbacks_2 + 1] = onFinally
|
|
709
|
-
if self.state ~= 0 then
|
|
710
|
-
onFinally(nil)
|
|
711
|
-
end
|
|
705
|
+
if type(onFinally) ~= "function" then
|
|
706
|
+
return self["then"](self, onFinally, onFinally)
|
|
712
707
|
end
|
|
713
|
-
return self
|
|
708
|
+
return self["then"](
|
|
709
|
+
self,
|
|
710
|
+
function(____, x)
|
|
711
|
+
local ____self_2 = __TS__New(
|
|
712
|
+
__TS__Promise,
|
|
713
|
+
function(____, resolve) return resolve(
|
|
714
|
+
nil,
|
|
715
|
+
onFinally(nil)
|
|
716
|
+
) end
|
|
717
|
+
)
|
|
718
|
+
return ____self_2["then"](
|
|
719
|
+
____self_2,
|
|
720
|
+
function() return x end
|
|
721
|
+
)
|
|
722
|
+
end,
|
|
723
|
+
function(____, e)
|
|
724
|
+
local ____self_3 = __TS__New(
|
|
725
|
+
__TS__Promise,
|
|
726
|
+
function(____, resolve) return resolve(
|
|
727
|
+
nil,
|
|
728
|
+
onFinally(nil)
|
|
729
|
+
) end
|
|
730
|
+
)
|
|
731
|
+
return ____self_3["then"](
|
|
732
|
+
____self_3,
|
|
733
|
+
function()
|
|
734
|
+
error(e, 0)
|
|
735
|
+
end
|
|
736
|
+
)
|
|
737
|
+
end
|
|
738
|
+
)
|
|
714
739
|
end
|
|
715
740
|
function __TS__Promise.prototype.resolve(self, value)
|
|
716
741
|
if isPromiseLike(value) then
|
|
@@ -734,22 +759,11 @@ do
|
|
|
734
759
|
end
|
|
735
760
|
function __TS__Promise.prototype.invokeCallbacks(self, callbacks, value)
|
|
736
761
|
local callbacksLength = #callbacks
|
|
737
|
-
local finallyCallbacks = self.finallyCallbacks
|
|
738
|
-
local finallyCallbacksLength = #finallyCallbacks
|
|
739
762
|
if callbacksLength ~= 0 then
|
|
740
763
|
for i = 1, callbacksLength - 1 do
|
|
741
764
|
callbacks[i](callbacks, value)
|
|
742
765
|
end
|
|
743
|
-
|
|
744
|
-
return callbacks[callbacksLength](callbacks, value)
|
|
745
|
-
end
|
|
746
|
-
callbacks[callbacksLength](callbacks, value)
|
|
747
|
-
end
|
|
748
|
-
if finallyCallbacksLength ~= 0 then
|
|
749
|
-
for i = 1, finallyCallbacksLength - 1 do
|
|
750
|
-
finallyCallbacks[i](finallyCallbacks)
|
|
751
|
-
end
|
|
752
|
-
return finallyCallbacks[finallyCallbacksLength](finallyCallbacks)
|
|
766
|
+
return callbacks[callbacksLength](callbacks, value)
|
|
753
767
|
end
|
|
754
768
|
end
|
|
755
769
|
function __TS__Promise.prototype.createPromiseResolvingCallback(self, f, resolve, reject)
|
|
@@ -904,8 +918,10 @@ local function __TS__ObjectAssign(target, ...)
|
|
|
904
918
|
local sources = {...}
|
|
905
919
|
for i = 1, #sources do
|
|
906
920
|
local source = sources[i]
|
|
907
|
-
|
|
908
|
-
|
|
921
|
+
if type(source) == "table" then
|
|
922
|
+
for key in pairs(source) do
|
|
923
|
+
target[key] = source[key]
|
|
924
|
+
end
|
|
909
925
|
end
|
|
910
926
|
end
|
|
911
927
|
return target
|
|
@@ -1011,6 +1027,13 @@ do
|
|
|
1011
1027
|
metatable = {}
|
|
1012
1028
|
setmetatable(target, metatable)
|
|
1013
1029
|
end
|
|
1030
|
+
if not isPrototype and not rawget(metatable, "_isOwnDescriptorMetatable") then
|
|
1031
|
+
local instanceMetatable = {}
|
|
1032
|
+
instanceMetatable._isOwnDescriptorMetatable = true
|
|
1033
|
+
setmetatable(instanceMetatable, metatable)
|
|
1034
|
+
setmetatable(target, instanceMetatable)
|
|
1035
|
+
metatable = instanceMetatable
|
|
1036
|
+
end
|
|
1014
1037
|
local value = rawget(target, key)
|
|
1015
1038
|
if value ~= nil then
|
|
1016
1039
|
rawset(target, key, nil)
|
|
@@ -1383,46 +1406,70 @@ do
|
|
|
1383
1406
|
return self:entries()
|
|
1384
1407
|
end
|
|
1385
1408
|
function Map.prototype.entries(self)
|
|
1409
|
+
local function getFirstKey()
|
|
1410
|
+
return self.firstKey
|
|
1411
|
+
end
|
|
1386
1412
|
local items = self.items
|
|
1387
1413
|
local nextKey = self.nextKey
|
|
1388
|
-
local key
|
|
1414
|
+
local key
|
|
1415
|
+
local started = false
|
|
1389
1416
|
return {
|
|
1390
1417
|
[Symbol.iterator] = function(self)
|
|
1391
1418
|
return self
|
|
1392
1419
|
end,
|
|
1393
1420
|
next = function(self)
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1421
|
+
if not started then
|
|
1422
|
+
started = true
|
|
1423
|
+
key = getFirstKey(nil)
|
|
1424
|
+
else
|
|
1425
|
+
key = nextKey[key]
|
|
1426
|
+
end
|
|
1427
|
+
return {done = not key, value = {key, items[key]}}
|
|
1397
1428
|
end
|
|
1398
1429
|
}
|
|
1399
1430
|
end
|
|
1400
1431
|
function Map.prototype.keys(self)
|
|
1432
|
+
local function getFirstKey()
|
|
1433
|
+
return self.firstKey
|
|
1434
|
+
end
|
|
1401
1435
|
local nextKey = self.nextKey
|
|
1402
|
-
local key
|
|
1436
|
+
local key
|
|
1437
|
+
local started = false
|
|
1403
1438
|
return {
|
|
1404
1439
|
[Symbol.iterator] = function(self)
|
|
1405
1440
|
return self
|
|
1406
1441
|
end,
|
|
1407
1442
|
next = function(self)
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1443
|
+
if not started then
|
|
1444
|
+
started = true
|
|
1445
|
+
key = getFirstKey(nil)
|
|
1446
|
+
else
|
|
1447
|
+
key = nextKey[key]
|
|
1448
|
+
end
|
|
1449
|
+
return {done = not key, value = key}
|
|
1411
1450
|
end
|
|
1412
1451
|
}
|
|
1413
1452
|
end
|
|
1414
1453
|
function Map.prototype.values(self)
|
|
1454
|
+
local function getFirstKey()
|
|
1455
|
+
return self.firstKey
|
|
1456
|
+
end
|
|
1415
1457
|
local items = self.items
|
|
1416
1458
|
local nextKey = self.nextKey
|
|
1417
|
-
local key
|
|
1459
|
+
local key
|
|
1460
|
+
local started = false
|
|
1418
1461
|
return {
|
|
1419
1462
|
[Symbol.iterator] = function(self)
|
|
1420
1463
|
return self
|
|
1421
1464
|
end,
|
|
1422
1465
|
next = function(self)
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1466
|
+
if not started then
|
|
1467
|
+
started = true
|
|
1468
|
+
key = getFirstKey(nil)
|
|
1469
|
+
else
|
|
1470
|
+
key = nextKey[key]
|
|
1471
|
+
end
|
|
1472
|
+
return {done = not key, value = items[key]}
|
|
1426
1473
|
end
|
|
1427
1474
|
}
|
|
1428
1475
|
end
|
|
@@ -1999,44 +2046,68 @@ do
|
|
|
1999
2046
|
return self:values()
|
|
2000
2047
|
end
|
|
2001
2048
|
function Set.prototype.entries(self)
|
|
2049
|
+
local function getFirstKey()
|
|
2050
|
+
return self.firstKey
|
|
2051
|
+
end
|
|
2002
2052
|
local nextKey = self.nextKey
|
|
2003
|
-
local key
|
|
2053
|
+
local key
|
|
2054
|
+
local started = false
|
|
2004
2055
|
return {
|
|
2005
2056
|
[Symbol.iterator] = function(self)
|
|
2006
2057
|
return self
|
|
2007
2058
|
end,
|
|
2008
2059
|
next = function(self)
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2060
|
+
if not started then
|
|
2061
|
+
started = true
|
|
2062
|
+
key = getFirstKey(nil)
|
|
2063
|
+
else
|
|
2064
|
+
key = nextKey[key]
|
|
2065
|
+
end
|
|
2066
|
+
return {done = not key, value = {key, key}}
|
|
2012
2067
|
end
|
|
2013
2068
|
}
|
|
2014
2069
|
end
|
|
2015
2070
|
function Set.prototype.keys(self)
|
|
2071
|
+
local function getFirstKey()
|
|
2072
|
+
return self.firstKey
|
|
2073
|
+
end
|
|
2016
2074
|
local nextKey = self.nextKey
|
|
2017
|
-
local key
|
|
2075
|
+
local key
|
|
2076
|
+
local started = false
|
|
2018
2077
|
return {
|
|
2019
2078
|
[Symbol.iterator] = function(self)
|
|
2020
2079
|
return self
|
|
2021
2080
|
end,
|
|
2022
2081
|
next = function(self)
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2082
|
+
if not started then
|
|
2083
|
+
started = true
|
|
2084
|
+
key = getFirstKey(nil)
|
|
2085
|
+
else
|
|
2086
|
+
key = nextKey[key]
|
|
2087
|
+
end
|
|
2088
|
+
return {done = not key, value = key}
|
|
2026
2089
|
end
|
|
2027
2090
|
}
|
|
2028
2091
|
end
|
|
2029
2092
|
function Set.prototype.values(self)
|
|
2093
|
+
local function getFirstKey()
|
|
2094
|
+
return self.firstKey
|
|
2095
|
+
end
|
|
2030
2096
|
local nextKey = self.nextKey
|
|
2031
|
-
local key
|
|
2097
|
+
local key
|
|
2098
|
+
local started = false
|
|
2032
2099
|
return {
|
|
2033
2100
|
[Symbol.iterator] = function(self)
|
|
2034
2101
|
return self
|
|
2035
2102
|
end,
|
|
2036
2103
|
next = function(self)
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2104
|
+
if not started then
|
|
2105
|
+
started = true
|
|
2106
|
+
key = getFirstKey(nil)
|
|
2107
|
+
else
|
|
2108
|
+
key = nextKey[key]
|
|
2109
|
+
end
|
|
2110
|
+
return {done = not key, value = key}
|
|
2040
2111
|
end
|
|
2041
2112
|
}
|
|
2042
2113
|
end
|
|
@@ -2241,7 +2312,7 @@ local function __TS__SourceMapTraceBack(fileName, sourceMap)
|
|
|
2241
2312
|
end
|
|
2242
2313
|
local result = string.gsub(
|
|
2243
2314
|
trace,
|
|
2244
|
-
"(
|
|
2315
|
+
"([^%s<]+)%.lua:(%d+)",
|
|
2245
2316
|
function(file, line) return replacer(nil, file .. ".lua", file .. ".ts", line) end
|
|
2246
2317
|
)
|
|
2247
2318
|
local function stringReplacer(____, file, line)
|
package/net/socket.lua
CHANGED
|
@@ -28,13 +28,13 @@ function Socket.prototype.____constructor(self)
|
|
|
28
28
|
onReceive[self[0]]:addListener(function(sender, data)
|
|
29
29
|
local chunks = chunksByPlayer[sender]
|
|
30
30
|
if chunks ~= nil then
|
|
31
|
+
chunksByPlayer[sender] = nil
|
|
31
32
|
chunks[#chunks + 1] = data
|
|
32
33
|
Event.invoke(
|
|
33
34
|
self.onMessage,
|
|
34
35
|
sender,
|
|
35
36
|
tableConcat(chunks)
|
|
36
37
|
)
|
|
37
|
-
chunksByPlayer[sender] = nil
|
|
38
38
|
else
|
|
39
39
|
Event.invoke(self.onMessage, sender, data)
|
|
40
40
|
end
|