diff --git a/assets/scenes/casa-maestro-bacci.png b/assets/scenes/casa-maestro-bacci.png index 575681a..88b8f99 100644 Binary files a/assets/scenes/casa-maestro-bacci.png and b/assets/scenes/casa-maestro-bacci.png differ diff --git a/assets/scenes/mini/casa-maestro-bacci.png b/assets/scenes/mini/casa-maestro-bacci.png index 737591d..32ae190 100644 Binary files a/assets/scenes/mini/casa-maestro-bacci.png and b/assets/scenes/mini/casa-maestro-bacci.png differ diff --git a/assets/voices/andrea-063f7520c0.mp3 b/assets/voices/andrea-063f7520c0.mp3 new file mode 100644 index 0000000..84aa3a2 Binary files /dev/null and b/assets/voices/andrea-063f7520c0.mp3 differ diff --git a/assets/voices/andrea-0b1872ef8c.mp3 b/assets/voices/andrea-0b1872ef8c.mp3 deleted file mode 100644 index 628d759..0000000 Binary files a/assets/voices/andrea-0b1872ef8c.mp3 and /dev/null differ diff --git a/assets/voices/andrea-1564018e6d.mp3 b/assets/voices/andrea-1564018e6d.mp3 new file mode 100644 index 0000000..bb9459d Binary files /dev/null and b/assets/voices/andrea-1564018e6d.mp3 differ diff --git a/assets/voices/andrea-22477cfcba.mp3 b/assets/voices/andrea-22477cfcba.mp3 deleted file mode 100644 index 27986a0..0000000 Binary files a/assets/voices/andrea-22477cfcba.mp3 and /dev/null differ diff --git a/assets/voices/andrea-2442d01b65.mp3 b/assets/voices/andrea-2442d01b65.mp3 deleted file mode 100644 index 179b3f2..0000000 Binary files a/assets/voices/andrea-2442d01b65.mp3 and /dev/null differ diff --git a/assets/voices/andrea-7ddf597c4f.mp3 b/assets/voices/andrea-7ddf597c4f.mp3 new file mode 100644 index 0000000..9330369 Binary files /dev/null and b/assets/voices/andrea-7ddf597c4f.mp3 differ diff --git a/assets/voices/andrea-7fb43cffe7.mp3 b/assets/voices/andrea-7fb43cffe7.mp3 new file mode 100644 index 0000000..288fba5 Binary files /dev/null and b/assets/voices/andrea-7fb43cffe7.mp3 differ diff --git a/assets/voices/andrea-88aff362ec.mp3 b/assets/voices/andrea-88aff362ec.mp3 deleted file mode 100644 index f49e065..0000000 Binary files a/assets/voices/andrea-88aff362ec.mp3 and /dev/null differ diff --git a/assets/voices/andrea-8a36ff5e5b.mp3 b/assets/voices/andrea-8a36ff5e5b.mp3 new file mode 100644 index 0000000..766b3aa Binary files /dev/null and b/assets/voices/andrea-8a36ff5e5b.mp3 differ diff --git a/assets/voices/andrea-8fb88556ac.mp3 b/assets/voices/andrea-8fb88556ac.mp3 new file mode 100644 index 0000000..44b1521 Binary files /dev/null and b/assets/voices/andrea-8fb88556ac.mp3 differ diff --git a/assets/voices/andrea-e3099edef5.mp3 b/assets/voices/andrea-e3099edef5.mp3 new file mode 100644 index 0000000..9702c34 Binary files /dev/null and b/assets/voices/andrea-e3099edef5.mp3 differ diff --git a/assets/voices/andrea-e39f94bae7.mp3 b/assets/voices/andrea-e39f94bae7.mp3 new file mode 100644 index 0000000..a3cb1b7 Binary files /dev/null and b/assets/voices/andrea-e39f94bae7.mp3 differ diff --git a/assets/voices/castello-0caaefed00.mp3 b/assets/voices/castello-0caaefed00.mp3 new file mode 100644 index 0000000..1c32a96 Binary files /dev/null and b/assets/voices/castello-0caaefed00.mp3 differ diff --git a/assets/voices/castello-4c2e50d84e.mp3 b/assets/voices/castello-4c2e50d84e.mp3 deleted file mode 100644 index 304ce3c..0000000 Binary files a/assets/voices/castello-4c2e50d84e.mp3 and /dev/null differ diff --git a/assets/voices/index.json b/assets/voices/index.json index fb76b7c..e2d671e 100644 --- a/assets/voices/index.json +++ b/assets/voices/index.json @@ -295,13 +295,13 @@ "file": "andrea-63221c502a.mp3", "sec": 1.66 }, - "san_pietro|Tengo le chiavi, è il mio mestiere. Quella dell'oratorio te la do se rispondi a un indovinello su San Piero.": { - "file": "san_pietro-7be2fedd9e.mp3", - "sec": 8.11 + "san_pietro|Tengo le chiavi, è il mio mestiere. Quella dell'oratorio te la do se rispondi a un indovinello sulla mia Pieve.": { + "file": "san_pietro-4aec20d591.mp3", + "sec": 9.26 }, - "san_pietro|Quanti bastioni ha la Fortezza di San Martino?": { - "file": "san_pietro-407bef3025.mp3", - "sec": 2.67 + "san_pietro|Il fonte battesimale, là dentro. Per secoli hanno detto che l'aveva fatto Luca della Robbia. Chi lo fece davvero?": { + "file": "san_pietro-b44c9143fe.mp3", + "sec": 8.93 }, "andrea|La porta che dà sull'oratorio. Chiusa a chiave.": { "file": "andrea-fd737a321a.mp3", @@ -323,6 +323,22 @@ "file": "andrea-d7882fce87.mp3", "sec": 3.35 }, + "andrea|Il fonte battesimale, in terracotta invetriata bianca e azzurra. Ci hanno battezzato mezzo paese, me compreso.": { + "file": "andrea-063f7520c0.mp3", + "sec": 7.96 + }, + "andrea|C'è un cartellino: «Bottega di Giovanni della Robbia, 1518. Per secoli attribuito a Luca della Robbia».": { + "file": "andrea-7ddf597c4f.mp3", + "sec": 8.19 + }, + "andrea|Sono già battezzato. Una volta basta e avanza.": { + "file": "andrea-e3099edef5.mp3", + "sec": 4.23 + }, + "andrea|Pesa come un'utilitaria. E poi chi lo spiega al parroco?": { + "file": "andrea-8fb88556ac.mp3", + "sec": 5.03 + }, "andrea|Un libro dimenticato su una panca. In copertina, niente titolo: solo un numero. 42.": { "file": "andrea-be07ea6e2f.mp3", "sec": 8.76 @@ -1251,37 +1267,37 @@ "file": "tosca-db2da31cef.mp3", "sec": 2.31 }, - "andrea|Cinque.": { - "file": "andrea-0b1872ef8c.mp3", - "sec": 0.61 + "andrea|Luca della Robbia.": { + "file": "andrea-8a36ff5e5b.mp3", + "sec": 1.15 }, - "andrea|Sette.": { - "file": "andrea-88aff362ec.mp3", - "sec": 0.7 + "andrea|Andrea della Robbia.": { + "file": "andrea-1564018e6d.mp3", + "sec": 1.23 }, - "andrea|Nove.": { - "file": "andrea-22477cfcba.mp3", - "sec": 0.57 + "andrea|Giovanni della Robbia.": { + "file": "andrea-e39f94bae7.mp3", + "sec": 1.26 }, - "andrea|Dodici.": { - "file": "andrea-2442d01b65.mp3", - "sec": 0.51 + "andrea|Michelangelo.": { + "file": "andrea-7fb43cffe7.mp3", + "sec": 0.84 }, "andrea|Ci penso e torno.": { "file": "andrea-d2ce5bb455.mp3", "sec": 1.56 }, - "san_pietro|Cinque? Ne hai contati la metà. Vai a guardarli bene, lassù.": { - "file": "san_pietro-4f6f201875.mp3", - "sec": 6.53 + "san_pietro|Così si è detto per secoli. E per secoli si è sbagliato. Entra e leggi bene.": { + "file": "san_pietro-74ec672711.mp3", + "sec": 7.98 }, - "san_pietro|Sette sono i peccati. I bastioni sono di più.": { - "file": "san_pietro-96b58aedde.mp3", - "sec": 4.44 + "san_pietro|Il babbo? Ci sei quasi. Ma la bottega, nel 1518, la mandava avanti un altro.": { + "file": "san_pietro-38fb46d05c.mp3", + "sec": 8.95 }, - "san_pietro|Bravo! Nove, come li volle Cosimo I.": { - "file": "san_pietro-9bb2be5ec6.mp3", - "sec": 4.55 + "san_pietro|Bravo! Giovanni della Robbia, nel 1518. Hai letto il cartellino, eh?": { + "file": "san_pietro-987f930c23.mp3", + "sec": 7.8 }, "san_pietro|Eccoti la chiave dell'oratorio. Trattala bene: è più vecchia di tuo nonno.": { "file": "san_pietro-9e24f3914e.mp3", @@ -1291,13 +1307,13 @@ "file": "andrea-149f790fa1.mp3", "sec": 1.25 }, - "san_pietro|Dodici erano gli apostoli. Io lo so bene: c'ero.": { - "file": "san_pietro-a8ebf578e0.mp3", - "sec": 5.2 + "san_pietro|Michelangelo? Quello aveva altro da fare. Prova con qualcuno che lavorava la terracotta.": { + "file": "san_pietro-fce0cb567f.mp3", + "sec": 7.42 }, - "san_pietro|Le chiavi non scappano. E io nemmeno.": { - "file": "san_pietro-6c85ba44c5.mp3", - "sec": 3.63 + "san_pietro|Le chiavi non scappano. E io nemmeno. Il fonte è lì dentro, se vuoi dare un'occhiata.": { + "file": "san_pietro-f5f9a9dc25.mp3", + "sec": 7.79 }, "andrea|Avete visto chi ha preso il palio?": { "file": "andrea-e673c57e60.mp3", @@ -1411,9 +1427,9 @@ "file": "castello-292fa417cf.mp3", "sec": 4.17 }, - "castello|San Pietro tiene le chiavi, e un indovinello per chi le vuole. La risposta è scritta nelle mura della Fortezza.": { - "file": "castello-4c2e50d84e.mp3", - "sec": 7.75 + "castello|San Pietro tiene le chiavi, e un indovinello per chi le vuole. La risposta è dentro la sua Pieve: guarda il fonte battesimale.": { + "file": "castello-0caaefed00.mp3", + "sec": 9.83 }, "castello|Ghiacciolo e cedrata in tasca, e li tieni lì? Il ghiacciolo nella cedrata: guarda cosa resta in mano.": { "file": "castello-97c7a202d5.mp3", diff --git a/assets/voices/san_pietro-38fb46d05c.mp3 b/assets/voices/san_pietro-38fb46d05c.mp3 new file mode 100644 index 0000000..60d336e Binary files /dev/null and b/assets/voices/san_pietro-38fb46d05c.mp3 differ diff --git a/assets/voices/san_pietro-407bef3025.mp3 b/assets/voices/san_pietro-407bef3025.mp3 deleted file mode 100644 index ae7502b..0000000 Binary files a/assets/voices/san_pietro-407bef3025.mp3 and /dev/null differ diff --git a/assets/voices/san_pietro-4aec20d591.mp3 b/assets/voices/san_pietro-4aec20d591.mp3 new file mode 100644 index 0000000..dcacc39 Binary files /dev/null and b/assets/voices/san_pietro-4aec20d591.mp3 differ diff --git a/assets/voices/san_pietro-4f6f201875.mp3 b/assets/voices/san_pietro-4f6f201875.mp3 deleted file mode 100644 index abd205b..0000000 Binary files a/assets/voices/san_pietro-4f6f201875.mp3 and /dev/null differ diff --git a/assets/voices/san_pietro-6c85ba44c5.mp3 b/assets/voices/san_pietro-6c85ba44c5.mp3 deleted file mode 100644 index 1711372..0000000 Binary files a/assets/voices/san_pietro-6c85ba44c5.mp3 and /dev/null differ diff --git a/assets/voices/san_pietro-74ec672711.mp3 b/assets/voices/san_pietro-74ec672711.mp3 new file mode 100644 index 0000000..2aebebe Binary files /dev/null and b/assets/voices/san_pietro-74ec672711.mp3 differ diff --git a/assets/voices/san_pietro-7be2fedd9e.mp3 b/assets/voices/san_pietro-7be2fedd9e.mp3 deleted file mode 100644 index 18edfc3..0000000 Binary files a/assets/voices/san_pietro-7be2fedd9e.mp3 and /dev/null differ diff --git a/assets/voices/san_pietro-96b58aedde.mp3 b/assets/voices/san_pietro-96b58aedde.mp3 deleted file mode 100644 index b0d2726..0000000 Binary files a/assets/voices/san_pietro-96b58aedde.mp3 and /dev/null differ diff --git a/assets/voices/san_pietro-987f930c23.mp3 b/assets/voices/san_pietro-987f930c23.mp3 new file mode 100644 index 0000000..e779a02 Binary files /dev/null and b/assets/voices/san_pietro-987f930c23.mp3 differ diff --git a/assets/voices/san_pietro-9bb2be5ec6.mp3 b/assets/voices/san_pietro-9bb2be5ec6.mp3 deleted file mode 100644 index 7e64ca9..0000000 Binary files a/assets/voices/san_pietro-9bb2be5ec6.mp3 and /dev/null differ diff --git a/assets/voices/san_pietro-a8ebf578e0.mp3 b/assets/voices/san_pietro-a8ebf578e0.mp3 deleted file mode 100644 index 1e3a0e9..0000000 Binary files a/assets/voices/san_pietro-a8ebf578e0.mp3 and /dev/null differ diff --git a/assets/voices/san_pietro-b44c9143fe.mp3 b/assets/voices/san_pietro-b44c9143fe.mp3 new file mode 100644 index 0000000..c86a5cc Binary files /dev/null and b/assets/voices/san_pietro-b44c9143fe.mp3 differ diff --git a/assets/voices/san_pietro-f5f9a9dc25.mp3 b/assets/voices/san_pietro-f5f9a9dc25.mp3 new file mode 100644 index 0000000..212d0fa Binary files /dev/null and b/assets/voices/san_pietro-f5f9a9dc25.mp3 differ diff --git a/assets/voices/san_pietro-fce0cb567f.mp3 b/assets/voices/san_pietro-fce0cb567f.mp3 new file mode 100644 index 0000000..10f756f Binary files /dev/null and b/assets/voices/san_pietro-fce0cb567f.mp3 differ diff --git a/src/story/solution.js b/src/story/solution.js index 8432659..21c383f 100644 --- a/src/story/solution.js +++ b/src/story/solution.js @@ -28,10 +28,12 @@ export const solution = [ ...route('piazza', 'fortezza'), ['use', 'impronte', 'squama'], ['look', 'fessura'], - // La chiave dell'oratorio: l'indovinello di San Pietro (la risposta la dà il bastione). - ...route('fortezza', 'pieve'), + // La chiave dell'oratorio: l'indovinello di San Pietro (la risposta è sul cartellino del fonte, dentro la Pieve). + ...route('fortezza', 'pieve_interno'), + ['look', 'fonte'], + ...route('pieve_interno', 'pieve'), ['talk', 'statua'], - ['choose', 'Nove.'], + ['choose', 'Giovanni della Robbia.'], ['open', 'porta_oratorio'], ['take', 'gomma_terra'], // La Tosca: cedrata e ghiacciolo, e resta lo stecco; con la gomma diventa uno stecco che appiccica. diff --git a/src/story/story.js b/src/story/story.js index 9403dd1..01b9f60 100644 --- a/src/story/story.js +++ b/src/story/story.js @@ -22,7 +22,7 @@ const torchHints = [{ else: [{ if: 'has:chiave_oratorio', then: castello('Hai una chiave in tasca, e alla Pieve c\'è una porta che la aspetta.'), - else: castello('San Pietro tiene le chiavi, e un indovinello per chi le vuole. La risposta è scritta nelle mura della Fortezza.'), + else: castello('San Pietro tiene le chiavi, e un indovinello per chi le vuole. La risposta è dentro la sua Pieve: guarda il fonte battesimale.'), }], }], else: [{ @@ -472,8 +472,8 @@ export const story = { { say: 'Buongiorno, San Pietro.' }, { say: 'Buongiorno a te, Andrea.', who: 'san_pietro' }, { say: 'La statua parla?!' }, - { say: 'Tengo le chiavi, è il mio mestiere. Quella dell\'oratorio te la do se rispondi a un indovinello su San Piero.', who: 'san_pietro' }, - { say: 'Quanti bastioni ha la Fortezza di San Martino?', who: 'san_pietro' }, + { say: 'Tengo le chiavi, è il mio mestiere. Quella dell\'oratorio te la do se rispondi a un indovinello sulla mia Pieve.', who: 'san_pietro' }, + { say: 'Il fonte battesimale, là dentro. Per secoli hanno detto che l\'aveva fatto Luca della Robbia. Chi lo fece davvero?', who: 'san_pietro' }, { dialogue: 'indovinello' }, ], }], @@ -529,6 +529,27 @@ export const story = { depth: [[256, 0.7], [360, 1.7]], entry: [320, 352], hotspots: [ + // Il fonte battesimale robbiano (1518): la risposta all'indovinello di San Pietro (curiosità trovata da Andrea). + { + id: 'fonte', name: 'fonte battesimale', box: [100, 186, 34, 48], at: [286, 300], face: 'left', + art: [ + { rect: [111, 192, 12, 3], fill: '#e9e3d2' }, { rect: [115, 188, 4, 4], fill: '#e9e3d2' }, { rect: [116, 186, 2, 2], fill: '#c9a24a' }, + { rect: [107, 195, 20, 13], fill: '#f1ece0' }, { rect: [107, 195, 20, 2], fill: '#ffffff' }, + { rect: [109, 199, 4, 6], fill: '#8fb2d6' }, { rect: [115, 199, 4, 6], fill: '#8fb2d6' }, { rect: [121, 199, 4, 6], fill: '#8fb2d6' }, + { rect: [110, 200, 2, 3], fill: '#f1ece0' }, { rect: [116, 200, 2, 3], fill: '#f1ece0' }, { rect: [122, 200, 2, 3], fill: '#f1ece0' }, + { rect: [107, 207, 20, 2], fill: '#c9c2ae' }, { rect: [113, 209, 8, 16], fill: '#e3dccb' }, { rect: [114, 210, 2, 14], fill: '#ffffff' }, + { rect: [109, 225, 16, 4], fill: '#d6cfbd' }, { rect: [109, 228, 16, 1], fill: '#9a927f' }, + ], + actions: { + look: [ + { say: 'Il fonte battesimale, in terracotta invetriata bianca e azzurra. Ci hanno battezzato mezzo paese, me compreso.' }, + { say: 'C\'è un cartellino: «Bottega di Giovanni della Robbia, 1518. Per secoli attribuito a Luca della Robbia».' }, + { set: 'fonte_visto' }, + ], + use: [{ say: 'Sono già battezzato. Una volta basta e avanza.' }], + take: [{ say: 'Pesa come un\'utilitaria. E poi chi lo spiega al parroco?' }], + }, + }, // Il libro dimenticato su una panca (idea di Andrea, 24 ottobre): in copertina la risposta, dentro la domanda. { id: 'libro_panca', name: 'libro su una panca', box: [516, 314, 44, 26], at: [372, 335], face: 'right', @@ -1367,7 +1388,7 @@ export const story = { }, }, { - id: 'trebbio', name: 'castello del Trebbio', box: [298, 76, 36, 22], at: [140, 240], face: 'up', + id: 'trebbio', name: 'castello del Trebbio', box: [286, 66, 50, 30], at: [140, 240], face: 'up', actions: { look: [{ say: 'Eccolo lì, il castello del Trebbio, in tutto il suo splendore. Da quaggiù sembra una pedina.' }], }, @@ -1818,24 +1839,24 @@ export const story = { }, }, }, - // L'indovinello di San Pietro. La risposta si trova nel gioco: il bastione della Fortezza la dice. + // L'indovinello di San Pietro sul fonte battesimale robbiano della Pieve: la risposta è sul cartellino del fonte. indovinello: { nodes: { start: { options: [ - { text: 'Cinque.', then: [{ say: 'Cinque? Ne hai contati la metà. Vai a guardarli bene, lassù.', who: 'san_pietro' }] }, - { text: 'Sette.', then: [{ say: 'Sette sono i peccati. I bastioni sono di più.', who: 'san_pietro' }] }, + { text: 'Luca della Robbia.', then: [{ say: 'Così si è detto per secoli. E per secoli si è sbagliato. Entra e leggi bene.', who: 'san_pietro' }] }, + { text: 'Andrea della Robbia.', then: [{ say: 'Il babbo? Ci sei quasi. Ma la bottega, nel 1518, la mandava avanti un altro.', who: 'san_pietro' }] }, { - text: 'Nove.', next: 'end', + text: 'Giovanni della Robbia.', next: 'end', then: [ - { say: 'Bravo! Nove, come li volle Cosimo I.', who: 'san_pietro' }, + { say: 'Bravo! Giovanni della Robbia, nel 1518. Hai letto il cartellino, eh?', who: 'san_pietro' }, { say: 'Eccoti la chiave dell\'oratorio. Trattala bene: è più vecchia di tuo nonno.', who: 'san_pietro' }, { give: 'chiave_oratorio' }, { set: 'chiave_data' }, { say: 'Grazie, San Pietro!' }, ], }, - { text: 'Dodici.', then: [{ say: 'Dodici erano gli apostoli. Io lo so bene: c\'ero.', who: 'san_pietro' }] }, - { text: 'Ci penso e torno.', next: 'end', then: [{ say: 'Le chiavi non scappano. E io nemmeno.', who: 'san_pietro' }] }, + { text: 'Michelangelo.', then: [{ say: 'Michelangelo? Quello aveva altro da fare. Prova con qualcuno che lavorava la terracotta.', who: 'san_pietro' }] }, + { text: 'Ci penso e torno.', next: 'end', then: [{ say: 'Le chiavi non scappano. E io nemmeno. Il fonte è lì dentro, se vuoi dare un\'occhiata.', who: 'san_pietro' }] }, ], }, }, diff --git a/tests/story.test.mjs b/tests/story.test.mjs index c2290db..ff9d6e5 100644 --- a/tests/story.test.mjs +++ b/tests/story.test.mjs @@ -241,9 +241,9 @@ test('l\'indovinello di San Pietro dà la chiave; l\'oratorio, aperto, resta ape g.act('talk', 'statua'); settle(g); const answer = text => { g.choose(g.options().findIndex(o => o.text === text)); return settle(g); }; - answer('Sette.'); + answer('Luca della Robbia.'); assert.ok(g.dialogue && !g.state.inventory.includes('chiave_oratorio'), 'risposta sbagliata: niente chiave, si riprova'); - answer('Nove.'); + answer('Giovanni della Robbia.'); assert.ok(!g.dialogue && g.state.inventory.includes('chiave_oratorio'), 'risposta giusta: la chiave'); g.act('drop', 'chiave_oratorio'); settle(g);