diff --git a/src/scenes/StoryScene.js b/src/scenes/StoryScene.js index 93eff992a..a9927bed3 100644 --- a/src/scenes/StoryScene.js +++ b/src/scenes/StoryScene.js @@ -113,12 +113,12 @@ class StoryScene extends Phaser.Scene { graphics.generateTexture('fogParticle', 64, 64); graphics.destroy(); - // Fog particle emitter - SIMPLE & WORKING + // Fog particle emitter - HUGE & SUBTLE (no circles!) this.add.particles(0, 0, 'fogParticle', { x: { min: 0, max: width }, y: { min: 0, max: height }, - scale: { start: 2, end: 6 }, - alpha: { start: 0.05, end: 0 }, + scale: { start: 15, end: 20 }, // HUGE particles! + alpha: { start: 0.02, end: 0 }, // VERY subtle! lifespan: 8000, speed: { min: 5, max: 20 }, frequency: 300, diff --git a/src/scenes/UltimatePrologueScene.js b/src/scenes/UltimatePrologueScene.js index fe01fffbe..480346ba2 100644 --- a/src/scenes/UltimatePrologueScene.js +++ b/src/scenes/UltimatePrologueScene.js @@ -118,6 +118,12 @@ class UltimatePrologueScene extends Phaser.Scene { phase1_Breathing() { console.log('🎬 Phase 1: Breathing'); + // Audio safety check + if (!this.cache.audio.exists('v1_breathing')) { + console.warn('⚠️ v1_breathing not found - skipping audio'); + this.time.delayedCall(2000, () => this.phase2_Flyover()); + return; + } const voice = this.sound.add('v1_breathing'); // Subtitle with precise timing @@ -147,6 +153,12 @@ class UltimatePrologueScene extends Phaser.Scene { ease: 'Sine.easeInOut' }); + // Audio safety check + if (!this.cache.audio.exists('v2_flyover')) { + console.warn('⚠️ v2_flyover not found - skipping audio'); + this.time.delayedCall(2000, () => this.phase3_Awakening()); + return; + } const voice = this.sound.add('v2_flyover'); voice.play(); @@ -209,6 +221,12 @@ class UltimatePrologueScene extends Phaser.Scene { // Play awakening voice this.time.delayedCall(2500, () => { + // Audio safety check + if (!this.cache.audio.exists('v3_awakening')) { + console.warn('⚠️ v3_awakening not found - skipping audio'); + this.time.delayedCall(2000, () => this.phase4_IDCard()); + return; + } const voice = this.sound.add('v3_awakening'); voice.play(); @@ -255,6 +273,12 @@ class UltimatePrologueScene extends Phaser.Scene { // Play ID card voice this.time.delayedCall(1500, () => { + // Audio safety check + if (!this.cache.audio.exists('v4_id_card')) { + console.warn('⚠️ v4_id_card not found - skipping audio'); + this.time.delayedCall(2000, () => this.phase5_Determination()); + return; + } const voice = this.sound.add('v4_id_card'); voice.play(); @@ -306,6 +330,12 @@ class UltimatePrologueScene extends Phaser.Scene { phase5_Determination() { console.log('🎬 Phase 5: Determination'); + // Audio safety check + if (!this.cache.audio.exists('v5_determination')) { + console.warn('⚠️ v5_determination not found - skipping audio'); + this.time.delayedCall(2000, () => this.exitPrologue()); + return; + } const voice = this.sound.add('v5_determination'); voice.play();