@gamebob/axon-surge 0.28.0 → 0.29.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.
Files changed (62) hide show
  1. package/dist/axon-surge.js +3554 -1635
  2. package/dist/config/GameConfig.d.ts +5 -0
  3. package/dist/config/GameConfig.d.ts.map +1 -1
  4. package/dist/content/ContentRegistry.d.ts +3 -2
  5. package/dist/content/ContentRegistry.d.ts.map +1 -1
  6. package/dist/content/ContentTypes.d.ts +9 -3
  7. package/dist/content/ContentTypes.d.ts.map +1 -1
  8. package/dist/content/DefaultContentRegistry.d.ts.map +1 -1
  9. package/dist/core/CoreInteractionController.d.ts +23 -0
  10. package/dist/core/CoreInteractionController.d.ts.map +1 -0
  11. package/dist/core/GameEngine.d.ts +13 -0
  12. package/dist/core/GameEngine.d.ts.map +1 -1
  13. package/dist/director/InteractiveTutorial.d.ts +27 -11
  14. package/dist/director/InteractiveTutorial.d.ts.map +1 -1
  15. package/dist/entities/CoreEntity.d.ts +23 -0
  16. package/dist/entities/CoreEntity.d.ts.map +1 -1
  17. package/dist/entities/RepelWaveProjectile.d.ts +25 -0
  18. package/dist/entities/RepelWaveProjectile.d.ts.map +1 -0
  19. package/dist/i18n/locales.d.ts +45 -0
  20. package/dist/i18n/locales.d.ts.map +1 -1
  21. package/dist/input/InputManager.d.ts +4 -0
  22. package/dist/input/InputManager.d.ts.map +1 -1
  23. package/dist/physics/PhysicsEngine.d.ts +1 -1
  24. package/dist/physics/PhysicsEngine.d.ts.map +1 -1
  25. package/dist/physics/handlers/CoreCollisionHandler.d.ts +6 -0
  26. package/dist/physics/handlers/CoreCollisionHandler.d.ts.map +1 -1
  27. package/dist/physics/handlers/SmasherCollisionHandler.d.ts +9 -0
  28. package/dist/physics/handlers/SmasherCollisionHandler.d.ts.map +1 -0
  29. package/dist/powerups/PowerUpRegistry.d.ts +1 -1
  30. package/dist/powerups/PowerUpRegistry.d.ts.map +1 -1
  31. package/dist/powerups/PowerUpTypes.d.ts +1 -0
  32. package/dist/powerups/PowerUpTypes.d.ts.map +1 -1
  33. package/dist/progression/CoreProgressionTypes.d.ts +53 -0
  34. package/dist/progression/CoreProgressionTypes.d.ts.map +1 -0
  35. package/dist/progression/CoreRoster.d.ts +40 -0
  36. package/dist/progression/CoreRoster.d.ts.map +1 -0
  37. package/dist/progression/CoreRosterStorage.d.ts +9 -0
  38. package/dist/progression/CoreRosterStorage.d.ts.map +1 -0
  39. package/dist/progression/CoreRosterValidation.d.ts +3 -0
  40. package/dist/progression/CoreRosterValidation.d.ts.map +1 -0
  41. package/dist/progression/CoreWisdomPassives.d.ts +4 -0
  42. package/dist/progression/CoreWisdomPassives.d.ts.map +1 -0
  43. package/dist/progression/DefaultCoreRoster.d.ts +3 -0
  44. package/dist/progression/DefaultCoreRoster.d.ts.map +1 -0
  45. package/dist/progression/DefaultGeneticMemory.d.ts.map +1 -1
  46. package/dist/progression/GeneticMemory.d.ts +1 -0
  47. package/dist/progression/GeneticMemory.d.ts.map +1 -1
  48. package/dist/render/CanvasRenderer.d.ts +5 -1
  49. package/dist/render/CanvasRenderer.d.ts.map +1 -1
  50. package/dist/render/SmasherRenderer.d.ts +15 -0
  51. package/dist/render/SmasherRenderer.d.ts.map +1 -0
  52. package/dist/render/TutorialArrowRenderer.d.ts +2 -0
  53. package/dist/render/TutorialArrowRenderer.d.ts.map +1 -1
  54. package/dist/styles.css +1 -1
  55. package/dist/ui/CoreRosterOverlay.d.ts +35 -0
  56. package/dist/ui/CoreRosterOverlay.d.ts.map +1 -0
  57. package/dist/ui/CoreRunSummaryOverlay.d.ts +18 -0
  58. package/dist/ui/CoreRunSummaryOverlay.d.ts.map +1 -0
  59. package/dist/ui/StartMenu.d.ts +4 -1
  60. package/dist/ui/StartMenu.d.ts.map +1 -1
  61. package/dist/ui/TutorialOverlay.d.ts.map +1 -1
  62. package/package.json +1 -1
@@ -8,6 +8,11 @@ export interface CoreConfig {
8
8
  fragmentDeflectionLookahead: number;
9
9
  fragmentDeflectionSpeed: number;
10
10
  fragmentDeflectionCooldown: number;
11
+ repelWaveRadius: number;
12
+ repelProjectileSpeed: number;
13
+ repelLaunchSpeed: number;
14
+ smasherMaxImpacts: number;
15
+ smasherCooldown: number;
11
16
  }
12
17
  export interface ToxicPoolConfig {
13
18
  baseRadius: number;
@@ -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,aAAa;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;CAC9B;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,OAAO,EAAE,aAAa,CAAC;IACvB,iBAAiB,EAAE,uBAAuB,CAAC;CAC9C;AAED,eAAO,MAAM,mBAAmB,EAAE,cAiFjC,CAAC;AAEF,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,MAAM,CAAiB;;WAMjB,WAAW,IAAI,iBAAiB;IAOvC,SAAS,IAAI,cAAc;IAI3B,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAOpD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIvC,WAAW,CAAC,MAAM,GAAE,MAAU,GAAG,IAAI;IAIrC,cAAc,IAAI,IAAI;CAGhC"}
1
+ {"version":3,"file":"GameConfig.d.ts","sourceRoot":"","sources":["../../src/config/GameConfig.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { DefinitionRegistry } from "./DefinitionRegistry";
2
- import type { AreaDefinition, BossDefinition, BossRewardDefinition, ContentCatalog, CoreDefinition, EnemyDefinition, EnemyVariantDefinition, SpawnerPatternDefinition, SynergyDefinition } from "./ContentTypes";
2
+ import type { AreaDefinition, BossDefinition, BossRewardDefinition, ContentCatalog, CoreDefinition, EnemyDefinition, EnemyVariantDefinition, SpawnerPatternDefinition, SynergyDefinition, TutorialDefinition } from "./ContentTypes";
3
3
  import type { PowerUpDefinition } from "../powerups/PowerUpTypes";
4
4
  export declare class ContentRegistry {
5
5
  readonly enemies: DefinitionRegistry<EnemyDefinition>;
@@ -11,8 +11,9 @@ export declare class ContentRegistry {
11
11
  readonly bossRewards: DefinitionRegistry<BossRewardDefinition>;
12
12
  readonly cores: DefinitionRegistry<CoreDefinition>;
13
13
  readonly spawnerPatterns: DefinitionRegistry<SpawnerPatternDefinition>;
14
- readonly tutorial: ContentCatalog["tutorial"];
14
+ readonly tutorials: DefinitionRegistry<TutorialDefinition>;
15
15
  constructor(catalog?: ContentCatalog);
16
16
  validate(): void;
17
+ getTutorialForCore(coreId: string): TutorialDefinition | undefined;
17
18
  }
18
19
  //# 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,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"}
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,EACjB,kBAAkB,EACrB,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,SAAS,yCAA0D;gBAEhE,OAAO,GAAE,cAAmB;IAaxC,QAAQ,IAAI,IAAI;IAgDhB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;CAG5E"}
@@ -65,8 +65,14 @@ export interface SpawnerPatternDefinition extends IdentifiedDefinition {
65
65
  readonly weight: number;
66
66
  }
67
67
  export interface TutorialDefinition {
68
- readonly launcherEnemyId: EnemyType;
69
- readonly targetEnemyId: EnemyType;
68
+ readonly id: string;
69
+ readonly coreId: string;
70
+ readonly mechanic: "launcher" | "repellent" | "smasher";
71
+ readonly primaryEnemyId: EnemyType;
72
+ readonly secondaryEnemyId: EnemyType;
73
+ readonly step1TextKey: keyof Translations;
74
+ readonly step2TextKey: keyof Translations;
75
+ readonly warningTextKey: keyof Translations;
70
76
  }
71
77
  export interface ContentCatalog {
72
78
  readonly enemies?: readonly EnemyDefinition[];
@@ -78,6 +84,6 @@ export interface ContentCatalog {
78
84
  readonly bossRewards?: readonly BossRewardDefinition[];
79
85
  readonly cores?: readonly CoreDefinition[];
80
86
  readonly spawnerPatterns?: readonly SpawnerPatternDefinition[];
81
- readonly tutorial?: TutorialDefinition;
87
+ readonly tutorials?: readonly TutorialDefinition[];
82
88
  }
83
89
  //# sourceMappingURL=ContentTypes.d.ts.map
@@ -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;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,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;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;IAChE,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC3D,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,YAAY,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,SAAS,SAAS,EAAE,CAAC;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,SAAS,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,YAAY,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAC9D,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IACxD,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IAClE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC1C"}
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,iBAyEnC,CAAC"}
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,iBAwGnC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { CoreEntity } from "../entities/CoreEntity";
2
+ import type { EnemyEntity } from "../entities/EnemyEntity";
3
+ import type { InputManager } from "../input/InputManager";
4
+ import type { CoreMechanic } from "../progression/CoreProgressionTypes";
5
+ import type { Vector2D } from "../types/game";
6
+ export interface CoreInteractionResult {
7
+ readonly mechanic: CoreMechanic;
8
+ readonly enemy?: EnemyEntity;
9
+ readonly waveOrigin?: Vector2D;
10
+ }
11
+ export declare class CoreInteractionController {
12
+ private readonly inputManager;
13
+ private readonly core;
14
+ private mechanic;
15
+ constructor(inputManager: InputManager, core: CoreEntity);
16
+ setMechanic(mechanic: CoreMechanic): void;
17
+ getMechanic(): CoreMechanic;
18
+ pointerDown(enemies: EnemyEntity[], isTouch: boolean): CoreInteractionResult | null;
19
+ resolveRepelWave(enemies: EnemyEntity[], origin: Vector2D, isTouch: boolean): readonly EnemyEntity[];
20
+ pointerUp(): EnemyEntity | null;
21
+ updateHover(pointerPosition: Vector2D, isActive: boolean, isTouch: boolean): void;
22
+ }
23
+ //# sourceMappingURL=CoreInteractionController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreInteractionController.d.ts","sourceRoot":"","sources":["../../src/core/CoreInteractionController.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,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC;CAClC;AAED,qBAAa,yBAAyB;IAI9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJzB,OAAO,CAAC,QAAQ,CAA4B;gBAGvB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,UAAU;IAG9B,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIzC,WAAW,IAAI,YAAY;IAI3B,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI;IAgBnF,gBAAgB,CACnB,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,OAAO,GACjB,SAAS,WAAW,EAAE;IAclB,SAAS,IAAI,WAAW,GAAG,IAAI;IAM/B,WAAW,CAAC,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;CAW3F"}
@@ -16,13 +16,16 @@ export declare class GameEngine {
16
16
  private eventBus;
17
17
  private gameLoop;
18
18
  private inputManager;
19
+ private coreInteraction;
19
20
  private physicsEngine;
20
21
  private waveDirector;
21
22
  private renderer;
22
23
  private juice;
23
24
  private hud;
24
25
  private startMenu;
26
+ private coreRosterOverlay;
25
27
  private geneticMemoryOverlay;
28
+ private coreRunSummaryOverlay;
26
29
  private codexOverlay;
27
30
  private codexToast;
28
31
  private settingsModal;
@@ -33,20 +36,26 @@ export declare class GameEngine {
33
36
  private readonly content;
34
37
  private readonly entityFactory;
35
38
  private readonly configManager;
39
+ private readonly corePreview;
36
40
  private readonly powerUpRegistry;
37
41
  private readonly geneticMemory;
42
+ private readonly coreRoster;
38
43
  private readonly codex;
39
44
  private readonly bossCodex;
40
45
  private readonly areaDirector;
41
46
  private readonly bossEncounter;
42
47
  private unsubscribeCodex;
43
48
  private unsubscribeBossCodex;
49
+ private unsubscribeCoreRoster;
44
50
  private core;
45
51
  private enemies;
46
52
  private ambientEnemies;
47
53
  private pools;
48
54
  private vortices;
49
55
  private shockwaves;
56
+ private repelProjectiles;
57
+ private pendingSmasherRelease;
58
+ private smasherBossImpactCooldown;
50
59
  private particles;
51
60
  private floatingTexts;
52
61
  private experienceOrbs;
@@ -68,6 +77,7 @@ export declare class GameEngine {
68
77
  private isPaused;
69
78
  private isDeathSequenceActive;
70
79
  private deathSequenceElapsed;
80
+ private pendingCoreRunSummary;
71
81
  private areaTransitionElapsed;
72
82
  private areaIntroElapsed;
73
83
  private readonly areaTransitionDuration;
@@ -81,10 +91,12 @@ export declare class GameEngine {
81
91
  getTheme(): Theme;
82
92
  private onLanguageChanged;
83
93
  private initAmbientArena;
94
+ private syncSelectedCorePreview;
84
95
  private resizeCanvas;
85
96
  private setupEvents;
86
97
  startGame(): void;
87
98
  private clearTransientRunState;
99
+ private updateRepelProjectiles;
88
100
  private clearTransientRunEntities;
89
101
  private updateDeathSequence;
90
102
  private update;
@@ -92,6 +104,7 @@ export declare class GameEngine {
92
104
  private startBossIfReady;
93
105
  private clearArenaForBoss;
94
106
  private processBossImpacts;
107
+ private processSmasherBossImpact;
95
108
  private getBossImpactRadius;
96
109
  private releaseBossExposureBurst;
97
110
  private updateBossExposureBurst;
@@ -1 +1 @@
1
- {"version":3,"file":"GameEngine.d.ts","sourceRoot":"","sources":["../../src/core/GameEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameEngine.d.ts","sourceRoot":"","sources":["../../src/core/GameEngine.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,40 @@
1
1
  import type { EnemyEntity } from "../entities/EnemyEntity";
2
2
  import type { EntityFactory } from "../factory/EntityFactory";
3
- import type { EnemyType } from "../types/game";
3
+ import type { TutorialDefinition } from "../content/ContentTypes";
4
+ import type { Vector2D } from "../types/game";
5
+ import type { Translations } from "../i18n/locales";
4
6
  export declare class InteractiveTutorial {
5
7
  private readonly factory;
6
- private readonly launcherType;
7
- private readonly targetType;
8
- constructor(factory: EntityFactory, launcherType: EnemyType, targetType: EnemyType);
8
+ private definition;
9
+ constructor(factory: EntityFactory, definition?: TutorialDefinition | null);
9
10
  isActive: boolean;
10
11
  showWarning: boolean;
11
- private dummyLauncher;
12
- private dummyTarget;
13
- private initialLauncherPos;
14
- private initialTargetPos;
12
+ private primary;
13
+ private secondary;
14
+ private initialPrimaryPos;
15
+ private initialSecondaryPos;
16
+ private readonly corePosition;
17
+ private waveTarget;
18
+ private repellentWaveElapsed;
19
+ setDefinition(definition: TutorialDefinition | null): void;
20
+ hasDefinition(): boolean;
15
21
  isTutorialEnabled(): boolean;
16
22
  setTutorialEnabled(enabled: boolean): void;
17
- getLauncher(): EnemyEntity | null;
18
- getTarget(): EnemyEntity | null;
23
+ getPrimary(): EnemyEntity | null;
24
+ getSecondary(): EnemyEntity | null;
25
+ getWaveTarget(): Vector2D | null;
26
+ getMechanic(): TutorialDefinition["mechanic"] | null;
19
27
  getStep(): 1 | 2;
28
+ getInstructionKey(): keyof Translations;
20
29
  start(width: number, height: number, activeEnemies: EnemyEntity[]): void;
21
- update(dt: number, enemies: EnemyEntity[], width: number, height: number, onComplete: () => void, onForceRelease?: () => void): void;
30
+ update(dt: number, enemies: EnemyEntity[], width: number, height: number, onComplete: () => void, onForceRelease: () => void): void;
31
+ private updateLauncher;
32
+ private updateRepellent;
33
+ private updateSmasher;
34
+ private startRepellent;
35
+ private startSmasher;
36
+ private createEnemy;
37
+ private isTooCloseToCore;
22
38
  private resetDummies;
23
39
  complete(): void;
24
40
  }
@@ -1 +1 @@
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
+ {"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;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIpD,qBAAa,mBAAmB;IAExB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,UAAU;gBADD,OAAO,EAAE,aAAa,EAC/B,UAAU,GAAE,kBAAkB,GAAG,IAAW;IAGjD,QAAQ,UAAS;IACjB,WAAW,UAAS;IAC3B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,oBAAoB,CAAK;IAE1B,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI;IAK1D,aAAa,IAAI,OAAO;IAIxB,iBAAiB,IAAI,OAAO;IAQ5B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAM1C,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC,YAAY,IAAI,WAAW,GAAG,IAAI;IAIlC,aAAa,IAAI,QAAQ,GAAG,IAAI;IAchC,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,IAAI;IAIpD,OAAO,IAAI,CAAC,GAAG,CAAC;IAWhB,iBAAiB,IAAI,MAAM,YAAY;IAMvC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAoCxE,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,EAAE,MAAM,IAAI,GAC3B,IAAI;IAkBP,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,eAAe;IAyDvB,OAAO,CAAC,aAAa;IA4CrB,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,YAAY;IA2Db,QAAQ,IAAI,IAAI;CAQ1B"}
@@ -1,5 +1,6 @@
1
1
  import type { Vector2D } from "../types/game";
2
2
  import type { GameConfigManager } from "../config/GameConfig";
3
+ import type { CoreMechanic } from "../progression/CoreProgressionTypes";
3
4
  export declare class CoreEntity {
4
5
  private readonly configManager;
5
6
  position: Vector2D;
@@ -8,6 +9,17 @@ export declare class CoreEntity {
8
9
  maxIntegrity: number;
9
10
  pulsePhase: number;
10
11
  organicSeed: number;
12
+ mechanic: CoreMechanic;
13
+ repelDirection: Vector2D;
14
+ repelHoverDirection: Vector2D;
15
+ repelHoverCompression: number;
16
+ repelPulse: number;
17
+ smasherImpactsRemaining: number;
18
+ smasherCooldownTimer: number;
19
+ smasherImpactPulse: number;
20
+ smasherBreakPulse: number;
21
+ smasherRetractionOrigin: Vector2D | null;
22
+ smasherArmColor: string;
11
23
  invulnerabilityTimer: number;
12
24
  maxInvulnerabilityDuration: number;
13
25
  customColor: {
@@ -19,6 +31,17 @@ export declare class CoreEntity {
19
31
  collectedPowerUpColors: string[];
20
32
  constructor(x: number, y: number, configManager: GameConfigManager);
21
33
  absorbPowerUpColor(hexColor: string, weight?: number): void;
34
+ setMechanic(mechanic: CoreMechanic): void;
35
+ triggerRepel(direction: Vector2D): void;
36
+ setRepelHoverDirection(direction: Vector2D | null): void;
37
+ getRepelCompression(): number;
38
+ getRepelDirection(): Vector2D;
39
+ canSmasherGrab(): boolean;
40
+ consumeSmasherImpact(): boolean;
41
+ getSmasherArmStrength(): number;
42
+ startSmasherRetraction(origin: Vector2D, armColor: string): void;
43
+ getSmasherRetractionEndpoint(): Vector2D | null;
44
+ getSmasherArmColor(): string;
22
45
  getHitboxRadius(): number;
23
46
  getColorHex(): string;
24
47
  update(dt: number): void;
@@ -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,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"}
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;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,qBAAa,UAAU;IA6Bf,OAAO,CAAC,QAAQ,CAAC,aAAa;IA5B3B,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;IACpB,QAAQ,EAAE,YAAY,CAAc;IACpC,cAAc,EAAE,QAAQ,CAAkB;IAC1C,mBAAmB,EAAE,QAAQ,CAAkB;IAC/C,qBAAqB,EAAE,MAAM,CAAK;IAClC,UAAU,EAAE,MAAM,CAAK;IACvB,uBAAuB,EAAE,MAAM,CAAK;IACpC,oBAAoB,EAAE,MAAM,CAAK;IACjC,kBAAkB,EAAE,MAAM,CAAK;IAC/B,iBAAiB,EAAE,MAAM,CAAK;IAC9B,uBAAuB,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAChD,eAAe,EAAE,MAAM,CAAa;IAEpC,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,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIzC,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI;IAUvC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAcxD,mBAAmB,IAAI,MAAM;IAK7B,iBAAiB,IAAI,QAAQ;IAI7B,cAAc,IAAI,OAAO;IAQzB,oBAAoB,IAAI,OAAO;IAU/B,qBAAqB,IAAI,MAAM;IAK/B,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMhE,4BAA4B,IAAI,QAAQ,GAAG,IAAI;IAe/C,kBAAkB,IAAI,MAAM;IAI5B,eAAe,IAAI,MAAM;IAOzB,WAAW,IAAI,MAAM;IAOrB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAoBxB,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;CAwB3C"}
@@ -0,0 +1,25 @@
1
+ import type { Vector2D } from "../types/game";
2
+ export declare class RepelWaveProjectile {
3
+ private readonly origin;
4
+ readonly position: Vector2D;
5
+ readonly previousPosition: Vector2D;
6
+ readonly target: Vector2D;
7
+ readonly color: string;
8
+ readonly isTouch: boolean;
9
+ readonly radius = 9;
10
+ active: boolean;
11
+ private readonly speed;
12
+ private readonly duration;
13
+ private readonly controlPoint;
14
+ private elapsed;
15
+ constructor(options: {
16
+ origin: Vector2D;
17
+ target: Vector2D;
18
+ color: string;
19
+ speed: number;
20
+ isTouch: boolean;
21
+ });
22
+ update(dt: number): boolean;
23
+ private positionAtStart;
24
+ }
25
+ //# sourceMappingURL=RepelWaveProjectile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RepelWaveProjectile.d.ts","sourceRoot":"","sources":["../../src/entities/RepelWaveProjectile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IACnC,SAAgB,gBAAgB,EAAE,QAAQ,CAAC;IAC3C,SAAgB,MAAM,EAAE,QAAQ,CAAC;IACjC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,MAAM,KAAK;IACpB,MAAM,UAAQ;IAErB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAW;IACxC,OAAO,CAAC,OAAO,CAAK;gBAED,OAAO,EAAE;QACxB,MAAM,EAAE,QAAQ,CAAC;QACjB,MAAM,EAAE,QAAQ,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KACpB;IAmBM,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IA0BlC,OAAO,CAAC,eAAe;CAG1B"}
@@ -24,6 +24,12 @@ export interface Translations {
24
24
  tutorialStep1Text: string;
25
25
  tutorialStep2Text: string;
26
26
  tutorialDragWarning: string;
27
+ tutorialRepellentStep1Text: string;
28
+ tutorialRepellentStep2Text: string;
29
+ tutorialRepellentWarning: string;
30
+ tutorialSmasherStep1Text: string;
31
+ tutorialSmasherStep2Text: string;
32
+ tutorialSmasherWarning: string;
27
33
  levelUpChoose?: string;
28
34
  rerollButton?: string;
29
35
  geneticMemoryButton?: string;
@@ -102,6 +108,45 @@ export interface Translations {
102
108
  geneticTypePassive: string;
103
109
  geneticTypeEnemy: string;
104
110
  geneticTypeCore: string;
111
+ coreRosterTitle: string;
112
+ coreRosterButton: string;
113
+ coreRosterHint: string;
114
+ coreRosterPreview: string;
115
+ coreRosterActionSequence: string;
116
+ coreRosterCodePrefix: string;
117
+ coreRosterCombatProfile: string;
118
+ coreRosterStats: string;
119
+ coreRosterStatControl: string;
120
+ coreRosterStatImpact: string;
121
+ coreRosterStatReach: string;
122
+ coreRosterStatStability: string;
123
+ coreRosterStyle: string;
124
+ coreRosterCurrent: string;
125
+ coreRosterSelected: string;
126
+ coreRosterSelect: string;
127
+ coreRosterLocked: string;
128
+ coreRosterWisdom: string;
129
+ coreRosterSkillPoints: string;
130
+ coreRosterNext: string;
131
+ coreRosterNoNext: string;
132
+ coreOriginStyleDescription: string;
133
+ coreLauncherTitle: string;
134
+ coreLauncherDescription: string;
135
+ coreLauncherStyleDescription: string;
136
+ coreRepellentTitle: string;
137
+ coreRepellentDescription: string;
138
+ coreRepellentStyleDescription: string;
139
+ coreSmasherTitle: string;
140
+ coreSmasherDescription: string;
141
+ coreSmasherStyleDescription: string;
142
+ coreRunSummaryTitle: string;
143
+ coreRunSummarySubtitle: string;
144
+ coreRunSummaryLevel: string;
145
+ coreRunSummarySkillPoints: string;
146
+ coreRunSummaryWisdom: string;
147
+ coreRunSummaryUnlocks: string;
148
+ coreRunSummaryNoUnlocks: string;
149
+ coreRunSummaryClose: string;
105
150
  geneticOriginTitle?: string;
106
151
  geneticOriginDescription?: string;
107
152
  geneticCoreResonanceTitle?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/i18n/locales.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../src/i18n/locales.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ import type { GameConfigManager } from "../config/GameConfig";
5
5
  export declare class InputManager {
6
6
  pointerPosition: Vector2D;
7
7
  isPointerDown: boolean;
8
+ hasPointerPosition: boolean;
9
+ lastPointerWasTouch: boolean;
8
10
  grabbedEnemy: EnemyEntity | null;
9
11
  grabbedOrb: OrbitingModifierOrb | null;
10
12
  dragStart: Vector2D | null;
@@ -15,8 +17,10 @@ export declare class InputManager {
15
17
  private updatePointerPos;
16
18
  private bindEvents;
17
19
  tryGrab(enemies: EnemyEntity[], isTouch?: boolean): EnemyEntity | null;
20
+ emitRepelWave(enemies: EnemyEntity[], origin: Vector2D, isTouch?: boolean, fallbackOrigin?: Vector2D): EnemyEntity[];
18
21
  tryGrabOrb(orbs: OrbitingModifierOrb[], isTouch?: boolean): OrbitingModifierOrb | null;
19
22
  releaseAndThrow(): EnemyEntity | null;
23
+ releaseGrabbedEnemy(): EnemyEntity | null;
20
24
  forceRelease(): void;
21
25
  reset(): void;
22
26
  }
@@ -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;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
+ {"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,kBAAkB,EAAE,OAAO,CAAS;IACpC,mBAAmB,EAAE,OAAO,CAAS;IACrC,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;IAyBxB,OAAO,CAAC,UAAU;IA4DX,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,OAAe,GAAG,WAAW,GAAG,IAAI;IA8B7E,aAAa,CAChB,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,EAAE,QAAQ,EAChB,OAAO,GAAE,OAAe,EACxB,cAAc,GAAE,QAAiB,GAClC,WAAW,EAAE;IAiDT,UAAU,CACb,IAAI,EAAE,mBAAmB,EAAE,EAC3B,OAAO,GAAE,OAAe,GACzB,mBAAmB,GAAG,IAAI;IAmBtB,eAAe,IAAI,WAAW,GAAG,IAAI;IA8DrC,mBAAmB,IAAI,WAAW,GAAG,IAAI;IAUzC,YAAY,IAAI,IAAI;IAgBpB,KAAK,IAAI,IAAI;CAOvB"}
@@ -18,6 +18,6 @@ export declare class PhysicsEngine {
18
18
  value: number;
19
19
  }, score: {
20
20
  value: number;
21
- }, width: number, height: number, onKill?: () => void): void;
21
+ }, width: number, height: number, onKill?: () => void, smasherEnemy?: EnemyEntity | null, smasherRelease?: EnemyEntity | null, onSmasherArmBreak?: () => void): void;
22
22
  }
23
23
  //# sourceMappingURL=PhysicsEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PhysicsEngine.d.ts","sourceRoot":"","sources":["../../src/physics/PhysicsEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,SAAS,EACT,aAAa,EACb,SAAS,EACT,YAAY,EACZ,QAAQ,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAW9D,qBAAa,aAAa;IASlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IATlC,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,UAAU,CAAoE;gBAGlF,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,EACA,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,iBAAiB;IAO9C,MAAM,CACT,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,IAAI,GACpB,IAAI;CAmKV"}
1
+ {"version":3,"file":"PhysicsEngine.d.ts","sourceRoot":"","sources":["../../src/physics/PhysicsEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,SAAS,EACT,aAAa,EACb,SAAS,EACT,YAAY,EACZ,QAAQ,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAY9D,qBAAa,aAAa;IASlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IATlC,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,UAAU,CAAoE;gBAGlF,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,EACA,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,iBAAiB;IAO9C,MAAM,CACT,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,IAAI,EACnB,YAAY,GAAE,WAAW,GAAG,IAAW,EACvC,cAAc,GAAE,WAAW,GAAG,IAAW,EACzC,iBAAiB,GAAE,MAAM,IAAe,GACzC,IAAI;CA4KV"}
@@ -8,6 +8,12 @@ export declare class CoreCollisionHandler {
8
8
  static update(core: CoreEntity, enemies: EnemyEntity[], shockwaves: Shockwave[], particles: Particle[], floatingTexts: FloatingText[], juice: JuiceEffects, eventBus: EventBus, score: {
9
9
  value: number;
10
10
  }, width: number, height: number, config: GameConfigData): void;
11
+ static damageCore(core: CoreEntity, enemies: EnemyEntity[], shockwaves: Shockwave[], particles: Particle[], floatingTexts: FloatingText[], juice: JuiceEffects, eventBus: EventBus, score: {
12
+ value: number;
13
+ }, width: number, height: number, direction: {
14
+ x: number;
15
+ y: number;
16
+ }): void;
11
17
  private static tryAutoDeflectFragment;
12
18
  }
13
19
  //# sourceMappingURL=CoreCollisionHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoreCollisionHandler.d.ts","sourceRoot":"","sources":["../../../src/physics/handlers/CoreCollisionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,qBAAa,oBAAoB;WACf,MAAM,CAChB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACvB,IAAI;IA6EP,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAyExC"}
1
+ {"version":3,"file":"CoreCollisionHandler.d.ts","sourceRoot":"","sources":["../../../src/physics/handlers/CoreCollisionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,qBAAa,oBAAoB;WACf,MAAM,CAChB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACvB,IAAI;WAgCO,UAAU,CACpB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,EAAE,EACtB,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,IAAI;IAoDP,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAyExC"}
@@ -0,0 +1,9 @@
1
+ import type { CoreEntity } from "../../entities/CoreEntity";
2
+ import type { EnemyEntity } from "../../entities/EnemyEntity";
3
+ import type { EnemyEffectContext } from "../../content/EnemyBehavior";
4
+ export declare class SmasherCollisionHandler {
5
+ static update(grabbedEnemy: EnemyEntity | null, releasedEnemy: EnemyEntity | null, enemies: EnemyEntity[], core: CoreEntity, context: EnemyEffectContext, onArmBreak: () => void): void;
6
+ private static crush;
7
+ private static pushImpactFeedback;
8
+ }
9
+ //# sourceMappingURL=SmasherCollisionHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmasherCollisionHandler.d.ts","sourceRoot":"","sources":["../../../src/physics/handlers/SmasherCollisionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,qBAAa,uBAAuB;WAClB,MAAM,CAChB,YAAY,EAAE,WAAW,GAAG,IAAI,EAChC,aAAa,EAAE,WAAW,GAAG,IAAI,EACjC,OAAO,EAAE,WAAW,EAAE,EACtB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,MAAM,IAAI,GACvB,IAAI;IAiDP,OAAO,CAAC,MAAM,CAAC,KAAK;IAKpB,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAkCpC"}
@@ -10,7 +10,7 @@ export declare class PowerUpRegistry {
10
10
  constructor(configManager: GameConfigManager);
11
11
  private getDefinitions;
12
12
  getAll(): PowerUpDefinition[];
13
- getRandomOptions(count?: number, unlockState?: UnlockState, availableEnemyIds?: ReadonlySet<EnemyType>): PowerUpDefinition[];
13
+ getRandomOptions(count?: number, unlockState?: UnlockState, availableEnemyIds?: ReadonlySet<EnemyType>, coreId?: string): PowerUpDefinition[];
14
14
  registerPowerUp(def: PowerUpDefinition): void;
15
15
  }
16
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;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
+ {"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,EAC1C,MAAM,CAAC,EAAE,MAAM,GAChB,iBAAiB,EAAE;IAgCf,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;CAIvD"}
@@ -13,6 +13,7 @@ export interface PowerUpDefinition {
13
13
  rarity: PowerUpRarity;
14
14
  rarityWeight: number;
15
15
  color: string;
16
+ readonly coreIds?: readonly string[];
16
17
  requiredUnlockId?: string;
17
18
  requiredEnemyId?: EnemyType;
18
19
  apply: (core?: CoreEntity) => void;
@@ -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;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"}
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,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,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"}