Add knight health, boss attack patterns, chases, and music
Knight now has a hit-bar (pirates deal 1, bosses deal 3 damage) with a new vitality upgrade. Bosses grow bigger/scarier and cycle through melee/missile/bomb/laser attack patterns; boss HP is now exactly 3x the local pirate's. Zones 20 and 40 replace their boss with a unique chase (Pirate Cruiser laser dodge + fuel cell collection; Black Swarm plasma dodge with a tap-to-escape engulf event). Pirates spawn 5x faster and got a bandana/eyepatch redesign. Added a procedural music engine, a visible destination galaxy in the supernova cutscene, and expanded the Data Archive lore to trigger at zones 10/20/40/60/80/100. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D5SuZW1XGCkahPX7cHMoRP
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
0788f42699
commit
799d595e7c
+52
-1
@@ -1,4 +1,6 @@
|
||||
export type UpgradeKey = 'crystal' | 'speed' | 'damage' | 'droid';
|
||||
export type UpgradeKey = 'crystal' | 'speed' | 'damage' | 'droid' | 'vitality';
|
||||
|
||||
export type BossType = 'melee' | 'missile' | 'bomb' | 'laser';
|
||||
|
||||
export interface CrystalEntity {
|
||||
id: number;
|
||||
@@ -56,6 +58,45 @@ export interface GoldenAsteroidEntity {
|
||||
jitter: number[];
|
||||
}
|
||||
|
||||
export interface BossProjectile {
|
||||
id: number;
|
||||
x: number;
|
||||
y: number;
|
||||
vx: number;
|
||||
vy: number;
|
||||
radius: number;
|
||||
}
|
||||
|
||||
export interface BossBomb {
|
||||
x: number;
|
||||
y: number;
|
||||
radius: number;
|
||||
state: 'telegraph' | 'boom';
|
||||
timer: number;
|
||||
}
|
||||
|
||||
export type ChaseKind = 'cruiser' | 'swarm';
|
||||
|
||||
export interface FuelCellEntity {
|
||||
id: number;
|
||||
x: number;
|
||||
y: number;
|
||||
radius: number;
|
||||
rotation: number;
|
||||
spin: number;
|
||||
jitter: number[];
|
||||
}
|
||||
|
||||
export interface ChaseProjectile {
|
||||
id: number;
|
||||
kind: 'laser' | 'plasma';
|
||||
x: number;
|
||||
y: number;
|
||||
vx: number;
|
||||
vy: number;
|
||||
radius: number;
|
||||
}
|
||||
|
||||
export interface Particle {
|
||||
x: number;
|
||||
y: number;
|
||||
@@ -104,4 +145,14 @@ export interface GameSnapshot {
|
||||
cutsceneActive: boolean;
|
||||
loreActive: boolean;
|
||||
loreEntry: LoreEntry | null;
|
||||
knightHp: number;
|
||||
knightMaxHp: number;
|
||||
musicMuted: boolean;
|
||||
chaseActive: boolean;
|
||||
chaseKind: ChaseKind | null;
|
||||
chaseFuelCells: number;
|
||||
chaseFuelRequired: number;
|
||||
chaseTimeRemaining: number;
|
||||
chaseEngulfed: boolean;
|
||||
chaseEscapeMeter: number;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user