Musiche nuove: «Sotto i nove bastioni» alla Fortezza e la sera del paese all'aperto; la musica si spegne quasi agli occhi del Regolo
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ApqNBvNbNCwXqR2RLo8QJh
This commit is contained in:
+5
-2
@@ -4,12 +4,15 @@
|
||||
|
||||
// Il brano del momento: titolo, fine, oppure quello della scena (o quello comune del gioco). Sotto il cartello
|
||||
// d'apertura nessuno: lì suona la sua musichetta, una volta sola (main.js).
|
||||
export function trackFor(story, { screen, scene }) {
|
||||
// Quale brano: quello della scena se ce l'ha; altrimenti, all'aperto, quello della fase del giorno (la sera ha il suo);
|
||||
// altrimenti quello generale del paese.
|
||||
export function trackFor(story, { screen, scene, phase }) {
|
||||
const m = story.music ?? {};
|
||||
if (screen === 'splash') return null;
|
||||
if (screen === 'title' || screen === 'intro') return m.title ?? null;
|
||||
if (screen === 'ending') return m.ending ?? m.game ?? null;
|
||||
return story.scenes[scene]?.music ?? m.game ?? null;
|
||||
const sc = story.scenes[scene];
|
||||
return sc?.music ?? (sc?.indoor ? null : phase?.music) ?? m.game ?? null;
|
||||
}
|
||||
|
||||
const FADE = 1.2;
|
||||
|
||||
+3
-2
@@ -547,8 +547,9 @@ function frame(now) {
|
||||
last = now;
|
||||
const screen = !$('title').hidden ? 'title' : !$('splash').hidden ? 'splash' : !$('intro').hidden || !$('rione').hidden ? 'intro' : !$('ending').hidden ? 'ending' : 'game';
|
||||
document.body.classList.toggle('full', screen === 'title' || screen === 'splash' || screen === 'intro' || !$('credits').hidden);
|
||||
music.duck = voices.playing ? 0.45 : 1;
|
||||
music.update(trackFor(story, { screen, scene: game?.state.scene }), dt);
|
||||
// Mentre si parla la musica si abbassa; quando compaiono gli occhi del Regolo quasi si spegne, per la sorpresa.
|
||||
music.duck = game?.state.flags.occhi_regolo ? 0.12 : voices.playing ? 0.45 : 1;
|
||||
music.update(trackFor(story, { screen, scene: game?.state.scene, phase: game?.phase() }), dt);
|
||||
// Un minuto senza toccare niente, a gioco fermo: pausa da sola.
|
||||
if (running && now - idleSince > IDLE_PAUSE && !game.speech && !game.walking && !game.queue.length) openPause();
|
||||
// A gioco fermo (titolo, pausa, fine) la scena non cambia: un ultimo disegno e poi niente, per la batteria del
|
||||
|
||||
+2
-1
@@ -50,7 +50,7 @@ export const story = {
|
||||
phases: [
|
||||
{ id: 'pomeriggio' },
|
||||
{ id: 'tramonto', when: 'indizio_regolo', tint: 'rgba(255, 110, 40, 0.16)' },
|
||||
{ id: 'sera', when: 'casetta_aperta', tint: 'rgba(24, 28, 90, 0.42)' },
|
||||
{ id: 'sera', when: 'casetta_aperta', tint: 'rgba(24, 28, 90, 0.42)', music: 'assets/audio/sera.mp3' },
|
||||
],
|
||||
// Il taccuino (pulsante «Taccuino», tasto N): le tappe del capitolo in ordine. Una tappa è fatta quando la sua
|
||||
// condizione `done` è vera; la prima non fatta è l'obiettivo di adesso. Solo testo: non si sente a voce.
|
||||
@@ -338,6 +338,7 @@ export const story = {
|
||||
name: 'Sotto le mura della Fortezza',
|
||||
map: [36, 6],
|
||||
background: 'assets/scenes/fortezza-esterno.png',
|
||||
music: 'assets/audio/fortezza.mp3', // «Sotto i nove bastioni» (Andrea con Suno, 25 ottobre)
|
||||
// Nella fessura, con la torcia: il pulviscolo nel fascio di luce, e gli occhi gialli che sbattono.
|
||||
effects: [
|
||||
{ type: 'dust', when: 'luce_fessura', area: [494, 278, 14, 22], count: 7 },
|
||||
|
||||
Reference in New Issue
Block a user