From 7476c84b7640bf2b4c3e77ec50e5b6ebe81700dd Mon Sep 17 00:00:00 2001 From: Andrea Manzi Date: Sun, 25 Oct 2026 22:36:20 +0100 Subject: [PATCH] =?UTF-8?q?Il=20portone=20del=20Circolo=204=20Maggio:=20?= =?UTF-8?q?=C2=ABApri=C2=BB=20fa=20entrare=20(prima=20rispondeva=20=C2=ABN?= =?UTF-8?q?on=20si=20apre=C2=BB)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R --- src/story/story.js | 4 +++- tests/biliardo.test.mjs | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/story/story.js b/src/story/story.js index 9ac58e7..94eda46 100644 --- a/src/story/story.js +++ b/src/story/story.js @@ -364,9 +364,11 @@ export const story = { }, { // Il Circolo 4 Maggio: il portone ad arco del palazzo arancione porta nella sala dei biliardi. - id: 'circolo', name: 'Circolo 4 Maggio', box: [188, 190, 28, 58], at: [202, 252], face: 'up', default: 'open', + id: 'circolo', name: 'Circolo 4 Maggio', box: [188, 190, 28, 58], at: [202, 252], face: 'up', actions: { look: [{ say: 'Il Circolo 4 Maggio. Dentro, dietro il bar, la sala dei biliardi: tre tavoli e il silenzio delle grandi occasioni.' }], + // «Apri» sul portone fa entrare come il clic: nessuno apre una porta per restare fuori. + open: [{ walk: [202, 252] }, { go: 'circolo_4_maggio', at: [590, 202], face: 'left' }], talk: [{ say: 'Da fuori non si parla con nessuno: al circolo si entra.' }], }, exit: { scene: 'circolo_4_maggio', at: [590, 202], face: 'left' }, diff --git a/tests/biliardo.test.mjs b/tests/biliardo.test.mjs index 043f5c4..593f486 100644 --- a/tests/biliardo.test.mjs +++ b/tests/biliardo.test.mjs @@ -117,6 +117,10 @@ test('al Circolo 4 Maggio: dal portone in piazza si entra nella sala, e al tavol const g = new Game(story); settle(g); g.go('piazza'); settle(g); + assert.ok(g.act('open', 'circolo'), '«Apri» sul portone fa entrare (Andrea, 25 ottobre: «non si apre la porta»)'); + settle(g); + assert.equal(g.state.scene, 'circolo_4_maggio'); + g.go('piazza'); settle(g); assert.ok(g.act('walk', 'circolo')); settle(g); assert.equal(g.state.scene, 'circolo_4_maggio');