@gamebob/axon-surge 0.58.0 → 0.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/areas/AreaDirector.d.ts +4 -0
- package/dist/areas/AreaDirector.d.ts.map +1 -1
- package/dist/areas/AreaEnvironmentRuntime.d.ts.map +1 -1
- package/dist/axon-surge.js +9379 -7239
- package/dist/bosses/BossEncounter.d.ts +30 -83
- package/dist/bosses/BossEncounter.d.ts.map +1 -1
- package/dist/bosses/BossEncounterChromaticRuntime.d.ts +15 -0
- package/dist/bosses/BossEncounterChromaticRuntime.d.ts.map +1 -0
- package/dist/bosses/BossEncounterMarionetteCutting.d.ts +14 -0
- package/dist/bosses/BossEncounterMarionetteCutting.d.ts.map +1 -0
- package/dist/bosses/BossEncounterMarionetteRuntime.d.ts +68 -0
- package/dist/bosses/BossEncounterMarionetteRuntime.d.ts.map +1 -0
- package/dist/bosses/BossEncounterMarionetteSupport.d.ts +27 -0
- package/dist/bosses/BossEncounterMarionetteSupport.d.ts.map +1 -0
- package/dist/bosses/BossEncounterMarionetteView.d.ts +4 -0
- package/dist/bosses/BossEncounterMarionetteView.d.ts.map +1 -0
- package/dist/bosses/BossEncounterMarionetteWeaving.d.ts +22 -0
- package/dist/bosses/BossEncounterMarionetteWeaving.d.ts.map +1 -0
- package/dist/bosses/BossEncounterRuntime.d.ts +14 -5
- package/dist/bosses/BossEncounterRuntime.d.ts.map +1 -1
- package/dist/bosses/BossEncounterRuntimeHit.d.ts +11 -0
- package/dist/bosses/BossEncounterRuntimeHit.d.ts.map +1 -0
- package/dist/bosses/BossEncounterSimonRuntime.d.ts +15 -0
- package/dist/bosses/BossEncounterSimonRuntime.d.ts.map +1 -0
- package/dist/bosses/BossEncounterSpecialSnapshots.d.ts +4 -0
- package/dist/bosses/BossEncounterSpecialSnapshots.d.ts.map +1 -0
- package/dist/bosses/BossEncounterTargeting.d.ts +7 -0
- package/dist/bosses/BossEncounterTargeting.d.ts.map +1 -0
- package/dist/bosses/BossEncounterTentacleRuntime.d.ts +4 -0
- package/dist/bosses/BossEncounterTentacleRuntime.d.ts.map +1 -0
- package/dist/bosses/BossEncounterTypes.d.ts +176 -0
- package/dist/bosses/BossEncounterTypes.d.ts.map +1 -0
- package/dist/bosses/BossEncounterView.d.ts +9 -1
- package/dist/bosses/BossEncounterView.d.ts.map +1 -1
- package/dist/codex/DefaultBossCodex.d.ts.map +1 -1
- package/dist/content/ContentRegistry.d.ts +2 -0
- package/dist/content/ContentRegistry.d.ts.map +1 -1
- package/dist/content/ContentTypes.d.ts +29 -0
- package/dist/content/ContentTypes.d.ts.map +1 -1
- package/dist/content/DefaultAreaDefinitions.d.ts.map +1 -1
- package/dist/content/DefaultContentRegistry.d.ts.map +1 -1
- package/dist/content/VariantSpawnChances.d.ts +9 -0
- package/dist/content/VariantSpawnChances.d.ts.map +1 -0
- package/dist/core/BossImpactSupport.d.ts +7 -0
- package/dist/core/BossImpactSupport.d.ts.map +1 -0
- package/dist/core/BossRewardRuntime.d.ts +6 -0
- package/dist/core/BossRewardRuntime.d.ts.map +1 -0
- package/dist/core/GameEngineArenaSetup.d.ts +3 -0
- package/dist/core/GameEngineArenaSetup.d.ts.map +1 -0
- package/dist/core/GameEngineDebug.d.ts +5 -0
- package/dist/core/GameEngineDebug.d.ts.map +1 -1
- package/dist/core/GameEngineMethodsBossEncounter.d.ts +5 -0
- package/dist/core/GameEngineMethodsBossEncounter.d.ts.map +1 -0
- package/dist/core/GameEngineMethodsBossImpact.d.ts.map +1 -1
- package/dist/core/GameEngineMethodsBossRuntime.d.ts.map +1 -1
- package/dist/core/GameEngineMethodsMarionette.d.ts +5 -0
- package/dist/core/GameEngineMethodsMarionette.d.ts.map +1 -0
- package/dist/core/GameEngineMethodsOrbs.d.ts.map +1 -1
- package/dist/core/GameEngineMethodsPhysics.d.ts.map +1 -1
- package/dist/core/GameEngineMethodsProgress.d.ts +1 -0
- package/dist/core/GameEngineMethodsProgress.d.ts.map +1 -1
- package/dist/core/GameEngineMethodsStart.d.ts.map +1 -1
- package/dist/core/GameEngineMethodsUi.d.ts.map +1 -1
- package/dist/core/GameEngineMethodsUpdate.d.ts.map +1 -1
- package/dist/core/GameEngineState.d.ts +4 -1
- package/dist/core/GameEngineState.d.ts.map +1 -1
- package/dist/director/SpawnGeometry.d.ts +8 -0
- package/dist/director/SpawnGeometry.d.ts.map +1 -1
- package/dist/director/WaveDirector.d.ts +10 -1
- package/dist/director/WaveDirector.d.ts.map +1 -1
- package/dist/entities/BossCatalystOrb.d.ts +3 -1
- package/dist/entities/BossCatalystOrb.d.ts.map +1 -1
- package/dist/entities/BossDestructionSequence.d.ts +27 -0
- package/dist/entities/BossDestructionSequence.d.ts.map +1 -0
- package/dist/entities/BossPuppetControl.d.ts +4 -0
- package/dist/entities/BossPuppetControl.d.ts.map +1 -0
- package/dist/entities/EnemyEntity.d.ts +19 -0
- package/dist/entities/EnemyEntity.d.ts.map +1 -1
- package/dist/i18n/locales.d.ts +6 -0
- package/dist/i18n/locales.d.ts.map +1 -1
- package/dist/input/InputManager.d.ts +3 -2
- package/dist/input/InputManager.d.ts.map +1 -1
- package/dist/input/InputThrowCalculator.d.ts +6 -0
- package/dist/input/InputThrowCalculator.d.ts.map +1 -0
- package/dist/input/PointerTracker.d.ts +5 -0
- package/dist/input/PointerTracker.d.ts.map +1 -1
- package/dist/physics/handlers/CoreCollisionHandler.d.ts +1 -0
- package/dist/physics/handlers/CoreCollisionHandler.d.ts.map +1 -1
- package/dist/physics/handlers/LauncherThrownEffects.d.ts +1 -0
- package/dist/physics/handlers/LauncherThrownEffects.d.ts.map +1 -1
- package/dist/physics/handlers/SmasherCollisionHandler.d.ts +1 -0
- package/dist/physics/handlers/SmasherCollisionHandler.d.ts.map +1 -1
- package/dist/physics/handlers/ThrownCollisionGuards.d.ts +4 -0
- package/dist/physics/handlers/ThrownCollisionGuards.d.ts.map +1 -0
- package/dist/physics/handlers/ThrownCollisionRuntime.d.ts.map +1 -1
- package/dist/render/BossCamera.d.ts +17 -0
- package/dist/render/BossCamera.d.ts.map +1 -0
- package/dist/render/BossDestructionEffectRenderer.d.ts +9 -0
- package/dist/render/BossDestructionEffectRenderer.d.ts.map +1 -0
- package/dist/render/BossEncounterRenderer.d.ts +3 -0
- package/dist/render/BossEncounterRenderer.d.ts.map +1 -1
- package/dist/render/BossIntroRenderer.d.ts +13 -0
- package/dist/render/BossIntroRenderer.d.ts.map +1 -1
- package/dist/render/CanvasRenderFoundation.d.ts +2 -0
- package/dist/render/CanvasRenderFoundation.d.ts.map +1 -1
- package/dist/render/CanvasRenderer.d.ts +8 -0
- package/dist/render/CanvasRenderer.d.ts.map +1 -1
- package/dist/render/CanvasRendererDrawings.d.ts +2 -0
- package/dist/render/CanvasRendererDrawings.d.ts.map +1 -1
- package/dist/render/CollectibleRenderer.d.ts +1 -0
- package/dist/render/CollectibleRenderer.d.ts.map +1 -1
- package/dist/render/CoreLifeRingRenderer.d.ts +1 -1
- package/dist/render/CoreLifeRingRenderer.d.ts.map +1 -1
- package/dist/render/InteractionParticleRenderer.d.ts +1 -0
- package/dist/render/InteractionParticleRenderer.d.ts.map +1 -1
- package/dist/render/MarionetistaDetailedRenderer.d.ts +4 -0
- package/dist/render/MarionetistaDetailedRenderer.d.ts.map +1 -0
- package/dist/render/MarionetistaRenderer.d.ts +39 -0
- package/dist/render/MarionetistaRenderer.d.ts.map +1 -0
- package/dist/render/MarionetistaVisuals.d.ts +28 -0
- package/dist/render/MarionetistaVisuals.d.ts.map +1 -0
- package/dist/render/OrganicLifeRingPath.d.ts +14 -0
- package/dist/render/OrganicLifeRingPath.d.ts.map +1 -0
- package/dist/render/PintalotodoRenderer.d.ts +36 -0
- package/dist/render/PintalotodoRenderer.d.ts.map +1 -0
- package/dist/render/PintalotodoStarRenderer.d.ts +19 -0
- package/dist/render/PintalotodoStarRenderer.d.ts.map +1 -0
- package/dist/render/SimonDestructionExplosion.d.ts +10 -0
- package/dist/render/SimonDestructionExplosion.d.ts.map +1 -0
- package/dist/render/SimonDestructionRenderer.d.ts +9 -0
- package/dist/render/SimonDestructionRenderer.d.ts.map +1 -0
- package/dist/render/SimonDestructionRings.d.ts +19 -0
- package/dist/render/SimonDestructionRings.d.ts.map +1 -0
- package/dist/render/SimonRenderer.d.ts +31 -0
- package/dist/render/SimonRenderer.d.ts.map +1 -0
- package/dist/render/SimonRendererHelpers.d.ts +16 -0
- package/dist/render/SimonRendererHelpers.d.ts.map +1 -0
- package/dist/ui/BossCodexCanvas.d.ts +11 -1
- package/dist/ui/BossCodexCanvas.d.ts.map +1 -1
- package/dist/ui/CodexCanvasFactories.d.ts +1 -1
- package/dist/ui/CodexCanvasFactories.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,89 +1,18 @@
|
|
|
1
|
-
import type { BossDefinition } from "../content/ContentTypes";
|
|
2
1
|
import type { BossStartOptions } from "./BossEncounterRuntime";
|
|
3
2
|
import type { EnemyType, Vector2D } from "../types/game";
|
|
4
3
|
import type { BossEncounterView } from "./BossEncounterView";
|
|
5
4
|
import { type BossEncounterFactory } from "./BossEncounterFactory";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
readonly
|
|
12
|
-
readonly
|
|
13
|
-
readonly
|
|
14
|
-
readonly
|
|
15
|
-
readonly
|
|
16
|
-
}
|
|
17
|
-
export interface BossTentacleTarget {
|
|
18
|
-
readonly enemyId: EnemyType;
|
|
19
|
-
readonly color: string;
|
|
20
|
-
}
|
|
21
|
-
export interface BossLaunchRequest {
|
|
22
|
-
readonly tentacleId: string;
|
|
23
|
-
readonly origin: Vector2D;
|
|
24
|
-
readonly direction: Vector2D;
|
|
25
|
-
}
|
|
26
|
-
export interface BossEncounterSnapshot {
|
|
27
|
-
readonly id: string;
|
|
28
|
-
readonly title: string;
|
|
29
|
-
readonly versusLabel: string;
|
|
30
|
-
readonly phase: BossPhase;
|
|
31
|
-
readonly introProgress: number;
|
|
32
|
-
readonly introMotionProgress: number;
|
|
33
|
-
readonly introPauseActive: boolean;
|
|
34
|
-
readonly introPauseProgress: number;
|
|
35
|
-
readonly combatEntryProgress: number;
|
|
36
|
-
readonly bossPosition: Vector2D;
|
|
37
|
-
readonly headPosition: Vector2D;
|
|
38
|
-
readonly headLaunchPulse: number;
|
|
39
|
-
readonly headLaunchSide: -1 | 1;
|
|
40
|
-
readonly tentacles: readonly BossTentacleSnapshot[];
|
|
41
|
-
readonly exposureProgress: number;
|
|
42
|
-
readonly integrity: number;
|
|
43
|
-
readonly maxIntegrity: number;
|
|
44
|
-
readonly impactPulse: number;
|
|
45
|
-
}
|
|
46
|
-
export type BossHitResult = "none" | "area-impact" | "tentacle-broken" | "boss-damaged" | "defeated";
|
|
47
|
-
export interface MutableTentacle {
|
|
48
|
-
id: string;
|
|
49
|
-
index: number;
|
|
50
|
-
requiredEnemyId: EnemyType;
|
|
51
|
-
tipColor: string;
|
|
52
|
-
protected: boolean;
|
|
53
|
-
launchPulse: number;
|
|
54
|
-
regenerationProgress: number;
|
|
55
|
-
}
|
|
56
|
-
export interface BossEncounterState {
|
|
57
|
-
definition: BossDefinition | null;
|
|
58
|
-
phase: BossPhase;
|
|
59
|
-
tentacles: MutableTentacle[];
|
|
60
|
-
exposureRemaining: number;
|
|
61
|
-
integrity: number;
|
|
62
|
-
maxIntegrity: number;
|
|
63
|
-
impactPulse: number;
|
|
64
|
-
introElapsed: number;
|
|
65
|
-
introDuration: number;
|
|
66
|
-
introTravelElapsed: number;
|
|
67
|
-
introPauseElapsed: number;
|
|
68
|
-
introPauseActive: boolean;
|
|
69
|
-
introPauseCompleted: boolean;
|
|
70
|
-
readonly introPreludeDuration: number;
|
|
71
|
-
readonly introPauseDuration: number;
|
|
72
|
-
launchCooldown: number;
|
|
73
|
-
movementTime: number;
|
|
74
|
-
combatEntryElapsed: number;
|
|
75
|
-
readonly combatEntryDuration: number;
|
|
76
|
-
readonly combatEntryDelay: number;
|
|
77
|
-
arenaWidth: number;
|
|
78
|
-
arenaHeight: number;
|
|
79
|
-
title: string;
|
|
80
|
-
versusLabel: string;
|
|
81
|
-
targetCandidates: BossTentacleTarget[];
|
|
82
|
-
headLaunchPulse: number;
|
|
83
|
-
headLaunchSide: -1 | 1;
|
|
84
|
-
regenerationElapsed: number;
|
|
85
|
-
regenerationActive: boolean;
|
|
86
|
-
}
|
|
5
|
+
import type { MarionetteEnemySnapshot, MarionetteEncounterState, MarionetteEvent } from "./BossEncounterMarionetteRuntime";
|
|
6
|
+
import type { BossEncounterSnapshot, BossEncounterState, BossHitResult, BossLaunchRequest, BossPhase, BossTentacleTarget, MutableTentacle, SimonEncounterState } from "./BossEncounterTypes";
|
|
7
|
+
import type { BossDefinition } from "../content/ContentTypes";
|
|
8
|
+
export type { BossEncounterSnapshot, BossEncounterState, BossHitResult, BossLaunchRequest, BossPhase, BossPigmentSnapshot, BossTentacleSnapshot, BossTentacleTarget, MarionetteEncounterSnapshot, MarionetteThreadSnapshot, MutableTentacle, SimonEncounterSnapshot, } from "./BossEncounterTypes";
|
|
9
|
+
export declare const MARIONETTE_INTRO_TIMELINE: {
|
|
10
|
+
readonly enterStart: 0.4;
|
|
11
|
+
readonly enterEnd: 2.2;
|
|
12
|
+
readonly centerHoldEnd: 3.7;
|
|
13
|
+
readonly exitEnd: 5.2;
|
|
14
|
+
readonly saluteEnd: 8.8;
|
|
15
|
+
};
|
|
87
16
|
export declare class BossEncounter implements BossEncounterState {
|
|
88
17
|
definition: BossDefinition | null;
|
|
89
18
|
phase: BossPhase;
|
|
@@ -110,22 +39,40 @@ export declare class BossEncounter implements BossEncounterState {
|
|
|
110
39
|
title: string;
|
|
111
40
|
versusLabel: string;
|
|
112
41
|
targetCandidates: BossTentacleTarget[];
|
|
42
|
+
pigmentTargets: BossTentacleTarget[];
|
|
43
|
+
activePigment: BossTentacleTarget | null;
|
|
44
|
+
pigmentCharge: number;
|
|
45
|
+
pigmentMaxCharge: number;
|
|
46
|
+
pigmentPulse: number;
|
|
47
|
+
pigmentMorphProgress: number;
|
|
48
|
+
pigmentLaunchElapsed: number;
|
|
49
|
+
pigmentCycle: number;
|
|
50
|
+
pigmentStars: number[];
|
|
51
|
+
pigmentStarExplosionPulse: number;
|
|
52
|
+
pigmentStarExplosionIndex: number;
|
|
113
53
|
headLaunchPulse: number;
|
|
114
54
|
headLaunchSide: -1 | 1;
|
|
115
55
|
regenerationElapsed: number;
|
|
116
56
|
regenerationActive: boolean;
|
|
57
|
+
marionette: MarionetteEncounterState | null;
|
|
58
|
+
simon: SimonEncounterState | null;
|
|
117
59
|
readonly view: BossEncounterView;
|
|
118
60
|
private readonly runtime;
|
|
119
61
|
constructor(factory?: BossEncounterFactory);
|
|
120
62
|
start(options: BossStartOptions): void;
|
|
121
63
|
start(definition: BossDefinition): void;
|
|
122
64
|
reset(): void;
|
|
123
|
-
|
|
65
|
+
private resetCombatState;
|
|
66
|
+
private resetPigmentState;
|
|
67
|
+
update(dt: number, corePosition?: Vector2D, marionetteEnemies?: readonly MarionetteEnemySnapshot[]): BossLaunchRequest | null;
|
|
124
68
|
hit(position: Vector2D, type: EnemyType, corePosition: Vector2D): BossHitResult;
|
|
125
69
|
getPhase(): BossPhase;
|
|
126
70
|
isIntroPaused(): boolean;
|
|
127
71
|
getBossPosition(corePosition: Vector2D): Vector2D;
|
|
128
72
|
getSnapshot(corePosition: Vector2D): BossEncounterSnapshot | null;
|
|
129
73
|
launchFromHead(corePosition: Vector2D, side: -1 | 1): BossLaunchRequest;
|
|
74
|
+
launchFromBody(corePosition: Vector2D, side: -1 | 1): BossLaunchRequest;
|
|
75
|
+
getMarionetteControlIds(): ReadonlySet<string>;
|
|
76
|
+
drainMarionetteEvents(): MarionetteEvent[];
|
|
130
77
|
}
|
|
131
78
|
//# sourceMappingURL=BossEncounter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BossEncounter.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"BossEncounter.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { BossDefinition } from "../content/ContentTypes";
|
|
2
|
+
import type { EnemyType, Vector2D } from "../types/game";
|
|
3
|
+
import type { BossEncounterState, BossHitResult, BossLaunchRequest, BossTentacleTarget } from "./BossEncounter";
|
|
4
|
+
import type { BossEncounterView } from "./BossEncounterView";
|
|
5
|
+
type PigmentHitOptions = {
|
|
6
|
+
position: Vector2D;
|
|
7
|
+
type: EnemyType;
|
|
8
|
+
corePosition: Vector2D;
|
|
9
|
+
};
|
|
10
|
+
export declare function buildPigmentState(encounter: BossEncounterState, definition: BossDefinition, candidates: readonly BossTentacleTarget[]): void;
|
|
11
|
+
export declare function updatePigmentCharging(encounter: BossEncounterState, view: BossEncounterView, dt: number, corePosition: Vector2D): BossLaunchRequest | null;
|
|
12
|
+
export declare function updatePigmentExposure(encounter: BossEncounterState, dt: number): void;
|
|
13
|
+
export declare function hitPigment(encounter: BossEncounterState, view: BossEncounterView, options: PigmentHitOptions): BossHitResult;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=BossEncounterChromaticRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounterChromaticRuntime.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterChromaticRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAChH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,KAAK,iBAAiB,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,QAAQ,CAAA;CAAE,CAAC;AAIzF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,CAY5I;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,GAAG,iBAAiB,GAAG,IAAI,CAO1J;AAkBD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAMrF;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa,CAM5H"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { BossDefinition } from "../content/ContentTypes";
|
|
2
|
+
import type { Vector2D } from "../types/game";
|
|
3
|
+
import type { BossEncounterState } from "./BossEncounterTypes";
|
|
4
|
+
import type { MarionetteEncounterState, MarionetteEnemySnapshot } from "./BossEncounterMarionetteRuntime";
|
|
5
|
+
type MarionetteConfig = NonNullable<BossDefinition["marionette"]>;
|
|
6
|
+
export declare function processThreadCuts(context: {
|
|
7
|
+
readonly encounter: BossEncounterState;
|
|
8
|
+
readonly state: MarionetteEncounterState;
|
|
9
|
+
readonly config: MarionetteConfig;
|
|
10
|
+
readonly enemies: readonly MarionetteEnemySnapshot[];
|
|
11
|
+
readonly bossPosition: Vector2D;
|
|
12
|
+
}): void;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=BossEncounterMarionetteCutting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounterMarionetteCutting.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterMarionetteCutting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAyB,MAAM,kCAAkC,CAAC;AAGjI,KAAK,gBAAgB,GAAG,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;AAElE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACvC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;CACnC,GAAG,IAAI,CAqBP"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { BossDefinition } from "../content/ContentTypes";
|
|
2
|
+
import type { EnemyType, Vector2D } from "../types/game";
|
|
3
|
+
import type { BossEncounterState, BossHitResult, BossLaunchRequest } from "./BossEncounterTypes";
|
|
4
|
+
import type { BossEncounterView } from "./BossEncounterView";
|
|
5
|
+
export interface MarionetteEnemySnapshot {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly type: EnemyType;
|
|
8
|
+
readonly position: Vector2D;
|
|
9
|
+
readonly active: boolean;
|
|
10
|
+
readonly isDying: boolean;
|
|
11
|
+
readonly isGrabbed: boolean;
|
|
12
|
+
readonly isThrown: boolean;
|
|
13
|
+
readonly wasManipulated: boolean;
|
|
14
|
+
readonly launchDelay: number;
|
|
15
|
+
}
|
|
16
|
+
type MarionetteWeavePhase = "idle" | "connect" | "retreat";
|
|
17
|
+
export interface MarionetteThreadState {
|
|
18
|
+
readonly id: string;
|
|
19
|
+
readonly enemyId: string;
|
|
20
|
+
readonly waveSeed: number;
|
|
21
|
+
endpoint: Vector2D;
|
|
22
|
+
cutPulse: number;
|
|
23
|
+
}
|
|
24
|
+
export interface MarionetteEncounterState {
|
|
25
|
+
act: number;
|
|
26
|
+
totalActs: number;
|
|
27
|
+
cutsThisAct: number;
|
|
28
|
+
replacementCount: number;
|
|
29
|
+
pendingReinforcements: number;
|
|
30
|
+
replacementWarning: number;
|
|
31
|
+
stunRemaining: number;
|
|
32
|
+
stunDuration: number;
|
|
33
|
+
exposureRemaining: number;
|
|
34
|
+
pressureElapsed: number;
|
|
35
|
+
danceTime: number;
|
|
36
|
+
bossPosition: Vector2D | null;
|
|
37
|
+
weaveTargetId: string | null;
|
|
38
|
+
weaveTargetPosition: Vector2D | null;
|
|
39
|
+
weavePhase: MarionetteWeavePhase;
|
|
40
|
+
weaveElapsed: number;
|
|
41
|
+
weaveProgress: number;
|
|
42
|
+
weaveFingerIndex: number;
|
|
43
|
+
weaveCooldown: number;
|
|
44
|
+
threadSerial: number;
|
|
45
|
+
spawnSerial: number;
|
|
46
|
+
threads: MarionetteThreadState[];
|
|
47
|
+
previousEnemyPositions: Record<string, Vector2D>;
|
|
48
|
+
events: MarionetteEvent[];
|
|
49
|
+
}
|
|
50
|
+
export interface MarionetteEvent {
|
|
51
|
+
readonly type: "thread-cut" | "exposure-opened";
|
|
52
|
+
readonly position: Vector2D;
|
|
53
|
+
readonly enemyId?: string;
|
|
54
|
+
readonly longExposure?: boolean;
|
|
55
|
+
}
|
|
56
|
+
export declare function createMarionetteState(definition: BossDefinition): MarionetteEncounterState;
|
|
57
|
+
export declare function updateMarionette(context: {
|
|
58
|
+
readonly encounter: BossEncounterState;
|
|
59
|
+
readonly view: BossEncounterView;
|
|
60
|
+
readonly dt: number;
|
|
61
|
+
readonly corePosition: Vector2D;
|
|
62
|
+
readonly enemies: readonly MarionetteEnemySnapshot[];
|
|
63
|
+
}): BossLaunchRequest | null;
|
|
64
|
+
export declare function hitMarionette(encounter: BossEncounterState, view: BossEncounterView, position: Vector2D, corePosition: Vector2D): BossHitResult;
|
|
65
|
+
export declare function getMarionetteControlIds(state: MarionetteEncounterState | null): ReadonlySet<string>;
|
|
66
|
+
export declare function drainMarionetteEvents(state: MarionetteEncounterState | null): MarionetteEvent[];
|
|
67
|
+
export {};
|
|
68
|
+
//# sourceMappingURL=BossEncounterMarionetteRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounterMarionetteRuntime.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterMarionetteRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { BossDefinition } from "../content/ContentTypes";
|
|
2
|
+
import type { Vector2D } from "../types/game";
|
|
3
|
+
import type { BossEncounterState, BossLaunchRequest } from "./BossEncounterTypes";
|
|
4
|
+
import type { MarionetteEncounterState, MarionetteEnemySnapshot } from "./BossEncounterMarionetteRuntime";
|
|
5
|
+
type MarionetteConfig = NonNullable<BossDefinition["marionette"]>;
|
|
6
|
+
export interface MarionetteExposureContext {
|
|
7
|
+
readonly encounter: BossEncounterState;
|
|
8
|
+
readonly state: MarionetteEncounterState;
|
|
9
|
+
readonly config: MarionetteConfig;
|
|
10
|
+
readonly dt: number;
|
|
11
|
+
readonly corePosition: Vector2D;
|
|
12
|
+
readonly enemies: readonly MarionetteEnemySnapshot[];
|
|
13
|
+
}
|
|
14
|
+
export declare function updateExposure(context: MarionetteExposureContext): BossLaunchRequest | null;
|
|
15
|
+
export declare function maybeSpawnFreeReinforcement(context: MarionetteExposureContext): BossLaunchRequest | null;
|
|
16
|
+
export declare function createReinforcementLaunch(encounter: BossEncounterState, corePosition: Vector2D, index: number): BossLaunchRequest;
|
|
17
|
+
export declare function getActiveThreadLimit(config: MarionetteConfig, act: number): number;
|
|
18
|
+
export declare function getActValue(values: readonly number[], act: number, fallback: number): number;
|
|
19
|
+
export declare function isBindCandidate(enemy: MarionetteEnemySnapshot): boolean;
|
|
20
|
+
export declare function isCuttingCandidate(enemy: MarionetteEnemySnapshot): boolean;
|
|
21
|
+
export declare function isInsideCombatArena(position: Vector2D, width: number, height: number): boolean;
|
|
22
|
+
export declare function distanceSquared(left: Vector2D, right: Vector2D): number;
|
|
23
|
+
export declare function pruneStaleThreads(state: MarionetteEncounterState, enemies: readonly MarionetteEnemySnapshot[]): void;
|
|
24
|
+
export declare function updateThreadEndpoints(state: MarionetteEncounterState, enemies: readonly MarionetteEnemySnapshot[]): void;
|
|
25
|
+
export declare function rememberEnemyPositions(state: MarionetteEncounterState, enemies: readonly MarionetteEnemySnapshot[]): void;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=BossEncounterMarionetteSupport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounterMarionetteSupport.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterMarionetteSupport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE1G,KAAK,gBAAgB,GAAG,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;AAElE,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACxD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,yBAAyB,GAAG,iBAAiB,GAAG,IAAI,CAQ3F;AA4BD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,yBAAyB,GAAG,iBAAiB,GAAG,IAAI,CAOxG;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,kBAAkB,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAWjI;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAIlF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5F;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAEvE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAE1E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAG9F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAIvE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAAG,IAAI,CAQpH;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAAG,IAAI,CAOxH;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAAG,IAAI,CAIzH"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Vector2D } from "../types/game";
|
|
2
|
+
import type { BossEncounterSnapshot, BossEncounterState } from "./BossEncounterTypes";
|
|
3
|
+
export declare function createMarionetteSnapshot(state: BossEncounterState, corePosition: Vector2D, bossPosition: Vector2D): BossEncounterSnapshot["marionette"];
|
|
4
|
+
//# sourceMappingURL=BossEncounterMarionetteView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounterMarionetteView.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterMarionetteView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,GAAG,qBAAqB,CAAC,YAAY,CAAC,CA2BvJ"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { BossDefinition } from "../content/ContentTypes";
|
|
2
|
+
import type { Vector2D } from "../types/game";
|
|
3
|
+
import type { MarionetteEncounterState, MarionetteEnemySnapshot } from "./BossEncounterMarionetteRuntime";
|
|
4
|
+
type MarionetteConfig = NonNullable<BossDefinition["marionette"]>;
|
|
5
|
+
export declare function updateWeaveMovement(context: {
|
|
6
|
+
readonly state: MarionetteEncounterState;
|
|
7
|
+
readonly config: MarionetteConfig;
|
|
8
|
+
readonly corePosition: Vector2D;
|
|
9
|
+
readonly enemies: readonly MarionetteEnemySnapshot[];
|
|
10
|
+
readonly dt: number;
|
|
11
|
+
}): void;
|
|
12
|
+
export declare function startWeave(context: {
|
|
13
|
+
readonly state: MarionetteEncounterState;
|
|
14
|
+
readonly enemies: readonly MarionetteEnemySnapshot[];
|
|
15
|
+
readonly arenaWidth: number;
|
|
16
|
+
readonly arenaHeight: number;
|
|
17
|
+
readonly bossPosition: Vector2D;
|
|
18
|
+
}): void;
|
|
19
|
+
export declare function initializeBossPosition(state: MarionetteEncounterState, corePosition: Vector2D): void;
|
|
20
|
+
export declare function getDanceTarget(corePosition: Vector2D, time: number): Vector2D;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=BossEncounterMarionetteWeaving.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounterMarionetteWeaving.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterMarionetteWeaving.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAyB,MAAM,kCAAkC,CAAC;AAGjI,KAAK,gBAAgB,GAAG,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;AAElE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IACzC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACvB,GAAG,IAAI,CAWP;AA4BD,wBAAgB,UAAU,CAAC,OAAO,EAAE;IAChC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;CACnC,GAAG,IAAI,CAcP;AAcD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,QAAQ,GAAG,IAAI,CAEpG;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAG7E"}
|
|
@@ -2,6 +2,7 @@ import type { BossDefinition } from "../content/ContentTypes";
|
|
|
2
2
|
import type { EnemyType, Vector2D } from "../types/game";
|
|
3
3
|
import type { BossEncounterState, BossLaunchRequest, BossHitResult, BossTentacleTarget } from "./BossEncounter";
|
|
4
4
|
import type { BossEncounterView } from "./BossEncounterView";
|
|
5
|
+
import { type MarionetteEnemySnapshot, type MarionetteEvent } from "./BossEncounterMarionetteRuntime";
|
|
5
6
|
export interface BossStartOptions {
|
|
6
7
|
definition: BossDefinition;
|
|
7
8
|
arenaWidth?: number;
|
|
@@ -16,18 +17,26 @@ export declare class BossEncounterRuntime {
|
|
|
16
17
|
constructor(encounter: BossEncounterState, view: BossEncounterView);
|
|
17
18
|
start(options: BossStartOptions): void;
|
|
18
19
|
private resetState;
|
|
20
|
+
private resetEncounterState;
|
|
21
|
+
private resetMechanicState;
|
|
22
|
+
private resetPigmentState;
|
|
19
23
|
private buildTentacles;
|
|
20
|
-
|
|
24
|
+
private buildStandardTentacles;
|
|
25
|
+
private buildPigments;
|
|
26
|
+
update(dt: number, corePosition?: Vector2D, marionetteEnemies?: readonly MarionetteEnemySnapshot[]): BossLaunchRequest | null;
|
|
21
27
|
private decayPulses;
|
|
22
28
|
private updateIntro;
|
|
29
|
+
private updateStandardIntro;
|
|
30
|
+
private completeStandardIntro;
|
|
31
|
+
private updateMarionetteIntro;
|
|
23
32
|
private updateIntroPause;
|
|
24
33
|
private updateEntryDelay;
|
|
25
34
|
private updateCombat;
|
|
26
|
-
private
|
|
35
|
+
private updateTentacleCombat;
|
|
36
|
+
private updateExposureCombat;
|
|
27
37
|
private updateTentaclePhase;
|
|
28
38
|
hit(position: Vector2D, type: EnemyType, corePosition: Vector2D): BossHitResult;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
private hitBoss;
|
|
39
|
+
getMarionetteControlIds(): ReadonlySet<string>;
|
|
40
|
+
drainMarionetteEvents(): MarionetteEvent[];
|
|
32
41
|
}
|
|
33
42
|
//# sourceMappingURL=BossEncounterRuntime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BossEncounterRuntime.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAChH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD;
|
|
1
|
+
{"version":3,"file":"BossEncounterRuntime.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAChH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAA2F,KAAK,uBAAuB,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAK/L,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD;AACD,qBAAa,oBAAoB;aAET,SAAS,EAAE,kBAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADL,SAAS,EAAE,kBAAkB,EAC5B,IAAI,EAAE,iBAAiB;IAErC,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAI7C,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,aAAa;IAQd,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,GAAE,QAA6B,EAAE,iBAAiB,GAAE,SAAS,uBAAuB,EAAO,GAAG,iBAAiB,GAAG,IAAI;IAO5J,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,mBAAmB;IAUpB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,GAAG,aAAa;IAG/E,uBAAuB,IAAI,WAAW,CAAC,MAAM,CAAC;IAG9C,qBAAqB,IAAI,eAAe,EAAE;CAGpD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { EnemyType, Vector2D } from "../types/game";
|
|
2
|
+
import type { BossEncounterState, BossHitResult } from "./BossEncounterTypes";
|
|
3
|
+
import type { BossEncounterView } from "./BossEncounterView";
|
|
4
|
+
export declare function hitBossEncounter(context: {
|
|
5
|
+
readonly encounter: BossEncounterState;
|
|
6
|
+
readonly view: BossEncounterView;
|
|
7
|
+
readonly position: Vector2D;
|
|
8
|
+
readonly type: EnemyType;
|
|
9
|
+
readonly corePosition: Vector2D;
|
|
10
|
+
}): BossHitResult;
|
|
11
|
+
//# sourceMappingURL=BossEncounterRuntimeHit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounterRuntimeHit.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterRuntimeHit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAK7D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACtC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;CACnC,GAAG,aAAa,CAIhB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { BossDefinition } from "../content/ContentTypes";
|
|
2
|
+
import type { EnemyType, Vector2D } from "../types/game";
|
|
3
|
+
import type { BossEncounterState, BossHitResult, BossTentacleTarget, SimonEncounterState } from "./BossEncounterTypes";
|
|
4
|
+
import type { BossEncounterView } from "./BossEncounterView";
|
|
5
|
+
export declare const SIMON_ORBITAL_TYPES: readonly EnemyType[];
|
|
6
|
+
export declare function createSimonState(definition: BossDefinition, candidates: readonly BossTentacleTarget[]): SimonEncounterState;
|
|
7
|
+
export declare function updateSimon(encounter: BossEncounterState, dt: number): null;
|
|
8
|
+
export declare function hitSimon(context: {
|
|
9
|
+
readonly encounter: BossEncounterState;
|
|
10
|
+
readonly view: BossEncounterView;
|
|
11
|
+
readonly type: EnemyType;
|
|
12
|
+
readonly position: Vector2D;
|
|
13
|
+
readonly corePosition: Vector2D;
|
|
14
|
+
}): BossHitResult;
|
|
15
|
+
//# sourceMappingURL=BossEncounterSimonRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounterSimonRuntime.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterSimonRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACvH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,eAAO,MAAM,mBAAmB,EAAE,SAAS,SAAS,EAAgD,CAAC;AAMrG,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,kBAAkB,EAAE,GAAG,mBAAmB,CA6B3H;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAuB3E;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAA;CAAE,GAAG,aAAa,CAMrN"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BossEncounterSnapshot, BossEncounterState } from "./BossEncounter";
|
|
2
|
+
export declare function getSimonSnapshot(encounter: BossEncounterState): BossEncounterSnapshot["simon"];
|
|
3
|
+
export declare function getPigmentSnapshot(encounter: BossEncounterState): BossEncounterSnapshot["pigment"];
|
|
4
|
+
//# sourceMappingURL=BossEncounterSpecialSnapshots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounterSpecialSnapshots.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterSpecialSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAmB9F;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAclG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BossEncounterState, BossTentacleTarget, MutableTentacle } from "./BossEncounterTypes";
|
|
2
|
+
import type { Vector2D } from "../types/game";
|
|
3
|
+
export declare function isBossVisible(encounter: BossEncounterState, position: Vector2D, horizontalMargin?: number): boolean;
|
|
4
|
+
export declare function selectTentacleTargets(candidates: readonly BossTentacleTarget[], count: number): BossTentacleTarget[];
|
|
5
|
+
export declare function rerollTentacleTarget(encounter: BossEncounterState, index: number): void;
|
|
6
|
+
export declare function findNearestTentacle(tentacles: readonly MutableTentacle[], position: Vector2D, corePosition: Vector2D, getTip: (index: number, core: Vector2D) => Vector2D): MutableTentacle | null;
|
|
7
|
+
//# sourceMappingURL=BossEncounterTargeting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounterTargeting.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterTargeting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,wBAAgB,aAAa,CAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,GAAE,MAAY,GAAG,OAAO,CAExH;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAOpH;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CASvF;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,QAAQ,GAAG,eAAe,GAAG,IAAI,CAalM"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BossEncounterState } from "./BossEncounterTypes";
|
|
2
|
+
export declare function updateTentacleExposure(encounter: BossEncounterState, dt: number): null;
|
|
3
|
+
export declare function updateTentacleRegeneration(encounter: BossEncounterState, dt: number): void;
|
|
4
|
+
//# sourceMappingURL=BossEncounterTentacleRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BossEncounterTentacleRuntime.d.ts","sourceRoot":"","sources":["../../src/bosses/BossEncounterTentacleRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAYtF;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAU1F"}
|