@gamebob/axon-surge 0.19.0 → 0.25.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/axon-surge.js +5762 -3065
- package/dist/codex/Codex.d.ts +38 -0
- package/dist/codex/Codex.d.ts.map +1 -0
- package/dist/codex/CodexTypes.d.ts +45 -0
- package/dist/codex/CodexTypes.d.ts.map +1 -0
- package/dist/codex/DefaultCodex.d.ts +3 -0
- package/dist/codex/DefaultCodex.d.ts.map +1 -0
- package/dist/config/GameConfig.d.ts +9 -0
- package/dist/config/GameConfig.d.ts.map +1 -1
- package/dist/content/ContentRegistry.d.ts +0 -7
- package/dist/content/ContentRegistry.d.ts.map +1 -1
- package/dist/content/ContentTypes.d.ts +1 -0
- package/dist/content/ContentTypes.d.ts.map +1 -1
- package/dist/content/DefaultContentRegistry.d.ts.map +1 -1
- package/dist/content/DefinitionRegistry.d.ts +0 -6
- package/dist/content/DefinitionRegistry.d.ts.map +1 -1
- package/dist/content/EnemyBehavior.d.ts +1 -9
- package/dist/content/EnemyBehavior.d.ts.map +1 -1
- package/dist/content/EnemyBehaviors.d.ts.map +1 -1
- package/dist/content/EnemyDefinitions.d.ts +0 -1
- package/dist/content/EnemyDefinitions.d.ts.map +1 -1
- package/dist/core/EventBus.d.ts.map +1 -1
- package/dist/core/GameEngine.d.ts +17 -0
- package/dist/core/GameEngine.d.ts.map +1 -1
- package/dist/core/GameLoop.d.ts.map +1 -1
- package/dist/core/PerformanceAudit.d.ts +5 -1
- package/dist/core/PerformanceAudit.d.ts.map +1 -1
- package/dist/director/InteractiveTutorial.d.ts +2 -2
- package/dist/director/InteractiveTutorial.d.ts.map +1 -1
- package/dist/director/SpawnerPatterns.d.ts +2 -2
- package/dist/director/SpawnerPatterns.d.ts.map +1 -1
- package/dist/director/WaveDirector.d.ts +4 -2
- package/dist/director/WaveDirector.d.ts.map +1 -1
- package/dist/entities/CoreEntity.d.ts +1 -1
- package/dist/entities/CoreEntity.d.ts.map +1 -1
- package/dist/entities/EcosomaOrb.d.ts +19 -0
- package/dist/entities/EcosomaOrb.d.ts.map +1 -0
- package/dist/entities/EnemyEntity.d.ts +3 -3
- package/dist/entities/EnemyEntity.d.ts.map +1 -1
- package/dist/entities/ExperienceOrb.d.ts +0 -6
- package/dist/entities/ExperienceOrb.d.ts.map +1 -1
- package/dist/factory/EntityFactory.d.ts.map +1 -1
- package/dist/i18n/I18nService.d.ts.map +1 -1
- package/dist/i18n/locales.d.ts +75 -0
- package/dist/i18n/locales.d.ts.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/input/InputManager.d.ts +3 -3
- package/dist/input/InputManager.d.ts.map +1 -1
- package/dist/physics/EffectClusterer.d.ts +0 -5
- package/dist/physics/EffectClusterer.d.ts.map +1 -1
- package/dist/physics/PhysicsEngine.d.ts +6 -6
- package/dist/physics/PhysicsEngine.d.ts.map +1 -1
- package/dist/physics/handlers/ChainReactionHelper.d.ts +2 -1
- package/dist/physics/handlers/ChainReactionHelper.d.ts.map +1 -1
- package/dist/physics/handlers/CoreCollisionHandler.d.ts.map +1 -1
- package/dist/physics/handlers/ShieldCollisionHandler.d.ts.map +1 -1
- package/dist/physics/handlers/ThrownCollisionHandler.d.ts.map +1 -1
- package/dist/physics/handlers/ToxicPoolPhysicsHandler.d.ts.map +1 -1
- package/dist/physics/handlers/VortexPhysicsHandler.d.ts.map +1 -1
- package/dist/platform/browser-platform.d.ts.map +1 -1
- package/dist/powerups/PowerUpRegistry.d.ts +3 -2
- package/dist/powerups/PowerUpRegistry.d.ts.map +1 -1
- package/dist/powerups/PowerUpTypes.d.ts +1 -0
- package/dist/powerups/PowerUpTypes.d.ts.map +1 -1
- package/dist/progression/DefaultGeneticMemory.d.ts +3 -0
- package/dist/progression/DefaultGeneticMemory.d.ts.map +1 -0
- package/dist/progression/EcosomaDropPolicy.d.ts +8 -0
- package/dist/progression/EcosomaDropPolicy.d.ts.map +1 -0
- package/dist/progression/GeneticMemory.d.ts +42 -0
- package/dist/progression/GeneticMemory.d.ts.map +1 -0
- package/dist/progression/GeneticMemoryIconLibrary.d.ts +3 -0
- package/dist/progression/GeneticMemoryIconLibrary.d.ts.map +1 -0
- package/dist/progression/GeneticMemoryPassives.d.ts +4 -0
- package/dist/progression/GeneticMemoryPassives.d.ts.map +1 -0
- package/dist/progression/ProgressionTypes.d.ts +36 -0
- package/dist/progression/ProgressionTypes.d.ts.map +1 -0
- package/dist/render/CanvasRenderer.d.ts +11 -7
- package/dist/render/CanvasRenderer.d.ts.map +1 -1
- package/dist/render/CoreDeathEffectRenderer.d.ts +22 -0
- package/dist/render/CoreDeathEffectRenderer.d.ts.map +1 -0
- package/dist/render/CosmosBackgroundRenderer.d.ts.map +1 -1
- package/dist/render/EnemyShapeRenderer.d.ts +2 -3
- package/dist/render/EnemyShapeRenderer.d.ts.map +1 -1
- package/dist/render/JuiceEffects.d.ts +1 -0
- package/dist/render/JuiceEffects.d.ts.map +1 -1
- package/dist/strategies/FragmentClusterStrategy.d.ts.map +1 -1
- package/dist/strategies/HeavyShieldStrategy.d.ts.map +1 -1
- package/dist/strategies/ToxicSporeStrategy.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/theme/GameColors.d.ts +1 -1
- package/dist/theme/GameColors.d.ts.map +1 -1
- package/dist/theme/ThemeManager.d.ts +1 -1
- package/dist/theme/ThemeManager.d.ts.map +1 -1
- package/dist/types/game.d.ts +1 -1
- package/dist/types/game.d.ts.map +1 -1
- package/dist/ui/CodexOverlay.d.ts +40 -0
- package/dist/ui/CodexOverlay.d.ts.map +1 -0
- package/dist/ui/CodexSpecimenCanvas.d.ts +26 -0
- package/dist/ui/CodexSpecimenCanvas.d.ts.map +1 -0
- package/dist/ui/CodexToast.d.ts +11 -0
- package/dist/ui/CodexToast.d.ts.map +1 -0
- package/dist/ui/CodexVariantCanvas.d.ts +24 -0
- package/dist/ui/CodexVariantCanvas.d.ts.map +1 -0
- package/dist/ui/GeneticMemoryMapPan.d.ts +10 -0
- package/dist/ui/GeneticMemoryMapPan.d.ts.map +1 -0
- package/dist/ui/GeneticMemoryMapRenderer.d.ts +18 -0
- package/dist/ui/GeneticMemoryMapRenderer.d.ts.map +1 -0
- package/dist/ui/GeneticMemoryOverlay.d.ts +28 -0
- package/dist/ui/GeneticMemoryOverlay.d.ts.map +1 -0
- package/dist/ui/GeneticMemoryUiAssets.d.ts +2 -0
- package/dist/ui/GeneticMemoryUiAssets.d.ts.map +1 -0
- package/dist/ui/OnboardingTutorial.d.ts +1 -1
- package/dist/ui/OnboardingTutorial.d.ts.map +1 -1
- package/dist/ui/ProgressBar.d.ts.map +1 -1
- package/dist/ui/SettingsModal.d.ts +2 -2
- package/dist/ui/SettingsModal.d.ts.map +1 -1
- package/dist/ui/StartMenu.d.ts +7 -2
- package/dist/ui/StartMenu.d.ts.map +1 -1
- package/package.json +27 -27
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { CodexChange, CodexEnemyDefinition, CodexEntrySnapshot, CodexStorage } from "./CodexTypes";
|
|
2
|
+
type CodexListener = (changes: readonly CodexChange[]) => void;
|
|
3
|
+
export declare class Codex {
|
|
4
|
+
private readonly definitions;
|
|
5
|
+
private readonly progress;
|
|
6
|
+
private readonly listeners;
|
|
7
|
+
private readonly storage;
|
|
8
|
+
private hasUnreadChanges;
|
|
9
|
+
constructor(definitions: readonly CodexEnemyDefinition[], storage?: CodexStorage | null);
|
|
10
|
+
getEntries(): CodexEntrySnapshot[];
|
|
11
|
+
getEntry(id: string): CodexEntrySnapshot | undefined;
|
|
12
|
+
hasUnread(): boolean;
|
|
13
|
+
getUnreadCount(): number;
|
|
14
|
+
recordControlled(enemyId: string): void;
|
|
15
|
+
recordKill(victimId: string, killerId?: string | null): void;
|
|
16
|
+
discoverVariant(enemyId: string, variantId: string): void;
|
|
17
|
+
recordVariant(enemyId: string, variantId: string): void;
|
|
18
|
+
discoverForm(enemyId: string, formId: string): void;
|
|
19
|
+
recordSeen(enemyId: string): void;
|
|
20
|
+
subscribe(listener: CodexListener): () => void;
|
|
21
|
+
markAllRead(): void;
|
|
22
|
+
private getUnlockedMilestoneCount;
|
|
23
|
+
private isTrackComplete;
|
|
24
|
+
private collectMilestoneChanges;
|
|
25
|
+
private commit;
|
|
26
|
+
private notify;
|
|
27
|
+
private initializeProgress;
|
|
28
|
+
private load;
|
|
29
|
+
private readStoredData;
|
|
30
|
+
private persist;
|
|
31
|
+
private static createDefinitions;
|
|
32
|
+
private static readCount;
|
|
33
|
+
private static readIds;
|
|
34
|
+
private isDiscovered;
|
|
35
|
+
private static getBrowserStorage;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=Codex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Codex.d.ts","sourceRoot":"","sources":["../../src/codex/Codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,WAAW,EACX,oBAAoB,EAEpB,kBAAkB,EAGlB,YAAY,EACf,MAAM,cAAc,CAAC;AAMtB,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,KAAK,IAAI,CAAC;AAW/D,qBAAa,KAAK;IACd,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,gBAAgB,CAAS;gBAG7B,WAAW,EAAE,SAAS,oBAAoB,EAAE,EAC5C,OAAO,GAAE,YAAY,GAAG,IAAgC;IAQrD,UAAU,IAAI,kBAAkB,EAAE;IAMlC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IA+BpD,SAAS,IAAI,OAAO;IAIpB,cAAc,IAAI,MAAM;IAIxB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASvC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAuB5D,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAWzD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIvD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWnD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOjC,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI;IAK9C,WAAW,IAAI,IAAI;IAO1B,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,IAAI;IAsBZ,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,OAAO;IAuBf,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAuBhC,OAAO,CAAC,MAAM,CAAC,SAAS;IAMxB,OAAO,CAAC,MAAM,CAAC,OAAO;IAMtB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAOnC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Translations } from "../i18n/locales";
|
|
2
|
+
export type CodexMasteryTrack = "controlled" | "defeated" | "caused";
|
|
3
|
+
export interface CodexLoreEntryDefinition {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly textKey: keyof Translations;
|
|
6
|
+
readonly track?: CodexMasteryTrack;
|
|
7
|
+
readonly milestone?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface CodexEnemyDefinition {
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly titleKey: keyof Translations;
|
|
12
|
+
readonly loreKey: keyof Translations;
|
|
13
|
+
readonly loreEntries?: readonly CodexLoreEntryDefinition[];
|
|
14
|
+
readonly milestones: Readonly<Record<CodexMasteryTrack, readonly number[]>>;
|
|
15
|
+
readonly requiredFormIds: readonly string[];
|
|
16
|
+
readonly requiredVariantIds: readonly string[];
|
|
17
|
+
}
|
|
18
|
+
export interface CodexEntryProgress {
|
|
19
|
+
readonly seen: boolean;
|
|
20
|
+
readonly controlled: number;
|
|
21
|
+
readonly defeated: number;
|
|
22
|
+
readonly caused: number;
|
|
23
|
+
readonly discoveredFormIds: readonly string[];
|
|
24
|
+
readonly discoveredVariantIds: readonly string[];
|
|
25
|
+
}
|
|
26
|
+
export interface CodexEntrySnapshot extends CodexEnemyDefinition, CodexEntryProgress {
|
|
27
|
+
readonly mastered: boolean;
|
|
28
|
+
readonly unlockedMilestones: Readonly<Record<CodexMasteryTrack, number>>;
|
|
29
|
+
}
|
|
30
|
+
export interface CodexSaveData {
|
|
31
|
+
readonly version: number;
|
|
32
|
+
readonly entries: Readonly<Record<string, Partial<CodexEntryProgress>>>;
|
|
33
|
+
readonly hasUnread: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface CodexStorage {
|
|
36
|
+
getItem(key: string): string | null;
|
|
37
|
+
setItem(key: string, value: string): void;
|
|
38
|
+
}
|
|
39
|
+
export type CodexChangeType = "milestone" | "variant" | "form";
|
|
40
|
+
export interface CodexChange {
|
|
41
|
+
readonly type: CodexChangeType;
|
|
42
|
+
readonly enemyId: string;
|
|
43
|
+
readonly detailId?: string;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=CodexTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodexTypes.d.ts","sourceRoot":"","sources":["../../src/codex/CodexTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,YAAY,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACjC,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,WAAW,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC3D,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB,EAAE,kBAAkB;IAChF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACxE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE/D,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultCodex.d.ts","sourceRoot":"","sources":["../../src/codex/DefaultCodex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,oBAAoB,EAGvB,MAAM,cAAc,CAAC;AA4DtB,eAAO,MAAM,qBAAqB,EAAE,SAAS,oBAAoB,EAMhE,CAAC"}
|
|
@@ -64,6 +64,14 @@ export interface ExperienceConfig {
|
|
|
64
64
|
yellowThreshold: number;
|
|
65
65
|
redThreshold: number;
|
|
66
66
|
}
|
|
67
|
+
export interface EcosomaConfig {
|
|
68
|
+
baseDropChance: number;
|
|
69
|
+
chancePerLevel: number;
|
|
70
|
+
maxDropChance: number;
|
|
71
|
+
absorptionInitialSpeed: number;
|
|
72
|
+
absorptionAcceleration: number;
|
|
73
|
+
absorptionMaxSpeed: number;
|
|
74
|
+
}
|
|
67
75
|
export interface EffectAggregationConfig {
|
|
68
76
|
toxicPoolMergePadding: number;
|
|
69
77
|
gravityVortexMergePadding: number;
|
|
@@ -78,6 +86,7 @@ export interface GameConfigData {
|
|
|
78
86
|
piercer: PiercerConfig;
|
|
79
87
|
magnet: MagnetConfig;
|
|
80
88
|
experience: ExperienceConfig;
|
|
89
|
+
ecosoma: EcosomaConfig;
|
|
81
90
|
effectAggregation: EffectAggregationConfig;
|
|
82
91
|
}
|
|
83
92
|
export declare const DEFAULT_GAME_CONFIG: GameConfigData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameConfig.d.ts","sourceRoot":"","sources":["../../src/config/GameConfig.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB,EAAE,MAAM,CAAC;IAClC,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC,uBAAuB,EAAE,MAAM,CAAC;IAChC,0BAA0B,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;IACnC,0BAA0B,EAAE,MAAM,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,yBAAyB,EAAE,MAAM,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,aAAa,EAAE,mBAAmB,CAAC;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,iBAAiB,EAAE,uBAAuB,CAAC;CAC9C;AAED,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"GameConfig.d.ts","sourceRoot":"","sources":["../../src/config/GameConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { DefinitionRegistry } from "./DefinitionRegistry";
|
|
2
2
|
import type { AreaDefinition, BossDefinition, BossRewardDefinition, ContentCatalog, CoreDefinition, EnemyDefinition, EnemyVariantDefinition, SpawnerPatternDefinition, SynergyDefinition } from "./ContentTypes";
|
|
3
3
|
import type { PowerUpDefinition } from "../powerups/PowerUpTypes";
|
|
4
|
-
/**
|
|
5
|
-
* Catalog of all extensible game content.
|
|
6
|
-
*
|
|
7
|
-
* The registries are intentionally separate so future systems can validate references
|
|
8
|
-
* without making the game loop know how content was authored.
|
|
9
|
-
*/
|
|
10
4
|
export declare class ContentRegistry {
|
|
11
5
|
readonly enemies: DefinitionRegistry<EnemyDefinition>;
|
|
12
6
|
readonly variants: DefinitionRegistry<EnemyVariantDefinition>;
|
|
@@ -19,7 +13,6 @@ export declare class ContentRegistry {
|
|
|
19
13
|
readonly spawnerPatterns: DefinitionRegistry<SpawnerPatternDefinition>;
|
|
20
14
|
readonly tutorial: ContentCatalog["tutorial"];
|
|
21
15
|
constructor(catalog?: ContentCatalog);
|
|
22
|
-
/** Validate references once a complete catalog has been assembled. */
|
|
23
16
|
validate(): void;
|
|
24
17
|
}
|
|
25
18
|
//# sourceMappingURL=ContentRegistry.d.ts.map
|
|
@@ -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
|
|
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;CAkC1B"}
|
|
@@ -17,6 +17,7 @@ export interface EnemyDefinition extends IdentifiedDefinition {
|
|
|
17
17
|
readonly spawnWeight?: number;
|
|
18
18
|
readonly ambientSpawn?: boolean;
|
|
19
19
|
readonly synergyKey?: string;
|
|
20
|
+
readonly requiredUnlockId?: string;
|
|
20
21
|
}
|
|
21
22
|
export interface EnemyVariantDefinition extends IdentifiedDefinition {
|
|
22
23
|
readonly baseEnemyId: EnemyType;
|
|
@@ -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;AAErD,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IACzD,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,eAAe,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,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,iBAgBnC,CAAC"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
export interface IdentifiedDefinition {
|
|
2
2
|
readonly id: string;
|
|
3
3
|
}
|
|
4
|
-
/**
|
|
5
|
-
* Small, strict registry used by game content definitions.
|
|
6
|
-
*
|
|
7
|
-
* Registries deliberately reject duplicate and empty ids so content cannot silently
|
|
8
|
-
* replace another definition while the catalog grows.
|
|
9
|
-
*/
|
|
10
4
|
export declare class DefinitionRegistry<T extends IdentifiedDefinition> {
|
|
11
5
|
private readonly kind;
|
|
12
6
|
private readonly definitions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefinitionRegistry.d.ts","sourceRoot":"","sources":["../../src/content/DefinitionRegistry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACvB;AAED
|
|
1
|
+
{"version":3,"file":"DefinitionRegistry.d.ts","sourceRoot":"","sources":["../../src/content/DefinitionRegistry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,kBAAkB,CAAC,CAAC,SAAS,oBAAoB;IAGvC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;gBAEhB,IAAI,EAAE,MAAM;IAEzC,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI;IAY7B,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI;IAM7C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI9B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC;IAQtB,MAAM,IAAI,CAAC,EAAE;IAIpB,IAAW,IAAI,IAAI,MAAM,CAExB;CACJ"}
|
|
@@ -32,7 +32,7 @@ export interface EnemyEffectContext {
|
|
|
32
32
|
pos: Vector2D | null;
|
|
33
33
|
};
|
|
34
34
|
readonly onKill: () => void;
|
|
35
|
-
readonly killEnemy: (enemy: EnemyEntity, angle: number) => void;
|
|
35
|
+
readonly killEnemy: (enemy: EnemyEntity, angle: number, sourceType?: EnemyType) => void;
|
|
36
36
|
}
|
|
37
37
|
export interface EnemyCollisionContext extends EnemyEffectContext {
|
|
38
38
|
readonly thrownEnemy: EnemyEntity;
|
|
@@ -43,23 +43,15 @@ export interface EnemyChainReactionContext extends EnemyEffectContext {
|
|
|
43
43
|
readonly enemy: EnemyEntity;
|
|
44
44
|
readonly angle: number;
|
|
45
45
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Runtime extension point for enemy behaviour.
|
|
48
|
-
*
|
|
49
|
-
* Systems own the lifecycle; content owns the exceptional behaviour. Adding an
|
|
50
|
-
* enemy therefore means registering data and hooks, not editing physics/input.
|
|
51
|
-
*/
|
|
52
46
|
export interface EnemyBehavior {
|
|
53
47
|
readonly rendererId: string;
|
|
54
48
|
readonly rotatesWithVelocity: boolean;
|
|
55
49
|
readonly canBeChainReactionTarget: boolean;
|
|
56
|
-
/** Marks fragments that the core may automatically deflect when threatened. */
|
|
57
50
|
readonly autoDeflectFromCore?: boolean;
|
|
58
51
|
readonly onRelease?: (enemy: EnemyEntity, context: EnemyReleaseContext) => void;
|
|
59
52
|
readonly onThrownUpdate?: (enemy: EnemyEntity, context: EnemyUpdateContext) => void;
|
|
60
53
|
readonly onOutOfBounds?: (enemy: EnemyEntity, context: EnemyEffectContext) => void;
|
|
61
54
|
readonly onCollision?: (context: EnemyCollisionContext) => boolean;
|
|
62
|
-
/** Whether a thrown enemy remains active after its collision strategy resolves. */
|
|
63
55
|
readonly continuesThroughTargets?: boolean;
|
|
64
56
|
readonly onChainReaction?: (context: EnemyChainReactionContext) => void;
|
|
65
57
|
readonly canInteractWithHazard?: (enemy: EnemyEntity, hazardId: string) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnemyBehavior.d.ts","sourceRoot":"","sources":["../../src/content/EnemyBehavior.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EACR,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACX,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAA;KAAE,CAAC;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"EnemyBehavior.d.ts","sourceRoot":"","sources":["../../src/content/EnemyBehavior.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnemyBehaviors.d.ts","sourceRoot":"","sources":["../../src/content/EnemyBehaviors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"EnemyBehaviors.d.ts","sourceRoot":"","sources":["../../src/content/EnemyBehaviors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,aAAa,EAMhB,MAAM,iBAAiB,CAAC;AA6QzB,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAoDjE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,IAAI,MAAM,KAAG,aAMhD,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { EnemyDefinition } from "./ContentTypes";
|
|
2
|
-
/** Current enemy catalog. New enemy content should be added as a definition here first. */
|
|
3
2
|
export declare const DEFAULT_ENEMY_DEFINITIONS: readonly EnemyDefinition[];
|
|
4
3
|
//# sourceMappingURL=EnemyDefinitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnemyDefinitions.d.ts","sourceRoot":"","sources":["../../src/content/EnemyDefinitions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,
|
|
1
|
+
{"version":3,"file":"EnemyDefinitions.d.ts","sourceRoot":"","sources":["../../src/content/EnemyDefinitions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,eAAO,MAAM,yBAAyB,EAAE,SAAS,eAAe,EA+E/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventBus.d.ts","sourceRoot":"","sources":["../../src/core/EventBus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAEjD,qBAAa,QAAQ;IACjB,OAAO,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"EventBus.d.ts","sourceRoot":"","sources":["../../src/core/EventBus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAEjD,qBAAa,QAAQ;IACjB,OAAO,CAAC,SAAS,CAAiE;IAE3E,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACzC,MAAM,IAAI;IAQN,GAAG,CAAC,CAAC,SAAS,MAAM,YAAY,EACnC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACzC,IAAI;IAOA,IAAI,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAOzE,KAAK,IAAI,IAAI;CAGvB"}
|
|
@@ -22,6 +22,9 @@ export declare class GameEngine {
|
|
|
22
22
|
private juice;
|
|
23
23
|
private hud;
|
|
24
24
|
private startMenu;
|
|
25
|
+
private geneticMemoryOverlay;
|
|
26
|
+
private codexOverlay;
|
|
27
|
+
private codexToast;
|
|
25
28
|
private settingsModal;
|
|
26
29
|
private interactiveTutorial;
|
|
27
30
|
private tutorialOverlay;
|
|
@@ -31,6 +34,9 @@ export declare class GameEngine {
|
|
|
31
34
|
private readonly entityFactory;
|
|
32
35
|
private readonly configManager;
|
|
33
36
|
private readonly powerUpRegistry;
|
|
37
|
+
private readonly geneticMemory;
|
|
38
|
+
private readonly codex;
|
|
39
|
+
private unsubscribeCodex;
|
|
34
40
|
private core;
|
|
35
41
|
private enemies;
|
|
36
42
|
private ambientEnemies;
|
|
@@ -40,6 +46,7 @@ export declare class GameEngine {
|
|
|
40
46
|
private particles;
|
|
41
47
|
private floatingTexts;
|
|
42
48
|
private experienceOrbs;
|
|
49
|
+
private ecosomaOrbs;
|
|
43
50
|
private orbitingOrbs;
|
|
44
51
|
private isLevelUpActive;
|
|
45
52
|
private pendingLevelUps;
|
|
@@ -50,6 +57,11 @@ export declare class GameEngine {
|
|
|
50
57
|
private combo;
|
|
51
58
|
private isRunning;
|
|
52
59
|
private isPaused;
|
|
60
|
+
private isDeathSequenceActive;
|
|
61
|
+
private deathSequenceElapsed;
|
|
62
|
+
private languageBeforeHold;
|
|
63
|
+
private readonly handleLanguageHold;
|
|
64
|
+
private readonly handleLanguageRelease;
|
|
53
65
|
constructor(options: GameEngineOptions);
|
|
54
66
|
setLanguage(language: Language): void;
|
|
55
67
|
setTheme(theme: Theme): void;
|
|
@@ -61,13 +73,18 @@ export declare class GameEngine {
|
|
|
61
73
|
private setupEvents;
|
|
62
74
|
startGame(): void;
|
|
63
75
|
private clearTransientRunState;
|
|
76
|
+
private clearTransientRunEntities;
|
|
77
|
+
private updateDeathSequence;
|
|
64
78
|
private update;
|
|
65
79
|
private triggerLevelUp;
|
|
66
80
|
private presentNextLevelUp;
|
|
67
81
|
private spawnExperienceDrops;
|
|
68
82
|
private updateExperienceOrbs;
|
|
83
|
+
private updateEcosomaOrbs;
|
|
84
|
+
private getEcosomaDropPolicy;
|
|
69
85
|
private triggerReroll;
|
|
70
86
|
private render;
|
|
87
|
+
private getRenderList;
|
|
71
88
|
private getRerollLimit;
|
|
72
89
|
destroy(): void;
|
|
73
90
|
}
|
|
@@ -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameLoop.d.ts","sourceRoot":"","sources":["../../src/core/GameLoop.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAErC,qBAAa,QAAQ;IACjB,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAa;gBAEvB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EAAE,cAAc,EAAE,MAAM,IAAI;IAKrE,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IAQZ,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAMlC,WAAW,IAAI,QAAQ;IAI9B,OAAO,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"GameLoop.d.ts","sourceRoot":"","sources":["../../src/core/GameLoop.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAErC,qBAAa,QAAQ;IACjB,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAa;gBAEvB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EAAE,cAAc,EAAE,MAAM,IAAI;IAKrE,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IAQZ,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAMlC,WAAW,IAAI,QAAQ;IAI9B,OAAO,CAAC,IAAI;CAsBf"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { I18nService } from "../i18n/I18nService";
|
|
1
2
|
export interface PerformanceAuditCounts {
|
|
2
3
|
enemies: number;
|
|
3
4
|
particles: number;
|
|
@@ -23,9 +24,12 @@ export declare class PerformanceAudit {
|
|
|
23
24
|
private slowFrames;
|
|
24
25
|
private lastReportAt;
|
|
25
26
|
private counts;
|
|
26
|
-
|
|
27
|
+
private ecosomaDropChance;
|
|
28
|
+
private readonly i18n;
|
|
29
|
+
constructor(container: HTMLElement, enabled: boolean, i18n?: I18nService);
|
|
27
30
|
beginFrame(): void;
|
|
28
31
|
setFpsLimit(limit: number): void;
|
|
32
|
+
setEcosomaDropChance(chance: number): void;
|
|
29
33
|
setState(state: "MENU" | "GAME" | "PAUSED"): void;
|
|
30
34
|
finishUpdate(physicsMs: number, counts: PerformanceAuditCounts): void;
|
|
31
35
|
finishRender(renderStart: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceAudit.d.ts","sourceRoot":"","sources":["../../src/core/PerformanceAudit.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACzB;AAUD,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAOZ;
|
|
1
|
+
{"version":3,"file":"PerformanceAudit.d.ts","sourceRoot":"","sources":["../../src/core/PerformanceAudit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACzB;AAUD,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAOZ;IACF,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;gBAE5B,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,WAAW;IAsDxE,UAAU,IAAI,IAAI;IAKlB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI1C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIjD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAOrE,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAiBvC,OAAO,IAAI,IAAI;YAKR,UAAU;IAoBxB,OAAO,CAAC,aAAa;CA4BxB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EnemyEntity } from "../entities/EnemyEntity";
|
|
2
|
-
import { EntityFactory } from "../factory/EntityFactory";
|
|
1
|
+
import type { EnemyEntity } from "../entities/EnemyEntity";
|
|
2
|
+
import type { EntityFactory } from "../factory/EntityFactory";
|
|
3
3
|
import type { EnemyType } from "../types/game";
|
|
4
4
|
export declare class InteractiveTutorial {
|
|
5
5
|
private readonly factory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractiveTutorial.d.ts","sourceRoot":"","sources":["../../src/director/InteractiveTutorial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"InteractiveTutorial.d.ts","sourceRoot":"","sources":["../../src/director/InteractiveTutorial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,qBAAa,mBAAmB;IAExB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,SAAS,EACvB,UAAU,EAAE,SAAS;IAEnC,QAAQ,EAAE,OAAO,CAAS;IAC1B,WAAW,EAAE,OAAO,CAAS;IACpC,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,gBAAgB,CAA4B;IAE7C,iBAAiB,IAAI,OAAO;IAQ5B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAM1C,WAAW,IAAI,WAAW,GAAG,IAAI;IAIjC,SAAS,IAAI,WAAW,GAAG,IAAI;IAI/B,OAAO,IAAI,CAAC,GAAG,CAAC;IAUhB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IA+BxE,MAAM,CACT,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,IAAI,EACtB,cAAc,CAAC,EAAE,MAAM,IAAI,GAC5B,IAAI;IA0DP,OAAO,CAAC,YAAY;IAqBb,QAAQ,IAAI,IAAI;CAI1B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EnemyEntity } from "../entities/EnemyEntity";
|
|
2
|
-
import { EnemyPool } from "../pool/EnemyPool";
|
|
1
|
+
import type { EnemyEntity } from "../entities/EnemyEntity";
|
|
2
|
+
import type { EnemyPool } from "../pool/EnemyPool";
|
|
3
3
|
import type { EntityFactory } from "../factory/EntityFactory";
|
|
4
4
|
import type { Vector2D, EnemyType } from "../types/game";
|
|
5
5
|
export declare class SpawnerPatterns {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpawnerPatterns.d.ts","sourceRoot":"","sources":["../../src/director/SpawnerPatterns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"SpawnerPatterns.d.ts","sourceRoot":"","sources":["../../src/director/SpawnerPatterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAuBhC;WAEY,KAAK,CACf,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACf,WAAW,EAAE;WAMF,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ;WAS7D,kBAAkB,CAC5B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACf,WAAW,EAAE;WAuBF,iBAAiB,CAC3B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,GAClB,WAAW,EAAE;WA+BF,cAAc,CACxB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,GAClB,WAAW,EAAE;WAiBF,iBAAiB,CAC3B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,GAClB,WAAW,EAAE;WAkBF,iBAAiB,CAC3B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,GAClB,WAAW,EAAE;WAsBF,qBAAqB,CAC/B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,GAClB,WAAW,EAAE;CAgBnB"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import type { Vector2D } from "../types/game";
|
|
2
|
-
import { EnemyEntity } from "../entities/EnemyEntity";
|
|
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 { UnlockState } from "../progression/ProgressionTypes";
|
|
5
6
|
export declare class WaveDirector {
|
|
6
7
|
private readonly factory;
|
|
7
8
|
private readonly content;
|
|
9
|
+
private readonly unlockState?;
|
|
8
10
|
wave: number;
|
|
9
11
|
private pool;
|
|
10
12
|
private spawnTimer;
|
|
11
13
|
private waveTimer;
|
|
12
14
|
private patternCooldown;
|
|
13
15
|
private initialGracePeriod;
|
|
14
|
-
constructor(factory: EntityFactory, content: ContentRegistry);
|
|
16
|
+
constructor(factory: EntityFactory, content: ContentRegistry, unlockState?: UnlockState | undefined);
|
|
15
17
|
reset(): void;
|
|
16
18
|
update(dt: number, activeEnemies: EnemyEntity[], width: number, height: number, corePos: Vector2D): EnemyEntity | null;
|
|
17
19
|
private spawnSingleEnemy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaveDirector.d.ts","sourceRoot":"","sources":["../../src/director/WaveDirector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"WaveDirector.d.ts","sourceRoot":"","sources":["../../src/director/WaveDirector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAa,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,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,qBAAa,YAAY;IASjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAV1B,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;gBAGpB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,eAAe,EACxB,WAAW,CAAC,EAAE,WAAW,YAAA;IAKvC,KAAK,IAAI,IAAI;IAOb,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;IA8BxB,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,sBAAsB;CAqDjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreEntity.d.ts","sourceRoot":"","sources":["../../src/entities/CoreEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"CoreEntity.d.ts","sourceRoot":"","sources":["../../src/entities/CoreEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,qBAAa,UAAU;IAkBf,OAAO,CAAC,QAAQ,CAAC,aAAa;IAjB3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAK;IACvB,WAAW,EAAE,MAAM,CAAC;IAEpB,oBAAoB,EAAE,MAAM,CAAK;IACjC,0BAA0B,EAAE,MAAM,CAAC;IAEnC,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAA4B;IAC5E,YAAY,EAAE,MAAM,CAAK;IACzB,sBAAsB,EAAE,MAAM,EAAE,CAAM;gBAGzC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACQ,aAAa,EAAE,iBAAiB;IAW9C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,IAAI;IAejE,eAAe,IAAI,MAAM;IAOzB,WAAW,IAAI,MAAM;IAOrB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAOxB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOxC,cAAc,EAAE,MAAM,CAAK;IAE3B,aAAa,IAAI,OAAO;IAgBxB,IAAI,CAAC,MAAM,GAAE,MAAU,GAAG,OAAO;IASjC,UAAU,CAAC,MAAM,GAAE,MAAU,GAAG,IAAI;IAKpC,UAAU,IAAI,OAAO;IAYrB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;CAc3C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Vector2D } from "../types/game";
|
|
2
|
+
import type { EcosomaConfig } from "../config/GameConfig";
|
|
3
|
+
export declare class EcosomaOrb {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly value = 1;
|
|
6
|
+
position: Vector2D;
|
|
7
|
+
velocity: Vector2D;
|
|
8
|
+
readonly radius = 11;
|
|
9
|
+
readonly color: "#d8ff62";
|
|
10
|
+
active: boolean;
|
|
11
|
+
isAbsorbing: boolean;
|
|
12
|
+
absorbedByCore: boolean;
|
|
13
|
+
private absorptionSpeed;
|
|
14
|
+
constructor(position: Vector2D);
|
|
15
|
+
beginAbsorption(): void;
|
|
16
|
+
update(dt: number, corePosition: Vector2D, coreRadius: number, config: EcosomaConfig): void;
|
|
17
|
+
private updateAbsorption;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=EcosomaOrb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EcosomaOrb.d.ts","sourceRoot":"","sources":["../../src/entities/EcosomaOrb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,UAAU;IACnB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,KAAK,KAAK;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IAC1B,SAAgB,MAAM,MAAM;IAC5B,SAAgB,KAAK,YAAuB;IACrC,MAAM,UAAQ;IACd,WAAW,UAAS;IACpB,cAAc,UAAS;IAC9B,OAAO,CAAC,eAAe,CAAK;gBAET,QAAQ,EAAE,QAAQ;IAW9B,eAAe,IAAI,IAAI;IAOvB,MAAM,CACT,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,QAAQ,EACtB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,GACtB,IAAI;IAeP,OAAO,CAAC,gBAAgB;CA4B3B"}
|
|
@@ -18,7 +18,6 @@ export declare class EnemyEntity {
|
|
|
18
18
|
strategy: IImpactStrategy | null;
|
|
19
19
|
behavior: EnemyBehavior;
|
|
20
20
|
synergyKey: string;
|
|
21
|
-
/** Collision padding is deliberately small; visual area effects define their own radius. */
|
|
22
21
|
hitRadiusPadding: number;
|
|
23
22
|
maxSpeed: number;
|
|
24
23
|
isStationaryShield: boolean;
|
|
@@ -26,6 +25,7 @@ export declare class EnemyEntity {
|
|
|
26
25
|
launchDelay: number;
|
|
27
26
|
remainingHomingKills: number;
|
|
28
27
|
experienceDropPending: boolean;
|
|
28
|
+
codexDeathSourceType: EnemyType | null;
|
|
29
29
|
psionicDeflectionCooldown: number;
|
|
30
30
|
psionicDeflectionTimer: number;
|
|
31
31
|
isDying: boolean;
|
|
@@ -35,8 +35,8 @@ export declare class EnemyEntity {
|
|
|
35
35
|
sliceAngle: number;
|
|
36
36
|
constructor(id: string);
|
|
37
37
|
getHitRadius(): number;
|
|
38
|
-
triggerDissolveDeath(dropExperience?: boolean): void;
|
|
39
|
-
triggerSliceDeath(angle: number, dropExperience?: boolean): void;
|
|
38
|
+
triggerDissolveDeath(dropExperience?: boolean, sourceType?: EnemyType | null): void;
|
|
39
|
+
triggerSliceDeath(angle: number, dropExperience?: boolean, sourceType?: EnemyType | null): void;
|
|
40
40
|
update(dt: number): void;
|
|
41
41
|
reset(): void;
|
|
42
42
|
}
|
|
@@ -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;AAEvD,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;
|
|
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;AAEvD,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,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;CA0BvB"}
|
|
@@ -18,13 +18,7 @@ export declare class ExperienceOrb {
|
|
|
18
18
|
private mergeStartPosition;
|
|
19
19
|
private mergeElapsed;
|
|
20
20
|
constructor(position: Vector2D, value?: number, config?: ExperienceConfig);
|
|
21
|
-
/**
|
|
22
|
-
* Fuses nearby, loose orbs into a single cluster. A spatial hash keeps this
|
|
23
|
-
* bounded when many enemies die in the same area instead of comparing every
|
|
24
|
-
* orb with every other orb.
|
|
25
|
-
*/
|
|
26
21
|
static mergeNearby(orbs: ExperienceOrb[], mergeDistance: number): void;
|
|
27
|
-
/** Applies a gentle pairwise pull before fusion so the player can read the cluster forming. */
|
|
28
22
|
static attractNearby(orbs: ExperienceOrb[], config: ExperienceConfig, dt: number): void;
|
|
29
23
|
beginAbsorption(): void;
|
|
30
24
|
mergeWith(other: ExperienceOrb): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExperienceOrb.d.ts","sourceRoot":"","sources":["../../src/entities/ExperienceOrb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAgB7D,qBAAa,aAAa;IACtB,SAAgB,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAQ;IACvB,WAAW,EAAE,OAAO,CAAS;IAC7B,SAAS,EAAE,OAAO,CAAS;IAC3B,WAAW,EAAE,MAAM,CAAK;IACxB,UAAU,EAAE,MAAM,CAAK;IACvB,cAAc,EAAE,OAAO,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,YAAY,CAAK;
|
|
1
|
+
{"version":3,"file":"ExperienceOrb.d.ts","sourceRoot":"","sources":["../../src/entities/ExperienceOrb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAgB7D,qBAAa,aAAa;IACtB,SAAgB,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAQ;IACvB,WAAW,EAAE,OAAO,CAAS;IAC7B,SAAS,EAAE,OAAO,CAAS;IAC3B,WAAW,EAAE,MAAM,CAAK;IACxB,UAAU,EAAE,MAAM,CAAK;IACvB,cAAc,EAAE,OAAO,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,YAAY,CAAK;gBAGrB,QAAQ,EAAE,QAAQ,EAClB,KAAK,GAAE,MAAU,EACjB,MAAM,GAAE,gBAA4C;WAkB1C,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;WAsD/D,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IA4DvF,eAAe,IAAI,IAAI;IAMvB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAoCrC,MAAM,CACT,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,QAAQ,EACtB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACxB,IAAI;IAqCP,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,MAAM,CAAC,UAAU;CAG5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityFactory.d.ts","sourceRoot":"","sources":["../../src/factory/EntityFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,qBAAa,aAAa;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAErD,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,WAAW;IAOhF,cAAc,
|
|
1
|
+
{"version":3,"file":"EntityFactory.d.ts","sourceRoot":"","sources":["../../src/factory/EntityFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,qBAAa,aAAa;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAErD,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,WAAW;IAOhF,cAAc,CACjB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,QAAQ,GAClB,IAAI;CA2BV"}
|
|
@@ -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;IAItC,OAAO,CAAC,cAAc;
|
|
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;IAItC,OAAO,CAAC,cAAc;IA4Cf,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IASrC,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"}
|