warscript 0.0.1-dev.5abc199 → 0.0.1-dev.5c35450
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/core/types/frame.lua +47 -1
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/sound.lua +1 -1
- package/engine/behaviour/ability/damage.d.ts +3 -0
- package/engine/behaviour/ability/damage.lua +8 -2
- package/engine/behaviour/ability/emulate-impact.lua +5 -4
- package/engine/behaviour/ability.d.ts +5 -5
- package/engine/buff.d.ts +41 -13
- package/engine/buff.lua +222 -116
- package/engine/internal/ability.lua +25 -15
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item.d.ts +0 -4
- package/engine/internal/item.lua +0 -37
- 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/unit/bonus.d.ts +4 -0
- package/engine/internal/unit/bonus.lua +23 -3
- package/engine/internal/unit+bonus.lua +3 -3
- package/engine/local-client.d.ts +5 -0
- package/engine/local-client.lua +56 -1
- 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.lua +4 -0
- package/engine/object-data/entry/buff-type/applicable.lua +113 -109
- package/engine/object-field/ability.lua +2 -2
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field.d.ts +1 -1
- package/engine/object-field.lua +9 -7
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/lualib_bundle.lua +1 -1
- package/math.d.ts +2 -0
- package/math.lua +14 -0
- package/objutil/object.lua +1 -1
- package/operation.lua +1 -4
- package/package.json +4 -4
- package/utility/linked-map.d.ts +2 -1
- package/utility/linked-map.lua +6 -0
- package/utility/linked-set.d.ts +1 -0
- package/utility/linked-set.lua +6 -0
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- /package/engine/internal/object-data/{armor-increase.d.ts → armor-bonus.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/core/types/frame.lua
CHANGED
|
@@ -24,11 +24,23 @@ local frameCoordinatesToWorld = ____playerCamera.frameCoordinatesToWorld
|
|
|
24
24
|
local worldCoordinatesToFrame = ____playerCamera.worldCoordinatesToFrame
|
|
25
25
|
local ____get_2Dterrain_2Dz = require("engine.internal.misc.get-terrain-z")
|
|
26
26
|
local getTerrainZ = ____get_2Dterrain_2Dz.getTerrainZ
|
|
27
|
+
local ____lua_2Dsets = require("utility.lua-sets")
|
|
28
|
+
local mutableLuaSet = ____lua_2Dsets.mutableLuaSet
|
|
29
|
+
local ____socket = require("net.socket")
|
|
30
|
+
local Socket = ____socket.Socket
|
|
31
|
+
local ____lua_2Dmaps = require("utility.lua-maps")
|
|
32
|
+
local getOrPut = ____lua_2Dmaps.getOrPut
|
|
33
|
+
local luaMapInvert = ____lua_2Dmaps.luaMapInvert
|
|
34
|
+
local luaMapOf = ____lua_2Dmaps.luaMapOf
|
|
35
|
+
local mutableLuaMap = ____lua_2Dmaps.mutableLuaMap
|
|
27
36
|
local frameClick = BlzFrameClick
|
|
28
37
|
local frameGetEnable = BlzFrameGetEnable
|
|
29
38
|
local frameIsVisible = BlzFrameIsVisible
|
|
30
39
|
local frameSetEnable = BlzFrameSetEnable
|
|
31
40
|
local frameSetScale = BlzFrameSetScale
|
|
41
|
+
local getHandleId = GetHandleId
|
|
42
|
+
local getOriginFrame = BlzGetOriginFrame
|
|
43
|
+
local location = Location
|
|
32
44
|
local ____rawget = _G.rawget
|
|
33
45
|
local rawset = _G.rawset
|
|
34
46
|
local invoke = Event.invoke
|
|
@@ -130,6 +142,30 @@ do
|
|
|
130
142
|
FramePoint.BOTTOM_RIGHT = FRAMEPOINT_BOTTOMRIGHT
|
|
131
143
|
end
|
|
132
144
|
local tooltipByFrame = setmetatable({}, {__mode = "k"})
|
|
145
|
+
local keyByAsyncInitOriginFrameType = luaMapOf(ORIGIN_FRAME_PORTRAIT_HP_TEXT, "hp", ORIGIN_FRAME_PORTRAIT_MANA_TEXT, "mana")
|
|
146
|
+
local asyncInitOriginFrameTypeByKey = luaMapInvert(keyByAsyncInitOriginFrameType)
|
|
147
|
+
local seenAsyncInitOriginFrameTypes = mutableLuaSet()
|
|
148
|
+
local seenAsyncInitOriginFrameTypesSocket = __TS__New(Socket)
|
|
149
|
+
local seenPlayersByAsyncInitOriginFrameType = mutableLuaMap()
|
|
150
|
+
seenAsyncInitOriginFrameTypesSocket.onMessage:addListener(function(player, key)
|
|
151
|
+
local asyncInitOriginFrameType = asyncInitOriginFrameTypeByKey[key]
|
|
152
|
+
if asyncInitOriginFrameType ~= nil then
|
|
153
|
+
getOrPut(seenPlayersByAsyncInitOriginFrameType, asyncInitOriginFrameType, mutableLuaSet)[player] = true
|
|
154
|
+
end
|
|
155
|
+
end)
|
|
156
|
+
local function haveAllPlayersSeenAsyncInitOriginFrameType(frame)
|
|
157
|
+
local players = seenPlayersByAsyncInitOriginFrameType[frame]
|
|
158
|
+
if players == nil then
|
|
159
|
+
return false
|
|
160
|
+
end
|
|
161
|
+
for ____, player in ipairs(Player.all) do
|
|
162
|
+
if player.isUser and player.isPlaying and not (players[player] ~= nil) then
|
|
163
|
+
return false
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
keyByAsyncInitOriginFrameType[frame] = nil
|
|
167
|
+
return true
|
|
168
|
+
end
|
|
133
169
|
____exports.Frame = __TS__Class()
|
|
134
170
|
local Frame = ____exports.Frame
|
|
135
171
|
Frame.name = "Frame"
|
|
@@ -308,7 +344,17 @@ function Frame.byOrigin(self, frameType, index)
|
|
|
308
344
|
if index == nil then
|
|
309
345
|
index = 0
|
|
310
346
|
end
|
|
311
|
-
|
|
347
|
+
local frame = getOriginFrame(frameType, index)
|
|
348
|
+
local asyncInitOriginFrameTypeKey = keyByAsyncInitOriginFrameType[frameType]
|
|
349
|
+
if index == 0 and asyncInitOriginFrameTypeKey ~= nil and not haveAllPlayersSeenAsyncInitOriginFrameType(frameType) then
|
|
350
|
+
if getHandleId(frame) == 0 or seenAsyncInitOriginFrameTypes[frameType] ~= nil then
|
|
351
|
+
location(0, 0)
|
|
352
|
+
else
|
|
353
|
+
seenAsyncInitOriginFrameTypes[frameType] = true
|
|
354
|
+
seenAsyncInitOriginFrameTypesSocket:send(asyncInitOriginFrameTypeKey)
|
|
355
|
+
end
|
|
356
|
+
end
|
|
357
|
+
return self:of(frame)
|
|
312
358
|
end
|
|
313
359
|
Frame.GAME_UI = ____exports.Frame:byOrigin(ORIGIN_FRAME_GAME_UI)
|
|
314
360
|
Frame.CONSOLE_UI = ____exports.Frame:byOrigin(ORIGIN_FRAME_SIMPLE_UI_PARENT)
|
package/core/types/item.d.ts
CHANGED
package/core/types/item.lua
CHANGED
package/core/types/sound.lua
CHANGED
|
@@ -22,7 +22,7 @@ local setSoundPlayPosition = SetSoundPlayPosition
|
|
|
22
22
|
local stopSound = StopSound
|
|
23
23
|
local attachSoundToUnit = AttachSoundToUnit
|
|
24
24
|
local killSoundWhenDone = KillSoundWhenDone
|
|
25
|
-
____exports.SoundChannel = SoundChannel or ({})
|
|
25
|
+
____exports.SoundChannel = ____exports.SoundChannel or ({})
|
|
26
26
|
____exports.SoundChannel.General = 0
|
|
27
27
|
____exports.SoundChannel[____exports.SoundChannel.General] = "General"
|
|
28
28
|
____exports.SoundChannel.UnitSelection = 1
|
|
@@ -25,8 +25,11 @@ export declare abstract class DamageAbilityBehavior<T extends DamageAbilityBehav
|
|
|
25
25
|
protected readonly damage: AbilityDependentValue<number>;
|
|
26
26
|
protected readonly parameters?: T | undefined;
|
|
27
27
|
protected constructor(ability: Ability, damage: AbilityDependentValue<number>, parameters?: T | undefined);
|
|
28
|
+
protected precalculatedDamage?: number;
|
|
28
29
|
protected calculateDamage(caster: Unit): number;
|
|
29
30
|
protected damageTarget(caster: Unit, target: Widget, damage?: number): void;
|
|
31
|
+
onChannelingStart(caster: Unit): void;
|
|
32
|
+
onStop(): void;
|
|
30
33
|
}
|
|
31
34
|
export declare class DamageSelfAbilityBehavior extends DamageAbilityBehavior {
|
|
32
35
|
constructor(ability: Ability, damage: AbilityDependentValue<number>, parameters?: DamageAbilityBehaviorParameters);
|
|
@@ -39,7 +39,7 @@ function DamageAbilityBehavior.prototype.damageTarget(self, caster, target, dama
|
|
|
39
39
|
local parameters = self.parameters
|
|
40
40
|
caster:damageTarget(
|
|
41
41
|
target,
|
|
42
|
-
damage or self:calculateDamage(caster),
|
|
42
|
+
damage or self.precalculatedDamage or self:calculateDamage(caster),
|
|
43
43
|
nil,
|
|
44
44
|
nil,
|
|
45
45
|
self:resolveCurrentAbilityDependentValue(parameters and parameters.attackType),
|
|
@@ -48,6 +48,12 @@ function DamageAbilityBehavior.prototype.damageTarget(self, caster, target, dama
|
|
|
48
48
|
self:resolveCurrentAbilityDependentValue(parameters and parameters.metadata)
|
|
49
49
|
)
|
|
50
50
|
end
|
|
51
|
+
function DamageAbilityBehavior.prototype.onChannelingStart(self, caster)
|
|
52
|
+
self.precalculatedDamage = self:calculateDamage(caster)
|
|
53
|
+
end
|
|
54
|
+
function DamageAbilityBehavior.prototype.onStop(self)
|
|
55
|
+
self.precalculatedDamage = nil
|
|
56
|
+
end
|
|
51
57
|
____exports.DamageSelfAbilityBehavior = __TS__Class()
|
|
52
58
|
local DamageSelfAbilityBehavior = ____exports.DamageSelfAbilityBehavior
|
|
53
59
|
DamageSelfAbilityBehavior.name = "DamageSelfAbilityBehavior"
|
|
@@ -83,7 +89,7 @@ function DamageAreaAbilityBehavior.prototype.damageArea(self, caster, x, y)
|
|
|
83
89
|
y,
|
|
84
90
|
self:resolveCurrentAbilityDependentValue(parameters and parameters.areaOfEffect or AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD)
|
|
85
91
|
)
|
|
86
|
-
local damage = self:calculateDamage(caster)
|
|
92
|
+
local damage = self.precalculatedDamage or self:calculateDamage(caster)
|
|
87
93
|
local maximumDamage = self:resolveCurrentAbilityDependentValue(parameters and parameters.maximumDamage or 0)
|
|
88
94
|
if maximumDamage ~= 0 and damage > maximumDamage then
|
|
89
95
|
damage = maximumDamage / #targets
|
|
@@ -10,9 +10,6 @@ local Unit = ____unit.Unit
|
|
|
10
10
|
local ____ability = require("engine.standard.fields.ability")
|
|
11
11
|
local COOLDOWN_ABILITY_FLOAT_LEVEL_FIELD = ____ability.COOLDOWN_ABILITY_FLOAT_LEVEL_FIELD
|
|
12
12
|
local MANA_COST_ABILITY_INTEGER_LEVEL_FIELD = ____ability.MANA_COST_ABILITY_INTEGER_LEVEL_FIELD
|
|
13
|
-
local ____math = require("math")
|
|
14
|
-
local max = ____math.max
|
|
15
|
-
local MINIMUM_POSITIVE_NORMALIZED_FLOAT = ____math.MINIMUM_POSITIVE_NORMALIZED_FLOAT
|
|
16
13
|
local ____sound = require("core.types.sound")
|
|
17
14
|
local Sound3D = ____sound.Sound3D
|
|
18
15
|
local SoundSettings = ____sound.SoundSettings
|
|
@@ -31,7 +28,11 @@ function EmulateImpactAbilityBehavior.prototype.emulateImpact(self, caster)
|
|
|
31
28
|
return false
|
|
32
29
|
end
|
|
33
30
|
caster.mana = caster.mana - manaCost
|
|
34
|
-
|
|
31
|
+
if cooldown == 0 then
|
|
32
|
+
self.ability:interruptCast()
|
|
33
|
+
else
|
|
34
|
+
self.ability.cooldownRemaining = cooldown
|
|
35
|
+
end
|
|
35
36
|
self:flashCasterEffect(caster)
|
|
36
37
|
local soundPresetId = self.ability:getField(ABILITY_SF_EFFECT_SOUND)
|
|
37
38
|
if soundPresetId ~= "" then
|
|
@@ -26,11 +26,11 @@ export declare abstract class AbilityBehavior<Parameters extends {
|
|
|
26
26
|
get unit(): Unit | undefined;
|
|
27
27
|
protected resolveCurrentAbilityDependentValue<T extends boolean | number | string>(value: AbilityDependentValue<T>): T;
|
|
28
28
|
protected resolveCurrentAbilityDependentValue<T extends boolean | number | string>(value?: AbilityDependentValue<T>): T | undefined;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
flashCasterEffect(widget: Widget, ...parametersOrDuration: [parameters?: EffectParameters] | [duration?: number, parameters?: EffectParameters]): void;
|
|
30
|
+
flashTargetEffect(widget: Widget, ...parametersOrDuration: [parameters?: EffectParameters] | [duration?: number, parameters?: EffectParameters]): void;
|
|
31
|
+
flashAreaEffect(x: number, y: number, ...parametersOrDuration: [parameters?: EffectParameters] | [duration?: number, parameters?: EffectParameters]): void;
|
|
32
|
+
flashEffect(x: number, y: number, ...parametersOrDuration: [parameters?: EffectParameters] | [duration?: number, parameters?: EffectParameters]): void;
|
|
33
|
+
flashSpecialEffect(...args: [
|
|
34
34
|
...pointOrWidget: [x: number, y: number] | [widget: Widget],
|
|
35
35
|
...parametersOrDuration: [parameters?: EffectParameters] | [duration?: number, parameters?: EffectParameters]
|
|
36
36
|
]): void;
|
package/engine/buff.d.ts
CHANGED
|
@@ -56,7 +56,8 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
56
56
|
damageIncrease?: NumberParameterValueType;
|
|
57
57
|
damageIncreaseFactor?: NumberParameterValueType;
|
|
58
58
|
armorIncrease?: NumberParameterValueType;
|
|
59
|
-
|
|
59
|
+
maxHealthIncrease?: NumberParameterValueType;
|
|
60
|
+
maxManaIncrease?: NumberParameterValueType;
|
|
60
61
|
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
61
62
|
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
62
63
|
manaRegenerationRateIncreaseFactor?: NumberParameterValueType;
|
|
@@ -79,6 +80,9 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
79
80
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
80
81
|
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
81
82
|
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
83
|
+
absorbedDamageFactor?: NumberParameterValueType;
|
|
84
|
+
maximumDamageAbsorbed?: NumberParameterValueType;
|
|
85
|
+
destroysOnMaximumDamageAbsorbed?: BooleanParameterValueType;
|
|
82
86
|
damageOnExpiration?: NumberParameterValueType;
|
|
83
87
|
healingOnExpiration?: NumberParameterValueType;
|
|
84
88
|
killsOnExpiration?: BooleanParameterValueType;
|
|
@@ -122,16 +126,20 @@ declare const enum BuffPropertyKey {
|
|
|
122
126
|
MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 132,
|
|
123
127
|
DAMAGE_RECEIVED_EVENT_COUNT = 133,
|
|
124
128
|
MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 134,
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
129
|
+
ABSORBED_DAMAGE_FACTOR = 135,
|
|
130
|
+
MAXIMUM_DAMAGE_ABSORBED = 136,
|
|
131
|
+
DAMAGE_ABSORBED = 137,
|
|
132
|
+
DESTROYS_ON_MAXIMUM_DAMAGE_ABSORBED = 138,
|
|
133
|
+
TURNS_INTO_GHOST = 139,
|
|
134
|
+
STUNS = 140,
|
|
135
|
+
IGNORES_STUN_IMMUNITY = 141,
|
|
136
|
+
DISABLES_AUTO_ATTACK = 142,
|
|
137
|
+
PROVIDES_INVULNERABILITY = 143,
|
|
138
|
+
KILLS_ON_EXPIRATION = 144,
|
|
139
|
+
EXPLODES_ON_EXPIRATION = 145,
|
|
140
|
+
MISS_PROBABILITY = 146,
|
|
141
|
+
ABILITY_COOLDOWN_FACTOR = 147,
|
|
142
|
+
ABILITY_COOLDOWN_MODIFIER = 148
|
|
135
143
|
}
|
|
136
144
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
137
145
|
LEAST_DURATION = 0
|
|
@@ -189,6 +197,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
189
197
|
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
190
198
|
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
191
199
|
private [BuffPropertyKey.DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
200
|
+
private [BuffPropertyKey.ABSORBED_DAMAGE_FACTOR]?;
|
|
201
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_ABSORBED]?;
|
|
202
|
+
private [BuffPropertyKey.DAMAGE_ABSORBED]?;
|
|
203
|
+
private [BuffPropertyKey.DESTROYS_ON_MAXIMUM_DAMAGE_ABSORBED]?;
|
|
192
204
|
private [BuffPropertyKey.TURNS_INTO_GHOST]?;
|
|
193
205
|
private [BuffPropertyKey.STUNS]?;
|
|
194
206
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
@@ -203,10 +215,11 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
203
215
|
readonly typeId: ApplicableBuffTypeId;
|
|
204
216
|
readonly polarity: BuffPolarity;
|
|
205
217
|
readonly resistanceType: BuffResistanceType;
|
|
206
|
-
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any :
|
|
218
|
+
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any : AdditionalParameters extends Record<PropertyKey, never> ? undefined : {
|
|
207
219
|
[K in keyof Omit<AdditionalParameters, keyof BuffParameters>]: AdditionalParameters[K] extends AbilityDependentValue<infer T> ? T : AdditionalParameters[K];
|
|
208
220
|
};
|
|
209
221
|
private readonly handle;
|
|
222
|
+
readonly previousBuff?: Buff;
|
|
210
223
|
private _timer?;
|
|
211
224
|
private readonly _level?;
|
|
212
225
|
private readonly _spellStealPriority?;
|
|
@@ -242,6 +255,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
242
255
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
243
256
|
get armorIncrease(): number;
|
|
244
257
|
set armorIncrease(armorIncrease: number);
|
|
258
|
+
get maxHealthIncrease(): number;
|
|
259
|
+
set maxHealthIncrease(maxHealthIncrease: number);
|
|
260
|
+
get maxManaIncrease(): number;
|
|
261
|
+
set maxManaIncrease(maxManaIncrease: number);
|
|
245
262
|
get turnsIntoGhost(): boolean;
|
|
246
263
|
set turnsIntoGhost(turnsIntoGhost: boolean);
|
|
247
264
|
get stuns(): boolean;
|
|
@@ -276,6 +293,13 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
276
293
|
set duration(duration: number);
|
|
277
294
|
get remainingDuration(): number;
|
|
278
295
|
set remainingDuration(remainingDuration: number);
|
|
296
|
+
get absorbedDamageFactor(): number;
|
|
297
|
+
set absorbedDamageFactor(absorbedDamageFactor: number);
|
|
298
|
+
get maximumDamageAbsorbed(): number;
|
|
299
|
+
set maximumDamageAbsorbed(maximumDamageAbsorbed: number);
|
|
300
|
+
get damageAbsorbed(): number;
|
|
301
|
+
get destroysOnMaximumDamageAbsorbed(): boolean;
|
|
302
|
+
set destroysOnMaximumDamageAbsorbed(destroysOnMaximumDamageAbsorbed: boolean);
|
|
279
303
|
get abilityCooldownFactor(): number;
|
|
280
304
|
set abilityCooldownFactor(abilityCooldownFactor: number);
|
|
281
305
|
onAbilityGained(ability: Ability): void;
|
|
@@ -284,7 +308,11 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
284
308
|
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
285
309
|
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
286
310
|
]): void;
|
|
287
|
-
flashSpecialEffect(...parameters: [
|
|
311
|
+
flashSpecialEffect(...parameters: [
|
|
312
|
+
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
313
|
+
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
314
|
+
]): void;
|
|
315
|
+
private flash;
|
|
288
316
|
expire(): void;
|
|
289
317
|
protected onCreate(): void;
|
|
290
318
|
protected onDestroy(): Destructor;
|