warscript 0.0.1-dev.e196516 → 0.0.1-dev.e27e5b1
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.d.ts +1 -0
- package/core/types/frame.lua +136 -58
- package/core/types/handle.lua +6 -9
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/player.d.ts +18 -1
- package/core/types/player.lua +76 -26
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +1 -1
- package/core/types/sound.lua +14 -9
- 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/core/types/unit.d.ts +4 -0
- package/core/types/unit.lua +4 -0
- package/decl/native.d.ts +711 -11
- 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/damage.d.ts +3 -0
- package/engine/behaviour/ability/damage.lua +8 -2
- package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
- package/engine/behaviour/ability/emulate-impact.lua +7 -5
- 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 +11 -6
- package/engine/behaviour/ability.lua +37 -16
- 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 +27 -5
- package/engine/behaviour/unit.lua +181 -27
- package/engine/buff.d.ts +67 -22
- package/engine/buff.lua +371 -182
- package/engine/internal/ability.d.ts +7 -1
- package/engine/internal/ability.lua +86 -44
- package/engine/internal/item/ability.lua +51 -1
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item+owner.d.ts +1 -0
- package/engine/internal/item+owner.lua +19 -6
- package/engine/internal/item.d.ts +23 -14
- package/engine/internal/item.lua +169 -82
- 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 +35 -5
- package/engine/internal/unit/ability.lua +111 -24
- package/engine/internal/unit/appearance.d.ts +15 -0
- package/engine/internal/unit/appearance.lua +85 -0
- package/engine/internal/unit/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bag.d.ts +18 -0
- package/engine/internal/unit/bag.lua +63 -0
- package/engine/internal/unit/bonus.d.ts +6 -0
- package/engine/internal/unit/bonus.lua +33 -3
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +32 -17
- package/engine/internal/unit/equipment.d.ts +36 -0
- package/engine/internal/unit/equipment.lua +169 -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/{item.d.ts → inventory.d.ts} +3 -3
- package/engine/internal/unit/{item.lua → inventory.lua} +25 -26
- 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/pseudo-passive-abilities.d.ts +2 -0
- package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
- 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 +52 -14
- package/engine/internal/unit.d.ts +19 -24
- package/engine/internal/unit.lua +233 -246
- package/engine/local-client.d.ts +21 -0
- package/engine/local-client.lua +150 -7
- 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/equipment-slot.d.ts +12 -0
- package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
- package/engine/object-data/auxiliary/equipment-type.d.ts +13 -0
- package/engine/object-data/auxiliary/equipment-type.lua +2 -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/item-tag.d.ts +12 -0
- package/engine/object-data/auxiliary/item-tag.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/blank-configurable.d.ts +3 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
- 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 +89 -8
- 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 +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 +9 -8
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field/unit.d.ts +31 -5
- package/engine/object-field/unit.lua +95 -0
- package/engine/object-field.d.ts +12 -4
- package/engine/object-field.lua +278 -131
- 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/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- 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 +26 -3
- package/engine/text-tag.lua +217 -11
- package/engine/unit.d.ts +10 -1
- package/engine/unit.lua +10 -1
- package/event.d.ts +1 -1
- package/lualib_bundle.lua +1 -1
- package/math.d.ts +2 -0
- package/math.lua +14 -0
- package/net/socket.lua +1 -1
- package/network.lua +25 -1
- package/objutil/buff.lua +10 -8
- package/objutil/object.lua +1 -1
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- 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/functions.d.ts +7 -0
- package/utility/functions.lua +12 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +4 -1
- package/utility/linked-set.lua +46 -1
- package/utility/lua-maps.d.ts +11 -2
- package/utility/lua-maps.lua +33 -2
- package/utility/lua-sets.d.ts +1 -0
- package/utility/lua-sets.lua +4 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- package/utility/types.d.ts +3 -0
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/core/types/order.d.ts +0 -26
- package/core/types/order.lua +0 -65
- /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
package/engine/local-client.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Unit } from "../core/types/unit";
|
|
|
3
3
|
import { Async } from "../core/types/async";
|
|
4
4
|
import { Event, TriggerEvent } from "../event";
|
|
5
5
|
import { GraphicsMode } from "./index";
|
|
6
|
+
import { Color } from "../core/types/color";
|
|
6
7
|
export declare class LocalClient {
|
|
7
8
|
private constructor();
|
|
8
9
|
static readonly locale: string;
|
|
@@ -11,11 +12,31 @@ export declare class LocalClient {
|
|
|
11
12
|
static get isHD(): boolean;
|
|
12
13
|
static get graphicsMode(): GraphicsMode;
|
|
13
14
|
static get isActive(): boolean;
|
|
15
|
+
static get isMinimized(): boolean;
|
|
16
|
+
static pingMinimap(x: number, y: number, duration: number, ...parameters: [] | [red: number, green: number, blue: number, flashy?: boolean] | [color: Color, flashy?: boolean]): void;
|
|
17
|
+
/** Local input state; do not use to branch synchronized game logic. */
|
|
18
|
+
static isKeyPressed(key: joskeytype): boolean;
|
|
19
|
+
/** Local input state. Uses the same modifier mask as Player key events. */
|
|
20
|
+
static isMetaKeyPressed(key: oskeymeta): boolean;
|
|
21
|
+
/** Local input state. */
|
|
22
|
+
static isMouseButtonPressed(button: jmousebuttontype): boolean;
|
|
23
|
+
static get mouseScreenX(): number;
|
|
24
|
+
static get mouseScreenY(): number;
|
|
25
|
+
static screenToFrameX(x: number): number;
|
|
26
|
+
static screenToFrameY(y: number): number;
|
|
27
|
+
static frameToScreenX(x: number): number;
|
|
28
|
+
static frameToScreenY(y: number): number;
|
|
29
|
+
static get mouseFrameX(): number;
|
|
30
|
+
static get mouseFrameY(): number;
|
|
14
31
|
static get mouseFocusUnit(): Async<Unit> | undefined;
|
|
15
32
|
static get mainSelectedUnit(): Async<Unit> | undefined;
|
|
16
33
|
static get mainSelectedUnitChangeEvent(): Event<[
|
|
17
34
|
previousMainSelectedUnit: Unit | undefined,
|
|
18
35
|
newMainSelectedUnit: Unit | undefined
|
|
19
36
|
]>;
|
|
37
|
+
static get isInTargetingMode(): boolean;
|
|
38
|
+
static readonly targetingModeEnterEvent: Event<[]>;
|
|
39
|
+
static readonly targetingModeLeaveEvent: Event<[]>;
|
|
40
|
+
static readonly targetingModeStateChangeEvent: Event<[]>;
|
|
20
41
|
static readonly onDisconnect: TriggerEvent<[]>;
|
|
21
42
|
}
|
package/engine/local-client.lua
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
3
|
+
local __TS__New = ____lualib.__TS__New
|
|
3
4
|
local __TS__Class = ____lualib.__TS__Class
|
|
5
|
+
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
4
6
|
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
5
|
-
local __TS__New = ____lualib.__TS__New
|
|
6
7
|
local ____exports = {}
|
|
8
|
+
local actualizeTargetingModeState
|
|
7
9
|
local ____unit = require("core.types.unit")
|
|
8
10
|
local Unit = ____unit.Unit
|
|
9
11
|
local ____event = require("event")
|
|
@@ -15,16 +17,31 @@ local ____player = require("core.types.player")
|
|
|
15
17
|
local Player = ____player.Player
|
|
16
18
|
local ____timer = require("core.types.timer")
|
|
17
19
|
local Timer = ____timer.Timer
|
|
18
|
-
local
|
|
19
|
-
local
|
|
20
|
-
local
|
|
21
|
-
local
|
|
22
|
-
local
|
|
20
|
+
local ____color = require("core.types.color")
|
|
21
|
+
local Color = ____color.Color
|
|
22
|
+
local ____arrays = require("utility.arrays")
|
|
23
|
+
local array = ____arrays.array
|
|
24
|
+
local frameToPixelX = BlzFrameToPixelX
|
|
25
|
+
local frameToPixelY = BlzFrameToPixelY
|
|
23
26
|
local getHandleId = GetHandleId
|
|
27
|
+
local getLocalClientHeight = BlzGetLocalClientHeight
|
|
28
|
+
local getLocalClientWidth = BlzGetLocalClientWidth
|
|
29
|
+
local getLocale = BlzGetLocale
|
|
24
30
|
local getMouseFocusUnit = BlzGetMouseFocusUnit
|
|
31
|
+
local getMouseScreenPosX = BlzGetMouseScreenPosX
|
|
32
|
+
local getMouseScreenPosY = BlzGetMouseScreenPosY
|
|
25
33
|
local getUnitRealField = BlzGetUnitRealField
|
|
26
34
|
local getUnitTypeId = GetUnitTypeId
|
|
27
|
-
local
|
|
35
|
+
local isHeroUnitId = IsHeroUnitId
|
|
36
|
+
local isKeyPressed = BlzIsKeyPressed
|
|
37
|
+
local isLocalClientActive = BlzIsLocalClientActive
|
|
38
|
+
local isMetaKeyPressed = BlzIsMetaKeyPressed
|
|
39
|
+
local isMouseButtonPressed = BlzIsMouseButtonPressed
|
|
40
|
+
local loadTOCFile = BlzLoadTOCFile
|
|
41
|
+
local pingMinimap = PingMinimap
|
|
42
|
+
local pingMinimapEx = PingMinimapEx
|
|
43
|
+
local pixelToFrameX = BlzPixelToFrameX
|
|
44
|
+
local pixelToFrameY = BlzPixelToFrameY
|
|
28
45
|
local tableSort = table.sort
|
|
29
46
|
local tocPath = "_warscript\\IsHD.toc"
|
|
30
47
|
compiletime(function()
|
|
@@ -57,11 +74,61 @@ local function compareUnitsSelectionPriority(a, b)
|
|
|
57
74
|
end
|
|
58
75
|
local mainSelectedUnitChangeEvent
|
|
59
76
|
local previousMainSelectedUnit
|
|
77
|
+
local lastTargetingModeState = false
|
|
78
|
+
local targetingModeEnterEvent = __TS__New(Event)
|
|
79
|
+
local targetingModeLeaveEvent = __TS__New(Event)
|
|
80
|
+
local targetingModeStateChangeEvent = __TS__New(Event)
|
|
60
81
|
____exports.LocalClient = __TS__Class()
|
|
61
82
|
local LocalClient = ____exports.LocalClient
|
|
62
83
|
LocalClient.name = "LocalClient"
|
|
63
84
|
function LocalClient.prototype.____constructor(self)
|
|
64
85
|
end
|
|
86
|
+
function LocalClient.pingMinimap(self, x, y, duration, redOrColor, greenOrFlashy, blue, flashy)
|
|
87
|
+
if redOrColor == nil then
|
|
88
|
+
pingMinimap(x, y, duration)
|
|
89
|
+
elseif __TS__InstanceOf(redOrColor, Color) then
|
|
90
|
+
pingMinimapEx(
|
|
91
|
+
x,
|
|
92
|
+
y,
|
|
93
|
+
duration,
|
|
94
|
+
redOrColor.r,
|
|
95
|
+
redOrColor.g,
|
|
96
|
+
redOrColor.b,
|
|
97
|
+
greenOrFlashy or false
|
|
98
|
+
)
|
|
99
|
+
else
|
|
100
|
+
pingMinimapEx(
|
|
101
|
+
x,
|
|
102
|
+
y,
|
|
103
|
+
duration,
|
|
104
|
+
redOrColor,
|
|
105
|
+
greenOrFlashy,
|
|
106
|
+
blue,
|
|
107
|
+
flashy or false
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
function LocalClient.isKeyPressed(self, key)
|
|
112
|
+
return isKeyPressed(key)
|
|
113
|
+
end
|
|
114
|
+
function LocalClient.isMetaKeyPressed(self, key)
|
|
115
|
+
return isMetaKeyPressed(key)
|
|
116
|
+
end
|
|
117
|
+
function LocalClient.isMouseButtonPressed(self, button)
|
|
118
|
+
return isMouseButtonPressed(button)
|
|
119
|
+
end
|
|
120
|
+
function LocalClient.screenToFrameX(self, x)
|
|
121
|
+
return pixelToFrameX(x)
|
|
122
|
+
end
|
|
123
|
+
function LocalClient.screenToFrameY(self, y)
|
|
124
|
+
return pixelToFrameY(y)
|
|
125
|
+
end
|
|
126
|
+
function LocalClient.frameToScreenX(self, x)
|
|
127
|
+
return frameToPixelX(x)
|
|
128
|
+
end
|
|
129
|
+
function LocalClient.frameToScreenY(self, y)
|
|
130
|
+
return frameToPixelY(y)
|
|
131
|
+
end
|
|
65
132
|
LocalClient.locale = getLocale()
|
|
66
133
|
__TS__ObjectDefineProperty(
|
|
67
134
|
LocalClient,
|
|
@@ -98,6 +165,41 @@ __TS__ObjectDefineProperty(
|
|
|
98
165
|
return isLocalClientActive()
|
|
99
166
|
end}
|
|
100
167
|
)
|
|
168
|
+
__TS__ObjectDefineProperty(
|
|
169
|
+
LocalClient,
|
|
170
|
+
"isMinimized",
|
|
171
|
+
{get = function(self)
|
|
172
|
+
return getLocalClientHeight() == 0
|
|
173
|
+
end}
|
|
174
|
+
)
|
|
175
|
+
__TS__ObjectDefineProperty(
|
|
176
|
+
LocalClient,
|
|
177
|
+
"mouseScreenX",
|
|
178
|
+
{get = function(self)
|
|
179
|
+
return getMouseScreenPosX()
|
|
180
|
+
end}
|
|
181
|
+
)
|
|
182
|
+
__TS__ObjectDefineProperty(
|
|
183
|
+
LocalClient,
|
|
184
|
+
"mouseScreenY",
|
|
185
|
+
{get = function(self)
|
|
186
|
+
return getMouseScreenPosY()
|
|
187
|
+
end}
|
|
188
|
+
)
|
|
189
|
+
__TS__ObjectDefineProperty(
|
|
190
|
+
LocalClient,
|
|
191
|
+
"mouseFrameX",
|
|
192
|
+
{get = function(self)
|
|
193
|
+
return pixelToFrameX(getMouseScreenPosX())
|
|
194
|
+
end}
|
|
195
|
+
)
|
|
196
|
+
__TS__ObjectDefineProperty(
|
|
197
|
+
LocalClient,
|
|
198
|
+
"mouseFrameY",
|
|
199
|
+
{get = function(self)
|
|
200
|
+
return pixelToFrameY(getMouseScreenPosY())
|
|
201
|
+
end}
|
|
202
|
+
)
|
|
101
203
|
__TS__ObjectDefineProperty(
|
|
102
204
|
LocalClient,
|
|
103
205
|
"mouseFocusUnit",
|
|
@@ -151,6 +253,16 @@ __TS__ObjectDefineProperty(
|
|
|
151
253
|
return mainSelectedUnitChangeEvent
|
|
152
254
|
end}
|
|
153
255
|
)
|
|
256
|
+
__TS__ObjectDefineProperty(
|
|
257
|
+
LocalClient,
|
|
258
|
+
"isInTargetingMode",
|
|
259
|
+
{get = function(self)
|
|
260
|
+
return actualizeTargetingModeState()
|
|
261
|
+
end}
|
|
262
|
+
)
|
|
263
|
+
LocalClient.targetingModeEnterEvent = targetingModeEnterEvent
|
|
264
|
+
LocalClient.targetingModeLeaveEvent = targetingModeLeaveEvent
|
|
265
|
+
LocalClient.targetingModeStateChangeEvent = targetingModeStateChangeEvent
|
|
154
266
|
LocalClient.onDisconnect = __TS__New(
|
|
155
267
|
TriggerEvent,
|
|
156
268
|
function(trigger)
|
|
@@ -158,6 +270,37 @@ LocalClient.onDisconnect = __TS__New(
|
|
|
158
270
|
end,
|
|
159
271
|
function() return end
|
|
160
272
|
)
|
|
273
|
+
local commandButtons = array(
|
|
274
|
+
12,
|
|
275
|
+
function(i) return Frame:byOrigin(ORIGIN_FRAME_COMMAND_BUTTON, i) end
|
|
276
|
+
)
|
|
277
|
+
local function getTargetingModeState()
|
|
278
|
+
for i = 0, 10 do
|
|
279
|
+
if commandButtons[i + 1].visible then
|
|
280
|
+
return false
|
|
281
|
+
end
|
|
282
|
+
end
|
|
283
|
+
return commandButtons[12].visible
|
|
284
|
+
end
|
|
285
|
+
actualizeTargetingModeState = function()
|
|
286
|
+
if getTargetingModeState() then
|
|
287
|
+
if not lastTargetingModeState then
|
|
288
|
+
lastTargetingModeState = true
|
|
289
|
+
Event.invoke(targetingModeEnterEvent)
|
|
290
|
+
Event.invoke(targetingModeStateChangeEvent)
|
|
291
|
+
end
|
|
292
|
+
return true
|
|
293
|
+
end
|
|
294
|
+
if lastTargetingModeState then
|
|
295
|
+
lastTargetingModeState = false
|
|
296
|
+
Event.invoke(targetingModeLeaveEvent)
|
|
297
|
+
Event.invoke(targetingModeStateChangeEvent)
|
|
298
|
+
end
|
|
299
|
+
return false
|
|
300
|
+
end
|
|
301
|
+
Timer.onPeriod[1 / 64]:addListener(function()
|
|
302
|
+
actualizeTargetingModeState()
|
|
303
|
+
end)
|
|
161
304
|
warpack.afterMapInit(function()
|
|
162
305
|
rawset(
|
|
163
306
|
____exports.LocalClient,
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____records = require("utility.records")
|
|
3
|
+
local invertRecord = ____records.invertRecord
|
|
4
|
+
local stringByArmorType = {
|
|
5
|
+
[0] = "small",
|
|
6
|
+
[1] = "medium",
|
|
7
|
+
[2] = "large",
|
|
8
|
+
[3] = "fort",
|
|
9
|
+
[4] = "normal",
|
|
10
|
+
[5] = "hero",
|
|
11
|
+
[6] = "divine",
|
|
12
|
+
[7] = "none"
|
|
13
|
+
}
|
|
14
|
+
local armorTypeByString = invertRecord(stringByArmorType)
|
|
15
|
+
local nativeByArmorType = {
|
|
16
|
+
[0] = DEFENSE_TYPE_LIGHT,
|
|
17
|
+
[1] = DEFENSE_TYPE_MEDIUM,
|
|
18
|
+
[2] = DEFENSE_TYPE_LARGE,
|
|
19
|
+
[3] = DEFENSE_TYPE_FORT,
|
|
20
|
+
[4] = DEFENSE_TYPE_NORMAL,
|
|
21
|
+
[5] = DEFENSE_TYPE_HERO,
|
|
22
|
+
[6] = DEFENSE_TYPE_DIVINE,
|
|
23
|
+
[7] = DEFENSE_TYPE_NONE
|
|
24
|
+
}
|
|
25
|
+
local armorTypeByNative = invertRecord(nativeByArmorType)
|
|
26
|
+
---
|
|
27
|
+
-- @internal For use by internal systems only.
|
|
28
|
+
____exports.armorTypeToString = function(armorType)
|
|
29
|
+
return stringByArmorType[armorType]
|
|
30
|
+
end
|
|
31
|
+
---
|
|
32
|
+
-- @internal For use by internal systems only.
|
|
33
|
+
____exports.stringToArmorType = function(____string)
|
|
34
|
+
return armorTypeByString[____string] or 7
|
|
35
|
+
end
|
|
36
|
+
---
|
|
37
|
+
-- @internal For use by internal systems only.
|
|
38
|
+
____exports.armorTypeToNative = function(armorType)
|
|
39
|
+
return nativeByArmorType[armorType]
|
|
40
|
+
end
|
|
41
|
+
---
|
|
42
|
+
-- @internal For use by internal systems only.
|
|
43
|
+
____exports.nativeToArmorType = function(armorType)
|
|
44
|
+
return armorTypeByNative[armorType]
|
|
45
|
+
end
|
|
46
|
+
return ____exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
local ____exports = {}
|
|
2
|
-
____exports.UnitAttribute = UnitAttribute or ({})
|
|
2
|
+
____exports.UnitAttribute = ____exports.UnitAttribute or ({})
|
|
3
3
|
____exports.UnitAttribute.STRENGTH = 1
|
|
4
4
|
____exports.UnitAttribute[____exports.UnitAttribute.STRENGTH] = "STRENGTH"
|
|
5
5
|
____exports.UnitAttribute.INTELLIGENCE = 2
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { AbilityType, AbilityTypeId } from "../ability-type";
|
|
3
3
|
import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class ArmorBonusAbilityType extends AbilityType {
|
|
5
5
|
static readonly BASE_ID: AbilityTypeId;
|
|
6
|
-
get
|
|
7
|
-
set
|
|
6
|
+
get armorBonus(): number[];
|
|
7
|
+
set armorBonus(armorBonus: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
8
8
|
}
|
|
@@ -5,20 +5,20 @@ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
|
5
5
|
local ____exports = {}
|
|
6
6
|
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
7
7
|
local AbilityType = ____ability_2Dtype.AbilityType
|
|
8
|
-
____exports.
|
|
9
|
-
local
|
|
10
|
-
|
|
11
|
-
__TS__ClassExtends(
|
|
12
|
-
|
|
8
|
+
____exports.ArmorBonusAbilityType = __TS__Class()
|
|
9
|
+
local ArmorBonusAbilityType = ____exports.ArmorBonusAbilityType
|
|
10
|
+
ArmorBonusAbilityType.name = "ArmorBonusAbilityType"
|
|
11
|
+
__TS__ClassExtends(ArmorBonusAbilityType, AbilityType)
|
|
12
|
+
ArmorBonusAbilityType.BASE_ID = fourCC("AId1")
|
|
13
13
|
__TS__SetDescriptor(
|
|
14
|
-
|
|
15
|
-
"
|
|
14
|
+
ArmorBonusAbilityType.prototype,
|
|
15
|
+
"armorBonus",
|
|
16
16
|
{
|
|
17
17
|
get = function(self)
|
|
18
18
|
return self:getNumberLevelField("Idef")
|
|
19
19
|
end,
|
|
20
|
-
set = function(self,
|
|
21
|
-
self:setNumberLevelField("Idef",
|
|
20
|
+
set = function(self, armorBonus)
|
|
21
|
+
self:setNumberLevelField("Idef", armorBonus)
|
|
22
22
|
end
|
|
23
23
|
},
|
|
24
24
|
true
|
|
@@ -7,11 +7,14 @@ export declare class BlankConfigurableAbilityType extends ChannelAbilityType {
|
|
|
7
7
|
private readonly autoOrderTypeStringIdByTargetingType;
|
|
8
8
|
private _usesAttackAnimation;
|
|
9
9
|
private _isChanneling;
|
|
10
|
+
private _isPassive;
|
|
10
11
|
constructor(object: WarObject);
|
|
11
12
|
get usesAttackAnimation(): boolean;
|
|
12
13
|
set usesAttackAnimation(usesAttackAnimation: boolean);
|
|
13
14
|
get isChanneling(): boolean;
|
|
14
15
|
set isChanneling(isChanneling: boolean);
|
|
16
|
+
get isPassive(): boolean;
|
|
17
|
+
set isPassive(isPassive: boolean);
|
|
15
18
|
get targetingType(): ChannelAbilityTypeTargetingType[];
|
|
16
19
|
set targetingType(targetingType: ObjectDataEntryLevelFieldValueSupplier<ChannelAbilityTypeTargetingType>);
|
|
17
20
|
get baseOrderTypeStringId(): string[];
|
|
@@ -23,6 +23,9 @@ local ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD = ____ability.A
|
|
|
23
23
|
local AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD = ____ability.AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD
|
|
24
24
|
local ____linked_2Dset = require("utility.linked-set")
|
|
25
25
|
local LinkedSet = ____linked_2Dset.LinkedSet
|
|
26
|
+
local ____pseudo_2Dpassive_2Dabilities = require("engine.internal.unit.pseudo-passive-abilities")
|
|
27
|
+
local compiletimePseudoPassiveAbilityTypeIds = ____pseudo_2Dpassive_2Dabilities.compiletimePseudoPassiveAbilityTypeIds
|
|
28
|
+
local pseudoPassiveAbilityOrderTypeStringId = ____pseudo_2Dpassive_2Dabilities.pseudoPassiveAbilityOrderTypeStringId
|
|
26
29
|
local isChannelingAbilityTypeIds = {}
|
|
27
30
|
local usesAttackAnimationByAbilityTypeId = {}
|
|
28
31
|
____exports.BlankConfigurableAbilityType = __TS__Class()
|
|
@@ -35,6 +38,7 @@ function BlankConfigurableAbilityType.prototype.____constructor(self, object)
|
|
|
35
38
|
self.autoOrderTypeStringIdByTargetingType = {}
|
|
36
39
|
self._usesAttackAnimation = false
|
|
37
40
|
self._isChanneling = false
|
|
41
|
+
self._isPassive = false
|
|
38
42
|
self.buttonPositionX = 0
|
|
39
43
|
self.buttonPositionY = 0
|
|
40
44
|
self.casterAttachmentPresets = {}
|
|
@@ -105,6 +109,24 @@ __TS__SetDescriptor(
|
|
|
105
109
|
},
|
|
106
110
|
true
|
|
107
111
|
)
|
|
112
|
+
__TS__SetDescriptor(
|
|
113
|
+
BlankConfigurableAbilityType.prototype,
|
|
114
|
+
"isPassive",
|
|
115
|
+
{
|
|
116
|
+
get = function(self)
|
|
117
|
+
return self._isPassive
|
|
118
|
+
end,
|
|
119
|
+
set = function(self, isPassive)
|
|
120
|
+
if isPassive then
|
|
121
|
+
compiletimePseudoPassiveAbilityTypeIds[self.id] = true
|
|
122
|
+
else
|
|
123
|
+
compiletimePseudoPassiveAbilityTypeIds[self.id] = nil
|
|
124
|
+
end
|
|
125
|
+
self._isPassive = isPassive
|
|
126
|
+
end
|
|
127
|
+
},
|
|
128
|
+
true
|
|
129
|
+
)
|
|
108
130
|
__TS__SetDescriptor(
|
|
109
131
|
BlankConfigurableAbilityType.prototype,
|
|
110
132
|
"targetingType",
|
|
@@ -209,6 +231,14 @@ do
|
|
|
209
231
|
end
|
|
210
232
|
)
|
|
211
233
|
end
|
|
234
|
+
local _ = postcompile(function()
|
|
235
|
+
for abilityTypeId in pairs(compiletimePseudoPassiveAbilityTypeIds) do
|
|
236
|
+
local abilityType = checkNotNull(____exports.BlankConfigurableAbilityType:of(abilityTypeId))
|
|
237
|
+
abilityType.hotkey = ""
|
|
238
|
+
abilityType.baseOrderTypeStringId = pseudoPassiveAbilityOrderTypeStringId
|
|
239
|
+
abilityType.targetingType = 0
|
|
240
|
+
end
|
|
241
|
+
end)
|
|
212
242
|
for abilityTypeId, usesAttackAnimation in pairs(postcompile(function()
|
|
213
243
|
for abilityTypeId, usesAttackAnimation in pairs(usesAttackAnimationByAbilityTypeId) do
|
|
214
244
|
if usesAttackAnimation then
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityType, AbilityTypeId } from "../ability-type";
|
|
3
|
+
import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
|
|
4
|
+
export declare class HealthBonusAbilityType extends AbilityType {
|
|
5
|
+
static readonly BASE_ID: AbilityTypeId;
|
|
6
|
+
get healthBonus(): number[];
|
|
7
|
+
set healthBonus(healthBonus: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
8
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
7
|
+
local AbilityType = ____ability_2Dtype.AbilityType
|
|
8
|
+
____exports.HealthBonusAbilityType = __TS__Class()
|
|
9
|
+
local HealthBonusAbilityType = ____exports.HealthBonusAbilityType
|
|
10
|
+
HealthBonusAbilityType.name = "HealthBonusAbilityType"
|
|
11
|
+
__TS__ClassExtends(HealthBonusAbilityType, AbilityType)
|
|
12
|
+
HealthBonusAbilityType.BASE_ID = fourCC("AIlf")
|
|
13
|
+
__TS__SetDescriptor(
|
|
14
|
+
HealthBonusAbilityType.prototype,
|
|
15
|
+
"healthBonus",
|
|
16
|
+
{
|
|
17
|
+
get = function(self)
|
|
18
|
+
return self:getNumberLevelField("Ilif")
|
|
19
|
+
end,
|
|
20
|
+
set = function(self, healthBonus)
|
|
21
|
+
self:setNumberLevelField("Ilif", healthBonus)
|
|
22
|
+
end
|
|
23
|
+
},
|
|
24
|
+
true
|
|
25
|
+
)
|
|
26
|
+
return ____exports
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityType, AbilityTypeId } from "../ability-type";
|
|
3
|
+
import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
|
|
4
|
+
export declare class ManaBonusAbilityType extends AbilityType {
|
|
5
|
+
static readonly BASE_ID: AbilityTypeId;
|
|
6
|
+
get manaBonus(): number[];
|
|
7
|
+
set manaBonus(manaBonus: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
8
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
7
|
+
local AbilityType = ____ability_2Dtype.AbilityType
|
|
8
|
+
____exports.ManaBonusAbilityType = __TS__Class()
|
|
9
|
+
local ManaBonusAbilityType = ____exports.ManaBonusAbilityType
|
|
10
|
+
ManaBonusAbilityType.name = "ManaBonusAbilityType"
|
|
11
|
+
__TS__ClassExtends(ManaBonusAbilityType, AbilityType)
|
|
12
|
+
ManaBonusAbilityType.BASE_ID = fourCC("AImb")
|
|
13
|
+
__TS__SetDescriptor(
|
|
14
|
+
ManaBonusAbilityType.prototype,
|
|
15
|
+
"manaBonus",
|
|
16
|
+
{
|
|
17
|
+
get = function(self)
|
|
18
|
+
return self:getNumberLevelField("Iman")
|
|
19
|
+
end,
|
|
20
|
+
set = function(self, manaBonus)
|
|
21
|
+
self:setNumberLevelField("Iman", manaBonus)
|
|
22
|
+
end
|
|
23
|
+
},
|
|
24
|
+
true
|
|
25
|
+
)
|
|
26
|
+
return ____exports
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityType, AbilityTypeId } from "../ability-type";
|
|
3
|
+
import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
|
|
4
|
+
export declare class ManaRegenerationAbilityType extends AbilityType {
|
|
5
|
+
static readonly BASE_ID: AbilityTypeId;
|
|
6
|
+
get manaRegenerationRateIncreaseFactor(): number[];
|
|
7
|
+
set manaRegenerationRateIncreaseFactor(manaRegenerationRateIncreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
8
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
7
|
+
local AbilityType = ____ability_2Dtype.AbilityType
|
|
8
|
+
____exports.ManaRegenerationAbilityType = __TS__Class()
|
|
9
|
+
local ManaRegenerationAbilityType = ____exports.ManaRegenerationAbilityType
|
|
10
|
+
ManaRegenerationAbilityType.name = "ManaRegenerationAbilityType"
|
|
11
|
+
__TS__ClassExtends(ManaRegenerationAbilityType, AbilityType)
|
|
12
|
+
ManaRegenerationAbilityType.BASE_ID = fourCC("AIrn")
|
|
13
|
+
__TS__SetDescriptor(
|
|
14
|
+
ManaRegenerationAbilityType.prototype,
|
|
15
|
+
"manaRegenerationRateIncreaseFactor",
|
|
16
|
+
{
|
|
17
|
+
get = function(self)
|
|
18
|
+
return self:getNumberLevelField("Imrp")
|
|
19
|
+
end,
|
|
20
|
+
set = function(self, manaRegenerationRateIncreaseFactor)
|
|
21
|
+
self:setNumberLevelField("Imrp", manaRegenerationRateIncreaseFactor)
|
|
22
|
+
end
|
|
23
|
+
},
|
|
24
|
+
true
|
|
25
|
+
)
|
|
26
|
+
return ____exports
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityType, AbilityTypeId } from "../ability-type";
|
|
3
|
+
import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
|
|
4
|
+
export declare class ReincarnationAbilityType extends AbilityType {
|
|
5
|
+
static readonly BASE_ID: AbilityTypeId;
|
|
6
|
+
get reincarnationDelay(): number[];
|
|
7
|
+
set reincarnationDelay(reincarnationDelay: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
8
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
7
|
+
local AbilityType = ____ability_2Dtype.AbilityType
|
|
8
|
+
____exports.ReincarnationAbilityType = __TS__Class()
|
|
9
|
+
local ReincarnationAbilityType = ____exports.ReincarnationAbilityType
|
|
10
|
+
ReincarnationAbilityType.name = "ReincarnationAbilityType"
|
|
11
|
+
__TS__ClassExtends(ReincarnationAbilityType, AbilityType)
|
|
12
|
+
ReincarnationAbilityType.BASE_ID = fourCC("AOre")
|
|
13
|
+
__TS__SetDescriptor(
|
|
14
|
+
ReincarnationAbilityType.prototype,
|
|
15
|
+
"reincarnationDelay",
|
|
16
|
+
{
|
|
17
|
+
get = function(self)
|
|
18
|
+
return self:getNumberLevelField("Ore1")
|
|
19
|
+
end,
|
|
20
|
+
set = function(self, reincarnationDelay)
|
|
21
|
+
self:setNumberLevelField("Ore1", reincarnationDelay)
|
|
22
|
+
end
|
|
23
|
+
},
|
|
24
|
+
true
|
|
25
|
+
)
|
|
26
|
+
return ____exports
|
|
@@ -67,6 +67,8 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
67
67
|
set specialAttachmentPreset(specialAttachmentPreset: AttachmentPresetInput | undefined);
|
|
68
68
|
get targetCastingEffectPresets(): EffectPresetWithParameters[];
|
|
69
69
|
set targetCastingEffectPresets(targetCastingEffectPresets: AttachmentPresetInput[]);
|
|
70
|
+
get targetChannelingEffectPresets(): EffectPresetWithParameters[];
|
|
71
|
+
set targetChannelingEffectPresets(targetChannelingEffectPresets: EffectPresetWithParametersInput[]);
|
|
70
72
|
get targetEffectPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
71
73
|
set targetEffectPresets(targetEffectPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
72
74
|
get targetEffectPresetsSD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|