feat(videopoker): add 8-bit sound effects and update audio playback
- Load new 8-bit style sound assets (card deal, card show, casino win/lose) - Replace SFX enum-based sound calls with direct sound key playback - Use 8-bit sounds for card interactions and win/lose feedback in VideoPokerGame
This commit is contained in:
parent
246d60e2a9
commit
97edebab55
|
|
@ -409,7 +409,7 @@ export default class VideoPokerGame extends Phaser.Scene {
|
||||||
onSlotClicked(i) {
|
onSlotClicked(i) {
|
||||||
if (this.busy || this.state.phase !== 'draw') return;
|
if (this.busy || this.state.phase !== 'draw') return;
|
||||||
toggleHold(this.state, i);
|
toggleHold(this.state, i);
|
||||||
playSound(this, SFX.CARD_SHOW);
|
this.sound.play('sfx-card-show-8bit');
|
||||||
this.heldTags[i].setVisible(this.state.held[i]);
|
this.heldTags[i].setVisible(this.state.held[i]);
|
||||||
// Subtle lift to show the hold.
|
// Subtle lift to show the hold.
|
||||||
this.tweens.add({ targets: this.cardObjs[i], y: this.state.held[i] ? this.slotY - 14 : this.slotY, duration: 120 });
|
this.tweens.add({ targets: this.cardObjs[i], y: this.state.held[i] ? this.slotY - 14 : this.slotY, duration: 120 });
|
||||||
|
|
@ -447,7 +447,7 @@ export default class VideoPokerGame extends Phaser.Scene {
|
||||||
this.busy = false;
|
this.busy = false;
|
||||||
};
|
};
|
||||||
if (replaced.length === 0) { finish(); return; }
|
if (replaced.length === 0) { finish(); return; }
|
||||||
playSound(this, SFX.CARD_DEAL);
|
this.sound.play('sfx-card-deal-8bit');
|
||||||
this.dealSequence(replaced, finish);
|
this.dealSequence(replaced, finish);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -461,7 +461,7 @@ export default class VideoPokerGame extends Phaser.Scene {
|
||||||
const cont = this.cardObjs[i];
|
const cont = this.cardObjs[i];
|
||||||
cont.setScale(1, 0);
|
cont.setScale(1, 0);
|
||||||
this.renderCard(i, card, true);
|
this.renderCard(i, card, true);
|
||||||
playSound(this, SFX.CARD_DEAL);
|
this.sound.play('sfx-card-deal-8bit');
|
||||||
this.tweens.add({
|
this.tweens.add({
|
||||||
targets: cont, scaleY: 1, duration: 110, ease: 'Quad.out',
|
targets: cont, scaleY: 1, duration: 110, ease: 'Quad.out',
|
||||||
onComplete: () => this.time.delayedCall(40, next),
|
onComplete: () => this.time.delayedCall(40, next),
|
||||||
|
|
@ -482,11 +482,11 @@ export default class VideoPokerGame extends Phaser.Scene {
|
||||||
this.sessionNet += win.coinsWon;
|
this.sessionNet += win.coinsWon;
|
||||||
this.refreshMeters();
|
this.refreshMeters();
|
||||||
this.setStatus(`${win.name.toUpperCase()} — WIN ${win.coinsWon}`, CRT.phosphorHex);
|
this.setStatus(`${win.name.toUpperCase()} — WIN ${win.coinsWon}`, CRT.phosphorHex);
|
||||||
playSound(this, win.coinsWon >= 50 ? SFX.COINS : SFX.CASINO_WIN);
|
playSound(this, win.coinsWon >= 50 ? SFX.COINS : 'sfx-casino-win-8bit');
|
||||||
this.recordHistory('win');
|
this.recordHistory('win');
|
||||||
} else {
|
} else {
|
||||||
this.setStatus('GAME OVER — NO WIN', CRT.heldHex);
|
this.setStatus('GAME OVER — NO WIN', CRT.heldHex);
|
||||||
playSound(this, SFX.CASINO_LOSE);
|
this.sound.play('sfx-casino-lose-8bit');
|
||||||
this.recordHistory('loss');
|
this.recordHistory('loss');
|
||||||
}
|
}
|
||||||
// Persist the net change to the shared bankroll after each hand.
|
// Persist the net change to the shared bankroll after each hand.
|
||||||
|
|
|
||||||
|
|
@ -65,14 +65,18 @@ export default class PreloadScene extends Phaser.Scene {
|
||||||
this.load.audio('sfx-water-raise', '/assets/fx/water-raise.mp3');
|
this.load.audio('sfx-water-raise', '/assets/fx/water-raise.mp3');
|
||||||
this.load.audio('sfx-water-dry', '/assets/fx/water-dry.mp3');
|
this.load.audio('sfx-water-dry', '/assets/fx/water-dry.mp3');
|
||||||
this.load.audio('sfx-card-deal', '/assets/fx/card-deal.mp3');
|
this.load.audio('sfx-card-deal', '/assets/fx/card-deal.mp3');
|
||||||
|
this.load.audio('sfx-card-deal-8bit', '/assets/fx/8bit-card.mp3');
|
||||||
this.load.audio('sfx-card-place', '/assets/fx/card-place.mp3');
|
this.load.audio('sfx-card-place', '/assets/fx/card-place.mp3');
|
||||||
this.load.audio('sfx-card-show', '/assets/fx/card-show.mp3');
|
this.load.audio('sfx-card-show', '/assets/fx/card-show.mp3');
|
||||||
|
this.load.audio('sfx-card-show-8bit', '/assets/fx/8bit-select.mp3');
|
||||||
this.load.audio('sfx-card-shuffle', '/assets/fx/card-shuffle.mp3');
|
this.load.audio('sfx-card-shuffle', '/assets/fx/card-shuffle.mp3');
|
||||||
this.load.audio('sfx-coins', '/assets/fx/coins.mp3');
|
this.load.audio('sfx-coins', '/assets/fx/coins.mp3');
|
||||||
this.load.audio('sfx-purchase', '/assets/fx/purchase.mp3');
|
this.load.audio('sfx-purchase', '/assets/fx/purchase.mp3');
|
||||||
this.load.audio('sfx-casino-blackjack', '/assets/fx/casino-blackjack.mp3');
|
this.load.audio('sfx-casino-blackjack', '/assets/fx/casino-blackjack.mp3');
|
||||||
this.load.audio('sfx-casino-lose', '/assets/fx/casino-lose.mp3');
|
this.load.audio('sfx-casino-lose', '/assets/fx/casino-lose.mp3');
|
||||||
|
this.load.audio('sfx-casino-lose-8bit', '/assets/fx/8bit-lose.mp3');
|
||||||
this.load.audio('sfx-casino-win', '/assets/fx/casino-win.mp3');
|
this.load.audio('sfx-casino-win', '/assets/fx/casino-win.mp3');
|
||||||
|
this.load.audio('sfx-casino-win-8bit', '/assets/fx/8bit-win.mp3');
|
||||||
this.load.audio('sfx-chip-bet', '/assets/fx/chip-bet.mp3');
|
this.load.audio('sfx-chip-bet', '/assets/fx/chip-bet.mp3');
|
||||||
this.load.audio('sfx-dice-roll', '/assets/fx/dice-roll.mp3');
|
this.load.audio('sfx-dice-roll', '/assets/fx/dice-roll.mp3');
|
||||||
this.load.audio('sfx-bingo-balls', '/assets/fx/bingo-balls.mp3');
|
this.load.audio('sfx-bingo-balls', '/assets/fx/bingo-balls.mp3');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue