warscript 0.0.1-dev.87b6c38 → 0.0.1-dev.8895725
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/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 +1 -1
- package/core/types/player.lua +12 -11
- package/core/types/sound.lua +1 -1
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +4 -2
- package/engine/behavior.lua +69 -11
- 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 +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 +56 -19
- package/engine/buff.lua +283 -142
- package/engine/internal/ability.lua +15 -15
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item.d.ts +4 -5
- package/engine/internal/item.lua +37 -40
- 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.d.ts +2 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
- package/engine/internal/unit/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bonus.d.ts +6 -0
- package/engine/internal/unit/bonus.lua +33 -3
- package/engine/internal/unit/fly-height.lua +3 -3
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -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.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/local-client.d.ts +6 -1
- package/engine/local-client.lua +60 -5
- package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
- package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
- package/engine/object-data/entry/ability-type/{armor-increase.d.ts → armor-bonus.d.ts} +3 -3
- package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
- package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
- package/engine/object-data/entry/ability-type.d.ts +2 -0
- package/engine/object-data/entry/ability-type.lua +84 -4
- package/engine/object-data/entry/buff-type/applicable.lua +113 -109
- package/engine/object-data/entry/destructible-type.d.ts +12 -0
- package/engine/object-data/entry/destructible-type.lua +78 -0
- 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/unit.d.ts +7 -4
- package/engine/object-field/unit.lua +4 -0
- package/engine/object-field.d.ts +3 -1
- package/engine/object-field.lua +177 -119
- package/engine/random.d.ts +1 -0
- package/engine/random.lua +8 -0
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +11 -5
- package/engine/standard/fields/unit.lua +13 -4
- package/engine/unit.d.ts +3 -0
- package/engine/unit.lua +3 -0
- package/lualib_bundle.lua +1 -1
- package/math.d.ts +2 -0
- package/math.lua +14 -0
- package/objutil/buff.lua +9 -7
- package/objutil/object.lua +1 -1
- package/operation.lua +1 -4
- package/package.json +5 -5
- package/patch-lua.lua +15 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +3 -1
- package/utility/linked-set.lua +27 -0
- package/utility/records.lua +20 -1
- 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/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,9 +56,11 @@ 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;
|
|
63
|
+
manaRegenerationRateIncreaseFactor?: NumberParameterValueType;
|
|
60
64
|
evasionProbability?: NumberParameterValueType;
|
|
61
65
|
missProbability?: NumberParameterValueType;
|
|
62
66
|
damageFactor?: NumberParameterValueType;
|
|
@@ -76,6 +80,9 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
76
80
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
77
81
|
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
78
82
|
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
83
|
+
absorbedDamageFactor?: NumberParameterValueType;
|
|
84
|
+
maximumDamageAbsorbed?: NumberParameterValueType;
|
|
85
|
+
destroysOnMaximumDamageAbsorbed?: BooleanParameterValueType;
|
|
79
86
|
damageOnExpiration?: NumberParameterValueType;
|
|
80
87
|
healingOnExpiration?: NumberParameterValueType;
|
|
81
88
|
killsOnExpiration?: BooleanParameterValueType;
|
|
@@ -119,22 +126,26 @@ declare const enum BuffPropertyKey {
|
|
|
119
126
|
MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 132,
|
|
120
127
|
DAMAGE_RECEIVED_EVENT_COUNT = 133,
|
|
121
128
|
MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 134,
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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
|
|
132
143
|
}
|
|
133
144
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
134
145
|
LEAST_DURATION = 0
|
|
135
146
|
}
|
|
136
147
|
export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
|
|
137
|
-
export type BuffConstructorParameters<
|
|
148
|
+
export type BuffConstructorParameters<T extends Buff<BuffAdditionalParameters>> = T extends Buff<infer AdditionalParameters> ? [
|
|
138
149
|
...typeId: [ApplicableBuffTypeId] | [
|
|
139
150
|
typeIds: ReadonlyNonEmptyArray<ApplicableBuffTypeId>,
|
|
140
151
|
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
@@ -144,8 +155,10 @@ export type BuffConstructorParameters<AdditionalParameters extends BuffAdditiona
|
|
|
144
155
|
...abilityOrParameters: [
|
|
145
156
|
ability?: Ability | AbilityBehavior,
|
|
146
157
|
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
147
|
-
] | [
|
|
148
|
-
|
|
158
|
+
] | [
|
|
159
|
+
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
160
|
+
]
|
|
161
|
+
] : never;
|
|
149
162
|
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
|
|
150
163
|
private _unit;
|
|
151
164
|
protected readonly __additionalParametersBrand?: AdditionalParameters;
|
|
@@ -184,6 +197,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
184
197
|
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
185
198
|
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
186
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]?;
|
|
187
204
|
private [BuffPropertyKey.TURNS_INTO_GHOST]?;
|
|
188
205
|
private [BuffPropertyKey.STUNS]?;
|
|
189
206
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
@@ -198,10 +215,11 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
198
215
|
readonly typeId: ApplicableBuffTypeId;
|
|
199
216
|
readonly polarity: BuffPolarity;
|
|
200
217
|
readonly resistanceType: BuffResistanceType;
|
|
201
|
-
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any :
|
|
218
|
+
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any : AdditionalParameters extends Record<PropertyKey, never> ? undefined : {
|
|
202
219
|
[K in keyof Omit<AdditionalParameters, keyof BuffParameters>]: AdditionalParameters[K] extends AbilityDependentValue<infer T> ? T : AdditionalParameters[K];
|
|
203
220
|
};
|
|
204
221
|
private readonly handle;
|
|
222
|
+
readonly previousBuff?: Buff;
|
|
205
223
|
private _timer?;
|
|
206
224
|
private readonly _level?;
|
|
207
225
|
private readonly _spellStealPriority?;
|
|
@@ -209,7 +227,7 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
209
227
|
private readonly [BuffPropertyKey.MISS_PROBABILITY]?;
|
|
210
228
|
private readonly _abilityTypeIds?;
|
|
211
229
|
private _behaviors?;
|
|
212
|
-
constructor(target: Unit, ...parameters: BuffConstructorParameters<AdditionalParameters
|
|
230
|
+
constructor(target: Unit, ...parameters: BuffConstructorParameters<Buff<AdditionalParameters>>);
|
|
213
231
|
get level(): number;
|
|
214
232
|
get remainingDamageOverDuration(): number;
|
|
215
233
|
set remainingDamageOverDuration(remainingDamageOverDuration: number);
|
|
@@ -237,6 +255,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
237
255
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
238
256
|
get armorIncrease(): number;
|
|
239
257
|
set armorIncrease(armorIncrease: number);
|
|
258
|
+
get maxHealthIncrease(): number;
|
|
259
|
+
set maxHealthIncrease(maxHealthIncrease: number);
|
|
260
|
+
get maxManaIncrease(): number;
|
|
261
|
+
set maxManaIncrease(maxManaIncrease: number);
|
|
240
262
|
get turnsIntoGhost(): boolean;
|
|
241
263
|
set turnsIntoGhost(turnsIntoGhost: boolean);
|
|
242
264
|
get stuns(): boolean;
|
|
@@ -265,9 +287,19 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
265
287
|
set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
|
|
266
288
|
get evasionProbability(): number;
|
|
267
289
|
set evasionProbability(evasionProbability: number);
|
|
290
|
+
get manaRegenerationRateIncreaseFactor(): number;
|
|
291
|
+
set manaRegenerationRateIncreaseFactor(manaRegenerationRateIncreaseFactor: number);
|
|
268
292
|
get duration(): number;
|
|
293
|
+
set duration(duration: number);
|
|
269
294
|
get remainingDuration(): number;
|
|
270
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);
|
|
271
303
|
get abilityCooldownFactor(): number;
|
|
272
304
|
set abilityCooldownFactor(abilityCooldownFactor: number);
|
|
273
305
|
onAbilityGained(ability: Ability): void;
|
|
@@ -276,7 +308,12 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
276
308
|
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
277
309
|
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
278
310
|
]): void;
|
|
279
|
-
flashSpecialEffect(...parameters: [
|
|
311
|
+
flashSpecialEffect(...parameters: [
|
|
312
|
+
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
313
|
+
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
314
|
+
]): void;
|
|
315
|
+
private flash;
|
|
316
|
+
expire(): void;
|
|
280
317
|
protected onCreate(): void;
|
|
281
318
|
protected onDestroy(): Destructor;
|
|
282
319
|
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|