warscript 0.0.1-dev.c15015e → 0.0.1-dev.c1c578a
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 +5 -0
- package/attributes.lua +8 -1
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/types/effect.d.ts +14 -6
- package/core/types/effect.lua +131 -35
- package/core/types/frame.d.ts +4 -0
- package/core/types/frame.lua +71 -0
- package/core/types/sound.d.ts +17 -24
- package/core/types/sound.lua +99 -24
- package/core/types/timer.d.ts +6 -7
- package/core/types/timer.lua +18 -21
- package/core/util.d.ts +1 -1
- package/core/util.lua +18 -1
- package/decl/native.d.ts +840 -786
- 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 +5 -0
- package/engine/behaviour/ability/apply-buff.lua +32 -0
- 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 +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +35 -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 +20 -4
- package/engine/behaviour/ability.lua +111 -38
- package/engine/behaviour/unit.d.ts +2 -0
- package/engine/buff.d.ts +62 -42
- package/engine/buff.lua +312 -234
- 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.d.ts +4 -3
- package/engine/internal/item.lua +56 -25
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
- package/engine/internal/misc/ability-disable-counter.lua +13 -0
- 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/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 +2 -0
- package/engine/internal/unit/bonus.lua +17 -0
- 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 → unit/item.d.ts} +5 -4
- package/engine/internal/{unit+item.lua → unit/item.lua} +32 -11
- package/engine/internal/unit/main-selected.d.ts +13 -0
- package/engine/internal/unit/main-selected.lua +51 -0
- 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 +24 -5
- package/engine/internal/unit.d.ts +39 -9
- package/engine/internal/unit.lua +247 -113
- 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/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/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/sound-preset-name.d.ts +5 -1
- 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/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/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 +19 -17
- package/engine/object-data/entry/ability-type.lua +89 -33
- 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 +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 +33 -0
- package/engine/object-data/entry/sound-preset.lua +140 -0
- package/engine/object-data/entry/unit-type.d.ts +10 -3
- package/engine/object-data/entry/unit-type.lua +155 -92
- 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 +10 -4
- package/engine/object-field/ability.lua +4 -1
- package/engine/object-field/unit.d.ts +46 -3
- package/engine/object-field/unit.lua +173 -7
- package/engine/object-field.d.ts +11 -3
- package/engine/object-field.lua +162 -76
- 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 -0
- package/engine/standard/fields/ability.lua +2 -0
- package/engine/unit.d.ts +3 -1
- package/engine/unit.lua +3 -1
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/objutil/buff.lua +1 -2
- 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 +9 -1
- package/utility/arrays.lua +37 -3
- package/utility/functions.d.ts +1 -0
- package/utility/functions.lua +1 -0
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-set.d.ts +1 -0
- package/utility/linked-set.lua +3 -0
- package/utility/lua-maps.d.ts +3 -0
- package/utility/lua-maps.lua +16 -0
- package/utility/lua-sets.d.ts +1 -0
- package/utility/lua-sets.lua +3 -0
- package/utility/reflection.lua +11 -7
|
@@ -11,6 +11,10 @@ import { Ability, UnitAbility } from "./ability";
|
|
|
11
11
|
import { Widget } from "../../core/types/widget";
|
|
12
12
|
import type { UnitTypeId } from "../object-data/entry/unit-type";
|
|
13
13
|
import { CombatClassification, CombatClassifications } from "../object-data/auxiliary/combat-classification";
|
|
14
|
+
import { MovementType } from "../object-data/auxiliary/movement-type";
|
|
15
|
+
import { UnitAttribute } from "../object-data/auxiliary/unit-attribute";
|
|
16
|
+
import { AttackType } from "../object-data/auxiliary/attack-type";
|
|
17
|
+
import { AttributesHolder } from "../../attributes";
|
|
14
18
|
export type UnitClassification = junittype;
|
|
15
19
|
export declare namespace UnitClassification {
|
|
16
20
|
const STRUCTURE: junittype;
|
|
@@ -19,6 +23,7 @@ export declare namespace UnitClassification {
|
|
|
19
23
|
const GROUND: junittype;
|
|
20
24
|
const SUMMONED: junittype;
|
|
21
25
|
const MECHANICAL: junittype;
|
|
26
|
+
const WORKER: junittype;
|
|
22
27
|
const ANCIENT: junittype;
|
|
23
28
|
const SUICIDAL: junittype;
|
|
24
29
|
const TAUREN: junittype;
|
|
@@ -36,13 +41,15 @@ type AbilityDispatcherTable<T extends any[] = []> = {
|
|
|
36
41
|
readonly [id: number]: Event<[Unit, Ability, ...T]>;
|
|
37
42
|
};
|
|
38
43
|
type AbilityEventDispatcher<T extends any[] = []> = Event<[Unit, Ability, ...T]> & AbilityDispatcherTable<T>;
|
|
39
|
-
export interface DamagingEvent {
|
|
44
|
+
export interface DamagingEvent extends AttributesHolder {
|
|
40
45
|
amount: number;
|
|
41
|
-
attackType:
|
|
46
|
+
attackType: AttackType;
|
|
42
47
|
damageType: jdamagetype;
|
|
43
48
|
weaponType: jweapontype;
|
|
49
|
+
metadata: unknown;
|
|
44
50
|
readonly isAttack: boolean;
|
|
45
51
|
readonly originalAmount: number;
|
|
52
|
+
readonly originalMetadata: unknown;
|
|
46
53
|
}
|
|
47
54
|
export type DamageEvent = DamagingEvent & {
|
|
48
55
|
preventDeath<P extends any[]>(this: DamageEvent, callback: (this: void, ...parameters: P) => any, ...parameters: P): void;
|
|
@@ -94,20 +101,29 @@ export declare class UnitWeapon {
|
|
|
94
101
|
set missileSpeed(missileSpeed: number);
|
|
95
102
|
}
|
|
96
103
|
declare const enum UnitPropertyKey {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
104
|
+
SYNC_ID = 100,
|
|
105
|
+
IS_PAUSED = 101,
|
|
106
|
+
STUN_COUNTER = 102,
|
|
107
|
+
DELAY_HEALTH_CHECKS_COUNTER = 103,
|
|
108
|
+
DELAY_HEALTH_CHECKS_HEALTH_BONUS = 104,
|
|
109
|
+
PREVENT_DEATH_HEALTH_BONUS = 105,
|
|
110
|
+
IS_TEAM_GLOW_HIDDEN = 106,
|
|
111
|
+
LAST_X = 107,
|
|
112
|
+
LAST_Y = 108
|
|
103
113
|
}
|
|
114
|
+
export type UnitSyncId = number & {
|
|
115
|
+
readonly __unitSyncId: unique symbol;
|
|
116
|
+
};
|
|
104
117
|
export declare class Unit extends Handle<junit> {
|
|
118
|
+
readonly syncId: UnitSyncId;
|
|
105
119
|
private [UnitPropertyKey.IS_PAUSED]?;
|
|
106
120
|
private [UnitPropertyKey.STUN_COUNTER]?;
|
|
107
121
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
|
|
108
122
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
|
|
109
123
|
private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
|
|
110
124
|
private [UnitPropertyKey.IS_TEAM_GLOW_HIDDEN]?;
|
|
125
|
+
private [UnitPropertyKey.LAST_X]?;
|
|
126
|
+
private [UnitPropertyKey.LAST_Y]?;
|
|
111
127
|
private _owner?;
|
|
112
128
|
private _timeScale?;
|
|
113
129
|
private events?;
|
|
@@ -128,6 +144,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
128
144
|
get isAlive(): boolean;
|
|
129
145
|
get isDead(): boolean;
|
|
130
146
|
get isIllusion(): boolean;
|
|
147
|
+
get isStunned(): boolean;
|
|
131
148
|
get combatClassifications(): CombatClassifications;
|
|
132
149
|
set combatClassifications(combatClassifications: CombatClassifications);
|
|
133
150
|
hasCombatClassification(combatClassification: CombatClassification): boolean;
|
|
@@ -142,6 +159,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
142
159
|
isEnemyOf(unit: Unit): boolean;
|
|
143
160
|
playAnimation(animation: string, rarity?: jraritycontrol): void;
|
|
144
161
|
playAnimation(animation: number): void;
|
|
162
|
+
resetAnimation(): void;
|
|
145
163
|
queueAnimation(animation: string): void;
|
|
146
164
|
get weapons(): [UnitWeapon, UnitWeapon];
|
|
147
165
|
get firstWeapon(): UnitWeapon;
|
|
@@ -150,6 +168,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
150
168
|
set level(v: number);
|
|
151
169
|
get xp(): number;
|
|
152
170
|
set xp(v: number);
|
|
171
|
+
get primaryAttribute(): UnitAttribute;
|
|
172
|
+
set primaryAttribute(primaryAttribute: UnitAttribute);
|
|
153
173
|
get strengthBase(): number;
|
|
154
174
|
set strengthBase(strengthBase: number);
|
|
155
175
|
get strengthBonus(): number;
|
|
@@ -224,6 +244,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
224
244
|
set timeScale(v: number);
|
|
225
245
|
get collisionSize(): number;
|
|
226
246
|
get pathingCollisionRange(): number;
|
|
247
|
+
get movementType(): MovementType;
|
|
248
|
+
set movementType(movementType: MovementType);
|
|
227
249
|
set pathing(v: boolean);
|
|
228
250
|
isSelected(player: Player): boolean;
|
|
229
251
|
explode(): void;
|
|
@@ -288,7 +310,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
288
310
|
static getInRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
|
|
289
311
|
static getInCollisionRange(x: number, y: number, range: number, predicate?: (unit: Unit) => boolean): Unit[];
|
|
290
312
|
static getInSector(pos: Vec2, range: number, offsetAngle: number, centralAngle: number): Unit[];
|
|
291
|
-
static getSelectionOf(player: Player): Unit[];
|
|
313
|
+
static getSelectionOf(player: Player, target?: Unit[]): Unit[];
|
|
292
314
|
static readonly deathEvent: UnitTriggerEvent<[Unit]>;
|
|
293
315
|
static readonly onDecay: UnitTriggerEvent<[]>;
|
|
294
316
|
static readonly onResurrect: InitializingEvent<[Unit], void>;
|
|
@@ -327,6 +349,13 @@ export declare class Unit extends Handle<junit> {
|
|
|
327
349
|
static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
|
|
328
350
|
static itemUsedEvent: UnitTriggerEvent<[Item]>;
|
|
329
351
|
static itemStackedEvent: UnitTriggerEvent<[Item]>;
|
|
352
|
+
static get itemUseOrderEvent(): Event<[unit: Unit, item: Item]>;
|
|
353
|
+
static get itemMoveOrderEvent(): Event<[
|
|
354
|
+
unit: Unit,
|
|
355
|
+
item: Item,
|
|
356
|
+
slotFrom: 0 | 1 | 2 | 3 | 4 | 5,
|
|
357
|
+
slotTo: 0 | 1 | 2 | 3 | 4 | 5
|
|
358
|
+
]>;
|
|
330
359
|
static get onCreate(): EventDispatcher<[Unit], [Unit]>;
|
|
331
360
|
static get destroyEvent(): EventDispatcher<[Unit], [Unit]>;
|
|
332
361
|
getField(field: junitintegerfield | junitrealfield): number;
|
|
@@ -337,5 +366,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
337
366
|
setField(field: junitbooleanfield, value: boolean): boolean;
|
|
338
367
|
setField(field: junitstringfield, value: string): boolean;
|
|
339
368
|
toString(): string;
|
|
369
|
+
static getBySyncId(syncId: UnitSyncId): Unit | undefined;
|
|
340
370
|
}
|
|
341
371
|
export {};
|