warscript 0.0.1-dev.ff2a62d → 0.0.1-dev.ff5dbcd
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/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/types/effect.d.ts +13 -3
- package/core/types/effect.lua +116 -17
- package/core/types/frame.d.ts +6 -0
- package/core/types/frame.lua +91 -1
- package/core/types/sound.d.ts +1 -0
- package/core/types/sound.lua +36 -2
- package/core/util.d.ts +1 -1
- package/core/util.lua +18 -1
- package/engine/behavior.d.ts +2 -2
- package/engine/behavior.lua +6 -6
- package/engine/behaviour/ability/always-enabled.d.ts +7 -0
- package/engine/behaviour/ability/always-enabled.lua +31 -0
- package/engine/behaviour/ability/apply-buff.d.ts +8 -5
- package/engine/behaviour/ability/apply-buff.lua +32 -0
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +28 -0
- package/engine/behaviour/ability/instant-impact.d.ts +2 -2
- package/engine/behaviour/ability/instant-impact.lua +4 -19
- package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
- package/engine/behaviour/ability/on-command-impact.lua +25 -0
- package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
- package/engine/behaviour/ability/remove-buffs.lua +28 -0
- package/engine/behaviour/ability.d.ts +15 -3
- package/engine/behaviour/ability.lua +93 -34
- package/engine/behaviour/unit.d.ts +5 -0
- package/engine/behaviour/unit.lua +20 -0
- package/engine/buff.d.ts +78 -42
- package/engine/buff.lua +351 -223
- package/engine/internal/ability.d.ts +16 -13
- package/engine/internal/ability.lua +80 -76
- package/engine/internal/item/ability.lua +106 -0
- package/engine/internal/item+owner.lua +2 -2
- package/engine/internal/item.d.ts +2 -2
- package/engine/internal/item.lua +56 -25
- package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
- package/engine/internal/misc/ability-disable-counter.lua +13 -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/unit/ability.d.ts +10 -1
- package/engine/internal/unit/ability.lua +36 -14
- package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
- package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot.lua +52 -0
- package/engine/internal/unit/bonus.d.ts +6 -2
- package/engine/internal/unit/bonus.lua +23 -1
- package/engine/internal/unit/ignore-events-items.d.ts +2 -0
- package/engine/internal/unit/ignore-events-items.lua +5 -0
- package/engine/internal/unit/item.d.ts +24 -0
- package/engine/internal/unit/item.lua +78 -0
- package/engine/internal/unit/main-selected.d.ts +13 -0
- package/engine/internal/unit/main-selected.lua +51 -0
- package/engine/internal/unit+ability.lua +2 -2
- package/engine/internal/unit-missile-launch.lua +24 -5
- package/engine/internal/unit.d.ts +26 -10
- package/engine/internal/unit.lua +162 -81
- package/engine/internal/utility.lua +12 -0
- package/engine/lightning.d.ts +12 -5
- package/engine/lightning.lua +48 -14
- package/engine/local-client.d.ts +7 -2
- package/engine/local-client.lua +82 -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/sound-preset-name.d.ts +5 -1
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
- package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
- 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/feral-spirit.lua +2 -2
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
- 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.d.ts +8 -6
- package/engine/object-data/entry/ability-type.lua +62 -27
- package/engine/object-data/entry/buff-type/applicable.lua +13 -37
- package/engine/object-data/entry/buff-type.d.ts +1 -1
- package/engine/object-data/entry/buff-type.lua +2 -2
- package/engine/object-data/entry/destructible-type.d.ts +1 -1
- package/engine/object-data/entry/item-type.d.ts +15 -1
- package/engine/object-data/entry/item-type.lua +93 -2
- package/engine/object-data/entry/lightning-type.d.ts +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +16 -0
- package/engine/object-data/entry/sound-preset.lua +36 -0
- package/engine/object-data/entry/unit-type.d.ts +8 -1
- package/engine/object-data/entry/unit-type.lua +61 -8
- 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-data/utility/object-data-entry-id-generator.lua +7 -0
- package/engine/object-field/ability.d.ts +26 -3
- package/engine/object-field/ability.lua +54 -1
- package/engine/object-field.d.ts +2 -2
- package/engine/object-field.lua +4 -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 -0
- package/engine/standard/fields/ability.lua +2 -0
- package/engine/unit.d.ts +3 -0
- package/engine/unit.lua +3 -0
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/net/socket.d.ts +7 -1
- package/net/socket.lua +45 -4
- package/network.d.ts +1 -0
- package/network.lua +3 -2
- package/objutil/buff.lua +1 -1
- package/objutil/unit.lua +8 -0
- package/package.json +2 -2
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +10 -0
- package/utility/arrays.d.ts +8 -1
- package/utility/arrays.lua +34 -3
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-set.d.ts +11 -2
- package/utility/linked-set.lua +5 -2
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +1 -0
package/engine/buff.d.ts
CHANGED
|
@@ -5,16 +5,21 @@ import { Ability } from "./internal/ability";
|
|
|
5
5
|
import { AbilityTypeId } from "./object-data/entry/ability-type";
|
|
6
6
|
import { BuffPolarity } from "./object-data/auxiliary/buff-polarity";
|
|
7
7
|
import { BuffResistanceType } from "./object-data/auxiliary/buff-resistance-type";
|
|
8
|
-
import { AbilityBooleanField, AbilityBooleanLevelField, AbilityCombatClassificationsLevelField, AbilityDependentValue, AbilityIntegerField, AbilityIntegerLevelField, AbilityNumberField, AbilityNumberLevelField } from "./object-field/ability";
|
|
8
|
+
import { AbilityBooleanField, AbilityBooleanLevelField, AbilityCombatClassificationsLevelField, AbilityDependentValue, AbilityEnumLevelField, AbilityIntegerField, AbilityIntegerLevelField, AbilityNumberField, AbilityNumberLevelField } from "./object-field/ability";
|
|
9
9
|
import { CombatClassifications } from "./object-data/auxiliary/combat-classification";
|
|
10
|
-
import { IsExactlyAny,
|
|
10
|
+
import { IsExactlyAny, Prohibit, ReadonlyNonEmptyArray } from "../utility/types";
|
|
11
|
+
import { EffectParameters } from "../core/types/effect";
|
|
11
12
|
import { UnitBehavior } from "./behaviour/unit";
|
|
12
13
|
import type { Widget } from "../core/types/widget";
|
|
13
14
|
import { Destructor } from "../destroyable";
|
|
15
|
+
import { Event } from "../event";
|
|
14
16
|
export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
|
|
17
|
+
type EnumParameterValueType<T extends number> = T | AbilityEnumLevelField<T>;
|
|
15
18
|
type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
|
|
16
19
|
type IntegerParameterValueType = number | AbilityIntegerField | AbilityIntegerLevelField;
|
|
17
20
|
type BooleanParameterValueType = boolean | AbilityBooleanField | AbilityBooleanLevelField;
|
|
21
|
+
export type BuffPolarityParameterType = EnumParameterValueType<BuffPolarity>;
|
|
22
|
+
export type BuffResistanceTypeParameterType = EnumParameterValueType<BuffResistanceType>;
|
|
18
23
|
export declare class BuffUniqueGroup {
|
|
19
24
|
}
|
|
20
25
|
export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
@@ -51,6 +56,9 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
51
56
|
armorIncreaseFactor?: NumberParameterValueType;
|
|
52
57
|
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
53
58
|
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
59
|
+
evasionProbability?: NumberParameterValueType;
|
|
60
|
+
missProbability?: NumberParameterValueType;
|
|
61
|
+
damageFactor?: NumberParameterValueType;
|
|
54
62
|
receivedDamageFactor?: NumberParameterValueType;
|
|
55
63
|
receivedMagicDamageFactor?: NumberParameterValueType;
|
|
56
64
|
durationIncreaseOnAutoAttack?: NumberParameterValueType;
|
|
@@ -64,6 +72,8 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
64
72
|
disablesAutoAttack?: BooleanParameterValueType;
|
|
65
73
|
destroysOnDamage?: BooleanParameterValueType;
|
|
66
74
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
75
|
+
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
76
|
+
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
67
77
|
damageOnExpiration?: NumberParameterValueType;
|
|
68
78
|
healingOnExpiration?: NumberParameterValueType;
|
|
69
79
|
killsOnExpiration?: BooleanParameterValueType;
|
|
@@ -71,42 +81,48 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
71
81
|
uniqueGroup?: BuffUniqueGroup;
|
|
72
82
|
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : object);
|
|
73
83
|
declare const enum BuffPropertyKey {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
84
|
+
STATE = 100,
|
|
85
|
+
UNIT = 101,
|
|
86
|
+
SOURCE = 102,
|
|
87
|
+
DURATION = 103,
|
|
88
|
+
UNIQUE_GROUP = 104,
|
|
89
|
+
EFFECT_MODEL_PATH = 105,
|
|
90
|
+
SPECIAL_EFFECT_MODEL_PATH = 106,
|
|
91
|
+
DURATION_INCREASE_ON_AUTO_ATTACK = 107,
|
|
92
|
+
MAXIMUM_DURATION = 108,
|
|
93
|
+
MAXIMUM_REMAINING_DURATION = 109,
|
|
94
|
+
DAMAGE_OVER_DURATION = 110,
|
|
95
|
+
DAMAGE_PER_INTERVAL = 111,
|
|
96
|
+
DAMAGE_INTERVAL = 112,
|
|
97
|
+
REMAINING_DAMAGE_OVER_DURATION = 113,
|
|
98
|
+
DAMAGE_INTERVAL_TIMER = 114,
|
|
99
|
+
HEALING_OVER_DURATION = 115,
|
|
100
|
+
HEALING_PER_INTERVAL = 116,
|
|
101
|
+
HEALING_INTERVAL = 117,
|
|
102
|
+
REMAINING_HEALING_OVER_DURATION = 118,
|
|
103
|
+
HEALING_INTERVAL_TIMER = 119,
|
|
104
|
+
DAMAGE_ON_EXPIRATION = 120,
|
|
105
|
+
HEALING_ON_EXPIRATION = 121,
|
|
106
|
+
DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS = 122,
|
|
107
|
+
DAMAGE_UPON_DEATH = 123,
|
|
108
|
+
DAMAGE_UPON_DEATH_RANGE = 124,
|
|
109
|
+
MEDIUM_DAMAGE_UPON_DEATH = 125,
|
|
110
|
+
MEDIUM_DAMAGE_UPON_DEATH_RANGE = 126,
|
|
111
|
+
SMALL_DAMAGE_UPON_DEATH = 127,
|
|
112
|
+
SMALL_DAMAGE_UPON_DEATH_RANGE = 128,
|
|
113
|
+
AUTO_ATTACK_COUNT = 129,
|
|
114
|
+
MAXIMUM_AUTO_ATTACK_COUNT = 130,
|
|
115
|
+
DAMAGE_DEALT_EVENT_COUNT = 131,
|
|
116
|
+
MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 132,
|
|
117
|
+
DAMAGE_RECEIVED_EVENT_COUNT = 133,
|
|
118
|
+
MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 134,
|
|
119
|
+
STUNS = 135,
|
|
120
|
+
IGNORES_STUN_IMMUNITY = 136,
|
|
121
|
+
DISABLES_AUTO_ATTACK = 137,
|
|
122
|
+
PROVIDES_INVULNERABILITY = 138,
|
|
123
|
+
KILLS_ON_EXPIRATION = 139,
|
|
124
|
+
EXPLODES_ON_EXPIRATION = 140,
|
|
125
|
+
MISS_PROBABILITY = 141
|
|
110
126
|
}
|
|
111
127
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
112
128
|
LEAST_DURATION = 0
|
|
@@ -114,11 +130,11 @@ export declare const enum BuffTypeIdSelectionPolicy {
|
|
|
114
130
|
export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
|
|
115
131
|
export type BuffConstructorParameters<AdditionalParameters extends BuffAdditionalParameters> = [
|
|
116
132
|
...typeId: [ApplicableBuffTypeId] | [
|
|
117
|
-
typeIds:
|
|
133
|
+
typeIds: ReadonlyNonEmptyArray<ApplicableBuffTypeId>,
|
|
118
134
|
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
119
135
|
],
|
|
120
|
-
polarity:
|
|
121
|
-
resistanceType:
|
|
136
|
+
polarity: BuffPolarityParameterType,
|
|
137
|
+
resistanceType: BuffResistanceTypeParameterType,
|
|
122
138
|
...abilityOrParameters: [
|
|
123
139
|
ability: Ability,
|
|
124
140
|
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
@@ -127,6 +143,7 @@ export type BuffConstructorParameters<AdditionalParameters extends BuffAdditiona
|
|
|
127
143
|
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
|
|
128
144
|
private _unit;
|
|
129
145
|
protected readonly __additionalParametersBrand?: AdditionalParameters;
|
|
146
|
+
private [BuffPropertyKey.STATE];
|
|
130
147
|
private [BuffPropertyKey.UNIT];
|
|
131
148
|
private [BuffPropertyKey.SOURCE]?;
|
|
132
149
|
private [BuffPropertyKey.DURATION];
|
|
@@ -157,6 +174,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
157
174
|
private [BuffPropertyKey.SMALL_DAMAGE_UPON_DEATH_RANGE]?;
|
|
158
175
|
private [BuffPropertyKey.MAXIMUM_AUTO_ATTACK_COUNT]?;
|
|
159
176
|
private [BuffPropertyKey.AUTO_ATTACK_COUNT]?;
|
|
177
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_DEALT_EVENT_COUNT]?;
|
|
178
|
+
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
179
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
180
|
+
private [BuffPropertyKey.DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
160
181
|
private [BuffPropertyKey.STUNS]?;
|
|
161
182
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
162
183
|
private [BuffPropertyKey.DISABLES_AUTO_ATTACK]?;
|
|
@@ -176,6 +197,7 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
176
197
|
private readonly _level?;
|
|
177
198
|
private readonly _spellStealPriority?;
|
|
178
199
|
private readonly _learnLevelMinimum?;
|
|
200
|
+
private readonly [BuffPropertyKey.MISS_PROBABILITY]?;
|
|
179
201
|
private _bonusIdByBonusType?;
|
|
180
202
|
private readonly _abilityTypeIds?;
|
|
181
203
|
private _behaviors?;
|
|
@@ -203,6 +225,8 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
203
225
|
set damageOnExpiration(damageOnExpiration: number);
|
|
204
226
|
get healingOnExpiration(): number;
|
|
205
227
|
set healingOnExpiration(healingOnExpiration: number);
|
|
228
|
+
get damageFactor(): number;
|
|
229
|
+
set damageFactor(damageFactor: number);
|
|
206
230
|
get receivedDamageFactor(): number;
|
|
207
231
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
208
232
|
get armorIncrease(): number;
|
|
@@ -219,6 +243,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
219
243
|
set killsOnExpiration(killsOnExpiration: boolean);
|
|
220
244
|
get explodesOnExpiration(): boolean;
|
|
221
245
|
set explodesOnExpiration(killsOnExpiration: boolean);
|
|
246
|
+
get maximumDamageDealtEventCount(): number;
|
|
247
|
+
set maximumDamageDealtEventCount(maximumDamageDealtEventCount: number);
|
|
248
|
+
get maximumDamageReceivedEventCount(): number;
|
|
249
|
+
set maximumDamageReceivedEventCount(maximumDamageReceivedEventCount: number);
|
|
222
250
|
get maximumAutoAttackCount(): number;
|
|
223
251
|
set maximumAutoAttackCount(maximumAutoAttackCount: number);
|
|
224
252
|
get durationIncreaseOnAutoAttack(): number;
|
|
@@ -227,16 +255,24 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
227
255
|
set attackSpeedIncreaseFactor(attackSpeedIncreaseFactor: number);
|
|
228
256
|
get movementSpeedIncreaseFactor(): number;
|
|
229
257
|
set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
|
|
258
|
+
get evasionProbability(): number;
|
|
259
|
+
set evasionProbability(evasionProbability: number);
|
|
230
260
|
get duration(): number;
|
|
231
261
|
get remainingDuration(): number;
|
|
232
262
|
set remainingDuration(remainingDuration: number);
|
|
233
|
-
flashEffect(...parameters: [
|
|
263
|
+
flashEffect(...parameters: [
|
|
264
|
+
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
265
|
+
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
266
|
+
]): void;
|
|
234
267
|
flashSpecialEffect(...parameters: [...widget: [] | [Widget], ...duration: [] | [number]]): void;
|
|
268
|
+
protected onCreate(): void;
|
|
235
269
|
protected onDestroy(): Destructor;
|
|
236
270
|
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|
|
237
271
|
static getByTypeId<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, unit: Unit, typeId: ApplicableBuffTypeId): T | undefined;
|
|
238
272
|
onExpiration(): void;
|
|
239
273
|
onDeath(source: Unit | undefined): void;
|
|
240
274
|
onDamageDealt(target: Unit, event: DamageEvent): void;
|
|
275
|
+
onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
|
|
276
|
+
static readonly destroyEvent: Event<[Buff<object>]>;
|
|
241
277
|
}
|
|
242
278
|
export {};
|