@gamebob/axon-surge 0.26.0 → 0.28.0
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/dist/areas/AreaDirector.d.ts +23 -0
- package/dist/areas/AreaDirector.d.ts.map +1 -0
- package/dist/axon-surge.js +2651 -1264
- package/dist/bosses/BossEncounter.d.ts +89 -0
- package/dist/bosses/BossEncounter.d.ts.map +1 -0
- package/dist/codex/BossCodex.d.ts +42 -0
- package/dist/codex/BossCodex.d.ts.map +1 -0
- package/dist/codex/DefaultBossCodex.d.ts +3 -0
- package/dist/codex/DefaultBossCodex.d.ts.map +1 -0
- package/dist/content/ContentRegistry.d.ts.map +1 -1
- package/dist/content/ContentTypes.d.ts +15 -0
- package/dist/content/ContentTypes.d.ts.map +1 -1
- package/dist/content/DefaultContentRegistry.d.ts.map +1 -1
- package/dist/core/GameEngine.d.ts +26 -0
- package/dist/core/GameEngine.d.ts.map +1 -1
- package/dist/director/WaveDirector.d.ts +14 -1
- package/dist/director/WaveDirector.d.ts.map +1 -1
- package/dist/entities/BossCatalystOrb.d.ts +17 -0
- package/dist/entities/BossCatalystOrb.d.ts.map +1 -0
- package/dist/entities/EnemyEntity.d.ts +2 -0
- package/dist/entities/EnemyEntity.d.ts.map +1 -1
- package/dist/i18n/I18nService.d.ts +1 -0
- package/dist/i18n/I18nService.d.ts.map +1 -1
- package/dist/i18n/locales.d.ts +11 -0
- package/dist/i18n/locales.d.ts.map +1 -1
- package/dist/input/InputManager.d.ts.map +1 -1
- package/dist/powerups/PowerUpRegistry.d.ts +2 -1
- package/dist/powerups/PowerUpRegistry.d.ts.map +1 -1
- package/dist/powerups/PowerUpTypes.d.ts +2 -0
- package/dist/powerups/PowerUpTypes.d.ts.map +1 -1
- package/dist/render/CanvasRenderer.d.ts +20 -1
- package/dist/render/CanvasRenderer.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/theme/GameColors.d.ts +2 -1
- package/dist/theme/GameColors.d.ts.map +1 -1
- package/dist/ui/BossCodexCanvas.d.ts +19 -0
- package/dist/ui/BossCodexCanvas.d.ts.map +1 -0
- package/dist/ui/CodexOverlay.d.ts +11 -1
- package/dist/ui/CodexOverlay.d.ts.map +1 -1
- package/dist/ui/StartMenu.d.ts +4 -1
- package/dist/ui/StartMenu.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { BossDefinition } from "../content/ContentTypes";
|
|
2
|
+
import type { EnemyType, Vector2D } from "../types/game";
|
|
3
|
+
export type BossPhase = "inactive" | "intro" | "tentacles" | "exposed" | "defeated";
|
|
4
|
+
export interface BossTentacleSnapshot {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly basePosition: Vector2D;
|
|
7
|
+
readonly tipPosition: Vector2D;
|
|
8
|
+
readonly requiredEnemyId: EnemyType;
|
|
9
|
+
readonly tipColor: string;
|
|
10
|
+
readonly protected: boolean;
|
|
11
|
+
readonly launchPulse: number;
|
|
12
|
+
}
|
|
13
|
+
export interface BossTentacleTarget {
|
|
14
|
+
readonly enemyId: EnemyType;
|
|
15
|
+
readonly color: string;
|
|
16
|
+
}
|
|
17
|
+
export interface BossLaunchRequest {
|
|
18
|
+
readonly tentacleId: string;
|
|
19
|
+
readonly origin: Vector2D;
|
|
20
|
+
readonly direction: Vector2D;
|
|
21
|
+
}
|
|
22
|
+
export interface BossEncounterSnapshot {
|
|
23
|
+
readonly id: string;
|
|
24
|
+
readonly title: string;
|
|
25
|
+
readonly versusLabel: string;
|
|
26
|
+
readonly phase: BossPhase;
|
|
27
|
+
readonly introProgress: number;
|
|
28
|
+
readonly introMotionProgress: number;
|
|
29
|
+
readonly introPauseActive: boolean;
|
|
30
|
+
readonly introPauseProgress: number;
|
|
31
|
+
readonly combatEntryProgress: number;
|
|
32
|
+
readonly bossPosition: Vector2D;
|
|
33
|
+
readonly headPosition: Vector2D;
|
|
34
|
+
readonly headLaunchPulse: number;
|
|
35
|
+
readonly headLaunchSide: -1 | 1;
|
|
36
|
+
readonly tentacles: readonly BossTentacleSnapshot[];
|
|
37
|
+
readonly exposureProgress: number;
|
|
38
|
+
readonly integrity: number;
|
|
39
|
+
readonly maxIntegrity: number;
|
|
40
|
+
readonly impactPulse: number;
|
|
41
|
+
}
|
|
42
|
+
export type BossHitResult = "none" | "area-impact" | "tentacle-broken" | "boss-damaged" | "defeated";
|
|
43
|
+
export declare class BossEncounter {
|
|
44
|
+
private definition;
|
|
45
|
+
private phase;
|
|
46
|
+
private tentacles;
|
|
47
|
+
private exposureRemaining;
|
|
48
|
+
private integrity;
|
|
49
|
+
private maxIntegrity;
|
|
50
|
+
private impactPulse;
|
|
51
|
+
private introElapsed;
|
|
52
|
+
private introDuration;
|
|
53
|
+
private introTravelElapsed;
|
|
54
|
+
private introPauseElapsed;
|
|
55
|
+
private introPauseActive;
|
|
56
|
+
private introPauseCompleted;
|
|
57
|
+
private readonly introPreludeDuration;
|
|
58
|
+
private readonly introPauseDuration;
|
|
59
|
+
private launchCooldown;
|
|
60
|
+
private movementTime;
|
|
61
|
+
private combatEntryElapsed;
|
|
62
|
+
private readonly combatEntryDuration;
|
|
63
|
+
private readonly combatEntryDelay;
|
|
64
|
+
private arenaWidth;
|
|
65
|
+
private arenaHeight;
|
|
66
|
+
private title;
|
|
67
|
+
private versusLabel;
|
|
68
|
+
private targetCandidates;
|
|
69
|
+
private headLaunchPulse;
|
|
70
|
+
private headLaunchSide;
|
|
71
|
+
start(definition: BossDefinition, arenaWidth?: number, arenaHeight?: number, title?: string, versusLabel?: string, targetCandidates?: readonly BossTentacleTarget[]): void;
|
|
72
|
+
reset(): void;
|
|
73
|
+
update(dt: number, corePosition?: Vector2D): BossLaunchRequest | null;
|
|
74
|
+
hit(position: Vector2D, type: EnemyType, corePosition: Vector2D): BossHitResult;
|
|
75
|
+
getPhase(): BossPhase;
|
|
76
|
+
isIntroPaused(): boolean;
|
|
77
|
+
getBossPosition(corePosition: Vector2D): Vector2D;
|
|
78
|
+
getSnapshot(corePosition: Vector2D): BossEncounterSnapshot | null;
|
|
79
|
+
launchFromHead(corePosition: Vector2D, side: -1 | 1): BossLaunchRequest;
|
|
80
|
+
private getTentacleBasePosition;
|
|
81
|
+
private getHeadPosition;
|
|
82
|
+
private getRepulsionDirection;
|
|
83
|
+
private getTentacleTipPosition;
|
|
84
|
+
private getNearestTentacle;
|
|
85
|
+
private selectTentacleTargets;
|
|
86
|
+
private rerollTentacleTarget;
|
|
87
|
+
private isBossVisible;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=BossEncounter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounter.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Translations } from "../i18n/locales";
|
|
2
|
+
export interface BossCodexDefinition {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly titleKey: keyof Translations;
|
|
5
|
+
readonly loreKey: keyof Translations;
|
|
6
|
+
readonly phaseCount: number;
|
|
7
|
+
}
|
|
8
|
+
export interface BossCodexSnapshot extends BossCodexDefinition {
|
|
9
|
+
readonly seen: boolean;
|
|
10
|
+
readonly attempts: number;
|
|
11
|
+
readonly victories: number;
|
|
12
|
+
readonly observedPhaseCount: number;
|
|
13
|
+
readonly dropCollected: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface BossCodexStorage {
|
|
16
|
+
getItem(key: string): string | null;
|
|
17
|
+
setItem(key: string, value: string): void;
|
|
18
|
+
}
|
|
19
|
+
export declare class BossCodex {
|
|
20
|
+
private readonly definitions;
|
|
21
|
+
private readonly progress;
|
|
22
|
+
private readonly listeners;
|
|
23
|
+
private readonly storage;
|
|
24
|
+
private hasUnreadChanges;
|
|
25
|
+
constructor(definitions: readonly BossCodexDefinition[], storage?: BossCodexStorage | null);
|
|
26
|
+
getEntries(): BossCodexSnapshot[];
|
|
27
|
+
getEntry(id: string): BossCodexSnapshot | undefined;
|
|
28
|
+
recordEncounter(id: string): void;
|
|
29
|
+
recordPhase(id: string, phase: number): void;
|
|
30
|
+
recordVictory(id: string): void;
|
|
31
|
+
recordDropCollected(id: string): void;
|
|
32
|
+
hasUnread(): boolean;
|
|
33
|
+
markAllRead(): void;
|
|
34
|
+
subscribe(listener: () => void): () => void;
|
|
35
|
+
private commit;
|
|
36
|
+
private notify;
|
|
37
|
+
private load;
|
|
38
|
+
private persist;
|
|
39
|
+
private static readCount;
|
|
40
|
+
private static getBrowserStorage;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=BossCodex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossCodex.d.ts","sourceRoot":"","sources":["../../src/codex/BossCodex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,YAAY,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,YAAY,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC1D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAYD,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAAS;gBAG7B,WAAW,EAAE,SAAS,mBAAmB,EAAE,EAC3C,OAAO,GAAE,gBAAgB,GAAG,IAAoC;IAmB7D,UAAU,IAAI,iBAAiB,EAAE;IAOjC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAOnD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IASjC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO5C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ/B,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQrC,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,IAAI;IAOnB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKlD,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,IAAI;IAwBZ,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,MAAM,CAAC,SAAS;IAMxB,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAOnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultBossCodex.d.ts","sourceRoot":"","sources":["../../src/codex/DefaultBossCodex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,kBAAkB,EAAE,SAAS,mBAAmB,EAO5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentRegistry.d.ts","sourceRoot":"","sources":["../../src/content/ContentRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EACR,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,qBAAa,eAAe;IACxB,SAAgB,OAAO,sCAAoD;IAC3E,SAAgB,QAAQ,6CAAmE;IAC3F,SAAgB,QAAQ,wCAAyD;IACjF,SAAgB,SAAS,wCAAwD;IACjF,SAAgB,KAAK,qCAAkD;IACvE,SAAgB,MAAM,qCAAkD;IACxE,SAAgB,WAAW,2CAA+D;IAC1F,SAAgB,KAAK,qCAAkD;IACvE,SAAgB,eAAe,+CAE7B;IACF,SAAgB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;gBAElC,OAAO,GAAE,cAAmB;IAaxC,QAAQ,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"ContentRegistry.d.ts","sourceRoot":"","sources":["../../src/content/ContentRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EACR,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,qBAAa,eAAe;IACxB,SAAgB,OAAO,sCAAoD;IAC3E,SAAgB,QAAQ,6CAAmE;IAC3F,SAAgB,QAAQ,wCAAyD;IACjF,SAAgB,SAAS,wCAAwD;IACjF,SAAgB,KAAK,qCAAkD;IACvE,SAAgB,MAAM,qCAAkD;IACxE,SAAgB,WAAW,2CAA+D;IAC1F,SAAgB,KAAK,qCAAkD;IACvE,SAAgB,eAAe,+CAE7B;IACF,SAAgB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;gBAElC,OAAO,GAAE,cAAmB;IAaxC,QAAQ,IAAI,IAAI;CA+C1B"}
|
|
@@ -3,6 +3,7 @@ import type { EnemyType } from "../types/game";
|
|
|
3
3
|
import type { PowerUpDefinition } from "../powerups/PowerUpTypes";
|
|
4
4
|
import type { IdentifiedDefinition } from "./DefinitionRegistry";
|
|
5
5
|
import type { EnemyBehavior } from "./EnemyBehavior";
|
|
6
|
+
import type { Translations } from "../i18n/locales";
|
|
6
7
|
export interface EnemyDefinition extends IdentifiedDefinition {
|
|
7
8
|
readonly id: EnemyType;
|
|
8
9
|
readonly speed: number;
|
|
@@ -27,15 +28,29 @@ export interface SynergyDefinition extends IdentifiedDefinition {
|
|
|
27
28
|
readonly resultIds: readonly string[];
|
|
28
29
|
}
|
|
29
30
|
export interface AreaDefinition extends IdentifiedDefinition {
|
|
31
|
+
readonly nameKey: keyof Translations;
|
|
30
32
|
readonly baseEnemyIds: readonly EnemyType[];
|
|
31
33
|
readonly additionalEnemyIds: readonly EnemyType[];
|
|
32
34
|
readonly ruleIds: readonly string[];
|
|
35
|
+
readonly enemyWeights?: Readonly<Record<EnemyType, number>>;
|
|
36
|
+
readonly patternWeights?: Readonly<Record<string, number>>;
|
|
37
|
+
readonly killThreshold?: number;
|
|
38
|
+
readonly nextAreaId?: string;
|
|
33
39
|
readonly bossId?: string;
|
|
34
40
|
}
|
|
35
41
|
export interface BossDefinition extends IdentifiedDefinition {
|
|
36
42
|
readonly mechanicId: string;
|
|
37
43
|
readonly areaId?: string;
|
|
38
44
|
readonly rewardId?: string;
|
|
45
|
+
readonly titleKey?: keyof Translations;
|
|
46
|
+
readonly loreKey?: keyof Translations;
|
|
47
|
+
readonly sealCount?: number;
|
|
48
|
+
readonly tentacleCount?: number;
|
|
49
|
+
readonly introDuration?: number;
|
|
50
|
+
readonly exposureDuration?: number;
|
|
51
|
+
readonly exposureHits?: number;
|
|
52
|
+
readonly ecosomaDropMin?: number;
|
|
53
|
+
readonly ecosomaDropMax?: number;
|
|
39
54
|
}
|
|
40
55
|
export interface BossRewardDefinition extends IdentifiedDefinition {
|
|
41
56
|
readonly temporaryPowerUpIds: readonly string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentTypes.d.ts","sourceRoot":"","sources":["../../src/content/ContentTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ContentTypes.d.ts","sourceRoot":"","sources":["../../src/content/ContentTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultContentRegistry.d.ts","sourceRoot":"","sources":["../../src/content/DefaultContentRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"DefaultContentRegistry.d.ts","sourceRoot":"","sources":["../../src/content/DefaultContentRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,eAAO,MAAM,wBAAwB,iBAyEnC,CAAC"}
|
|
@@ -36,7 +36,11 @@ export declare class GameEngine {
|
|
|
36
36
|
private readonly powerUpRegistry;
|
|
37
37
|
private readonly geneticMemory;
|
|
38
38
|
private readonly codex;
|
|
39
|
+
private readonly bossCodex;
|
|
40
|
+
private readonly areaDirector;
|
|
41
|
+
private readonly bossEncounter;
|
|
39
42
|
private unsubscribeCodex;
|
|
43
|
+
private unsubscribeBossCodex;
|
|
40
44
|
private core;
|
|
41
45
|
private enemies;
|
|
42
46
|
private ambientEnemies;
|
|
@@ -47,11 +51,16 @@ export declare class GameEngine {
|
|
|
47
51
|
private floatingTexts;
|
|
48
52
|
private experienceOrbs;
|
|
49
53
|
private ecosomaOrbs;
|
|
54
|
+
private bossCatalyst;
|
|
55
|
+
private bossExposureBurstRemaining;
|
|
56
|
+
private bossExposureBurstAccumulator;
|
|
57
|
+
private bossExposureBurstSide;
|
|
50
58
|
private orbitingOrbs;
|
|
51
59
|
private isLevelUpActive;
|
|
52
60
|
private pendingLevelUps;
|
|
53
61
|
private readonly debugRerollsEnabled;
|
|
54
62
|
private readonly debugPerformanceEnabled;
|
|
63
|
+
private readonly debugBossEnabled;
|
|
55
64
|
private rerollsRemaining;
|
|
56
65
|
private score;
|
|
57
66
|
private combo;
|
|
@@ -59,6 +68,9 @@ export declare class GameEngine {
|
|
|
59
68
|
private isPaused;
|
|
60
69
|
private isDeathSequenceActive;
|
|
61
70
|
private deathSequenceElapsed;
|
|
71
|
+
private areaTransitionElapsed;
|
|
72
|
+
private areaIntroElapsed;
|
|
73
|
+
private readonly areaTransitionDuration;
|
|
62
74
|
private languageBeforeHold;
|
|
63
75
|
private readonly handleLanguageHold;
|
|
64
76
|
private readonly handleLanguageRelease;
|
|
@@ -76,6 +88,20 @@ export declare class GameEngine {
|
|
|
76
88
|
private clearTransientRunEntities;
|
|
77
89
|
private updateDeathSequence;
|
|
78
90
|
private update;
|
|
91
|
+
private handleEnemyKill;
|
|
92
|
+
private startBossIfReady;
|
|
93
|
+
private clearArenaForBoss;
|
|
94
|
+
private processBossImpacts;
|
|
95
|
+
private getBossImpactRadius;
|
|
96
|
+
private releaseBossExposureBurst;
|
|
97
|
+
private updateBossExposureBurst;
|
|
98
|
+
private updateBossMinionReentryPaths;
|
|
99
|
+
private resetBossExposureBurst;
|
|
100
|
+
private finishBossIfDefeated;
|
|
101
|
+
private getBossRewardPosition;
|
|
102
|
+
private updateBossReward;
|
|
103
|
+
private tryCollectCatalyst;
|
|
104
|
+
private updateAreaTransition;
|
|
79
105
|
private triggerLevelUp;
|
|
80
106
|
private presentNextLevelUp;
|
|
81
107
|
private spawnExperienceDrops;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameEngine.d.ts","sourceRoot":"","sources":["../../src/core/GameEngine.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"GameEngine.d.ts","sourceRoot":"","sources":["../../src/core/GameEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { Vector2D } from "../types/game";
|
|
1
|
+
import type { Vector2D, EnemyType } from "../types/game";
|
|
2
2
|
import type { EnemyEntity } from "../entities/EnemyEntity";
|
|
3
3
|
import type { EntityFactory } from "../factory/EntityFactory";
|
|
4
4
|
import type { ContentRegistry } from "../content/ContentRegistry";
|
|
5
|
+
import type { AreaDefinition } from "../content/ContentTypes";
|
|
5
6
|
import type { UnlockState } from "../progression/ProgressionTypes";
|
|
6
7
|
export declare class WaveDirector {
|
|
7
8
|
private readonly factory;
|
|
@@ -13,11 +14,23 @@ export declare class WaveDirector {
|
|
|
13
14
|
private waveTimer;
|
|
14
15
|
private patternCooldown;
|
|
15
16
|
private initialGracePeriod;
|
|
17
|
+
private area;
|
|
16
18
|
constructor(factory: EntityFactory, content: ContentRegistry, unlockState?: UnlockState | undefined);
|
|
17
19
|
reset(): void;
|
|
20
|
+
setArea(area: AreaDefinition | null): void;
|
|
21
|
+
getAvailableEnemyIds(): ReadonlySet<EnemyType>;
|
|
22
|
+
getBossTentacleTargets(): ReadonlyArray<{
|
|
23
|
+
enemyId: EnemyType;
|
|
24
|
+
color: string;
|
|
25
|
+
}>;
|
|
18
26
|
update(dt: number, activeEnemies: EnemyEntity[], width: number, height: number, corePos: Vector2D): EnemyEntity | null;
|
|
19
27
|
private spawnSingleEnemy;
|
|
28
|
+
spawnBossMinion(origin: Vector2D, corePos: Vector2D, launchDirection?: Vector2D): EnemyEntity | null;
|
|
20
29
|
private spawnPatternFormation;
|
|
30
|
+
private getAvailableEnemyDefinitions;
|
|
31
|
+
private getAvailablePatternEnemyIds;
|
|
32
|
+
private getEnemyWeight;
|
|
33
|
+
private getPatternWeight;
|
|
21
34
|
private applyFlockingBehaviors;
|
|
22
35
|
}
|
|
23
36
|
//# sourceMappingURL=WaveDirector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaveDirector.d.ts","sourceRoot":"","sources":["../../src/director/WaveDirector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"WaveDirector.d.ts","sourceRoot":"","sources":["../../src/director/WaveDirector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,qBAAa,YAAY;IAUjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAX1B,IAAI,EAAE,MAAM,CAAK;IACxB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,IAAI,CAA+B;gBAGtB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,eAAe,EACxB,WAAW,CAAC,EAAE,WAAW,YAAA;IAKvC,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAK1C,oBAAoB,IAAI,WAAW,CAAC,SAAS,CAAC;IAI9C,sBAAsB,IAAI,aAAa,CAAC;QAAE,OAAO,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAM9E,MAAM,CACT,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,WAAW,EAAE,EAC5B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,GAClB,WAAW,GAAG,IAAI;IAgCrB,OAAO,CAAC,gBAAgB;IAyBjB,eAAe,CAClB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,QAAQ,EACjB,eAAe,CAAC,EAAE,QAAQ,GAC3B,WAAW,GAAG,IAAI;IAmCrB,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,4BAA4B;IAcpC,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,sBAAsB;CAqDjC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Vector2D } from "../types/game";
|
|
2
|
+
export declare class BossCatalystOrb {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly radius = 17;
|
|
5
|
+
readonly interactionRadius = 132;
|
|
6
|
+
readonly color: "#ff6bde";
|
|
7
|
+
position: Vector2D;
|
|
8
|
+
velocity: Vector2D;
|
|
9
|
+
active: boolean;
|
|
10
|
+
isAbsorbing: boolean;
|
|
11
|
+
absorbedByCore: boolean;
|
|
12
|
+
private absorptionSpeed;
|
|
13
|
+
constructor(position: Vector2D);
|
|
14
|
+
beginAbsorption(): void;
|
|
15
|
+
update(dt: number, corePosition: Vector2D, coreRadius: number): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=BossCatalystOrb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossCatalystOrb.d.ts","sourceRoot":"","sources":["../../src/entities/BossCatalystOrb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,qBAAa,eAAe;IACxB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,MAAM,MAAM;IAC5B,SAAgB,iBAAiB,OAAO;IACxC,SAAgB,KAAK,YAA4B;IAC1C,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,UAAQ;IACd,WAAW,UAAS;IACpB,cAAc,UAAS;IAC9B,OAAO,CAAC,eAAe,CAAK;gBAET,QAAQ,EAAE,QAAQ;IAM9B,eAAe,IAAI,IAAI;IAIvB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAwB9E"}
|
|
@@ -2,6 +2,7 @@ import type { Vector2D, EnemyType } from "../types/game";
|
|
|
2
2
|
import type { IImpactStrategy } from "../strategies/ImpactStrategy";
|
|
3
3
|
import type { EnemyBehavior } from "../content/EnemyBehavior";
|
|
4
4
|
export type DeathType = "none" | "dissolve" | "sliced";
|
|
5
|
+
export type BossLaunchPhase = "none" | "outbound" | "reentry";
|
|
5
6
|
export declare class EnemyEntity {
|
|
6
7
|
id: string;
|
|
7
8
|
position: Vector2D;
|
|
@@ -23,6 +24,7 @@ export declare class EnemyEntity {
|
|
|
23
24
|
isStationaryShield: boolean;
|
|
24
25
|
shieldAngle: number;
|
|
25
26
|
launchDelay: number;
|
|
27
|
+
bossLaunchPhase: BossLaunchPhase;
|
|
26
28
|
remainingHomingKills: number;
|
|
27
29
|
experienceDropPending: boolean;
|
|
28
30
|
codexDeathSourceType: EnemyType | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnemyEntity.d.ts","sourceRoot":"","sources":["../../src/entities/EnemyEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"EnemyEntity.d.ts","sourceRoot":"","sources":["../../src/entities/EnemyEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9D,qBAAa,WAAW;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAkB;IACpC,QAAQ,EAAE,QAAQ,CAAkB;IACpC,MAAM,EAAE,MAAM,CAAM;IACpB,IAAI,EAAE,SAAS,CAAM;IACrB,MAAM,EAAE,OAAO,CAAS;IACxB,SAAS,EAAE,OAAO,CAAS;IAC3B,QAAQ,EAAE,OAAO,CAAS;IAC1B,cAAc,EAAE,OAAO,CAAS;IAChC,WAAW,EAAE,OAAO,CAAQ;IAC5B,QAAQ,EAAE,MAAM,CAAK;IACrB,KAAK,EAAE,MAAM,CAAa;IAC1B,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAQ;IACxC,QAAQ,EAAE,aAAa,CAA0B;IACjD,UAAU,EAAE,MAAM,CAAM;IAExB,gBAAgB,EAAE,MAAM,CAAO;IAC/B,QAAQ,EAAE,MAAM,CAAO;IAEvB,kBAAkB,EAAE,OAAO,CAAS;IACpC,WAAW,EAAE,MAAM,CAAK;IACxB,WAAW,EAAE,MAAM,CAAK;IACxB,eAAe,EAAE,eAAe,CAAU;IAC1C,oBAAoB,EAAE,MAAM,CAAK;IACjC,qBAAqB,EAAE,OAAO,CAAS;IACvC,oBAAoB,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9C,yBAAyB,EAAE,MAAM,CAAK;IACtC,sBAAsB,EAAE,MAAM,CAAK;IAEnC,OAAO,EAAE,OAAO,CAAS;IACzB,SAAS,EAAE,SAAS,CAAU;IAC9B,UAAU,EAAE,MAAM,CAAK;IACvB,aAAa,EAAE,MAAM,CAAO;IAC5B,UAAU,EAAE,MAAM,CAAK;gBAElB,EAAE,EAAE,MAAM;IAIf,YAAY,IAAI,MAAM;IAItB,oBAAoB,CACvB,cAAc,GAAE,OAAe,EAC/B,UAAU,GAAE,SAAS,GAAG,IAAW,GACpC,IAAI;IAWA,iBAAiB,CACpB,KAAK,EAAE,MAAM,EACb,cAAc,GAAE,OAAe,EAC/B,UAAU,GAAE,SAAS,GAAG,IAAW,GACpC,IAAI;IAYA,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAuCxB,KAAK,IAAI,IAAI;CA2BvB"}
|
|
@@ -4,6 +4,7 @@ export declare class I18nService {
|
|
|
4
4
|
constructor(initialLanguage?: Language);
|
|
5
5
|
private detectLanguage;
|
|
6
6
|
setLanguage(language: Language): void;
|
|
7
|
+
private syncDocumentLanguage;
|
|
7
8
|
getLanguage(): Language;
|
|
8
9
|
translate<K extends keyof Translations>(key: K, params?: Record<string, string | number>): string;
|
|
9
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18nService.d.ts","sourceRoot":"","sources":["../../src/i18n/I18nService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIxD,qBAAa,WAAW;IACpB,OAAO,CAAC,eAAe,CAAW;gBAEtB,eAAe,CAAC,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"I18nService.d.ts","sourceRoot":"","sources":["../../src/i18n/I18nService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIxD,qBAAa,WAAW;IACpB,OAAO,CAAC,eAAe,CAAW;gBAEtB,eAAe,CAAC,EAAE,QAAQ;IAKtC,OAAO,CAAC,cAAc;IA4Cf,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAU5C,OAAO,CAAC,oBAAoB;IAMrB,WAAW,IAAI,QAAQ;IAIvB,SAAS,CAAC,CAAC,SAAS,MAAM,YAAY,EACzC,GAAG,EAAE,CAAC,EACN,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACzC,MAAM;CAWZ"}
|
package/dist/i18n/locales.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export type Language = "es" | "en" | "fr" | "de" | "it" | "pt" | "nl" | "sv" | "pl" | "id" | "tr" | "ru" | "ja" | "ko" | "zh";
|
|
2
2
|
export interface Translations {
|
|
3
3
|
title: string;
|
|
4
|
+
areaCaldoName: string;
|
|
5
|
+
areaCostraName: string;
|
|
4
6
|
startButton: string;
|
|
5
7
|
waveLabel: string;
|
|
6
8
|
scoreLabel: string;
|
|
@@ -50,6 +52,15 @@ export interface Translations {
|
|
|
50
52
|
codexTimeline?: string;
|
|
51
53
|
codexSpecimen?: string;
|
|
52
54
|
codexUnknown?: string;
|
|
55
|
+
bossIntroVs?: string;
|
|
56
|
+
codexBossesLabel?: string;
|
|
57
|
+
codexBossEmpty?: string;
|
|
58
|
+
codexBossAttempts?: string;
|
|
59
|
+
codexBossVictories?: string;
|
|
60
|
+
codexBossPhases?: string;
|
|
61
|
+
codexBossDrop?: string;
|
|
62
|
+
codexElCapatazTitle?: string;
|
|
63
|
+
codexElCapatazLore?: string;
|
|
53
64
|
codexPiercerTitle?: string;
|
|
54
65
|
codexSporeTitle?: string;
|
|
55
66
|
codexClusterTitle?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/i18n/locales.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GACd,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAEX,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/i18n/locales.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputManager.d.ts","sourceRoot":"","sources":["../../src/input/InputManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAQ9D,qBAAa,YAAY;IACd,eAAe,EAAE,QAAQ,CAAkB;IAC3C,aAAa,EAAE,OAAO,CAAS;IAC/B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAQ;IACxC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAC9C,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEzC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;gBAEtC,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB;IAMvE,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,UAAU;IAwDX,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,WAAW,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"InputManager.d.ts","sourceRoot":"","sources":["../../src/input/InputManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAQ9D,qBAAa,YAAY;IACd,eAAe,EAAE,QAAQ,CAAkB;IAC3C,aAAa,EAAE,OAAO,CAAS;IAC/B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAQ;IACxC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAC9C,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAEzC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;gBAEtC,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB;IAMvE,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,UAAU;IAwDX,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,WAAW,GAAG,IAAI;IA8B7E,UAAU,CACb,IAAI,EAAE,mBAAmB,EAAE,EAC3B,OAAO,GAAE,OAAe,GACzB,mBAAmB,GAAG,IAAI;IAmBtB,eAAe,IAAI,WAAW,GAAG,IAAI;IA8DrC,YAAY,IAAI,IAAI;IAgBpB,KAAK,IAAI,IAAI;CAOvB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { PowerUpDefinition } from "./PowerUpTypes";
|
|
2
2
|
import type { GameConfigManager } from "../config/GameConfig";
|
|
3
3
|
import type { UnlockState } from "../progression/ProgressionTypes";
|
|
4
|
+
import type { EnemyType } from "../types/game";
|
|
4
5
|
export declare class PowerUpRegistry {
|
|
5
6
|
private readonly configManager;
|
|
6
7
|
private readonly registry;
|
|
@@ -9,7 +10,7 @@ export declare class PowerUpRegistry {
|
|
|
9
10
|
constructor(configManager: GameConfigManager);
|
|
10
11
|
private getDefinitions;
|
|
11
12
|
getAll(): PowerUpDefinition[];
|
|
12
|
-
getRandomOptions(count?: number, unlockState?: UnlockState): PowerUpDefinition[];
|
|
13
|
+
getRandomOptions(count?: number, unlockState?: UnlockState, availableEnemyIds?: ReadonlySet<EnemyType>): PowerUpDefinition[];
|
|
13
14
|
registerPowerUp(def: PowerUpDefinition): void;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=PowerUpRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PowerUpRegistry.d.ts","sourceRoot":"","sources":["../../src/powerups/PowerUpRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"PowerUpRegistry.d.ts","sourceRoot":"","sources":["../../src/powerups/PowerUpRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,qBAAa,eAAe;IAuXL,OAAO,CAAC,QAAQ,CAAC,aAAa;IAtXjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyD;IAClF,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAkX9B;gBAEkC,aAAa,EAAE,iBAAiB;IAEpE,OAAO,CAAC,cAAc;IAQf,MAAM,IAAI,iBAAiB,EAAE;IAI7B,gBAAgB,CACnB,KAAK,GAAE,MAAU,EACjB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAC3C,iBAAiB,EAAE;IA+Bf,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;CAIvD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Translations } from "../i18n/locales";
|
|
2
2
|
import type { GameConfigData } from "../config/GameConfig";
|
|
3
3
|
import type { CoreEntity } from "../entities/CoreEntity";
|
|
4
|
+
import type { EnemyType } from "../types/game";
|
|
4
5
|
export type PowerUpRarity = "common" | "rare" | "epic" | "legendary";
|
|
5
6
|
export type PowerUpCategory = "radius" | "duration" | "power" | "defense" | "magnet";
|
|
6
7
|
export interface PowerUpDefinition {
|
|
@@ -13,6 +14,7 @@ export interface PowerUpDefinition {
|
|
|
13
14
|
rarityWeight: number;
|
|
14
15
|
color: string;
|
|
15
16
|
requiredUnlockId?: string;
|
|
17
|
+
requiredEnemyId?: EnemyType;
|
|
16
18
|
apply: (core?: CoreEntity) => void;
|
|
17
19
|
isAvailable?: (context: {
|
|
18
20
|
config: GameConfigData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PowerUpTypes.d.ts","sourceRoot":"","sources":["../../src/powerups/PowerUpTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"PowerUpTypes.d.ts","sourceRoot":"","sources":["../../src/powerups/PowerUpTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErF,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,YAAY,CAAC;IAC7B,OAAO,EAAE,MAAM,YAAY,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,KAAK,OAAO,CAAC;CAClE;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAKvD,CAAC"}
|
|
@@ -4,11 +4,22 @@ import type { ExperienceOrb } from "../entities/ExperienceOrb";
|
|
|
4
4
|
import type { EcosomaOrb } from "../entities/EcosomaOrb";
|
|
5
5
|
import type { ToxicPool, GravityVortex, Shockwave, FloatingText, Particle, Vector2D } from "../types/game";
|
|
6
6
|
import type { OrbitingModifierOrb } from "../powerups/OrbitingModifierOrb";
|
|
7
|
+
import type { BossCatalystOrb } from "../entities/BossCatalystOrb";
|
|
8
|
+
import type { BossEncounterSnapshot } from "../bosses/BossEncounter";
|
|
7
9
|
import type { JuiceEffects } from "./JuiceEffects";
|
|
8
10
|
import type { ThemeManager } from "../theme/ThemeManager";
|
|
9
11
|
import type { InteractiveTutorial } from "../director/InteractiveTutorial";
|
|
10
12
|
import type { I18nService } from "../i18n/I18nService";
|
|
11
13
|
import type { GameConfigManager } from "../config/GameConfig";
|
|
14
|
+
export interface AreaVisualState {
|
|
15
|
+
readonly areaId: string;
|
|
16
|
+
readonly areaName: string;
|
|
17
|
+
readonly phase: "area" | "boss" | "reward" | "transition";
|
|
18
|
+
readonly threatStage: number;
|
|
19
|
+
readonly threatRatio: number;
|
|
20
|
+
readonly transitionProgress: number;
|
|
21
|
+
readonly entryProgress: number;
|
|
22
|
+
}
|
|
12
23
|
export declare class CanvasRenderer {
|
|
13
24
|
private canvas;
|
|
14
25
|
private ctx;
|
|
@@ -20,8 +31,15 @@ export declare class CanvasRenderer {
|
|
|
20
31
|
private enemyShapeRenderer;
|
|
21
32
|
private coreDeathEffectRenderer;
|
|
22
33
|
constructor(canvas: HTMLCanvasElement, themeManager: ThemeManager, configManager: GameConfigManager);
|
|
23
|
-
render(core: CoreEntity, enemies: EnemyEntity[], experienceOrbs: ExperienceOrb[], ecosomaOrbs: EcosomaOrb[], pools: ToxicPool[], vortices: GravityVortex[], shockwaves: Shockwave[], particles: Particle[], floatingTexts: FloatingText[], juice: JuiceEffects, grabbedEnemy: EnemyEntity | null, mousePos: Vector2D, level?: number, experienceProgress?: number, levelUpPulse?: number, levelUpActive?: boolean, tutorial?: InteractiveTutorial, deathSequenceProgress?: number): void;
|
|
34
|
+
render(core: CoreEntity, enemies: EnemyEntity[], experienceOrbs: ExperienceOrb[], ecosomaOrbs: EcosomaOrb[], pools: ToxicPool[], vortices: GravityVortex[], shockwaves: Shockwave[], particles: Particle[], floatingTexts: FloatingText[], juice: JuiceEffects, grabbedEnemy: EnemyEntity | null, mousePos: Vector2D, level?: number, experienceProgress?: number, levelUpPulse?: number, levelUpActive?: boolean, tutorial?: InteractiveTutorial, deathSequenceProgress?: number, areaVisual?: AreaVisualState, boss?: BossEncounterSnapshot | null, bossCatalyst?: BossCatalystOrb | null): void;
|
|
24
35
|
private drawLevelUpDimmer;
|
|
36
|
+
private drawAreaVisual;
|
|
37
|
+
private drawAreaIntro;
|
|
38
|
+
private drawExteriorThreat;
|
|
39
|
+
private drawBossEncounter;
|
|
40
|
+
private drawBossIntro;
|
|
41
|
+
private drawIntroBossAppendage;
|
|
42
|
+
private drawBossCatalyst;
|
|
25
43
|
private drawExperienceOrbs;
|
|
26
44
|
private drawEcosomaOrbs;
|
|
27
45
|
private drawEcosomaTendril;
|
|
@@ -40,5 +58,6 @@ export declare class CanvasRenderer {
|
|
|
40
58
|
drawOrbitingModifierOrbs(orbs: OrbitingModifierOrb[], time: number, i18nService?: I18nService, canReroll?: boolean, rerollsRemaining?: number): void;
|
|
41
59
|
private getDisplayScale;
|
|
42
60
|
private colorWithAlpha;
|
|
61
|
+
private mixHexColors;
|
|
43
62
|
}
|
|
44
63
|
//# sourceMappingURL=CanvasRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasRenderer.d.ts","sourceRoot":"","sources":["../../src/render/CanvasRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EACR,SAAS,EACT,aAAa,EACb,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,QAAQ,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAO1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"CanvasRenderer.d.ts","sourceRoot":"","sources":["../../src/render/CanvasRenderer.ts"],"names":[],"mappings":"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"}
|