diff --git a/assets/bear-a.wav b/assets/bear-a.wav new file mode 100644 index 0000000..980a0c6 Binary files /dev/null and b/assets/bear-a.wav differ diff --git a/assets/bear-a1.mp3 b/assets/bear-a1.mp3 index 8ee824c..190431e 100644 Binary files a/assets/bear-a1.mp3 and b/assets/bear-a1.mp3 differ diff --git a/assets/bear-a2.mp3 b/assets/bear-a2.mp3 index 5882e8a..d7b7a66 100644 Binary files a/assets/bear-a2.mp3 and b/assets/bear-a2.mp3 differ diff --git a/assets/bear-a3.mp3 b/assets/bear-a3.mp3 index 7442a93..58c5c73 100644 Binary files a/assets/bear-a3.mp3 and b/assets/bear-a3.mp3 differ diff --git a/assets/bear-b.mp3 b/assets/bear-b.mp3 index ef9eb89..05b89ce 100644 Binary files a/assets/bear-b.mp3 and b/assets/bear-b.mp3 differ diff --git a/assets/bear-b.wav b/assets/bear-b.wav new file mode 100644 index 0000000..435f362 Binary files /dev/null and b/assets/bear-b.wav differ diff --git a/assets/bear-c.mp3 b/assets/bear-c.mp3 index 7281aa8..5173306 100644 Binary files a/assets/bear-c.mp3 and b/assets/bear-c.mp3 differ diff --git a/assets/bear-c.wav b/assets/bear-c.wav new file mode 100644 index 0000000..c2b8446 Binary files /dev/null and b/assets/bear-c.wav differ diff --git a/assets/bear-intro.mp3 b/assets/bear-intro.mp3 index c25a861..94860c8 100644 Binary files a/assets/bear-intro.mp3 and b/assets/bear-intro.mp3 differ diff --git a/assets/bear-intro.wav b/assets/bear-intro.wav new file mode 100644 index 0000000..49bd34f Binary files /dev/null and b/assets/bear-intro.wav differ diff --git a/assets/bear-music.mp3 b/assets/bear-music.mp3 index 03ed455..90f8ea2 100644 Binary files a/assets/bear-music.mp3 and b/assets/bear-music.mp3 differ diff --git a/assets/bear-outro.mp3 b/assets/bear-outro.mp3 index f4f50e5..2684b7b 100644 Binary files a/assets/bear-outro.mp3 and b/assets/bear-outro.mp3 differ diff --git a/assets/bear-outro.wav b/assets/bear-outro.wav new file mode 100644 index 0000000..465b972 Binary files /dev/null and b/assets/bear-outro.wav differ diff --git a/assets/level-up.wav b/assets/level-up.wav new file mode 100644 index 0000000..adf2023 Binary files /dev/null and b/assets/level-up.wav differ diff --git a/assets/menuBackground.png b/assets/menuBackground.png new file mode 100644 index 0000000..f324ae3 Binary files /dev/null and b/assets/menuBackground.png differ diff --git a/assets/menuLogo.png b/assets/menuLogo.png new file mode 100644 index 0000000..a4bd845 Binary files /dev/null and b/assets/menuLogo.png differ diff --git a/assets/wizard-a.wav b/assets/wizard-a.wav new file mode 100644 index 0000000..453ffdf Binary files /dev/null and b/assets/wizard-a.wav differ diff --git a/assets/wizard-a1.mp3 b/assets/wizard-a1.mp3 index 8ee824c..6b75277 100644 Binary files a/assets/wizard-a1.mp3 and b/assets/wizard-a1.mp3 differ diff --git a/assets/wizard-a2.mp3 b/assets/wizard-a2.mp3 index 5882e8a..cf95f8d 100644 Binary files a/assets/wizard-a2.mp3 and b/assets/wizard-a2.mp3 differ diff --git a/assets/wizard-a3.mp3 b/assets/wizard-a3.mp3 index 7442a93..882be41 100644 Binary files a/assets/wizard-a3.mp3 and b/assets/wizard-a3.mp3 differ diff --git a/assets/wizard-b.mp3 b/assets/wizard-b.mp3 index ef9eb89..49db985 100644 Binary files a/assets/wizard-b.mp3 and b/assets/wizard-b.mp3 differ diff --git a/assets/wizard-b.wav b/assets/wizard-b.wav new file mode 100644 index 0000000..7014609 Binary files /dev/null and b/assets/wizard-b.wav differ diff --git a/assets/wizard-c.mp3 b/assets/wizard-c.mp3 index 7281aa8..ac555a8 100644 Binary files a/assets/wizard-c.mp3 and b/assets/wizard-c.mp3 differ diff --git a/assets/wizard-c.wav b/assets/wizard-c.wav new file mode 100644 index 0000000..519c38d Binary files /dev/null and b/assets/wizard-c.wav differ diff --git a/assets/wizard-intro.mp3 b/assets/wizard-intro.mp3 index c25a861..5f50bb7 100644 Binary files a/assets/wizard-intro.mp3 and b/assets/wizard-intro.mp3 differ diff --git a/assets/wizard-intro.wav b/assets/wizard-intro.wav new file mode 100644 index 0000000..641b4a0 Binary files /dev/null and b/assets/wizard-intro.wav differ diff --git a/assets/wizard-music.mp3 b/assets/wizard-music.mp3 index 50906fe..ace9406 100644 Binary files a/assets/wizard-music.mp3 and b/assets/wizard-music.mp3 differ diff --git a/assets/wizard-outro.mp3 b/assets/wizard-outro.mp3 index f4f50e5..0e63780 100644 Binary files a/assets/wizard-outro.mp3 and b/assets/wizard-outro.mp3 differ diff --git a/assets/wizard-outro.wav b/assets/wizard-outro.wav new file mode 100644 index 0000000..3571a55 Binary files /dev/null and b/assets/wizard-outro.wav differ diff --git a/src/GameScene.js b/src/GameScene.js index 7ff2d4e..e904cb4 100644 --- a/src/GameScene.js +++ b/src/GameScene.js @@ -16,7 +16,7 @@ export class GameScene extends Phaser.Scene { // Stats this.numberOfJewels = 4; this.startRows = 2; - this.level = 12; + this.level = 1; this.matchesNeeded = 8; this.score = 0; this.ally = 'goblin'; @@ -111,7 +111,7 @@ export class GameScene extends Phaser.Scene { this.createStart(); // Background Music - this.bgMusic = this.sound.add(`${this.ally}-music`, { volume: 0.2 }); + this.bgMusic = this.sound.add(`${this.ally}-music`, { volume: 0.25 }); this.bgMusic.loop = true; this.bgMusic.play(); @@ -192,7 +192,7 @@ export class GameScene extends Phaser.Scene { this.gameStatus === true ) { this.moveAllJewelsUp(); - this.moveTimer = 0; // Reset the timer + this.moveTimer = 0; } if (this.moveInterval - this.moveTimer <= 3000) { @@ -213,7 +213,7 @@ export class GameScene extends Phaser.Scene { } this.countdownTimer = true; - this.sound.play('countdown'); + this.sound.play('countdown', { volume: .3 }); this.time.delayedCall(6000, () => { this.countdownTimer = false; }); @@ -351,7 +351,7 @@ export class GameScene extends Phaser.Scene { } // Set swapping flag to prevent new clicks from being processed this.isSwapping = true; - this.sound.play('switch'); + this.sound.play('switch', { volume: .6 }); // Disable all jewel interactivity temporarily this.jewels.children.iterate((jewel) => { @@ -382,7 +382,7 @@ export class GameScene extends Phaser.Scene { // After swap completes, re-enable interactivity and reset flag - this.time.delayedCall(300, () => { // Adjust delay as needed for animation duration + this.time.delayedCall(400, () => { // Adjust delay as needed for animation duration this.jewels.children.iterate((jewel) => { if (jewel) { jewel.setInteractive(); @@ -559,6 +559,7 @@ export class GameScene extends Phaser.Scene { checkMatches() { this.checkWarning(); const matchedJewels = new Set(); + const matchesNeeded = this.matchesNeeded; // Check horizontal matches for (let row = 1; row <= this.gridConfig.rows; row++) { @@ -631,7 +632,7 @@ export class GameScene extends Phaser.Scene { // If we found matches, destroy them and play video if (matchedJewels.size > 0) { this.playVideo(matchedJewels.size); - this.playAudio(matchedJewels.size); + this.playAudio(matchedJewels.size, matchesNeeded); const scoreMatches = matchedJewels.size / 3; const scoreAdd = Math.ceil(scoreMatches ** 2) * 10; this.score += scoreAdd; @@ -667,8 +668,8 @@ export class GameScene extends Phaser.Scene { }); } - playAudio(amount) { - if (this.isPlayingAudio === true) { + playAudio(amount, matchesNeeded) { + if (this.isPlayingAudio === true || matchesNeeded === 1) { return; } @@ -683,7 +684,7 @@ export class GameScene extends Phaser.Scene { const rand = Phaser.Math.Between(1, 3); audio = `${this.ally}-a${rand}`; } - this.sound.play(audio); + this.sound.play(audio, { volume: 2 }); this.time.delayedCall(2000, () => { this.isPlayingAudio = false; }); @@ -992,7 +993,7 @@ export class GameScene extends Phaser.Scene { this.bgMusic.play(); this.time.delayedCall(4000, () => { - this.sound.play(`${this.ally}-intro`); + this.sound.play(`${this.ally}-intro`, { volume: 2 }); }); // Refresh the ally video with the new ally @@ -1073,13 +1074,15 @@ export class GameScene extends Phaser.Scene { this.clearAndResetBoard(); } this.LevelText.setText(`Level: ${this.level}`); - this.sound.play('level-up'); - this.sound.play('level-complete'); + this.sound.play('level-up', { volume: .6 }); + this.time.delayedCall(500, () => { + this.sound.play('level-complete', { volume: 2.5 }); + }); this.grid.setFillStyle(newLevel.gridColor).setAlpha(0.5); if (this.ally !== newLevel.ally) { - this.sound.play(`${this.ally}-outro`); + this.sound.play(`${this.ally}-outro`, { volume: 2 }); this.time.delayedCall(1000, () => { const originalAlly = this.ally; this.ally = newLevel.ally;