warscript 0.0.1-dev.f074376 → 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/core/types/sound.lua +1 -1
- package/engine/behaviour/ability.d.ts +9 -5
- package/engine/behaviour/ability.lua +29 -0
- package/engine/behaviour/unit/stun-immunity.d.ts +1 -1
- package/engine/behaviour/unit/stun-immunity.lua +5 -4
- package/engine/behaviour/unit.lua +13 -3
- package/engine/buff.d.ts +52 -19
- package/engine/buff.lua +266 -141
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- 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.lua +1 -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 +23 -3
- package/engine/internal/unit/fly-height.lua +3 -3
- 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/range-event.d.ts +12 -0
- package/engine/internal/unit/range-event.lua +90 -0
- package/engine/internal/unit/scale.lua +3 -3
- package/engine/internal/unit+bonus.lua +3 -3
- package/engine/internal/unit-missile-launch.lua +12 -5
- package/engine/internal/unit.d.ts +2 -9
- package/engine/internal/unit.lua +79 -121
- 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.lua +1 -1
- 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 +84 -4
- package/engine/object-data/entry/buff-type/applicable.lua +113 -109
- package/engine/object-field/ability.lua +2 -2
- package/engine/object-field.d.ts +3 -1
- package/engine/object-field.lua +42 -18
- package/engine/random.d.ts +1 -0
- package/engine/random.lua +8 -0
- package/engine/standard/fields/unit.d.ts +11 -6
- package/engine/standard/fields/unit.lua +12 -5
- package/engine/unit.d.ts +3 -0
- package/engine/unit.lua +3 -0
- package/lualib_bundle.lua +118 -47
- package/objutil/buff.lua +9 -7
- package/objutil/object.lua +1 -1
- package/operation.lua +23 -17
- package/package.json +5 -5
- package/patch-lua.lua +15 -0
- package/utility/linked-map.d.ts +34 -0
- package/utility/linked-map.lua +101 -0
- package/utility/linked-set.d.ts +2 -1
- package/utility/linked-set.lua +21 -0
- package/utility/records.lua +20 -1
- /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/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
|
|
@@ -26,16 +26,20 @@ 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;
|
|
37
37
|
private static MissileLaunchConfig;
|
|
38
38
|
private get missileLaunchConfig();
|
|
39
|
+
protected launchMissile(source: Unit, ...args: [
|
|
40
|
+
...pointOrWidget: [x: number, y: number] | [widget: Unit /** TODO: support Widget */],
|
|
41
|
+
...parameters: NonNullable<Parameters["missileParameters"]>
|
|
42
|
+
]): void;
|
|
39
43
|
protected onCreate(): void;
|
|
40
44
|
onValueChange(_value: ReadonlySubscribableAbilityDependentValue<string | number | boolean>): void;
|
|
41
45
|
onMissileArrival(...parameters: NonNullable<Parameters["missileParameters"]>): void;
|
|
@@ -30,7 +30,14 @@ local ____ability = require("engine.object-field.ability")
|
|
|
30
30
|
local AbilityField = ____ability.AbilityField
|
|
31
31
|
local AbilityLevelField = ____ability.AbilityLevelField
|
|
32
32
|
local resolveCurrentAbilityDependentValue = ____ability.resolveCurrentAbilityDependentValue
|
|
33
|
+
local ____missile = require("core.types.missile")
|
|
34
|
+
local Missile = ____missile.Missile
|
|
33
35
|
local createBehaviorFunctionsByAbilityTypeId = {}
|
|
36
|
+
local function invokeOnMissileArrival(_missile, success, abilityBehavior, ...)
|
|
37
|
+
if success then
|
|
38
|
+
abilityBehavior:onMissileArrival(...)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
34
41
|
local exclusiveOnImpactHandlerAbilityBehaviorByAbility = setmetatable({}, {__mode = "k"})
|
|
35
42
|
local function createUnitEventListener(key)
|
|
36
43
|
return function(unit, ability, ...)
|
|
@@ -160,6 +167,28 @@ function AbilityBehavior.prototype.flashSpecialEffect(self, xOrWidget, yOrParame
|
|
|
160
167
|
)
|
|
161
168
|
end
|
|
162
169
|
end
|
|
170
|
+
function AbilityBehavior.prototype.launchMissile(self, source, xOrWidget, yOrParameter, ...)
|
|
171
|
+
if type(xOrWidget) ~= "number" then
|
|
172
|
+
Missile:launch(
|
|
173
|
+
self.missileLaunchConfig,
|
|
174
|
+
source,
|
|
175
|
+
xOrWidget,
|
|
176
|
+
invokeOnMissileArrival,
|
|
177
|
+
self,
|
|
178
|
+
yOrParameter,
|
|
179
|
+
...
|
|
180
|
+
)
|
|
181
|
+
else
|
|
182
|
+
Missile:launch(
|
|
183
|
+
self.missileLaunchConfig,
|
|
184
|
+
source,
|
|
185
|
+
vec2(xOrWidget, yOrParameter),
|
|
186
|
+
invokeOnMissileArrival,
|
|
187
|
+
self,
|
|
188
|
+
...
|
|
189
|
+
)
|
|
190
|
+
end
|
|
191
|
+
end
|
|
163
192
|
function AbilityBehavior.prototype.onCreate(self)
|
|
164
193
|
end
|
|
165
194
|
function AbilityBehavior.prototype.onValueChange(self, _value)
|
|
@@ -7,7 +7,7 @@ import { Destructor } from "../../../destroyable";
|
|
|
7
7
|
import { BehaviorPriority } from "../../behavior";
|
|
8
8
|
export type StunImmunityUnitBehaviorParameters = {
|
|
9
9
|
readonly priority?: BehaviorPriority;
|
|
10
|
-
buffTypeIds?:
|
|
10
|
+
buffTypeIds?: readonly BuffTypeId[];
|
|
11
11
|
textTagPreset?: TextTagPreset;
|
|
12
12
|
textTagText?: string;
|
|
13
13
|
additionalAction?: (this: void, unit: Unit) => void;
|
|
@@ -8,14 +8,15 @@ local UnitBehavior = ____unit.UnitBehavior
|
|
|
8
8
|
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
9
9
|
local AbilityType = ____ability_2Dtype.AbilityType
|
|
10
10
|
local ____arrays = require("utility.arrays")
|
|
11
|
-
local
|
|
11
|
+
local distinct = ____arrays.distinct
|
|
12
|
+
local flatMap = ____arrays.flatMap
|
|
12
13
|
local map = ____arrays.map
|
|
13
14
|
local ____text_2Dtag = require("engine.text-tag")
|
|
14
15
|
local TextTag = ____text_2Dtag.TextTag
|
|
15
16
|
local ____timer = require("core.types.timer")
|
|
16
17
|
local Timer = ____timer.Timer
|
|
17
18
|
local DEFAULT_BUFF_TYPE_IDS = postcompile(function()
|
|
18
|
-
return
|
|
19
|
+
return distinct(flatMap(
|
|
19
20
|
AbilityType:getAllByBaseIds(map({
|
|
20
21
|
"AHtb",
|
|
21
22
|
"AHbh",
|
|
@@ -41,11 +42,11 @@ local DEFAULT_BUFF_TYPE_IDS = postcompile(function()
|
|
|
41
42
|
"ACcb"
|
|
42
43
|
}, fourCC)),
|
|
43
44
|
function(abilityType) return __TS__ArrayFlat(abilityType.buffTypeIds) end
|
|
44
|
-
)
|
|
45
|
+
))
|
|
45
46
|
end)
|
|
46
47
|
local function process(behavior)
|
|
47
48
|
local hasRemovedBuffs = false
|
|
48
|
-
for buffTypeId in
|
|
49
|
+
for ____, buffTypeId in ipairs(behavior.parameters.buffTypeIds or DEFAULT_BUFF_TYPE_IDS) do
|
|
49
50
|
hasRemovedBuffs = hasRemovedBuffs or behavior.unit:removeBuff(buffTypeId)
|
|
50
51
|
end
|
|
51
52
|
if hasRemovedBuffs then
|
|
@@ -21,6 +21,8 @@ local ____bonus = require("engine.internal.unit.bonus")
|
|
|
21
21
|
local addOrUpdateOrRemoveUnitBonus = ____bonus.addOrUpdateOrRemoveUnitBonus
|
|
22
22
|
local getUnitBonus = ____bonus.getUnitBonus
|
|
23
23
|
local removeUnitBonus = ____bonus.removeUnitBonus
|
|
24
|
+
local ____linked_2Dmap = require("utility.linked-map")
|
|
25
|
+
local LinkedMap = ____linked_2Dmap.LinkedMap
|
|
24
26
|
local safeCall = warpack.safeCall
|
|
25
27
|
local createBehaviorFunctionsByUnitTypeId = {}
|
|
26
28
|
local behaviorsByOwningPlayerEvent = {}
|
|
@@ -79,16 +81,24 @@ function UnitBehavior.prototype.onDestroy(self)
|
|
|
79
81
|
end
|
|
80
82
|
function UnitBehavior.prototype.getUnitBonus(self, bonusType)
|
|
81
83
|
local ____opt_10 = self._bonusIdByBonusType
|
|
82
|
-
local bonusId = ____opt_10 and ____opt_10
|
|
84
|
+
local bonusId = ____opt_10 and ____opt_10:get(bonusType)
|
|
83
85
|
return bonusId == nil and 0 or getUnitBonus(self.object, bonusType, bonusId)
|
|
84
86
|
end
|
|
85
87
|
function UnitBehavior.prototype.addOrUpdateOrRemoveUnitBonus(self, bonusType, value)
|
|
86
88
|
local bonusIdByBonusType = self._bonusIdByBonusType
|
|
87
89
|
if bonusIdByBonusType == nil then
|
|
88
|
-
bonusIdByBonusType =
|
|
90
|
+
bonusIdByBonusType = __TS__New(LinkedMap)
|
|
89
91
|
self._bonusIdByBonusType = bonusIdByBonusType
|
|
90
92
|
end
|
|
91
|
-
bonusIdByBonusType
|
|
93
|
+
bonusIdByBonusType:put(
|
|
94
|
+
bonusType,
|
|
95
|
+
addOrUpdateOrRemoveUnitBonus(
|
|
96
|
+
self.object,
|
|
97
|
+
bonusType,
|
|
98
|
+
bonusIdByBonusType:get(bonusType),
|
|
99
|
+
value
|
|
100
|
+
)
|
|
101
|
+
)
|
|
92
102
|
end
|
|
93
103
|
function UnitBehavior.prototype.registerOwningPlayerEvent(self, event, extractPlayer, listener)
|
|
94
104
|
local listenerByBehavior = getOrPut(listenerByBehaviorByOwningPlayerEvent, event, mutableLuaMap)
|
package/engine/buff.d.ts
CHANGED
|
@@ -31,8 +31,10 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
31
31
|
source?: Unit;
|
|
32
32
|
behaviorConstructors?: (new (unit: Unit) => UnitBehavior)[];
|
|
33
33
|
abilityTypeIds?: Record<AbilityTypeId, {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
readonly fields?: [
|
|
35
|
+
AbilityNumberField | AbilityNumberLevelField,
|
|
36
|
+
NumberParameterValueType
|
|
37
|
+
][];
|
|
36
38
|
/** Default `true`. */
|
|
37
39
|
readonly isButtonVisible?: boolean;
|
|
38
40
|
/** Default is the level of the source ability or 0 if it is absent. */
|
|
@@ -54,7 +56,8 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
54
56
|
damageIncrease?: NumberParameterValueType;
|
|
55
57
|
damageIncreaseFactor?: NumberParameterValueType;
|
|
56
58
|
armorIncrease?: NumberParameterValueType;
|
|
57
|
-
|
|
59
|
+
maxHealthIncrease?: NumberParameterValueType;
|
|
60
|
+
maxManaIncrease?: NumberParameterValueType;
|
|
58
61
|
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
59
62
|
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
60
63
|
manaRegenerationRateIncreaseFactor?: NumberParameterValueType;
|
|
@@ -77,6 +80,9 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
77
80
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
78
81
|
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
79
82
|
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
83
|
+
absorbedDamageFactor?: NumberParameterValueType;
|
|
84
|
+
maximumDamageAbsorbed?: NumberParameterValueType;
|
|
85
|
+
destroysOnMaximumDamageAbsorbed?: BooleanParameterValueType;
|
|
80
86
|
damageOnExpiration?: NumberParameterValueType;
|
|
81
87
|
healingOnExpiration?: NumberParameterValueType;
|
|
82
88
|
killsOnExpiration?: BooleanParameterValueType;
|
|
@@ -120,22 +126,26 @@ declare const enum BuffPropertyKey {
|
|
|
120
126
|
MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 132,
|
|
121
127
|
DAMAGE_RECEIVED_EVENT_COUNT = 133,
|
|
122
128
|
MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 134,
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
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
|
|
133
143
|
}
|
|
134
144
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
135
145
|
LEAST_DURATION = 0
|
|
136
146
|
}
|
|
137
147
|
export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
|
|
138
|
-
export type BuffConstructorParameters<
|
|
148
|
+
export type BuffConstructorParameters<T extends Buff<BuffAdditionalParameters>> = T extends Buff<infer AdditionalParameters> ? [
|
|
139
149
|
...typeId: [ApplicableBuffTypeId] | [
|
|
140
150
|
typeIds: ReadonlyNonEmptyArray<ApplicableBuffTypeId>,
|
|
141
151
|
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
@@ -145,8 +155,10 @@ export type BuffConstructorParameters<AdditionalParameters extends BuffAdditiona
|
|
|
145
155
|
...abilityOrParameters: [
|
|
146
156
|
ability?: Ability | AbilityBehavior,
|
|
147
157
|
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
148
|
-
] | [
|
|
149
|
-
|
|
158
|
+
] | [
|
|
159
|
+
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
160
|
+
]
|
|
161
|
+
] : never;
|
|
150
162
|
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
|
|
151
163
|
private _unit;
|
|
152
164
|
protected readonly __additionalParametersBrand?: AdditionalParameters;
|
|
@@ -185,6 +197,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
185
197
|
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
186
198
|
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
187
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]?;
|
|
188
204
|
private [BuffPropertyKey.TURNS_INTO_GHOST]?;
|
|
189
205
|
private [BuffPropertyKey.STUNS]?;
|
|
190
206
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
@@ -199,7 +215,7 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
199
215
|
readonly typeId: ApplicableBuffTypeId;
|
|
200
216
|
readonly polarity: BuffPolarity;
|
|
201
217
|
readonly resistanceType: BuffResistanceType;
|
|
202
|
-
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any :
|
|
218
|
+
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any : AdditionalParameters extends Record<PropertyKey, never> ? undefined : {
|
|
203
219
|
[K in keyof Omit<AdditionalParameters, keyof BuffParameters>]: AdditionalParameters[K] extends AbilityDependentValue<infer T> ? T : AdditionalParameters[K];
|
|
204
220
|
};
|
|
205
221
|
private readonly handle;
|
|
@@ -210,7 +226,7 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
210
226
|
private readonly [BuffPropertyKey.MISS_PROBABILITY]?;
|
|
211
227
|
private readonly _abilityTypeIds?;
|
|
212
228
|
private _behaviors?;
|
|
213
|
-
constructor(target: Unit, ...parameters: BuffConstructorParameters<AdditionalParameters
|
|
229
|
+
constructor(target: Unit, ...parameters: BuffConstructorParameters<Buff<AdditionalParameters>>);
|
|
214
230
|
get level(): number;
|
|
215
231
|
get remainingDamageOverDuration(): number;
|
|
216
232
|
set remainingDamageOverDuration(remainingDamageOverDuration: number);
|
|
@@ -238,6 +254,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
238
254
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
239
255
|
get armorIncrease(): number;
|
|
240
256
|
set armorIncrease(armorIncrease: number);
|
|
257
|
+
get maxHealthIncrease(): number;
|
|
258
|
+
set maxHealthIncrease(maxHealthIncrease: number);
|
|
259
|
+
get maxManaIncrease(): number;
|
|
260
|
+
set maxManaIncrease(maxManaIncrease: number);
|
|
241
261
|
get turnsIntoGhost(): boolean;
|
|
242
262
|
set turnsIntoGhost(turnsIntoGhost: boolean);
|
|
243
263
|
get stuns(): boolean;
|
|
@@ -269,8 +289,16 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
269
289
|
get manaRegenerationRateIncreaseFactor(): number;
|
|
270
290
|
set manaRegenerationRateIncreaseFactor(manaRegenerationRateIncreaseFactor: number);
|
|
271
291
|
get duration(): number;
|
|
292
|
+
set duration(duration: number);
|
|
272
293
|
get remainingDuration(): number;
|
|
273
294
|
set remainingDuration(remainingDuration: number);
|
|
295
|
+
get absorbedDamageFactor(): number;
|
|
296
|
+
set absorbedDamageFactor(absorbedDamageFactor: number);
|
|
297
|
+
get maximumDamageAbsorbed(): number;
|
|
298
|
+
set maximumDamageAbsorbed(maximumDamageAbsorbed: number);
|
|
299
|
+
get damageAbsorbed(): number;
|
|
300
|
+
get destroysOnMaximumDamageAbsorbed(): boolean;
|
|
301
|
+
set destroysOnMaximumDamageAbsorbed(destroysOnMaximumDamageAbsorbed: boolean);
|
|
274
302
|
get abilityCooldownFactor(): number;
|
|
275
303
|
set abilityCooldownFactor(abilityCooldownFactor: number);
|
|
276
304
|
onAbilityGained(ability: Ability): void;
|
|
@@ -279,7 +307,12 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
279
307
|
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
280
308
|
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
281
309
|
]): void;
|
|
282
|
-
flashSpecialEffect(...parameters: [
|
|
310
|
+
flashSpecialEffect(...parameters: [
|
|
311
|
+
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
312
|
+
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
313
|
+
]): void;
|
|
314
|
+
private flash;
|
|
315
|
+
expire(): void;
|
|
283
316
|
protected onCreate(): void;
|
|
284
317
|
protected onDestroy(): Destructor;
|
|
285
318
|
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|