warscript 0.0.1-dev.1bb9186 → 0.0.1-dev.1c7aecc
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 +6 -0
- package/attributes.lua +17 -1
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/types/effect.d.ts +1 -3
- package/core/types/effect.lua +26 -29
- 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.d.ts +17 -24
- package/core/types/sound.lua +99 -24
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +9 -8
- package/core/types/timer.lua +45 -23
- package/core/util.lua +6 -1
- package/decl/native.d.ts +846 -790
- 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.d.ts +5 -0
- package/engine/behaviour/ability/apply-buff.lua +36 -4
- package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
- package/engine/behaviour/ability/damage.d.ts +9 -3
- package/engine/behaviour/ability/damage.lua +26 -38
- package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
- package/engine/behaviour/ability/emulate-impact.lua +18 -3
- package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -0
- package/engine/behaviour/ability/restore-mana.d.ts +1 -1
- package/engine/behaviour/ability/restore-mana.lua +6 -6
- package/engine/behaviour/ability.d.ts +13 -3
- package/engine/behaviour/ability.lua +72 -24
- 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 +40 -2
- package/engine/behaviour/unit.lua +269 -6
- package/engine/buff.d.ts +100 -50
- package/engine/buff.lua +495 -262
- package/engine/internal/ability.d.ts +7 -1
- package/engine/internal/ability.lua +49 -9
- package/engine/internal/item/ability.lua +63 -11
- package/engine/internal/item+owner.lua +12 -6
- package/engine/internal/item.d.ts +20 -19
- package/engine/internal/item.lua +191 -74
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/misc/frame-coordinates.d.ts +2 -0
- package/engine/internal/misc/frame-coordinates.lua +21 -0
- package/engine/internal/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.lua +5 -0
- package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
- package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
- package/engine/internal/object-data/evasion-probability.d.ts +2 -0
- package/engine/internal/object-data/evasion-probability.lua +16 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
- package/engine/internal/unit/ability.d.ts +35 -0
- package/engine/internal/unit/ability.lua +98 -9
- package/engine/internal/unit/add-item-to-slot.lua +4 -2
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bonus.d.ts +4 -0
- package/engine/internal/unit/bonus.lua +27 -0
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/main-selected.lua +12 -27
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit/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+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-missile-launch.lua +52 -14
- package/engine/internal/unit.d.ts +43 -25
- package/engine/internal/unit.lua +384 -260
- package/engine/lightning.d.ts +4 -3
- package/engine/lightning.lua +28 -20
- package/engine/local-client.d.ts +2 -0
- package/engine/local-client.lua +30 -0
- package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
- package/engine/object-data/auxiliary/animation-name.lua +16 -0
- package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
- 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/health-regeneration-type.d.ts +8 -0
- package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
- 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/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.lua +12 -1
- package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
- package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
- package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
- package/engine/object-data/entry/ability-type/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/reincarnation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
- package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
- package/engine/object-data/entry/ability-type/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -0
- package/engine/object-data/entry/ability-type.d.ts +21 -17
- package/engine/object-data/entry/ability-type.lua +169 -28
- package/engine/object-data/entry/buff-type/applicable.lua +18 -37
- package/engine/object-data/entry/buff-type.d.ts +6 -12
- package/engine/object-data/entry/buff-type.lua +13 -29
- package/engine/object-data/entry/destructible-type.d.ts +28 -2
- package/engine/object-data/entry/destructible-type.lua +155 -0
- package/engine/object-data/entry/item-type.d.ts +1 -1
- package/engine/object-data/entry/item-type.lua +4 -4
- package/engine/object-data/entry/lightning-type.d.ts +1 -1
- 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 +25 -5
- package/engine/object-data/entry/unit-type.lua +258 -93
- package/engine/object-data/entry/upgrade.d.ts +1 -1
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +16 -14
- package/engine/object-data/entry.lua +60 -32
- package/engine/object-field/ability.d.ts +4 -4
- package/engine/object-field/ability.lua +7 -6
- package/engine/object-field/unit.d.ts +72 -3
- package/engine/object-field/unit.lua +268 -7
- package/engine/object-field.d.ts +25 -6
- package/engine/object-field.lua +357 -118
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +21 -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/fields/ability.d.ts +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- package/engine/standard/fields/unit.d.ts +12 -0
- package/engine/standard/fields/unit.lua +20 -0
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +250 -10
- package/engine/unit.d.ts +6 -0
- package/engine/unit.lua +6 -0
- package/net/socket.lua +1 -1
- package/objutil/buff.lua +11 -10
- package/objutil/unit.lua +8 -0
- package/package.json +2 -2
- package/patch-lua.lua +15 -0
- package/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +2 -0
- package/utility/arrays.lua +11 -0
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +8 -0
- package/utility/functions.lua +13 -0
- package/utility/linked-map.d.ts +34 -0
- package/utility/linked-map.lua +101 -0
- package/utility/linked-set.d.ts +4 -1
- package/utility/linked-set.lua +43 -1
- package/utility/lua-maps.d.ts +15 -2
- package/utility/lua-maps.lua +53 -2
- package/utility/lua-sets.d.ts +2 -0
- package/utility/lua-sets.lua +7 -0
- package/utility/records.lua +20 -1
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +3 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
package/engine/lightning.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { LightningTypeId } from "./object-data/entry/lightning-type";
|
|
3
|
-
import { Handle, HandleDestructor } from "../core/types/handle";
|
|
4
3
|
import { Unit } from "../core/types/unit";
|
|
4
|
+
import { AbstractDestroyable, Destructor } from "../destroyable";
|
|
5
5
|
declare const enum LightningPropertyKey {
|
|
6
6
|
CHECK_VISIBILITY = 100,
|
|
7
7
|
SOURCE_UNIT = 101,
|
|
@@ -16,7 +16,8 @@ declare const enum LightningPropertyKey {
|
|
|
16
16
|
FADING = 110
|
|
17
17
|
}
|
|
18
18
|
export type LightningConstructor<T extends Lightning> = typeof Lightning & (new (handle: jlightning, typeId: LightningTypeId) => T);
|
|
19
|
-
export declare class Lightning extends
|
|
19
|
+
export declare class Lightning extends AbstractDestroyable {
|
|
20
|
+
readonly handle: jlightning;
|
|
20
21
|
readonly typeId: LightningTypeId;
|
|
21
22
|
private [LightningPropertyKey.CHECK_VISIBILITY]?;
|
|
22
23
|
private [LightningPropertyKey.SOURCE_UNIT]?;
|
|
@@ -30,7 +31,7 @@ export declare class Lightning extends Handle<jlightning> {
|
|
|
30
31
|
private [LightningPropertyKey.DURATION]?;
|
|
31
32
|
private [LightningPropertyKey.FADING]?;
|
|
32
33
|
constructor(handle: jlightning, typeId: LightningTypeId);
|
|
33
|
-
protected onDestroy():
|
|
34
|
+
protected onDestroy(): Destructor;
|
|
34
35
|
static create<T extends Lightning>(this: LightningConstructor<T>, typeId: LightningTypeId, ...parameters: [
|
|
35
36
|
...checkVisibility: [boolean] | [],
|
|
36
37
|
...sourceAndTarget: [sourceX: number, sourceY: number, targetX: number, targetY: number] | [
|
package/engine/lightning.lua
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
5
|
local ____exports = {}
|
|
5
|
-
local ____handle = require("core.types.handle")
|
|
6
|
-
local Handle = ____handle.Handle
|
|
7
6
|
local ____timer = require("core.types.timer")
|
|
8
7
|
local Timer = ____timer.Timer
|
|
9
8
|
local ____functions = require("utility.functions")
|
|
10
9
|
local forwardByN = ____functions.forwardByN
|
|
11
10
|
local ____unit_2Dmissile_2Ddata = require("engine.internal.unit-missile-data")
|
|
12
11
|
local MISSILE_DATA_BY_UNIT_TYPE_ID = ____unit_2Dmissile_2Ddata.MISSILE_DATA_BY_UNIT_TYPE_ID
|
|
13
|
-
local
|
|
14
|
-
local
|
|
12
|
+
local ____destroyable = require("destroyable")
|
|
13
|
+
local AbstractDestroyable = ____destroyable.AbstractDestroyable
|
|
15
14
|
local ____type = _G.type
|
|
16
15
|
local select = _G.select
|
|
17
16
|
local cos = math.cos
|
|
@@ -43,9 +42,10 @@ local temporaryLightningsCount = 0
|
|
|
43
42
|
____exports.Lightning = __TS__Class()
|
|
44
43
|
local Lightning = ____exports.Lightning
|
|
45
44
|
Lightning.name = "Lightning"
|
|
46
|
-
__TS__ClassExtends(Lightning,
|
|
45
|
+
__TS__ClassExtends(Lightning, AbstractDestroyable)
|
|
47
46
|
function Lightning.prototype.____constructor(self, handle, typeId)
|
|
48
|
-
|
|
47
|
+
AbstractDestroyable.prototype.____constructor(self)
|
|
48
|
+
self.handle = handle
|
|
49
49
|
self.typeId = typeId
|
|
50
50
|
end
|
|
51
51
|
function Lightning.prototype.onDestroy(self)
|
|
@@ -53,7 +53,7 @@ function Lightning.prototype.onDestroy(self)
|
|
|
53
53
|
unitToPointLightnings[self] = nil
|
|
54
54
|
pointToUnitLightnings[self] = nil
|
|
55
55
|
destroyLightning(self.handle)
|
|
56
|
-
return
|
|
56
|
+
return AbstractDestroyable.prototype.onDestroy(self)
|
|
57
57
|
end
|
|
58
58
|
function Lightning.create(self, typeId, checkVisibility, sourceXOrSourceUnit, sourceYOrTargetXOrTargetUnit, sourceZOrTargetXOrTargetUnitOrTargetY, targetXOrTargetUnitOrTargetYOrTargetZ, targetY, targetZ)
|
|
59
59
|
if type(checkVisibility) ~= "boolean" then
|
|
@@ -69,7 +69,8 @@ function Lightning.create(self, typeId, checkVisibility, sourceXOrSourceUnit, so
|
|
|
69
69
|
)
|
|
70
70
|
end
|
|
71
71
|
if targetZ ~= nil then
|
|
72
|
-
return
|
|
72
|
+
return __TS__New(
|
|
73
|
+
self,
|
|
73
74
|
addLightningEx(
|
|
74
75
|
util.id2s(typeId),
|
|
75
76
|
checkVisibility,
|
|
@@ -86,7 +87,8 @@ function Lightning.create(self, typeId, checkVisibility, sourceXOrSourceUnit, so
|
|
|
86
87
|
if targetXOrTargetUnitOrTargetYOrTargetZ ~= nil then
|
|
87
88
|
if ____type(targetXOrTargetUnitOrTargetYOrTargetZ) == "number" then
|
|
88
89
|
if ____type(sourceXOrSourceUnit) == "number" then
|
|
89
|
-
return
|
|
90
|
+
return __TS__New(
|
|
91
|
+
self,
|
|
90
92
|
addLightning(
|
|
91
93
|
util.id2s(typeId),
|
|
92
94
|
checkVisibility,
|
|
@@ -99,7 +101,8 @@ function Lightning.create(self, typeId, checkVisibility, sourceXOrSourceUnit, so
|
|
|
99
101
|
)
|
|
100
102
|
end
|
|
101
103
|
local unit = sourceXOrSourceUnit.handle
|
|
102
|
-
local lightning =
|
|
104
|
+
local lightning = __TS__New(
|
|
105
|
+
self,
|
|
103
106
|
addLightningEx(
|
|
104
107
|
util.id2s(typeId),
|
|
105
108
|
checkVisibility,
|
|
@@ -124,7 +127,8 @@ function Lightning.create(self, typeId, checkVisibility, sourceXOrSourceUnit, so
|
|
|
124
127
|
return lightning
|
|
125
128
|
end
|
|
126
129
|
local unit = targetXOrTargetUnitOrTargetYOrTargetZ.handle
|
|
127
|
-
local lightning =
|
|
130
|
+
local lightning = __TS__New(
|
|
131
|
+
self,
|
|
128
132
|
addLightningEx(
|
|
129
133
|
util.id2s(typeId),
|
|
130
134
|
checkVisibility,
|
|
@@ -153,7 +157,8 @@ function Lightning.create(self, typeId, checkVisibility, sourceXOrSourceUnit, so
|
|
|
153
157
|
local unit = sourceXOrSourceUnit.handle
|
|
154
158
|
moveLocation(location, sourceYOrTargetXOrTargetUnit, sourceZOrTargetXOrTargetUnitOrTargetY)
|
|
155
159
|
local z = getLocationZ(location)
|
|
156
|
-
local lightning =
|
|
160
|
+
local lightning = __TS__New(
|
|
161
|
+
self,
|
|
157
162
|
addLightningEx(
|
|
158
163
|
util.id2s(typeId),
|
|
159
164
|
checkVisibility,
|
|
@@ -180,7 +185,8 @@ function Lightning.create(self, typeId, checkVisibility, sourceXOrSourceUnit, so
|
|
|
180
185
|
local unit = sourceZOrTargetXOrTargetUnitOrTargetY.handle
|
|
181
186
|
moveLocation(location, sourceXOrSourceUnit, sourceYOrTargetXOrTargetUnit)
|
|
182
187
|
local z = getLocationZ(location)
|
|
183
|
-
local lightning =
|
|
188
|
+
local lightning = __TS__New(
|
|
189
|
+
self,
|
|
184
190
|
addLightningEx(
|
|
185
191
|
util.id2s(typeId),
|
|
186
192
|
checkVisibility,
|
|
@@ -206,7 +212,8 @@ function Lightning.create(self, typeId, checkVisibility, sourceXOrSourceUnit, so
|
|
|
206
212
|
end
|
|
207
213
|
local sourceUnit = sourceXOrSourceUnit.handle
|
|
208
214
|
local targetUnit = sourceYOrTargetXOrTargetUnit.handle
|
|
209
|
-
local lightning =
|
|
215
|
+
local lightning = __TS__New(
|
|
216
|
+
self,
|
|
210
217
|
addLightningEx(
|
|
211
218
|
util.id2s(typeId),
|
|
212
219
|
checkVisibility,
|
|
@@ -232,17 +239,18 @@ function Lightning.create(self, typeId, checkVisibility, sourceXOrSourceUnit, so
|
|
|
232
239
|
return lightning
|
|
233
240
|
end
|
|
234
241
|
function Lightning.flash(self, ...)
|
|
235
|
-
local parametersToForwardCount = select("#", ...) - 1
|
|
236
|
-
local lightning = forwardByN[parametersToForwardCount](____exports.Lightning.create, self, ...)
|
|
237
242
|
local parameterOrDuration, durationOrFading = select(-2, ...)
|
|
243
|
+
local hasFading = ____type(durationOrFading) ~= "number"
|
|
244
|
+
local parametersToForwardCount = select("#", ...) - (hasFading and 2 or 1)
|
|
245
|
+
local lightning = forwardByN[parametersToForwardCount](____exports.Lightning.create, self, ...)
|
|
238
246
|
local duration
|
|
239
|
-
if
|
|
240
|
-
duration = durationOrFading
|
|
241
|
-
else
|
|
247
|
+
if hasFading then
|
|
242
248
|
duration = parameterOrDuration
|
|
243
249
|
if durationOrFading then
|
|
244
250
|
lightning[110] = true
|
|
245
251
|
end
|
|
252
|
+
else
|
|
253
|
+
duration = durationOrFading
|
|
246
254
|
end
|
|
247
255
|
lightning[109] = duration
|
|
248
256
|
temporaryLightningsCount = temporaryLightningsCount + 1
|
|
@@ -318,7 +326,7 @@ Timer.onPeriod[UPDATE_PERIOD]:addListener(function()
|
|
|
318
326
|
getLightningColorR(handle),
|
|
319
327
|
getLightningColorG(handle),
|
|
320
328
|
getLightningColorB(handle),
|
|
321
|
-
|
|
329
|
+
getLightningColorA(handle) * (1 - UPDATE_PERIOD / duration)
|
|
322
330
|
)
|
|
323
331
|
end
|
|
324
332
|
lightning[109] = duration - UPDATE_PERIOD
|
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,6 +12,7 @@ export declare class LocalClient {
|
|
|
11
12
|
static get isHD(): boolean;
|
|
12
13
|
static get graphicsMode(): GraphicsMode;
|
|
13
14
|
static get isActive(): boolean;
|
|
15
|
+
static pingMinimap(x: number, y: number, duration: number, ...parameters: [] | [red: number, green: number, blue: number, flashy?: boolean] | [color: Color, flashy?: boolean]): void;
|
|
14
16
|
static get mouseFocusUnit(): Async<Unit> | undefined;
|
|
15
17
|
static get mainSelectedUnit(): Async<Unit> | undefined;
|
|
16
18
|
static get mainSelectedUnitChangeEvent(): Event<[
|
package/engine/local-client.lua
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
3
3
|
local __TS__Class = ____lualib.__TS__Class
|
|
4
|
+
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
4
5
|
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
5
6
|
local __TS__New = ____lualib.__TS__New
|
|
6
7
|
local ____exports = {}
|
|
@@ -15,6 +16,8 @@ local ____player = require("core.types.player")
|
|
|
15
16
|
local Player = ____player.Player
|
|
16
17
|
local ____timer = require("core.types.timer")
|
|
17
18
|
local Timer = ____timer.Timer
|
|
19
|
+
local ____color = require("core.types.color")
|
|
20
|
+
local Color = ____color.Color
|
|
18
21
|
local loadTOCFile = BlzLoadTOCFile
|
|
19
22
|
local getLocalClientWidth = BlzGetLocalClientWidth
|
|
20
23
|
local getLocalClientHeight = BlzGetLocalClientHeight
|
|
@@ -25,6 +28,8 @@ local getMouseFocusUnit = BlzGetMouseFocusUnit
|
|
|
25
28
|
local getUnitRealField = BlzGetUnitRealField
|
|
26
29
|
local getUnitTypeId = GetUnitTypeId
|
|
27
30
|
local getLocale = BlzGetLocale
|
|
31
|
+
local pingMinimap = PingMinimap
|
|
32
|
+
local pingMinimapEx = PingMinimapEx
|
|
28
33
|
local tableSort = table.sort
|
|
29
34
|
local tocPath = "_warscript\\IsHD.toc"
|
|
30
35
|
compiletime(function()
|
|
@@ -62,6 +67,31 @@ local LocalClient = ____exports.LocalClient
|
|
|
62
67
|
LocalClient.name = "LocalClient"
|
|
63
68
|
function LocalClient.prototype.____constructor(self)
|
|
64
69
|
end
|
|
70
|
+
function LocalClient.pingMinimap(self, x, y, duration, redOrColor, greenOrFlashy, blue, flashy)
|
|
71
|
+
if redOrColor == nil then
|
|
72
|
+
pingMinimap(x, y, duration)
|
|
73
|
+
elseif __TS__InstanceOf(redOrColor, Color) then
|
|
74
|
+
pingMinimapEx(
|
|
75
|
+
x,
|
|
76
|
+
y,
|
|
77
|
+
duration,
|
|
78
|
+
redOrColor.r,
|
|
79
|
+
redOrColor.g,
|
|
80
|
+
redOrColor.b,
|
|
81
|
+
greenOrFlashy or false
|
|
82
|
+
)
|
|
83
|
+
else
|
|
84
|
+
pingMinimapEx(
|
|
85
|
+
x,
|
|
86
|
+
y,
|
|
87
|
+
duration,
|
|
88
|
+
redOrColor,
|
|
89
|
+
greenOrFlashy,
|
|
90
|
+
blue,
|
|
91
|
+
flashy or false
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
end
|
|
65
95
|
LocalClient.locale = getLocale()
|
|
66
96
|
__TS__ObjectDefineProperty(
|
|
67
97
|
LocalClient,
|
|
@@ -1,2 +1,18 @@
|
|
|
1
1
|
local ____exports = {}
|
|
2
|
+
local animationNames = {
|
|
3
|
+
attack = true,
|
|
4
|
+
birth = true,
|
|
5
|
+
death = true,
|
|
6
|
+
decay = true,
|
|
7
|
+
dissipate = true,
|
|
8
|
+
morph = true,
|
|
9
|
+
portrait = true,
|
|
10
|
+
sleep = true,
|
|
11
|
+
spell = true,
|
|
12
|
+
stand = true,
|
|
13
|
+
walk = true
|
|
14
|
+
}
|
|
15
|
+
____exports.isAnimationName = function(value)
|
|
16
|
+
return animationNames[value] ~= nil
|
|
17
|
+
end
|
|
2
18
|
return ____exports
|
|
@@ -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
|
|
@@ -2,13 +2,18 @@
|
|
|
2
2
|
import { ModelNodeName } from "./model-node-name";
|
|
3
3
|
import { ModelNodeQualifier } from "./model-node-qualifier";
|
|
4
4
|
import { Optional } from "../../../utility/types";
|
|
5
|
+
import { EffectParameters } from "../../../core/types/effect";
|
|
5
6
|
export type AttachmentPreset = {
|
|
6
7
|
modelPath: string;
|
|
7
8
|
nodeName: ModelNodeName;
|
|
8
9
|
nodeQualifiers: ModelNodeQualifier[];
|
|
9
10
|
};
|
|
10
|
-
export type
|
|
11
|
-
|
|
11
|
+
export type EffectPresetWithParameters = AttachmentPreset & {
|
|
12
|
+
parameters?: EffectParameters;
|
|
13
|
+
};
|
|
14
|
+
export type AttachmentPresetInput<T extends AttachmentPreset = AttachmentPreset> = Optional<T, "nodeName" | "nodeQualifiers"> | string;
|
|
15
|
+
export type EffectPresetWithParametersInput = AttachmentPresetInput<EffectPresetWithParameters>;
|
|
16
|
+
export declare const toEffectPreset: (effectPresetInput: EffectPresetWithParametersInput) => EffectPresetWithParameters;
|
|
12
17
|
export declare const extractAttachmentPresetInputModelPath: (attachmentPresetInput: AttachmentPresetInput | undefined) => string;
|
|
13
18
|
export declare const extractAttachmentPresetInputNodeFQN: (attachmentPresetInput: AttachmentPresetInput | undefined) => string;
|
|
14
19
|
export declare const splitAttachmentNodeFQN: (attachmentNodeFQN: string) => LuaMultiReturn<[attachmentNodeName: ModelNodeName, attachmentNodeQualifiers: ModelNodeQualifier[]]>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ArrayJoin = ____lualib.__TS__ArrayJoin
|
|
2
3
|
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
3
4
|
local __TS__ArraySlice = ____lualib.__TS__ArraySlice
|
|
4
5
|
local ____exports = {}
|
|
5
|
-
____exports.
|
|
6
|
-
return type(
|
|
6
|
+
____exports.toEffectPreset = function(effectPresetInput)
|
|
7
|
+
return type(effectPresetInput) == "string" and ({modelPath = effectPresetInput, nodeName = "origin", nodeQualifiers = {}}) or ({modelPath = effectPresetInput.modelPath, nodeName = effectPresetInput.nodeName or "origin", nodeQualifiers = effectPresetInput.nodeQualifiers or ({}), parameters = effectPresetInput.parameters})
|
|
7
8
|
end
|
|
8
9
|
____exports.extractAttachmentPresetInputModelPath = function(attachmentPresetInput)
|
|
9
10
|
return type(attachmentPresetInput) == "string" and attachmentPresetInput or (attachmentPresetInput and attachmentPresetInput.modelPath or "")
|
|
@@ -12,7 +13,7 @@ ____exports.extractAttachmentPresetInputNodeFQN = function(attachmentPresetInput
|
|
|
12
13
|
if type(attachmentPresetInput) == "string" or attachmentPresetInput == nil then
|
|
13
14
|
return ""
|
|
14
15
|
end
|
|
15
|
-
return
|
|
16
|
+
return __TS__ArrayJoin(
|
|
16
17
|
{
|
|
17
18
|
attachmentPresetInput.nodeName,
|
|
18
19
|
table.unpack(attachmentPresetInput.nodeQualifiers or ({}))
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
export declare const enum AttackType {
|
|
3
|
-
|
|
4
|
-
NORMAL =
|
|
5
|
-
PIERCE =
|
|
6
|
-
SIEGE =
|
|
7
|
-
|
|
8
|
-
CHAOS =
|
|
9
|
-
|
|
10
|
-
HERO = "hero"
|
|
3
|
+
SPELL = 0,
|
|
4
|
+
NORMAL = 1,
|
|
5
|
+
PIERCE = 2,
|
|
6
|
+
SIEGE = 3,
|
|
7
|
+
MAGIC = 4,
|
|
8
|
+
CHAOS = 5,
|
|
9
|
+
HERO = 6
|
|
11
10
|
}
|
|
@@ -1,2 +1,44 @@
|
|
|
1
1
|
local ____exports = {}
|
|
2
|
+
local ____records = require("utility.records")
|
|
3
|
+
local invertRecord = ____records.invertRecord
|
|
4
|
+
local stringByAttackType = {
|
|
5
|
+
[1] = "normal",
|
|
6
|
+
[2] = "pierce",
|
|
7
|
+
[3] = "siege",
|
|
8
|
+
[0] = "spells",
|
|
9
|
+
[5] = "chaos",
|
|
10
|
+
[4] = "magic",
|
|
11
|
+
[6] = "hero"
|
|
12
|
+
}
|
|
13
|
+
local attackTypeByString = invertRecord(stringByAttackType)
|
|
14
|
+
local nativeByAttackType = {
|
|
15
|
+
[1] = ATTACK_TYPE_MELEE,
|
|
16
|
+
[2] = ATTACK_TYPE_PIERCE,
|
|
17
|
+
[3] = ATTACK_TYPE_SIEGE,
|
|
18
|
+
[0] = ATTACK_TYPE_NORMAL,
|
|
19
|
+
[5] = ATTACK_TYPE_CHAOS,
|
|
20
|
+
[4] = ATTACK_TYPE_MAGIC,
|
|
21
|
+
[6] = ATTACK_TYPE_HERO
|
|
22
|
+
}
|
|
23
|
+
local attackTypeByNative = invertRecord(nativeByAttackType)
|
|
24
|
+
---
|
|
25
|
+
-- @internal For use by internal systems only.
|
|
26
|
+
____exports.attackTypeToString = function(attackType)
|
|
27
|
+
return attackType ~= nil and stringByAttackType[attackType] or "unknown"
|
|
28
|
+
end
|
|
29
|
+
---
|
|
30
|
+
-- @internal For use by internal systems only.
|
|
31
|
+
____exports.stringToAttackType = function(____string)
|
|
32
|
+
return attackTypeByString[____string]
|
|
33
|
+
end
|
|
34
|
+
---
|
|
35
|
+
-- @internal For use by internal systems only.
|
|
36
|
+
____exports.attackTypeToNative = function(attackType)
|
|
37
|
+
return nativeByAttackType[attackType]
|
|
38
|
+
end
|
|
39
|
+
---
|
|
40
|
+
-- @internal For use by internal systems only.
|
|
41
|
+
____exports.nativeToAttackType = function(attackType)
|
|
42
|
+
return attackTypeByNative[attackType]
|
|
43
|
+
end
|
|
2
44
|
return ____exports
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
export declare const enum MovementType {
|
|
3
|
-
NONE =
|
|
4
|
-
|
|
5
|
-
FLY =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
AMPHIBIOUS =
|
|
3
|
+
NONE = 0,
|
|
4
|
+
FOOT = 1,
|
|
5
|
+
FLY = 2,
|
|
6
|
+
HORSE = 4,
|
|
7
|
+
HOVER = 8,
|
|
8
|
+
FLOAT = 16,
|
|
9
|
+
AMPHIBIOUS = 32
|
|
10
10
|
}
|
|
@@ -1,2 +1,24 @@
|
|
|
1
1
|
local ____exports = {}
|
|
2
|
+
local ____records = require("utility.records")
|
|
3
|
+
local invertRecord = ____records.invertRecord
|
|
4
|
+
local stringByMovementType = {
|
|
5
|
+
[0] = "",
|
|
6
|
+
[16] = "float",
|
|
7
|
+
[2] = "fly",
|
|
8
|
+
[1] = "foot",
|
|
9
|
+
[4] = "horse",
|
|
10
|
+
[8] = "hover",
|
|
11
|
+
[32] = "amph"
|
|
12
|
+
}
|
|
13
|
+
local movementTypeByString = invertRecord(stringByMovementType)
|
|
14
|
+
---
|
|
15
|
+
-- @internal For use by internal systems only.
|
|
16
|
+
____exports.movementTypeToString = function(movementType)
|
|
17
|
+
return stringByMovementType[movementType]
|
|
18
|
+
end
|
|
19
|
+
---
|
|
20
|
+
-- @internal For use by internal systems only.
|
|
21
|
+
____exports.stringToMovementType = function(____string)
|
|
22
|
+
return movementTypeByString[____string] or 0
|
|
23
|
+
end
|
|
2
24
|
return ____exports
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
export declare const enum SoundEax {
|
|
3
|
+
DEFAULT = "DefaultEAXON",
|
|
4
|
+
ACKNOWLEDGEMENTS = "HeroAcksEAX",
|
|
5
|
+
ENVIRONMENT = "DoodadsEAX",
|
|
6
|
+
DRUMS = "KotoDrumsEAX",
|
|
7
|
+
ATTACKS = "CombatSoundsEAX",
|
|
8
|
+
ABILITIES = "SpellsEAX",
|
|
9
|
+
MISSILES = "MissilesEAX"
|
|
10
|
+
}
|
|
@@ -12,5 +12,5 @@ export type TechTreeDependency = {
|
|
|
12
12
|
level: number;
|
|
13
13
|
};
|
|
14
14
|
export type TechTreeDependencyInput = TechTreeDependency | UnitTypeId | UpgradeId;
|
|
15
|
-
export declare const extractTechTreeDependencyInputObjectDataEntryId: (techTreeDependencyInput: TechTreeDependencyInput) => ObjectDataEntryId;
|
|
15
|
+
export declare const extractTechTreeDependencyInputObjectDataEntryId: (techTreeDependencyInput: TechTreeDependencyInput) => ObjectDataEntryId & number;
|
|
16
16
|
export declare const extractTechTreeDependencyInputLevel: (techTreeDependencyInput: TechTreeDependencyInput) => number;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
____exports.UnitAttribute = UnitAttribute or ({})
|
|
3
|
+
____exports.UnitAttribute.STRENGTH = 1
|
|
4
|
+
____exports.UnitAttribute[____exports.UnitAttribute.STRENGTH] = "STRENGTH"
|
|
5
|
+
____exports.UnitAttribute.INTELLIGENCE = 2
|
|
6
|
+
____exports.UnitAttribute[____exports.UnitAttribute.INTELLIGENCE] = "INTELLIGENCE"
|
|
7
|
+
____exports.UnitAttribute.AGILITY = 3
|
|
8
|
+
____exports.UnitAttribute[____exports.UnitAttribute.AGILITY] = "AGILITY"
|
|
9
|
+
return ____exports
|
|
@@ -7,4 +7,6 @@ export declare class BerserkAbilityType extends AbilityType {
|
|
|
7
7
|
set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
8
8
|
get attackSpeedIncreaseFactor(): number[];
|
|
9
9
|
set attackSpeedIncreaseFactor(attackSpeedIncreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
10
|
+
get receivedDamageIncreaseFactor(): number[];
|
|
11
|
+
set receivedDamageIncreaseFactor(receivedDamageIncreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
10
12
|
}
|
|
@@ -36,4 +36,17 @@ __TS__SetDescriptor(
|
|
|
36
36
|
},
|
|
37
37
|
true
|
|
38
38
|
)
|
|
39
|
+
__TS__SetDescriptor(
|
|
40
|
+
BerserkAbilityType.prototype,
|
|
41
|
+
"receivedDamageIncreaseFactor",
|
|
42
|
+
{
|
|
43
|
+
get = function(self)
|
|
44
|
+
return self:getNumberLevelField("bsk3")
|
|
45
|
+
end,
|
|
46
|
+
set = function(self, receivedDamageIncreaseFactor)
|
|
47
|
+
self:setNumberLevelField("bsk3", receivedDamageIncreaseFactor)
|
|
48
|
+
end
|
|
49
|
+
},
|
|
50
|
+
true
|
|
51
|
+
)
|
|
39
52
|
return ____exports
|
|
@@ -6,6 +6,8 @@ local __TS__New = ____lualib.__TS__New
|
|
|
6
6
|
local ____exports = {}
|
|
7
7
|
local ____channel = require("engine.object-data.entry.ability-type.channel")
|
|
8
8
|
local ChannelAbilityType = ____channel.ChannelAbilityType
|
|
9
|
+
local ____animation_2Dname = require("engine.object-data.auxiliary.animation-name")
|
|
10
|
+
local isAnimationName = ____animation_2Dname.isAnimationName
|
|
9
11
|
local ____order_2Dtype_2Dstring_2Did_2Dfactory = require("engine.object-data.utility.order-type-string-id-factory")
|
|
10
12
|
local orderTypeStringIdFactory = ____order_2Dtype_2Dstring_2Did_2Dfactory.orderTypeStringIdFactory
|
|
11
13
|
local ____timer = require("core.types.timer")
|
|
@@ -211,7 +213,16 @@ for abilityTypeId, usesAttackAnimation in pairs(postcompile(function()
|
|
|
211
213
|
for abilityTypeId, usesAttackAnimation in pairs(usesAttackAnimationByAbilityTypeId) do
|
|
212
214
|
if usesAttackAnimation then
|
|
213
215
|
local abilityType = checkNotNull(____exports.BlankConfigurableAbilityType:of(abilityTypeId))
|
|
214
|
-
abilityType.channelingAnimation
|
|
216
|
+
if isAnimationName(abilityType.channelingAnimation[1]) then
|
|
217
|
+
if abilityType.channelingAnimation[1] ~= "attack" then
|
|
218
|
+
abilityType.channelingAnimation = {"attack"}
|
|
219
|
+
end
|
|
220
|
+
else
|
|
221
|
+
abilityType.channelingAnimation = {
|
|
222
|
+
"attack",
|
|
223
|
+
table.unpack(abilityType.channelingAnimation)
|
|
224
|
+
}
|
|
225
|
+
end
|
|
215
226
|
end
|
|
216
227
|
end
|
|
217
228
|
return usesAttackAnimationByAbilityTypeId
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityType, AbilityTypeId } from "../ability-type";
|
|
3
|
+
import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
|
|
4
|
+
export declare class CarrionSwarmAbilityType extends AbilityType {
|
|
5
|
+
static readonly BASE_ID: AbilityTypeId;
|
|
6
|
+
get damagePerTarget(): number[];
|
|
7
|
+
set damagePerTarget(damagePerTarget: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
8
|
+
get maximumTotalDamage(): number[];
|
|
9
|
+
set maximumTotalDamage(maximumTotalDamage: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
10
|
+
get distance(): number[];
|
|
11
|
+
set distance(distance: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
12
|
+
get finalAreaOfEffect(): number[];
|
|
13
|
+
set finalAreaOfEffect(finalAreaOfEffect: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
14
|
+
}
|