<div id='opTablesTarantellaAsk' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>'My lady! Would you join us?'</div><div class='opdesc'>A group of working and peasant women are dancing a tarantella. That is certainly something I can dance.</div></div></div><% $(function () { $('#opTablesTarantellaAsk').click(function () { $('#opTablesTarantellaAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opTablesTarantellaAsk'); s.fullHistory.push('op Tables Tarantella Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Tables Tarantella Ask';});}); %> <% s.narration['Outside tables'].push('0-tablesdancetarantella'); %><% targetTurn = Math.floor( s.timeSpeed*36 );targetEvent = 'ev Dinner Outside Zirba';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*6 ));targetEvent = 'ev Strained ankle after dancing';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.log.push("I danced with the people."); %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I join the circle of dancers,</span> I smile, close my eyes, stop thinking. Fast music. Not the best dress, not in this heat. 'You are so good, Lady Victor!,' someone says. Remember what dance is about: effortless control. When I have the rhythm under control, I step in. Cheers drown the music, but my rhythm is firm. I think with my feet now, in a clearer, more rational way. Fast movements; repeat, twice as fast. Other dancers are behind a dark crystal. The music goes and goes. And when I feel that my control is starting to ebb, I go back to the circle, with a feeling of immense satisfaction. 'Still the best dancer in the Canton!,' a woman with humble clothes says with very genuine pleasure. I kiss her, and I give her a silk handkerchief.<% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Tables Tarantella Ask' ); %><% s.narration['myself'].push('500-my foot hurts after dancing'); %><span class='high-emphasis'>Ouch!</span> A sudden ache in my ankle. I must have made a wrong movement when I danced. I need to be more careful. My feet aren't strong enough for this anymore.<% s.narration['Outside tables'].push('500-dancers cheer me'); %><% if ( _.contains( _.keys(s.namedEvent), 'wheel-end' ) ) { s.namedEvent['wheel-end'].push( 'ev Dancers cheer me remove' ); } else { s.namedEvent['wheel-end'] = [ 'ev Dancers cheer me remove' ]; } %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-dancers cheer me' ); %><span class='high-emphasis'>Whatever happens in other places</span> some prefer to stay here all the evening to drink, play and dance. Dancers cheer me. I smile and wave and the small dancing worm wiggles just under my stomach. <% if ( _.contains(s.opport['Outside tables'], 'op Dance a Little in tables') == false ) { s.opport['Outside tables'].push('op Dance a Little in tables'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev dance a little remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dance a Little in tables' ); %><div id='opDanceaLittleintables' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Dance a little</div><div class='opdesc'>Why not?</div></div></div><% $(function () { $('#opDanceaLittleintables').click(function () { $('#opDanceaLittleintables').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDanceaLittleintables'); s.fullHistory.push('op Dance a Little in tables');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dance a Little in tables';});}); %> <% s.narration['Outside tables'].push('10-dance a little in tables'); %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Why not</span> joining this dance? It's Burburum day and I owe correct behaviour to no one, even if they censure me for that. A step here, a figure there. Village musicians with crude village instruments. I do it all perfectly, if detachedly, and their sincere cheers give me a sense of being respected that I hardly enjoy, knowing it won't last long.<% targetTurn = Math.floor( s.turn + (s.timeSpeed*12 ));targetEvent = 'ev Dinner Outside Zirba Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Outside tables'], 'op Dinner Zirba Teach') == false ) { s.opport['Outside tables'].push('op Dinner Zirba Teach'); }; %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Zirba Teach' ); %><div id='opDinnerZirbaTeach' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>A young girl pulls my sleeve</div><div class='opdesc'>'Lady Victor! Lady Victor! Will you teach me to dance?'</div></div></div><% $(function () { $('#opDinnerZirbaTeach').click(function () { $('#opDinnerZirbaTeach').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerZirbaTeach'); s.fullHistory.push('op Dinner Zirba Teach');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Zirba Teach';});}); %> <% s.narration['Outside tables'].push('0-outsidedinnerzirbadance'); %><% if ( _.contains( _.keys(s.namedEvent), 'dinner-end' ) ) { s.namedEvent['dinner-end'].push( 'ev Zirba says hello schedule' ); } else { s.namedEvent['dinner-end'] = [ 'ev Zirba says hello schedule' ]; } %> <% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The girl</span> seems poor but not at all overwhelmed by my class. She's an odd-looking twelve year-old, dark skinned but very blonde. 'I'm the smartest in this bunch,' she continues, 'I can learn everything just in one night. You learnt on your own, they say!' 'What's your name? And what does your father do?' I ask. 'I'm Zirba and my father is a miner.' 'Nobody learns alone,' I correct. 'I had classes for a time. But I quit and then I learnt more by listening to women like your mother and your grandma and men like your father.' She smiles, for everyone.<div id='opDinnerDancingTables' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Men are dancing on top of tables</div><div class='opdesc'>This is outrageous! I better take a look.</div></div></div><% $(function () { $('#opDinnerDancingTables').click(function () { $('#opDinnerDancingTables').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerDancingTables'); s.fullHistory.push('op Dinner Dancing Tables');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Dancing Tables';});}); %> <% s.narration['Outside tables'].push('0-dinnermendancingontables'); %><% if ( _.contains(s.opport['Outside tables'], 'op Dinner Dancing Ask Fight') == false ) { s.opport['Outside tables'].push('op Dinner Dancing Ask Fight'); }; %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'What's this?'</span> I ask. 'We have affairs to settle,' a young man says, 'and the only way to solve it is dancing!' He leaps on a table and starts a frantic chain of moves that I think he's inventing. Wilder than any dance I know, rebellious towards the music, frankly unsettling (but he's in control, that I understand). Other young men watch. The music stops: he stops, right in the middle of a step. One of the others starts dancing before the music resumes. This one is smooth and polite, more pleasant to see but also a lot less skilled. The public cheers him anyway.<div id='opDinnerDancingAskFight' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Why this dance?</div><div class='opdesc'>Is this a dance fight? What's the conflict? I want to know.</div></div></div><% $(function () { $('#opDinnerDancingAskFight').click(function () { $('#opDinnerDancingAskFight').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerDancingAskFight'); s.fullHistory.push('op Dinner Dancing Ask Fight');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Dancing Ask Fight';});}); %> <% s.narration['Pseudopassage'].push('0-dinnermendancingaskfight'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Dancing Tables Accept') == false ) { s.opport['Pseudopassage'].push('op Dinner Dancing Tables Accept'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Dancing Tables Refuse') == false ) { s.opport['Pseudopassage'].push('op Dinner Dancing Tables Refuse'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>I ask what conflict</span> the young dancers are trying to settle, but nobody seems to know or care. A new dancer has taken the challenge: he's stomping heavily to the rhythm, laughing at the others. 'Is it about a girl?' I ask. 'Not unless you come up here to challenge us!' There's some laughter, but also some hissing. 'She's *Lady* Victor, you idiot! Her father's a judge!'<div id='opDinnerDancingTablesRefuse' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Forget about it</div><div class='opdesc'>Being here with them is quite an outrage already.</div></div></div><% $(function () { $('#opDinnerDancingTablesRefuse').click(function () { $('#opDinnerDancingTablesRefuse').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerDancingTablesRefuse'); s.fullHistory.push('op Dinner Dancing Tables Refuse');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Dancing Tables Refuse';});}); %> <% s.narration['Outside tables'].push('0-forgetaboutdancingontable'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Dancing Tables Accept' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I kindly refuse</span> to join the boys doing the dance fight and return to my table, thinking about the way that common uneducated people invent new dances. There is so much they could do if only some better people could guide them!<div id='opDinnerDancingTablesAccept' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Show them</div><div class='opdesc'>Climb the table and dance. I really feel like doing it.</div></div></div><% $(function () { $('#opDinnerDancingTablesAccept').click(function () { $('#opDinnerDancingTablesAccept').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerDancingTablesAccept'); s.fullHistory.push('op Dinner Dancing Tables Accept');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Dancing Tables Accept';});}); %> <% s.narration['Outside tables'].push('0-acceptanddanceontable'); %><% s.narration['Marble Gallery, West'].push('100-musiciansidleingallery'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Dancing Tables Refuse' ); %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Dinner Take Musicians Tables') == false ) { s.opport['Marble Gallery, West'].push('op Dinner Take Musicians Tables'); }; %> <% if (_.contains(s.fullHistory, '500-my foot hurts after dancing')) { %><% } else { %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*6 ));targetEvent = 'ev Strained ankle after dancing';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Who cares if I dance with farmers?</span> It's Burburum Day. I climb on the table, ready to dance. A Burbur climbs on the other side. It has very long and thin horns and a red cloth hanging from the teeth; its colours assault my eyes as it starts dancing; nails sewed to its clothes clink together. Too much noise. That will not bother me. I will dance my dance. I move a hand, in a delicately nuanced way. And the fight starts. It doesn't matter how many times *you* lunge at me and stop centimetres away, I won't speed up. Elegance versus aggression. Music stops. The public cheers me. The Burbur roars, almost as if the ghost of a bull still lived inside the skull it wears. They are throwing flowers at me! Isn't this amusing? If only we could have more musicians, *better* musicians.<span class='high-emphasis'>The orchestra players are here</span>, idly waiting for guests to flow back into the gallery after dinner. Could I convince them to stretch their legs?<div id='opDinnerTakeMusiciansTables' class='oport story'><img class='optimg' src='img/opts/tables.jpg'><div class='optext'><div class='optitle'>Get musicians for the dance in the garden</div><div class='opdesc'>They aren't playing now. I can convince them to go to the outside tables and play for the people there.</div></div></div><% $(function () { $('#opDinnerTakeMusiciansTables').click(function () { $('#opDinnerTakeMusiciansTables').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerTakeMusiciansTables'); s.fullHistory.push('op Dinner Take Musicians Tables');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Take Musicians Tables';});}); %> <% if (_.contains(s.fullHistory, 'op Music in Kitchen Ask Fiddler')) { %><% s.narration['Marble Gallery, West'].push('0-orchestrarefuseplaytablesdinner'); %><% } else { %><% s.narration['Marble Gallery, West'].push('0-orchestraacceptplaytablesdinner'); %><% s.narration['Outside tables'].push('100-orchestraplaysintablesdinner'); %><% s.preImg['Outside tables'] = 'img/opts/laugh.jpg'; %><% if ( _.contains(s.opport['Outside tables'], 'op Dinner Big Dance Join') == false ) { s.opport['Outside tables'].push('op Dinner Big Dance Join'); }; %><% s.log.push("I sent musicians to the garden so that people could dance."); %><% }; %><% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>It turns out</span> that after what happened with the fiddler who I sent to the kitchen, they are unanimously unwelcoming to me. 'Won't,' is all they say. So I won't be able to have the big dance in the garden that I'd love.<span class='high-emphasis'>Dealing with spiritless people</span> is so exhausting. And when the spiritless are music performers who are in charge of lifting our spirits and making our feet feel light, dealing with them becomes worse than annoying. Why do I need to convince a bunch of fiddlers that their fears of punishment if they go to the garden and play a couple of tunes are ridiculous? There they go. With my promise of later payment, and yet they shake a little. Spiritless! I have to look in the garden later.<span class='high-emphasis'>Oh, what a party!</span> Children I don't know (but they know me) offer their hands to guide me. Everyone is dancing: the child with the old, the peasant woman with the fisherman, Burburum dance alone. I recognize a few French-Cantonal: they dance too and nobody is hostile towards them. The orchestra I sent and the village musicians that were here before are competing to make the music spring very very fast and very very loud, a tarantella that's wriggling around the dancers' feet. Everybody moves. Or laughs. Or both.<div id='opDinnerBigDanceJoin' class='oport story'><img class='optimg' src='img/opts/laugh.jpg'><div class='optext'><div class='optitle'>Join in the revels</div><div class='opdesc'>This is the merriest dance I have ever seen. But the orchestra will return to the Gallery soon.</div></div></div><% $(function () { $('#opDinnerBigDanceJoin').click(function () { $('#opDinnerBigDanceJoin').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBigDanceJoin'); s.fullHistory.push('op Dinner Big Dance Join');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Big Dance Join';});}); %> <% s.narration['Outside tables'].push('0-dinnerbigdancejoin'); %><% if ( _.contains(s.opport['Outside tables'], 'op Dinner Big Dance Continue') == false ) { s.opport['Outside tables'].push('op Dinner Big Dance Continue'); }; %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Big Dance Join' ); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Big Dance Renew Description';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I mingle with the dancers,</span> the music, the stomping feet, the clinging pendants. They move joyfully: I'm more careful, thoughtful, controlled. An uproar now! There is a young man dancing on the sky, well above everyone's heads! How? Six big young men are grabbing a table's legs and raising it as high as their arms can go. On top of the table, the dancer is excitedly waving his arms and going round and round and! He jumps! 'You must lower that!' a servant cries. A few seconds later, he screams two meters above the ground, clinging to a chair being rocked by a laughing crowd. I laugh with them.<% if (!_.contains( s.narration["Outside tables"], "0-dinnerbigdancejoin" ) || !_.contains( s.narration["Outside tables"], "0-dinnerbigdancejoin2" )) { %><% s.narration['Outside tables'].push('0-dinnerbigdancejoin2'); %><% }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Big Dance Renew Description';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><%= _.sample( [ "<span class='high-emphasis'>Everyone</span>, each and all of them, is dancing. Music seems to gain speed and intensity by the minute.", "<span class='high-emphasis'>If the orchestra men</span> are worried about going back to the Gallery, it doesn't show in their music. The playing is joyful, and more demanding than the formal ball earlier.", "<span class='high-emphasis'>Dancers greet me.</span> 'Lady Victor!' I wave a hand at them.", ]) %><div id='opDinnerBigDanceContinue' class='oport story'><img class='optimg' src='img/opts/burbur_dance.jpg'><div class='optext'><div class='optitle'>On and on with the music</div><div class='opdesc'>I feel like getting lost in this party.</div></div></div><% $(function () { $('#opDinnerBigDanceContinue').click(function () { $('#opDinnerBigDanceContinue').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBigDanceContinue'); s.fullHistory.push('op Dinner Big Dance Continue');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Big Dance Continue';});}); %> <% s.narration['Pseudopassage'].push('0-dancetableburburumappear'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Big Dance Severin Yes') == false ) { s.opport['Pseudopassage'].push('op Dinner Big Dance Severin Yes'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Big Dance Severin No') == false ) { s.opport['Pseudopassage'].push('op Dinner Big Dance Severin No'); }; %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Big Dance Continue' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Zirba Teach' ); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>There's a noticeable silence.</span> A group of Burburum, led by one who wears a necklace of keys, is pushing people aside to make space. <% print( story.render( "mars mechanism") ); %> 'Lady Severin,' someone says. That justifies the silence. How could the Premier's wife leave the most formal dinner and come here? Difficult to believe... But of course, there is an explanation: she didn't come, she was required and brought by the Burburum. The Burburum can do almost as they like today... but this? 'May you play for me?', Lady Severin asks. I still can't see her but her voice doesn't sound self-assured to me. The notes of a jig start leaping in the air. 'Is Lady Irene Victor here?' she asks.<div id='opDinnerBigDanceSeverinYes' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Go forward</div><div class='opdesc'>This doesn't make me comfortable at all, but she's the Premier's wife. And this is a party.</div></div></div><% $(function () { $('#opDinnerBigDanceSeverinYes').click(function () { $('#opDinnerBigDanceSeverinYes').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBigDanceSeverinYes'); s.fullHistory.push('op Dinner Big Dance Severin Yes');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Big Dance Severin Yes';});}); %> <% s.narration['Pseudopassage'].push('0-helpseverindanceburbur'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Big Dance Severin Continue') == false ) { s.opport['Pseudopassage'].push('op Dinner Big Dance Severin Continue'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Severin Yes' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Severin No' ); %><% targetTurn = Math.floor( s.timeSpeed*50 );targetEvent = 'ev Burbur Keys Gallery';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Lady Severin greets me</span> with a smile and open arms. 'Please dance this jig with me!' she exclaims, and then she whispers, 'I'm scared.' I do a curtsey and start dancing. There is applause: the Burburum that accompanied her watch us, then two of them leave. The Burbur with keys stays. 'People, the Premier's wife is dancing with us!' someone cries. Dancers join us and take our hands and link arms and swing us. 'Is this enough for them?' I ask Lady Severin. 'I have no idea,' she answers.<div id='opDinnerBigDanceSeverinNo' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Get away</div><div class='opdesc'>Lady Severin hasn't seen me. I don't care why she's here or she's looking for me: I prefer not getting involved.</div></div></div><% $(function () { $('#opDinnerBigDanceSeverinNo').click(function () { $('#opDinnerBigDanceSeverinNo').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBigDanceSeverinNo'); s.fullHistory.push('op Dinner Big Dance Severin No');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Big Dance Severin No';});}); %> <% s.narration['Outside tables'].push('0-escapeseverindontdanceburbur'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Severin Yes' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Severin No' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %>I turn my back and slide between the attendants, away from the orchestra, the dancers and Lady Severin. I'm afraid that someone will cry that I'm here, but somehow they seem to let me escape without betraying me. However, people know I've turned my back on Lady Severin. They are looking at me. Whatever she wanted from me, it's worrying that she expected me to be there and wanted me, and I'm not going near that dance again.<div id='opDinnerBigDanceSeverinContinue' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>But Lady Severin is a great dancer anyway</div><div class='opdesc'>And this is such a wonderful dance. Let's keep enjoying it.</div></div></div><% $(function () { $('#opDinnerBigDanceSeverinContinue').click(function () { $('#opDinnerBigDanceSeverinContinue').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBigDanceSeverinContinue'); s.fullHistory.push('op Dinner Big Dance Severin Continue');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Big Dance Severin Continue';});}); %> <% s.narration['Pseudopassage'].push('0-ladyseveringreatdancer'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Big Dance Severin On') == false ) { s.opport['Pseudopassage'].push('op Dinner Big Dance Severin On'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Severin Continue' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Tables Start' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Tables Continue' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>More and more people</span> keep joining and spinning with us. Lady Severin, yet still worried, is getting carried away by the music. Our Canton is notorious for our dancing. Men dance as they prepare for war; women dance as we pray for peace. The rich dance because we are rich, and the poor dance because dance makes poverty happier. (Or so I was told.) And the men of church dance because God loves harmony. Today I'm the best dancer in the Canton or so I was told, but tomorrow it can be anyone else. We dance because *they are looking*. 'Tis the land of dancers and we are the dancers of the land, as the saying goes. 'Brothers and sisters, I *am* the dance!' shouts a red-haired man. I laugh at the coincidence of thoughts. And this tarantella seems like it could go on and on and grow and grow all the evening and the night until the crack of dawn...<div id='opDinnerBigDanceSeverinOn' class='oport story'><img class='optimg' src='img/opts/ray.jpg'><div class='optext'><div class='optitle'>Dance and dance and dance and dance</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerBigDanceSeverinOn').click(function () { $('#opDinnerBigDanceSeverinOn').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBigDanceSeverinOn'); s.fullHistory.push('op Dinner Big Dance Severin On');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Big Dance Severin On';});}); %> <% s.narration['Pseudopassage'].push('0-bigdanceinterrupted'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Severin On' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Big Dance Rider Run') == false ) { s.opport['Pseudopassage'].push('op Dinner Big Dance Rider Run'); }; %><% s.eventIgnore.push('ev Big Dance Renew Description'); %><% s.flag['knowAboutViolence'] = true; %><% s.log.push("I saw a soldier attack a group of innocent dancers."); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I hear screams.</span> A rider bursts in, urging a black horse right towards the middle of the dancers. He wears the Auroran cavalry guard uniform. 'I want to dance too!' he screams. The horse is set on us. People cry and start to run.<div id='opDinnerBigDanceRiderRun' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Run away</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerBigDanceRiderRun').click(function () { $('#opDinnerBigDanceRiderRun').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBigDanceRiderRun'); s.fullHistory.push('op Dinner Big Dance Rider Run');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Big Dance Rider Run';});}); %> <% s.narration['Pseudopassage'].push('0-ridertakendown'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Rider Run' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Big Dance Rider Help') == false ) { s.opport['Pseudopassage'].push('op Dinner Big Dance Rider Help'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Big Dance Rider Escape') == false ) { s.opport['Pseudopassage'].push('op Dinner Big Dance Rider Escape'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Big Dance Wounded Help') == false ) { s.opport['Pseudopassage'].push('op Dinner Big Dance Wounded Help'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Shouts, insults.</span> I look back: most people run away, a few challenge him. The horse knocks them down. I think he's a commander I've met. 'Let us join in!' he cries. 'Why don't you let us join in?' He's in the middle of the place where we danced, trotting in circles, jumping over fallen people. A flash and a loud bang burst right at the horse's feet. The beast bucks violently and hurls the rider into the ground, and then all is quiet. 'Who threw that firecracker?' a voice asks. The horse is trotting away, the rider groans in pain and nobody comes near. Most people have already escaped. Lady Severin is nowhere to be seen. There is no music, no dance.<div id='opDinnerBigDanceRiderEscape' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Escape</div><div class='opdesc'>It's best not to be seen near this</div></div></div><% $(function () { $('#opDinnerBigDanceRiderEscape').click(function () { $('#opDinnerBigDanceRiderEscape').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBigDanceRiderEscape'); s.fullHistory.push('op Dinner Big Dance Rider Escape');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Big Dance Rider Escape';});}); %> <% s.narration['Fountain'].push('0-escapeafterriderdowned'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Rider Help' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Rider Escape' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Wounded Help' ); %> <% s.exitList["Fountain"] = [ "no exit", "River pier exit", "Garden Stairs exit", "Blue Pavilion exit", "no exit", "no exit" ]; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Dinner Big Dance Tables Exit';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.narration['Outside tables'].push('100-tablesdanceaftermath'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*10 ));targetEvent = 'ev Tables Dance Aftermath Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.returnRef = 'Fountain'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><% s.exitList["Fountain"] = [ "Outside tables exit", "River pier exit", "Garden Stairs exit", "Blue Pavilion exit", "no exit", "no exit" ]; %><span class='high-emphasis'>As I lean on the side of the fountain</span>, there's only one thought in my hear, coming back like the echo of thunder: when I turned my back and ran away, *were they looking?* My mind is still a mess, but something makes itself very clear. The Burburum that brought Lady Severin, that one with the necklace of keys. What was their intention? I will find that Burbur. <% $('body').addClass('hideambientops'); %><div id='opDinnerBigDanceWoundedHelp' class='oport story'><img class='optimg' src='img/opts/people.jpg'><div class='optext'><div class='optitle'>Help people wounded by the horse</div><div class='opdesc'>That beast knocked down half a dozen dancers.</div></div></div><% $(function () { $('#opDinnerBigDanceWoundedHelp').click(function () { $('#opDinnerBigDanceWoundedHelp').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBigDanceWoundedHelp'); s.fullHistory.push('op Dinner Big Dance Wounded Help');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Big Dance Wounded Help';});}); %> <% s.narration['Pseudopassage'].push('0-ihelpdancersafterhorse'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Wounded Help Stay') == false ) { s.opport['Pseudopassage'].push('op Dinner Wounded Help Stay'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Rider Help' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Rider Escape' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Wounded Help' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Don't,' the woman says.</span> I'm holding her hand, the unbroken one, and wiping blood from her temples. What does she want me not to do? I don't know what to do. Most people are just running away or just standing still in shock, only a few are tending to the injured. My mother would know what to do: she lived through a war. But I don't. 'No,' she says again, shaking. I look at her body, but I can't see anything obvious to do.<div id='opDinnerWoundedHelpStay' class='oport story'><img class='optimg' src='img/opts/eyes.jpg'><div class='optext'><div class='optitle'>Just stay</div><div class='opdesc'>I want to look away and leave, but I'm too afraid to.</div></div></div><% $(function () { $('#opDinnerWoundedHelpStay').click(function () { $('#opDinnerWoundedHelpStay').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerWoundedHelpStay'); s.fullHistory.push('op Dinner Wounded Help Stay');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Wounded Help Stay';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Wounded Help Stay' ); %><% s.narration['Outside tables'].push('0-staywithwoundedwoman'); %><% targetTurn = s.turn+1;targetEvent = 'ev Tables Dance Aftermath';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Four hands take my arms</span> and firmly pull me away from the woman. 'Leave her to us,' a man says, and they pull harder. Servants and guards are hauling the wounded. The mangled rider, the horse, the Burburum and Lady Severin have disappeared. My mind is still a mess, but something makes itself very clear. The Burburum that brought Lady Severin, that one with the necklace of keys. Why? I will find that Burbur.<div id='opDinnerBigDanceRiderHelp' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Help the rider</div><div class='opdesc'>The man is a mess. Just looking at him hurts.</div></div></div><% $(function () { $('#opDinnerBigDanceRiderHelp').click(function () { $('#opDinnerBigDanceRiderHelp').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBigDanceRiderHelp'); s.fullHistory.push('op Dinner Big Dance Rider Help');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Big Dance Rider Help';});}); %> <% s.narration['Pseudopassage'].push('0-ihelpinjuredrider'); %><% s.preImg['Pseudopassage'] = 'img/opts/blood.jpg'; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Injured Rider Order Get Help') == false ) { s.opport['Pseudopassage'].push('op Injured Rider Order Get Help'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Injured Rider Go Get Help') == false ) { s.opport['Pseudopassage'].push('op Injured Rider Go Get Help'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Rider Help' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Rider Escape' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Big Dance Wounded Help' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I'm Irene Victor,'</span> I tell him softly as I kneel beside him. But I don't believe he can hear. He shakes and struggles for breath. His limbs are terribly twisted.<div id='opInjuredRiderOrderGetHelp' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Tell bystanders to go get help</div><div class='opdesc'>They should be doing something!</div></div></div><% $(function () { $('#opInjuredRiderOrderGetHelp').click(function () { $('#opInjuredRiderOrderGetHelp').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opInjuredRiderOrderGetHelp'); s.fullHistory.push('op Injured Rider Order Get Help');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Injured Rider Order Get Help';});}); %> <% s.narration['Outside tables'].push('0-injuredfindhelpforrider'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Injured Rider Order Get Help' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Injured Rider Go Get Help' ); %><% targetTurn = s.turn+1;targetEvent = 'ev Tables Dance Aftermath';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>As soon as I wave my hand</span> at some bystanders, they run away. 'Get help!' I cry. Is that what they're doing, or fleeing? The rider moans. I suddenly remember his name: Coroner Ursu. 'Resist, Ursu!' Again with great noise, a lot of guards and servants storm into the place. I back away to let them haul him, they take the other wounded people too. Soon there's almost nobody in the spot. My mind is still a mess, but something makes itself very clear. The Burburum that brought Lady Severin, that one with the necklace of keys. What did they intend to achieve? I will find that Burbur. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opInjuredRiderGoGetHelp' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Run to get help </div><div class='opdesc'>It will be faster if I bring help myself.</div></div></div><% $(function () { $('#opInjuredRiderGoGetHelp').click(function () { $('#opInjuredRiderGoGetHelp').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opInjuredRiderGoGetHelp'); s.fullHistory.push('op Injured Rider Go Get Help');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Injured Rider Go Get Help';});}); %> <% s.narration['Outside tables'].push('0-injuredgohelpforrider'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Injured Rider Order Get Help' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Injured Rider Go Get Help' ); %><% targetTurn = s.turn+1;targetEvent = 'ev Tables Dance Aftermath';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>The moment I stand</span> I suddenly remember the rider's name: Coroner Ursu. 'Resist, Ursu!' I cry when I start running towards the kitchen. Moments later, a lot of guards and servants storm into the place. 'Help them!' I tell, feeling I fail to sound authoritarian. They haul him and the other wounded too. Soon there's almost nobody in the spot. The mangled rider, the horse, the Burburum and Lady Severin are gone. My mind is still a mess, but something makes itself very clear. The Burburum that brought Lady Severin, that one with the necklace of keys. Why? I will find that Burbur. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><% s.narration['Outside tables'].push('100-tablesdanceaftermath'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*10 ));targetEvent = 'ev Tables Dance Aftermath Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>The tables are almost deserted</span> after the big dance was interrupted. People are scattered around the garden. The few that have returned seem wary, as if they were expecting to be reprimanded for being here.<% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '100-tablesdanceaftermath' ); %><% s.narration['Outside tables'].push('100-tablesdanceaftermathlater'); %><span class='high-emphasis'>Some time has passed</span> since the big dance and the disaster with the rider. It's almost like nothing has happened; perhaps the crowd is less numerous. Less children, particularly. Parents must have been afraid for their kids and left.<% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Zirba says hello';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['garden'].push('4000-zirba says hello'); %><% s.narration['Marble Gallery, East'].push('4000-zirba says hello'); %><% s.narration['Marble Gallery, East'].push('4000-zirba says hello'); %><% s.narration['Grand Entrance Hall'].push('4000-zirba says hello'); %><span class='high-emphasis'>'Hello, Lady Victor!'</span> It's Zirba, the little girl. She now demonstrates the dance move I taught her. Very capable, I think. 'I'm in a hurry but I've practised all evening!' <% if ( _.contains(s.opport['myself'], 'op Zirba going to secret meeting') == false ) { s.opport['myself'].push('op Zirba going to secret meeting'); }; %><% targetTurn = s.turn+1;targetEvent = 'ev Zirba going to secret meeting remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['garden'] = _.without( s.narration['garden'] , '4000-zirba says hello' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '4000-zirba says hello' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '4000-zirba says hello' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '4000-zirba says hello' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Zirba going to secret meeting' ); %><div id='opZirbagoingtosecretmeeting' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Talk to Zirba</div><div class='opdesc'>Why is she in a hurry?</div></div></div><% $(function () { $('#opZirbagoingtosecretmeeting').click(function () { $('#opZirbagoingtosecretmeeting').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opZirbagoingtosecretmeeting'); s.fullHistory.push('op Zirba going to secret meeting');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Zirba going to secret meeting';});}); %> <% s.narration['myself'].push('10-Zirba going to secret meeting'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Where are you going?'</span> I ask Zirba. 'We are playing secret meetings,' she answers. 'And can't you tell me any secret? I taught you to dance.' She thinks for a moment. 'I guess it's fair. We are going to have a secret meeting right now because someone told us that the people of the ring are having one tonight, so we should have ours, don't you think?' The ring? 'Yes, you should. But I don't know who the people of the ring are.' 'The ones that will come for us, if we don't go for them first!' She waves and runs away.<% // First we check that there are scheduled events for the current turn. if ( _.contains( _.keys(s.timedEvent), s.turn.toString() ) ) { print("<div class='debug'>These events for this turn: " + s.timedEvent[s.turn] + "</div>"); // If in a pseudopassage, push events to the next turn until the second turn after exiting the pseudopassage. if (passage.name == "Pseudopassage" || _.last(s.passageHistory) == "Pseudopassage" ) { // If next turn is already scheduled: add events in the current turn to it if (_.contains( _.keys(s.timedEvent), (s.turn+1).toString() ) ) { s.timedEvent[s.turn+1] = _.union( s.timedEvent[s.turn], s.timedEvent[s.turn+1] ); // If next turn isn't scheduled yet: create new schedule with events in current turn } else { s.timedEvent[s.turn+1] = s.timedEvent[s.turn]; }; print("<div class='debug'>We are in a pseudopassage: events are deferred.</div>"); // In regular passages, loop through the scheduled events array and render them. } else { var step; for (step = 0; step < s.timedEvent[s.turn].length; step++) { eventExtract = s.timedEvent[s.turn][step]; // Don't render the event if it's been added to the array of ignored events. if (_.contains( s.eventIgnore, eventExtract )) { _.without( s.eventIgnore, eventExtract ); } else { print(story.render( eventExtract )); }; }; }; // Remove each turn of the schedule afterwards. delete s.timedEvent[s.turn]; }; %><% distanceMap = { "Noon Door": 0, "Grand Entrance Hall": 1, "Portolan Gallery": 2, "Marble Gallery, East": 3, "Marble Gallery, West": 2, "Dining Hall": 2, "Library": 2, "Kitchen": 3, "Laundry": 4, "Pantry": 4, "Main Hallway": 3, "Northern Hallway": 4, "Southern Hallway": 4, "Portrait Room": 5, "Harmonic Room": 4, "Nursery": 5, "Council Room": 5, "Map Cabinet": 4, "Covenant Office": 5, "Garden Stairs": 3, "Ionic Treasury": 6, "River pier": 5, "Fountain": 4, "Blue Pavilion": 5, "Outside tables": 5}; %><% distanceMap = { "Noon Door": 1, "Grand Entrance Hall": 0, "Portolan Gallery": 1, "Marble Gallery, East": 2, "Marble Gallery, West": 1, "Dining Hall": 1, "Library": 1, "Kitchen": 2, "Laundry": 3, "Pantry": 3, "Main Hallway": 2, "Northern Hallway": 3, "Southern Hallway": 3, "Portrait Room": 4, "Harmonic Room": 3, "Nursery": 4, "Council Room": 4, "Map Cabinet": 3, "Covenant Office": 4, "Garden Stairs": 2, "Ionic Treasury": 5, "River pier": 4, "Fountain": 3, "Blue Pavilion": 4, "Outside tables": 4}; %><% distanceMap = { "Noon Door": 2, "Grand Entrance Hall": 1, "Portolan Gallery": 0, "Marble Gallery, East": 3, "Marble Gallery, West": 2, "Dining Hall": 2, "Library": 2, "Kitchen": 3, "Laundry": 4, "Pantry": 4, "Main Hallway": 1, "Northern Hallway": 2, "Southern Hallway": 2, "Portrait Room": 3, "Harmonic Room": 2, "Nursery": 3, "Council Room": 3, "Map Cabinet": 2, "Covenant Office": 3, "Garden Stairs": 3, "Ionic Treasury": 6, "River pier": 5, "Fountain": 4, "Blue Pavilion": 5, "Outside tables": 5}; %><% distanceMap = { "Noon Door": 3, "Grand Entrance Hall": 2, "Portolan Gallery": 3, "Marble Gallery, East": 0, "Marble Gallery, West": 1, "Dining Hall": 1, "Library": 2, "Kitchen": 2, "Laundry": 3, "Pantry": 3, "Main Hallway": 4, "Northern Hallway": 5, "Southern Hallway": 5, "Portrait Room": 6, "Harmonic Room": 5, "Nursery": 6, "Council Room": 6, "Map Cabinet": 5, "Covenant Office": 6, "Garden Stairs": 2, "Ionic Treasury": 5, "River pier": 4, "Fountain": 3, "Blue Pavilion": 4, "Outside tables": 4}; %><% distanceMap = { "Noon Door": 2, "Grand Entrance Hall": 1, "Portolan Gallery": 2, "Marble Gallery, East": 1, "Marble Gallery, West": 0, "Dining Hall": 2, "Library": 1, "Kitchen": 3, "Laundry": 4, "Pantry": 4, "Main Hallway": 3, "Northern Hallway": 4, "Southern Hallway": 4, "Portrait Room": 5, "Harmonic Room": 4, "Nursery": 5, "Council Room": 5, "Map Cabinet": 4, "Covenant Office": 5, "Garden Stairs": 1, "Ionic Treasury": 4, "River pier": 3, "Fountain": 2, "Blue Pavilion": 3, "Outside tables": 3}; %><% distanceMap = { "Noon Door": 2, "Grand Entrance Hall": 1, "Portolan Gallery": 2, "Marble Gallery, East": 1, "Marble Gallery, West": 2, "Dining Hall": 0, "Library": 2, "Kitchen": 1, "Laundry": 2, "Pantry": 2, "Main Hallway": 3, "Northern Hallway": 4, "Southern Hallway": 4, "Portrait Room": 5, "Harmonic Room": 4, "Nursery": 5, "Council Room": 5, "Map Cabinet": 4, "Covenant Office": 5, "Garden Stairs": 2, "Ionic Treasury": 5, "River pier": 4, "Fountain": 3, "Blue Pavilion": 4, "Outside tables": 4}; %><% distanceMap = { "Noon Door": 2, "Grand Entrance Hall": 1, "Portolan Gallery": 2, "Marble Gallery, East": 2, "Marble Gallery, West": 1, "Dining Hall": 2, "Library": 0, "Kitchen": 3, "Laundry": 4, "Pantry": 4, "Main Hallway": 3, "Northern Hallway": 4, "Southern Hallway": 4, "Portrait Room": 5, "Harmonic Room": 4, "Nursery": 5, "Council Room": 5, "Map Cabinet": 4, "Covenant Office": 5, "Garden Stairs": 2, "Ionic Treasury": 5, "River pier": 4, "Fountain": 3, "Blue Pavilion": 4, "Outside tables": 4}; %><% distanceMap = { "Noon Door": 3, "Grand Entrance Hall": 2, "Portolan Gallery": 3, "Marble Gallery, East": 2, "Marble Gallery, West": 3, "Dining Hall": 1, "Library": 3, "Kitchen": 0, "Laundry": 1, "Pantry": 1, "Main Hallway": 4, "Northern Hallway": 5, "Southern Hallway": 5, "Portrait Room": 6, "Harmonic Room": 5, "Nursery": 6, "Council Room": 6, "Map Cabinet": 5, "Covenant Office": 6, "Garden Stairs": 1, "Ionic Treasury": 4, "River pier": 3, "Fountain": 2, "Blue Pavilion": 3, "Outside tables": 3}; %><% distanceMap = { "Noon Door": 4, "Grand Entrance Hall": 3, "Portolan Gallery": 4, "Marble Gallery, East": 3, "Marble Gallery, West": 4, "Dining Hall": 2, "Library": 4, "Kitchen": 1, "Laundry": 0, "Pantry": 2, "Main Hallway": 5, "Northern Hallway": 6, "Southern Hallway": 6, "Portrait Room": 7, "Harmonic Room": 6, "Nursery": 7, "Council Room": 7, "Map Cabinet": 6, "Covenant Office": 7, "Garden Stairs": 2, "Ionic Treasury": 5, "River pier": 4, "Fountain": 3, "Blue Pavilion": 4, "Outside tables": 4}; %><% distanceMap = { "Noon Door": 4, "Grand Entrance Hall": 3, "Portolan Gallery": 4, "Marble Gallery, East": 3, "Marble Gallery, West": 4, "Dining Hall": 2, "Library": 4, "Kitchen": 1, "Laundry": 2, "Pantry": 0, "Main Hallway": 5, "Northern Hallway": 6, "Southern Hallway": 6, "Portrait Room": 7, "Harmonic Room": 6, "Nursery": 7, "Council Room": 7, "Map Cabinet": 6, "Covenant Office": 7, "Garden Stairs": 2, "Ionic Treasury": 5, "River pier": 4, "Fountain": 3, "Blue Pavilion": 4, "Outside tables": 4}; %><% distanceMap = { "Noon Door": 3, "Grand Entrance Hall": 2, "Portolan Gallery": 1, "Marble Gallery, East": 4, "Marble Gallery, West": 3, "Dining Hall": 3, "Library": 3, "Kitchen": 4, "Laundry": 5, "Pantry": 5, "Main Hallway": 0, "Northern Hallway": 1, "Southern Hallway": 1, "Portrait Room": 2, "Harmonic Room": 1, "Nursery": 2, "Council Room": 2, "Map Cabinet": 1, "Covenant Office": 2, "Garden Stairs": 4, "Ionic Treasury": 7, "River pier": 6, "Fountain": 5, "Blue Pavilion": 6, "Outside tables": 6}; %><% distanceMap = { "Noon Door": 4, "Grand Entrance Hall": 3, "Portolan Gallery": 2, "Marble Gallery, East": 5, "Marble Gallery, West": 4, "Dining Hall": 4, "Library": 4, "Kitchen": 5, "Laundry": 6, "Pantry": 6, "Main Hallway": 1, "Northern Hallway": 0, "Southern Hallway": 2, "Portrait Room": 3, "Harmonic Room": 2, "Nursery": 1, "Council Room": 3, "Map Cabinet": 2, "Covenant Office": 3, "Garden Stairs": 5, "Ionic Treasury": 8, "River pier": 7, "Fountain": 6, "Blue Pavilion": 7, "Outside tables": 7}; %><% distanceMap = { "Noon Door": 4, "Grand Entrance Hall": 3, "Portolan Gallery": 2, "Marble Gallery, East": 5, "Marble Gallery, West": 4, "Dining Hall": 4, "Library": 4, "Kitchen": 5, "Laundry": 6, "Pantry": 6, "Main Hallway": 1, "Northern Hallway": 2, "Southern Hallway": 0, "Portrait Room": 1, "Harmonic Room": 2, "Nursery": 3, "Council Room": 1, "Map Cabinet": 2, "Covenant Office": 3, "Garden Stairs": 5, "Ionic Treasury": 8, "River pier": 7, "Fountain": 6, "Blue Pavilion": 7, "Outside tables": 7}; %><% distanceMap = { "Noon Door": 5, "Grand Entrance Hall": 4, "Portolan Gallery": 3, "Marble Gallery, East": 6, "Marble Gallery, West": 5, "Dining Hall": 5, "Library": 5, "Kitchen": 6, "Laundry": 7, "Pantry": 7, "Main Hallway": 2, "Northern Hallway": 3, "Southern Hallway": 1, "Portrait Room": 0, "Harmonic Room": 3, "Nursery": 4, "Council Room": 2, "Map Cabinet": 3, "Covenant Office": 4, "Garden Stairs": 6, "Ionic Treasury": 9, "River pier": 8, "Fountain": 7, "Blue Pavilion": 8, "Outside tables": 8}; %><% distanceMap = { "Noon Door": 4, "Grand Entrance Hall": 3, "Portolan Gallery": 2, "Marble Gallery, East": 5, "Marble Gallery, West": 4, "Dining Hall": 4, "Library": 4, "Kitchen": 5, "Laundry": 6, "Pantry": 6, "Main Hallway": 1, "Northern Hallway": 2, "Southern Hallway": 2, "Portrait Room": 3, "Harmonic Room": 0, "Nursery": 3, "Council Room": 3, "Map Cabinet": 2, "Covenant Office": 3, "Garden Stairs": 5, "Ionic Treasury": 8, "River pier": 7, "Fountain": 6, "Blue Pavilion": 7, "Outside tables": 7}; %><% distanceMap = { "Noon Door": 5, "Grand Entrance Hall": 4, "Portolan Gallery": 3, "Marble Gallery, East": 6, "Marble Gallery, West": 5, "Dining Hall": 5, "Library": 5, "Kitchen": 6, "Laundry": 7, "Pantry": 7, "Main Hallway": 2, "Northern Hallway": 1, "Southern Hallway": 3, "Portrait Room": 4, "Harmonic Room": 3, "Nursery": 0, "Council Room": 4, "Map Cabinet": 3, "Covenant Office": 4, "Garden Stairs": 6, "Ionic Treasury": 9, "River pier": 8, "Fountain": 7, "Blue Pavilion": 8, "Outside tables": 8}; %><% distanceMap = { "Noon Door": 5, "Grand Entrance Hall": 4, "Portolan Gallery": 3, "Marble Gallery, East": 6, "Marble Gallery, West": 5, "Dining Hall": 5, "Library": 5, "Kitchen": 6, "Laundry": 7, "Pantry": 7, "Main Hallway": 2, "Northern Hallway": 3, "Southern Hallway": 1, "Portrait Room": 2, "Harmonic Room": 3, "Nursery": 4, "Council Room": 0, "Map Cabinet": 3, "Covenant Office": 4, "Garden Stairs": 6, "Ionic Treasury": 9, "River pier": 8, "Fountain": 7, "Blue Pavilion": 8, "Outside tables": 8}; %><% distanceMap = { "Noon Door": 4, "Grand Entrance Hall": 3, "Portolan Gallery": 2, "Marble Gallery, East": 5, "Marble Gallery, West": 4, "Dining Hall": 4, "Library": 4, "Kitchen": 5, "Laundry": 6, "Pantry": 6, "Main Hallway": 1, "Northern Hallway": 2, "Southern Hallway": 2, "Portrait Room": 3, "Harmonic Room": 2, "Nursery": 3, "Council Room": 3, "Map Cabinet": 0, "Covenant Office": 1, "Garden Stairs": 5, "Ionic Treasury": 8, "River pier": 7, "Fountain": 6, "Blue Pavilion": 7, "Outside tables": 7}; %><% distanceMap = { "Noon Door": 5, "Grand Entrance Hall": 4, "Portolan Gallery": 3, "Marble Gallery, East": 6, "Marble Gallery, West": 5, "Dining Hall": 5, "Library": 5, "Kitchen": 6, "Laundry": 7, "Pantry": 7, "Main Hallway": 2, "Northern Hallway": 3, "Southern Hallway": 3, "Portrait Room": 4, "Harmonic Room": 3, "Nursery": 4, "Council Room": 4, "Map Cabinet": 1, "Covenant Office": 0, "Garden Stairs": 6, "Ionic Treasury": 9, "River pier": 8, "Fountain": 7, "Blue Pavilion": 8, "Outside tables": 8}; %><% distanceMap = { "Noon Door": 3, "Grand Entrance Hall": 2, "Portolan Gallery": 3, "Marble Gallery, East": 2, "Marble Gallery, West": 1, "Dining Hall": 2, "Library": 3, "Kitchen": 1, "Laundry": 2, "Pantry": 2, "Main Hallway": 4, "Northern Hallway": 5, "Southern Hallway": 5, "Portrait Room": 6, "Harmonic Room": 5, "Nursery": 6, "Council Room": 6, "Map Cabinet": 5, "Covenant Office": 6, "Garden Stairs": 0, "Ionic Treasury": 3, "River pier": 2, "Fountain": 1, "Blue Pavilion": 2, "Outside tables": 2}; %><% distanceMap = { "Noon Door": 6, "Grand Entrance Hall": 5, "Portolan Gallery": 6, "Marble Gallery, East": 5, "Marble Gallery, West": 4, "Dining Hall": 5, "Library": 6, "Kitchen": 4, "Laundry": 5, "Pantry": 5, "Main Hallway": 7, "Northern Hallway": 8, "Southern Hallway": 8, "Portrait Room": 9, "Harmonic Room": 8, "Nursery": 9, "Council Room": 9, "Map Cabinet": 8, "Covenant Office": 9, "Garden Stairs": 3, "Ionic Treasury": 0, "River pier": 3, "Fountain": 2, "Blue Pavilion": 1, "Outside tables": 3}; %><% distanceMap = { "Noon Door": 5, "Grand Entrance Hall": 4, "Portolan Gallery": 5, "Marble Gallery, East": 4, "Marble Gallery, West": 3, "Dining Hall": 4, "Library": 5, "Kitchen": 3, "Laundry": 4, "Pantry": 4, "Main Hallway": 6, "Northern Hallway": 7, "Southern Hallway": 7, "Portrait Room": 8, "Harmonic Room": 7, "Nursery": 8, "Council Room": 8, "Map Cabinet": 7, "Covenant Office": 8, "Garden Stairs": 2, "Ionic Treasury": 3, "River pier": 0, "Fountain": 1, "Blue Pavilion": 2, "Outside tables": 2}; %><% distanceMap = { "Noon Door": 4, "Grand Entrance Hall": 3, "Portolan Gallery": 4, "Marble Gallery, East": 3, "Marble Gallery, West": 2, "Dining Hall": 3, "Library": 4, "Kitchen": 2, "Laundry": 3, "Pantry": 3, "Main Hallway": 5, "Northern Hallway": 6, "Southern Hallway": 6, "Portrait Room": 7, "Harmonic Room": 6, "Nursery": 7, "Council Room": 7, "Map Cabinet": 6, "Covenant Office": 7, "Garden Stairs": 1, "Ionic Treasury": 2, "River pier": 1, "Fountain": 0, "Blue Pavilion": 1, "Outside tables": 1}; %><% distanceMap = { "Noon Door": 5, "Grand Entrance Hall": 4, "Portolan Gallery": 5, "Marble Gallery, East": 4, "Marble Gallery, West": 3, "Dining Hall": 4, "Library": 5, "Kitchen": 3, "Laundry": 4, "Pantry": 4, "Main Hallway": 6, "Northern Hallway": 7, "Southern Hallway": 7, "Portrait Room": 8, "Harmonic Room": 7, "Nursery": 8, "Council Room": 8, "Map Cabinet": 7, "Covenant Office": 8, "Garden Stairs": 2, "Ionic Treasury": 1, "River pier": 2, "Fountain": 1, "Blue Pavilion": 0, "Outside tables": 2}; %><% distanceMap = { "Noon Door": 5, "Grand Entrance Hall": 4, "Portolan Gallery": 5, "Marble Gallery, East": 4, "Marble Gallery, West": 3, "Dining Hall": 4, "Library": 5, "Kitchen": 3, "Laundry": 4, "Pantry": 4, "Main Hallway": 6, "Northern Hallway": 7, "Southern Hallway": 7, "Portrait Room": 8, "Harmonic Room": 7, "Nursery": 8, "Council Room": 8, "Map Cabinet": 7, "Covenant Office": 8, "Garden Stairs": 2, "Ionic Treasury": 3, "River pier": 2, "Fountain": 1, "Blue Pavilion": 2, "Outside tables": 0}; %><span class='high-emphasis'>The three Marel brothers and their father</span> have come to the ball. I know comments are being made at this very moment: I've heard them, other times. I don't need to hear them again. But I can't help looking. Agustil Marel sees me and bows his head. <% targetTurn = Math.floor( s.timeSpeed*33 );targetEvent = 'ev Marel Dinner Invitation';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Ball Marel Dance') == false ) { s.opport['Marble Gallery, West'].push('op Ball Marel Dance'); }; %><% if ( _.contains( _.keys(s.namedEvent), 'wheel-end' ) ) { s.namedEvent['wheel-end'].push( 'ev Agustil talks to Africans' ); } else { s.namedEvent['wheel-end'] = [ 'ev Agustil talks to Africans' ]; } %><div id='opBallMarelDance' class='oport story'><img class='optimg' src='img/opts/laugh.jpg'><div class='optext'><div class='optitle'>Agustil Marel requests to dance with me</div><div class='opdesc'>I haven't seen him almost since last year's Burburum Day. He looks *very* charming.</div></div></div><% $(function () { $('#opBallMarelDance').click(function () { $('#opBallMarelDance').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBallMarelDance'); s.fullHistory.push('op Ball Marel Dance');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Ball Marel Dance';});}); %> <% s.log.push("I danced with Agustil Marel."); %><% s.narration['Marble Gallery, West'].push('0-balldancewithagustil'); %><% targetTurn = Math.floor( s.timeSpeed*48 );targetEvent = 'ev Marel and Iuvens are worried';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Ball second dance with Marel') == false ) { s.opport['Marble Gallery, West'].push('op Ball second dance with Marel'); }; %><% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Did you get my letter?'</span> I ask. Agustil Marel and I dance a slow piece, good for conversation. 'I brought it,' Agustil says, 'and I'll send it to you in a few days.' After a while and more conversation: 'Will you marry me now?' 'Take me to see the Southern Cross,' I answer. 'If anything, I'm worse now. No rings for me.' 'Arboricola told me,' he says, and sighs. *'Men!'* 'You look happy,' I say. 'When I return to Aurora after months of navigation, the biggest relief is not hearing the sea at all times,' he says. 'Is it? When I come back from the forest, I hear the forest behind every wall, under the floors, between the books in the library.' This is, however, a very enjoyable dance.<div id='opBallseconddancewithMarel' class='oport story'><img class='optimg' src='img/opts/laugh.jpg'><div class='optext'><div class='optitle'>Another dance with Agustil</div><div class='opdesc'>Why not?</div></div></div><% $(function () { $('#opBallseconddancewithMarel').click(function () { $('#opBallseconddancewithMarel').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBallseconddancewithMarel'); s.fullHistory.push('op Ball second dance with Marel');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Ball second dance with Marel';});}); %> <% s.narration['Marble Gallery, West'].push('0-Ball second dance with Marel'); %><% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Two things worry me,'</span> says Agustil during our second dance. 'First, the news that I get from the Canton.' 'Worrying news from the Canton? What can that be?' I ask, surprised. 'Revolutionary and monarchic ideas clashing more and more openly. People bragging about secret societies. Haven't you noticed it?' I shake my head. 'And the other thing that worries me... the news that I get about you.' I harden my face and look up to him. 'Don't say another word. You are not my father, my brother or my husband.' He doesn't say another word. But he smiles for the rest of the dance.<% s.narration['ground floor'].push('100-marelinvitesdinner'); %><% s.narration['garden'].push('100-marelinvitesdinner'); %><% targetTurn = Math.floor( s.timeSpeed*35 );targetEvent = 'ev Marel Dinner Invitation Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>Agustil Marel</span> suddenly appears to my side. 'Irene. I have a suggestion of debatable propriety.' <% if (_.contains(s.fullHistory, '0-balldancewithagustil')) { %><% print("<p>This sounds to me like he's starting to take it all as a game. At last. 'Come have dinner with us in the Blue Pavilion.'</p>"); %><% } else { %><% print("<p>'You didn't dance with me tonight,' I say, knowing perfectly that it was *me* who didn't dance with him.</p>"); %><% print("<p>'Perhaps I'd have proposed again,' he says, with a slight smirk. This sounds to me like he's starting to take it all as a game. At last. 'Come have dinner with us in the Blue Pavilion.'</p>"); %><% }; %> <% print("<p>I like the idea! Better than sharing a table with men like Severin and Longine and the rest of the authorities, even if my family is there. But, of course, the Hall is where I'm *expected*. So I see Agustil off without giving him even a hint that I'll consider his invitation.</p>"); %> <% s.narration['ground floor'] = _.without( s.narration['ground floor'] , '100-marelinvitesdinner' ); %><% s.narration['garden'] = _.without( s.narration['garden'] , '100-marelinvitesdinner' ); %><% s.eventIgnore.push('ev Marel Dinner Invitation Remove'); %><% s.narration['ground floor'] = _.without( s.narration['ground floor'] , '100-marelinvitesdinner' ); %><% s.narration['garden'] = _.without( s.narration['garden'] , '100-marelinvitesdinner' ); %><div id='opDinnerPavilionWheelComment' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>People are talking about the Wheel of Grievances</div><div class='opdesc'>Faces are dark, voices are heavy.</div></div></div><% $(function () { $('#opDinnerPavilionWheelComment').click(function () { $('#opDinnerPavilionWheelComment').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerPavilionWheelComment'); s.fullHistory.push('op Dinner Pavilion Wheel Comment');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Pavilion Wheel Comment';});}); %> <% if (_.contains(s.fullHistory, '0-fourthgrievance')) { %><% s.narration['Blue Pavilion'].push('0-dinnerpavilionwheeliwasthere'); %><% } else { %><% s.narration['Blue Pavilion'].push('0-dinnerhallpavilionexplanation'); %><% }; %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Everyone seems very unsettled</span> about what happened during the Wheel. They ask me if I saw it. 'I was there,' I explain, but they don't pay me further attention, uninterested in a woman's perspective. They are debating politics now. 'Justice must reach all the estates. The poor have the right to complain when judges take terrible decisions,' says a man. 'They are ignorant. If their judgement goes against any educated man, we can't trust it. We need to teach them to mistrust themselves.' 'Was this the revolution you wanted, Iuvens?' a man roars, causing laughter. Cesarel shies away from answering. That's unlike him. I don't want to keep listening to this.<span class='high-emphasis'>Everyone seems very unsettled.</span> I tell them I don't know what happened. 'There was a fight,' Agustil explains, 'between some poor people and the guard.' 'No!' his brother Ourel interrupts. 'The poor people attacked young Novus and then everyone ran away when the guard came in.' 'Novus? Why?' I ask, and they tell me. The Amaisa case. The dead porter's mother and the girl that Novus beat up talked in the Wheel, then Novus interrupted them and some assaulted him. And then the guard started shooting in the air. <% if (_.contains(s.fullHistory, '0-tellfathertensionamaisa')) { %><% print("<p>*The Amaisa case.* I remember what I told Father and a cold hand squeezes my stomach.</p>"); %><% }; %> 'It was a mob revolting against their superiors,' complains a man, with a note of fear and pain. 'It was an inversion of the right order.' 'A revolution?' another man asks, perhaps jokingly. 'Now I think that a revolution could happen,' answers the first man. Agustil rolls his eyes.<div id='opDinnerMarelVoyage' class='oport story'><img class='optimg' src='img/opts/map.jpg'><div class='optext'><div class='optitle'>Ask Marel about his last voyage</div><div class='opdesc'>How did he get my specimen? Was he in danger? So many things to know.</div></div></div><% $(function () { $('#opDinnerMarelVoyage').click(function () { $('#opDinnerMarelVoyage').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerMarelVoyage'); s.fullHistory.push('op Dinner Marel Voyage');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Marel Voyage';});}); %> <% s.narration['Pseudopassage'].push('0-dinnermarelvoyage'); %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Marel Debts') == false ) { s.opport['Blue Pavilion'].push('op Dinner Marel Debts'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Marel Pause') == false ) { s.opport['Pseudopassage'].push('op Dinner Marel Pause'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'You must tell me</span> the whole story of your last voyage,' I say. He looks at me odd eyes, that I take for sarcasm. 'I would take you on a voyage if you wanted, you know it,' he says. Oh, no, *please*. 'Even without a promise of marrying me.' I'm nearly going to scorn his proposition, but I remain silent instead. And for a moment I imagine. Sun brighter than here, rain stronger than here, animals and plants I have only glimpsed in a book. The gazes of all the people in Aurora, replaced with the gazes of sailors and officials. No place to hide from those gazes. Would Agustil let me wear trousers in his ship? I doubt it. More than imagining, I'm remembering what I have imagined other times. 'Thanks, but I prefer your stories and your samples,' I answer. 'You could learn a lot more if you came. You could become the greatest natural historian in the Canton,' he says, and I'm sure he believes it.<div id='opDinnerMarelPause' class='oport story'><img class='optimg' src='img/opts/wait.jpg'><div class='optext'><div class='optitle'>A pause in the conversation</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerMarelPause').click(function () { $('#opDinnerMarelPause').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerMarelPause'); s.fullHistory.push('op Dinner Marel Pause');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Marel Pause';});}); %> <% s.narration['Pseudopassage'].push('0-dinnermarelpause'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene tells agustil about lady mars') == false ) { s.opport['Pseudopassage'].push('op irene tells agustil about lady mars'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene ignores agustil about lady mars') == false ) { s.opport['Pseudopassage'].push('op irene ignores agustil about lady mars'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>We remain silent</span> for a minute. I don't feel uneasy about it, we know each other well enough. I think a bit about things that have happened today. My hand leaving marks on the dust that covered everything. My coach traversing the festivities. <% if (_.contains(s.fullHistory, '0-harmonicariannewarn')) { %><% print("<p>Arianne Bienaime's face, her beautiful features distorted with fear.</p>"); %><% }; %><% if (_.contains(s.fullHistory, '0-tablesdancetarantella')) { %><% print("<p>The poor dancing with me, congratulating me.</p>"); %><% }; %><% if (_.contains(s.fullHistory, '0-novusportraitsit')) { %><% print("<p>Novus' detached gaze while Arboricola and I attempted to distract him.</p>"); %><% }; %> <% print("<p>My sudden decision to have dinner here, out of place.</p>"); %><% print("<p>'Irene...' says Agustil, then hesitates. He's afraid of saying something. 'What is the truth about your aunt Lady Mars? Some... people enjoy forcing me to listen to their gossip. I hate them. But the gossip is so...' more hesitation, more struggle, 'outlandish.'</p>"); %>'Irene...' says Agustil, then hesitates. He's afraid of saying something. 'What is the truth about your aunt Lady Mars? Some... people enjoy forcing me to listen to their gossip. I hate them. But the gossip is so...' more hesitation, more struggle, 'outlandish.'<div id='opireneignoresagustilaboutladymars' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Ignore his question</div><div class='opdesc'>And make sure he doesn't ask it again.</div></div></div><% $(function () { $('#opireneignoresagustilaboutladymars').click(function () { $('#opireneignoresagustilaboutladymars').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opireneignoresagustilaboutladymars'); s.fullHistory.push('op irene ignores agustil about lady mars');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene ignores agustil about lady mars';});}); %> <% s.narration['Blue Pavilion'].push('10-irene ignores agustil about lady mars'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene tells agustil about lady mars' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Don't ask me about Lady Mars,'</span> I say. He smiles condescendingly and now I want to stand up and slap him with all the strength my arm has. 'What are you laughing about?' I say. 'I warn you, don't ask about her. It's a family affair. Nobody has any need to ask about her and the Lord knows we haven't got any need to hear your questions.' He nods. His face has turned serious like a sad child.<div id='opirenetellsagustilaboutladymars' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Tell him how mad I am</div><div class='opdesc'>I'm sick of people asking about this.</div></div></div><% $(function () { $('#opirenetellsagustilaboutladymars').click(function () { $('#opirenetellsagustilaboutladymars').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opirenetellsagustilaboutladymars'); s.fullHistory.push('op irene tells agustil about lady mars');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene tells agustil about lady mars';});}); %> <% s.narration['Blue Pavilion'].push('10-irene tells agustil about lady mars'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene ignores agustil about lady mars' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Enough.</span> 'What does outlandish mean? *We had a revolution and we can't have an outlandish woman?'* 'The French had a revolution, not us.' 'Shut up. My mother was outlandish. My sisters are outlandish. I go to the forest to find outlandish objects. I am outlandish.' 'No, you are outrageous.' 'Then you let me be or you move aside because in God's name I'm going to be as outrageous as I please.' 'I dare you.' 'We the outraged will light this land and burn you with our outlandish fires. We sow the seeds of the new, and strange trees will sprout will be strange and bear strangely coloured fruits. If you dislike it, you should have chosen a different century to be born.' What's that sparkle in Agustil's eyes?<div id='opDinnerMarelScars' class='oport story'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>Ask Marel about his scars</div><div class='opdesc'>What he told me last time was terrible and it worried me.</div></div></div><% $(function () { $('#opDinnerMarelScars').click(function () { $('#opDinnerMarelScars').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerMarelScars'); s.fullHistory.push('op Dinner Marel Scars');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Marel Scars';});}); %> <% s.narration['Pseudopassage'].push('0-dinnermarelscars'); %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Marel Father') == false ) { s.opport['Blue Pavilion'].push('op Dinner Marel Father'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Marel Lull') == false ) { s.opport['Pseudopassage'].push('op Dinner Marel Lull'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'What about your scars?'</span> I ask. 'Have they healed well?' 'I shouldn't have told you about that,' he answers. 'It's poison I'm interested in,' I say. 'What the poison of those vermin will do to people.' This is not true, but I expect it can overcome his reluctance. 'Harder and bulkier that any other scar I or my brothers have. Worse than my father's sword scars from the liberation. They don't hurt anymore, don't have an ugly colour. The poison made me sick but,' he winks, 'meeting you has been worse than that.'<div id='opDinnerMarelLull' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>A moment of lull</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerMarelLull').click(function () { $('#opDinnerMarelLull').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerMarelLull'); s.fullHistory.push('op Dinner Marel Lull');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Marel Lull';});}); %> <% s.narration['Blue Pavilion'].push('0-dinnermarellull'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I prefer dinners like this</span>, with long moments of silence. If I really see people think that I am standoffish or solitary (it's a visible kind of thought), then it's the proper duration for silence, not less. For me, it's calm. It's a lull.<div id='opDinnerMarelHaze' class='oport story'><img class='optimg' src='img/opts/light.jpg'><div class='optext'><div class='optitle'>Tell Agustil about today's haze</div><div class='opdesc'>It makes me dreamy.</div></div></div><% $(function () { $('#opDinnerMarelHaze').click(function () { $('#opDinnerMarelHaze').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerMarelHaze'); s.fullHistory.push('op Dinner Marel Haze');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Marel Haze';});}); %> <% s.narration['Pseudopassage'].push('0-dinnermarelhaze'); %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Marel Canton') == false ) { s.opport['Blue Pavilion'].push('op Dinner Marel Canton'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Marel Wine') == false ) { s.opport['Pseudopassage'].push('op Dinner Marel Wine'); }; %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Agustil tells Irene about his dance with Tavia') == false ) { s.opport['Blue Pavilion'].push('op Dinner Agustil tells Irene about his dance with Tavia'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'This haze is freakish,'</span> I say, 'but beautiful. Today Aurora looks like a drawing in a book rather than a place. It's more than its looks. Like we have travelled far to some place whose existence we couldn't imagine. Like that place you described, with the strange trees that are like hands sticking their fingers in the river...' 'Do you want to see places like that?' asks Agustil. 'Most people are afraid.' 'You know I do. And you know I don't.' 'And you know that your own problem is that you never want to decide one thing or the other.' I sigh. 'Perhaps this water-like light, once in a while, is enough for me.' <% if (_.contains(s.fullHistory, '0-talkiliopoulos')) { %><% print("<p>I could tell this to Iliopoulos, the Greek painter.</p>"); %><% }; %><div id='opDinnerMarelWine' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Request silence to enjoy a glass of wine</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerMarelWine').click(function () { $('#opDinnerMarelWine').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerMarelWine'); s.fullHistory.push('op Dinner Marel Wine');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Marel Wine';});}); %> <% s.narration['Blue Pavilion'].push('0-dinnermarelwine'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I pretend not to hear while I drink some wine.</span> It's a farce. I don't enjoy this raspy, bitter taste. I only like watching how light gets trapped inside wine glasses, in a crystal and ruby prison. I thought I could drink light.<% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Marel Silence') == false ) { s.opport['Blue Pavilion'].push('op Dinner Marel Silence'); }; %><div id='opDinnerMarelSilence' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Say nothing </div><div class='opdesc'>Men can stand a bit of silence, can't they?</div></div></div><% $(function () { $('#opDinnerMarelSilence').click(function () { $('#opDinnerMarelSilence').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerMarelSilence'); s.fullHistory.push('op Dinner Marel Silence');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Marel Silence';});}); %> <% s.narration['Blue Pavilion'].push('0-dinnermarelsilence'); %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I look away from Agustil</span>, but there's no one else near to talk to but his brothers. So I just look at the room. There's more contrast than I would expect. Some people are very noisy, while others display obvious disgust about the noise. 'Irene?' Agustil calls. He didn't wait long. I ignore him. I'm not surrendering so fast. The birds at the aviary can be seen through the bars, nervous because of the late light and the agitation. Some people are behaving like the birds. I'm almost convinced they could fly. I see someone looking at me. It's a woman I don't know, with good, expensive clothes. I smile through my unease, trying to shoo her. She smiles, too openly. I have an admirer now!<div id='opDinnerMarelFather' class='oport story'><img class='optimg' src='img/opts/old_hand.jpg'><div class='optext'><div class='optitle'>Tell Agustil I'm here instead of where I should be</div><div class='opdesc'>Now what?</div></div></div><% $(function () { $('#opDinnerMarelFather').click(function () { $('#opDinnerMarelFather').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerMarelFather'); s.fullHistory.push('op Dinner Marel Father');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Marel Father';});}); %> <% s.narration['Blue Pavilion'].push('0-dinnermarelfather'); %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><% if (_.contains(s.fullHistory, '100-marelinvitesdinner')) { %><% print("<p><span class='high-emphasis'>'I followed your suggestion</span> of debatable property,' I tell Agustil. 'If there's gossip, my father will think of a way of punishing me.'</p>"); %><% print("<p>'Nothing forbidden on Burburum Day,' Agustil says, and he bangs his fist on the table. Almost immediately his brothers bang their fists too; other men follow suit. And women!</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>'There will be a minor scandal</span> when people learn that I've had dinner here,' I say.</p>"); %><% print("<p>*'Very* minor,' Agustil says. 'Nothing forbidden on Burburum Day,' and he bangs his fist on the table. Almost immediately his brothers bang their fists too; other men follow suit. And women!</p>"); %><% }; %> Half the Pavilion erupts in bangs. The others are too worried about an appearance of respectability. '*You* don't have to worry,' I say. 'But I'm an unmarried woman. No amount of noise will change that.' Some people will be angry with; others will gossip and say that I'm not a modest woman. *People will look at me...*<div id='opDinnerMarelDebts' class='oport story'><img class='optimg' src='img/opts/serpent.jpg'><div class='optext'><div class='optitle'>Ask Agustil about his debts</div><div class='opdesc'>It was the problem that concerned him the most some time ago.</div></div></div><% $(function () { $('#opDinnerMarelDebts').click(function () { $('#opDinnerMarelDebts').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerMarelDebts'); s.fullHistory.push('op Dinner Marel Debts');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Marel Debts';});}); %> <% s.narration['Blue Pavilion'].push('0-dinnermareldebt'); %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'What about your debts?'</span> I ask. 'Have you...?' 'Business is good and debts are not a worry,' he interrupts. 'I took care of it personally.'<div id='opDinnerMarelCanton' class='oport story'><img class='optimg' src='img/opts/cantonmap.jpg'><div class='optext'><div class='optitle'>Ask Agustil about his impressions on the Canton</div><div class='opdesc'>He spends most of his time overseas. It must look different each time he comes back.</div></div></div><% $(function () { $('#opDinnerMarelCanton').click(function () { $('#opDinnerMarelCanton').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerMarelCanton'); s.fullHistory.push('op Dinner Marel Canton');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Marel Canton';});}); %> <% s.narration['Blue Pavilion'].push('0-dinnermarelcanton'); %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>He is indifferent</span> to my question. 'People die. That's what I notice most.' 'All the things we work on? The new schools, the new trades? Don't you see less misery each time?' 'Honestly...' says Agustil, and then he visibly hesitates. 'Honestly.' 'It's never so much as you make it sound like. Sometimes I don't notice any change at all. 'If you travel,' Agustil continues, 'you realize that in every city and nation, men who rule are sure that they are doing great things all the time. That they are winning.' 'I'm not a *man who rules*,' I answer.<div id='opDinnerAgustiltellsIreneabouthisdancewithTavia' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Ask Agustil about his dances tonight</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerAgustiltellsIreneabouthisdancewithTavia').click(function () { $('#opDinnerAgustiltellsIreneabouthisdancewithTavia').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerAgustiltellsIreneabouthisdancewithTavia'); s.fullHistory.push('op Dinner Agustil tells Irene about his dance with Tavia');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Agustil tells Irene about his dance with Tavia';});}); %> <% s.narration['Blue Pavilion'].push('10-Agustil tells Irene about his dance with Tavia'); %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Any interesting dance tonight?'</span> I ask. 'Mostly boring,' says Agustil. 'Except Tavia Longine. She looked excited.' 'Her? It must has been her first time.' 'I have never seen her so talkative. We conversed a lot after dancing. She asked me a bit about my travels, but then she started asking about you.' 'What? She's never had any interest in me.' 'She ended asking my opinions about your father. And I got the impression, don't know why, that everything before was a pretext for that. Then she apologized and asked someone for a dance... he is here indeed! That Ottoman,' he says, and he he points at the table where Azmi Effendi is, with his friends. This is unexpected, and perhaps I should remember it. But there is too much in my mind tonight.<% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Marel and Iuvens are worried remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Grand Entrance Hall'].push('500-marel and iuvens are worried'); %><% s.narration['Marble Gallery, East'].push('500-marel and iuvens are worried'); %><% s.narration['Marble Gallery, West'].push('500-marel and iuvens are worried'); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-marel and iuvens are worried' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-marel and iuvens are worried' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-marel and iuvens are worried' ); %><span class='high-emphasis'>Cesarel Iuvens is in conversation with Agustil,</span> which surprises me. I don't think they've ever been in friendly terms. They don't have the consideration to explain the subject when I join them. 'Something is in the air today,' says Cesarel, 'something I didn't anticipate.' 'One thing only?' asks Agustil. 'I smell dry powder.' They keep talking cryptically and I leave them to it, feeling a little offended. <% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-marel and iuvens are worried' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-marel and iuvens are worried' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-marel and iuvens are worried' ); %><% s.narration['Pseudopassage'].push('homehazeburburumday'); %><% s.narration['Marina Mayor'].push('9999-marinamayorishere'); %><% s.narration['first floor'].push('500-womensouthhallway'); %> <% if ( _.contains(s.opport['Outside tables'], 'op Tables Tarantella Ask') == false ) { s.opport['Outside tables'].push('op Tables Tarantella Ask'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Home Day') == false ) { s.opport['Pseudopassage'].push('op Home Day'); }; %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Treasury Greek Talk') == false ) { s.opport['Ionic Treasury'].push('op Treasury Greek Talk'); }; %><% if ( _.contains(s.opport['Kitchen'], 'op Music in Kitchen Ask Mood') == false ) { s.opport['Kitchen'].push('op Music in Kitchen Ask Mood'); }; %><% if ( _.contains(s.opport['Grand Entrance Hall'], 'op Hall Smell Flowers') == false ) { s.opport['Grand Entrance Hall'].push('op Hall Smell Flowers'); }; %><% if ( _.contains(s.opport['Marble Gallery, East'], 'op Hall Admire Map') == false ) { s.opport['Marble Gallery, East'].push('op Hall Admire Map'); }; %><% if ( _.contains(s.opport['Fountain'], 'op Fountain Put Hand') == false ) { s.opport['Fountain'].push('op Fountain Put Hand'); }; %><% if ( _.contains(s.opport['Library'], 'op Library Look Books') == false ) { s.opport['Library'].push('op Library Look Books'); }; %><% if ( _.contains(s.opport['Harmonic Room'], 'op Harmonic Try Piano') == false ) { s.opport['Harmonic Room'].push('op Harmonic Try Piano'); }; %><% if ( _.contains(s.opport['Marble Gallery, East'], 'op Initial Curiosity Gallery') == false ) { s.opport['Marble Gallery, East'].push('op Initial Curiosity Gallery'); }; %> <% if (_.contains( _.keys(s.interrupt),'Portrait Room' )) { s.interrupt['Portrait Room'].push('interrupt-portraitwomenmars'); } else { s.interrupt['Portrait Room'] = ['interrupt-portraitwomenmars']; }; %><% s.narration['Portrait Room'].push('100-portraitwomenmars'); %><% s.narration['Father'].push('500-irene first sees father'); %> <% s.narration['Ionic Treasury'].push('10-treasury1st'); %> <% targetTurn = Math.floor( s.timeSpeed*0 );targetEvent = 'Schedule - Seven';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><%= story.render(s.returnRef) %><img class='img-preload' src='img/opts/aurora_golden.jpg'> <img class='img-preload' src='img/opts/burburum_woman.jpg'> <img class='img-preload' src='img/opts/eyes.jpg'> <img class='img-preload' src='img/opts/laugh.jpg'> <img class='img-preload' src='img/opts/light.jpg'> <img class='img-preload' src='img/opts/money.jpg'> <img class='img-preload' src='img/opts/people.jpg'> <img class='img-preload' src='img/opts/street.jpg'> <img class='img-preload' src='img/opts/victor_house.jpg'> <img class='img-preload' src='img/opts/thumb_down.jpg'> <img class='img-preload' src='img/opts/attack.jpg'> <img class='img-preload' src='img/opts/aurora.jpg'> <img class='img-preload' src='img/opts/blind.jpg'> <img class='img-preload' src='img/opts/blood.jpg'> <img class='img-preload' src='img/opts/book.jpg'> <img class='img-preload' src='img/opts/burbur_dance.jpg'> <img class='img-preload' src='img/opts/candles.jpg'> <img class='img-preload' src='img/opts/candlestick.jpg'> <img class='img-preload' src='img/opts/cantonmap.jpg'> <img class='img-preload' src='img/opts/chair.jpg'> <img class='img-preload' src='img/sidebar-background.png'><img class='img-preload' src='img/opts/clergy.jpg'> <img class='img-preload' src='img/opts/council.jpg'> <img class='img-preload' src='img/opts/covenant.jpg'> <img class='img-preload' src='img/opts/crown.jpg'> <img class='img-preload' src='img/opts/dance.jpg'> <img class='img-preload' src='img/opts/dining.jpg'> <img class='img-preload' src='img/opts/door.jpg'> <img class='img-preload' src='img/opts/ear.jpg'> <img class='img-preload' src='img/opts/east_gallery.jpg'> <img class='img-preload' src='img/opts/egg.jpg'> <img class='img-preload' src='img/opts/entrance.jpg'> <img class='img-preload' src='img/opts/eye-hole.jpg'> <img class='img-preload' src='img/opts/eye.jpg'> <img class='img-preload' src='img/opts/fist.jpg'> <img class='img-preload' src='img/opts/flower.jpg'> <img class='img-preload' src='img/opts/food.jpg'> <img class='img-preload' src='img/opts/forest.jpg'> <img class='img-preload' src='img/opts/fountain.jpg'> <img class='img-preload' src='img/opts/garden_stairs.jpg'> <img class='img-preload' src='img/opts/generic.jpg'> <img class='img-preload' src='img/opts/harmonic.jpg'> <img class='img-preload' src='img/opts/hide.jpg'> <img class='img-preload' src='img/opts/invitation.jpg'> <img class='img-preload' src='img/opts/murder.jpg'><img class='img-preload' src='img/opts/key.jpg'> <img class='img-preload' src='img/opts/keyhole.jpg'> <img class='img-preload' src='img/opts/kitchen.jpg'> <img class='img-preload' src='img/opts/laundry.jpg'> <img class='img-preload' src='img/opts/leave.jpg'> <img class='img-preload' src='img/opts/library.jpg'> <img class='img-preload' src='img/opts/mainhallway.jpg'> <img class='img-preload' src='img/opts/map.jpg'> <img class='img-preload' src='img/opts/north_hallway.jpg'> <img class='img-preload' src='img/opts/nursery.jpg'> <img class='img-preload' src='img/opts/old_hand.jpg'> <img class='img-preload' src='img/opts/pantry.jpg'> <img class='img-preload' src='img/opts/pavilion.jpg'> <img class='img-preload' src='img/opts/pier.jpg'> <img class='img-preload' src='img/opts/pointing_finger.jpg'> <img class='img-preload' src='img/opts/portolan.jpg'> <img class='img-preload' src='img/opts/portrait.jpg'> <img class='img-preload' src='img/opts/ray.jpg’> <img class='img-preload' src='img/opts/ring.jpg'><img class='img-preload' src='img/opts/run.jpg'> <img class='img-preload' src='img/opts/secret.jpg'> <img class='img-preload' src='img/opts/serpent.jpg'> <img class='img-preload' src='img/opts/silence.jpg'> <img class='img-preload' src='img/opts/smelling.jpg'> <img class='img-preload' src='img/opts/smile.jpg'> <img class='img-preload' src='img/opts/south_hallway.jpg'> <img class='img-preload' src='img/opts/stop.jpg'> <img class='img-preload' src='img/opts/tables.jpg'> <img class='img-preload' src='img/opts/tear.jpg'> <img class='img-preload' src='img/opts/toast.jpg'> <img class='img-preload' src='img/opts/torch.jpg'> <img class='img-preload' src='img/opts/treasury.jpg'> <img class='img-preload' src='img/opts/trousers.jpg'> <img class='img-preload' src='img/opts/violin.jpg'> <img class='img-preload' src='img/opts/wait.jpg'> <img class='img-preload' src='img/opts/weight.jpg'> <img class='img-preload' src='img/opts/west_gallery.jpg'><div class="game-title-inner"> [[Main menu->start]] </br> </br> <div style="columns:2"> <img src="img/pseudavid.png" height="60px" width="60px" style="float:left; margin-right: 20px"> Words, images and game by **Pseudavid** </br> <a href="http://pseudavid.itch.io/">Games</a> | <a href="mailto:pseudavid@yahoo.es">Email</a> | <a href="https://twitter.com/pseudavid">Twitter</a> </br> <div class="pre-separator"></div> <h2 style="clear:both">Content warnings</h2> Social anxiety. <div class="pre-separator"></div> <h2>Testers</h2> My biggest thanks to: <a href="http://ifdb.tads.org/showuser?id=4turuimoytvwnatf">Joey Jones</a>, <a href="http://twitter.com/mathbrush">mathbrush</a>, <a href="https://owlor.itch.io/">Owlor</a>, <a href="http://twitter.com/dtraposo">Devin Raposo</a>, <a href="http://twitter.com/xianxianif">Xian Xian</a>, and <a href="http://twitter.com/jalehafshar">Jaleh Afshar</a>. <div class="pre-separator"></div> <h2>Tools</h2> <a href="https://twinery.org">Twine</a> and <a href="https://github.com/klembot/snowman">Snowman</a> by Chris Klimas and contributors</br> <a href="https://dan-q.github.io/twee2/">Twee2</a> by Dan Q and contributors</br> Thanks to all the contributors to free software used in the making of this game: Linux, openSUSE, Ubuntu, GNOME, GIMP, Inkscape, git. <div class="pre-separator"></div> <h2>Images</h2> All images edited by Pseudavid from public domain pictures [[(see list)->original images]]</br> <div class="pre-separator"></div> <h2>Fonts</h2> <a href="https://github.com/impallari/Libre-Baskerville">LibreBaskerville</a> - <a href="https://github.com/impallari/Libre-Baskerville/blob/master/OFL.txt">SIL Open Font License 1.1</a> <div class="pre-separator"></div> <h2>Thanks</h2> Users in the amazing twinery.org forum, particularly greyelf, TheMadExile and Chris Klimas.</br> The whole Twine community for promoting a tool accessible to all.</br> My friend Alejandro for his Linux wizardry. </div> <p style="text-align:right; font-style:italic; font-size:120%">For Carmen</p> </div><div class="game-title-inner"> [[Main menu->start]] <div class="pre-separator"></div> **You are free to move from one location to another.** Your possible actions are located under the main text, except movements. Movement options are located beside the main text: * Vertical screen: on a block at the bottom of the page. * Wide screen: on a sidebar to the right. <div class="pre-separator"></div> **Time passes with each action you choose.** Events around you happen at given times, regardless your actions. At many points in the story there are multiple events unfolding simultaneously in different locations. <div class="pre-separator"></div> **It's impossible to discover all the available events and stories in a single playthrough.** Trying all the stories requires replaying the game. Understanding the whole situation requires replaying too. <div class="pre-separator"></div> **Perhaps you won't have a clear immediate goal at all times.** It's a party! Just wander and enjoy. The central locations have the highest chance of providing you new things to discover. <div class="pre-separator"></div> **The game is not intended to be won.** </div><div class="game-title-inner"> [[Back->Credits]] <p class='image-attribution'>"Candlelight in an orange background" by <a href='https://www.pexels.com/@free-videos-514829'>Free Videos</a> from <a href='https://videos.pexels.com/videos/candlelight-in-an-orange-background-1245516'>Pexels Videos</a></p> <p class='image-attribution'>"Château De Chantilly Handrail " by <a href='https://pixabay.com//en/users/139904-139904/'>139904</a> from <a href='https://pixabay.com/ch%C3%A2teau-de-chantilly-handrail-482545/'>Pixabay</a></p> <p class='image-attribution'>"Whisper Secret Mystery " by <a href='https://pixabay.com//en/users/366308-366308/'>366308</a> from <a href='https://pixabay.com/whisper-secret-mystery-stealth-408482/'>Pixabay</a></p> <p class='image-attribution'>"Self-Portrait Eyes " by <a href='https://pixabay.com//en/users/434436-434436/'>434436</a> from <a href='https://pixabay.com/self-portrait-eyes-face-640754/'>Pixabay</a></p> <p class='image-attribution'>"Violin Music Classical " by <a href='https://pixabay.com//en/users/466654-466654/'>466654</a> from <a href='https://pixabay.com/violin-music-classical-instrument-616796/'>Pixabay</a></p> <p class='image-attribution'>"Castle Linderhof Palace Garden " by <a href='https://pixabay.com//en/users/ADD-44917/'>ADD </a> from <a href='https://pixabay.com/castle-linderhof-palace-garden-182277/'>Pixabay</a></p> <p class='image-attribution'>"Candlestick Forging Metal " by <a href='https://pixabay.com//en/users/Agzam-7990144/'>Agzam </a> from <a href='https://pixabay.com/candlestick-forging-metal-forge-3169746/'>Pixabay</a></p> <p class='image-attribution'>"Clock Clockwork Gears Old " by <a href='https://pixabay.com//en/users/alles-2597842/'>alles </a> from <a href='https://pixabay.com/clock-clockwork-gears-old-clock-1463350/'>Pixabay</a></p> <p class='image-attribution'>"Chandelier Royal Palace Compiègne " by <a href='https://pixabay.com//en/users/AnnemarieBon-572555/'>AnnemarieBon </a> from <a href='https://pixabay.com/chandelier-royal-palace-compi%C3%A8gne-525405/'>Pixabay</a></p> <p class='image-attribution'>"Seat Beer Garden Seating " by <a href='https://pixabay.com//en/users/Antranias-50356/'>Antranias </a> from <a href='https://pixabay.com/seat-beer-garden-seating-benches-373199/'>Pixabay</a></p> <p class='image-attribution'>"Philadelphia Pennsylvania Interior " by <a href='https://pixabay.com//en/users/bones64-219712/'>bones64 </a> from <a href='https://pixabay.com/philadelphia-pennsylvania-interior-321436/'>Pixabay</a></p> <p class='image-attribution'>"Interview Paperwork Quill " by <a href='https://pixabay.com//en/users/BookBabe-551008/'>BookBabe </a> from <a href='https://pixabay.com/interview-paperwork-quill-law-851440/'>Pixabay</a></p> <p class='image-attribution'>"Eye Tear Cry " by <a href='https://pixabay.com//en/users/cherylholt-209609/'>cherylholt </a> from <a href='https://pixabay.com/eye-tear-cry-sadness-pain-emotion-609987/'>Pixabay</a></p> <p class='image-attribution'>"Washington Dc Capitol Floor " by <a href='https://pixabay.com//en/users/cocoparisienne-127419/'>cocoparisienne </a> from <a href='https://pixabay.com/washington-dc-capitol-floor-gang-655684/'>Pixabay</a></p> <p class='image-attribution'>"Web Pier Sea " by <a href='https://pixabay.com//en/users/cocoparisienne-127419/'>cocoparisienne </a> from <a href='https://pixabay.com/web-pier-sea-rest-mirroring-265495/'>Pixabay</a></p> <p class='image-attribution'>"Bread Crumbs Crumb " by <a href='https://pixabay.com//en/users/congerdesign-509903/'>congerdesign </a> from <a href='https://pixabay.com/bread-bread-crumbs-crumb-poverty-2542308/'>Pixabay</a></p> <p class='image-attribution'>"Sunset Light Sky " by <a href='https://pixabay.com//en/users/DeltaWorks-37465/'>DeltaWorks </a> from <a href='https://pixabay.com/sunset-light-sky-japan-kumamoto-197176/'>Pixabay</a></p> <p class='image-attribution'>"Old Creepy Doll " by <a href='https://pixabay.com//en/users/Desertrose7-752536/'>Desertrose7 </a> from <a href='https://pixabay.com/old-creepy-doll-antique-638940/'>Pixabay</a></p> <p class='image-attribution'>"Pillar Capitals Greek Architecture " by <a href='https://pixabay.com//en/users/dimitrisvetsikas1969-1857980/'>dimitrisvetsikas1969 </a> from <a href='https://pixabay.com/pillar-capitals-greek-architecture-1220662/'>Pixabay</a></p> <p class='image-attribution'>"Bag Of Coins Coin Purse Money " by <a href='https://pixabay.com//en/users/DizzyRoseblade-2411987/'>DizzyRoseblade </a> from <a href='https://pixabay.com/bag-of-coins-coin-purse-money-1335962/'>Pixabay</a></p> <p class='image-attribution'>"Thanksgiving Dinner " by <a href='https://pixabay.com//en/users/Element5Digital-6910618/'>Element5Digital </a> from <a href='https://pixabay.com/thanksgiving-thanksgiving-dinner-2911497/'>Pixabay</a></p> <p class='image-attribution'>"Istanbul Turkey Palace " by <a href='https://pixabay.com//en/users/falco-81448/'>falco </a> from <a href='https://pixabay.com/istanbul-turkey-palace-castle-777030/'>Pixabay</a></p> <p class='image-attribution'>"Sankt Petersburg Russia St " by <a href='https://pixabay.com//en/users/falco-81448/'>falco </a> from <a href='https://pixabay.com/sankt-petersburg-russia-706423/'>Pixabay</a></p> <p class='image-attribution'>"Stop Shy Cover " by <a href='https://pixabay.com//en/users/Foundry-923783/'>Foundry </a> from <a href='https://pixabay.com/stop-shy-cover-hide-color-girl-863665/'>Pixabay</a></p> <p class='image-attribution'>"Library Books Literature " by <a href='https://pixabay.com//en/users/Free-Photos-242387/'>Free-Photos </a> from <a href='https://pixabay.com/library-books-literature-reading-863148/'>Pixabay</a></p> <p class='image-attribution'>"Castle Lawn Great Britain " by <a href='https://pixabay.com//en/users/Free-Photos-242387/'>Free-Photos </a> from <a href='https://pixabay.com/castle-lawn-great-britain-england-336498/'>Pixabay</a></p> <p class='image-attribution'>"Sideburns Ear Hair " by <a href='https://pixabay.com//en/users/Hans-2/'>Hans </a> from <a href='https://pixabay.com/sideburns-ear-hair-person-human-1355651/'>Pixabay</a></p> <p class='image-attribution'>"Daisy Flower Blossom " by <a href='https://pixabay.com//en/users/Hans-2/'>Hans </a> from <a href='https://pixabay.com/daisy-flower-blossom-bloom-white-1260735/'>Pixabay</a></p> <p class='image-attribution'>"Harp Plucked String Instrument " by <a href='https://pixabay.com//en/users/Hans-2/'>Hans </a> from <a href='https://pixabay.com/harp-plucked-string-instrument-195635/'>Pixabay</a></p> <p class='image-attribution'>"Hourglass Sandglass Timer Sand " by <a href='https://pixabay.com//en/users/JamesDeMers-3416/'>JamesDeMers </a> from <a href='https://pixabay.com/hourglass-sandglass-timer-695275/'>Pixabay</a></p> <p class='image-attribution'>"Chair Furniture Wood " by <a href='https://pixabay.com//en/users/jamesvaughan-85375/'>jamesvaughan </a> from <a href='https://pixabay.com/chair-furniture-wood-white-seat-379398/'>Pixabay</a></p> <p class='image-attribution'>"Woman Pretty Beautiful " by <a href='https://pixabay.com//en/users/jill111-334088/'>jill111 </a> from <a href='https://pixabay.com/woman-pretty-beautiful-happy-593141/'>Pixabay</a></p> <p class='image-attribution'>"Knive Fork Cutlery " by <a href='https://pixabay.com//en/users/kaboompics-1013994/'>kaboompics </a> from <a href='https://pixabay.com/knive-fork-cutlery-eating-silver-791243/'>Pixabay</a></p> <p class='image-attribution'>"Weights Horizontal Weigh Old " by <a href='https://pixabay.com//en/users/Kito32-4750367/'>Kito32 </a> from <a href='https://pixabay.com/weights-horizontal-weigh-2150646/'>Pixabay</a></p> <p class='image-attribution'>"Clock Pocket " by <a href='https://pixabay.com//en/users/Lissa_87-409492/'>Lissa_87 </a> from <a href='https://pixabay.com/clock-pocket-map-613842/'>Pixabay</a></p> <p class='image-attribution'>"Leg Foot Shoe " by <a href='https://pixabay.com//en/users/MabelAmber-1377835/'>MabelAmber </a> from <a href='https://pixabay.com/leg-foot-shoe-female-person-3229347/'>Pixabay</a></p> <p class='image-attribution'>"People Man Old " by <a href='https://pixabay.com//en/users/Maklay62-182851/'>Maklay62 </a> from <a href='https://pixabay.com/people-man-old-man-faces-senior-1526615/'>Pixabay</a></p> <p class='image-attribution'>"Cobbled Stones Paving " by <a href='https://pixabay.com//en/users/MemoryCatcher-168384/'>MemoryCatcher </a> from <a href='https://pixabay.com/cobbled-stones-paving-cobblestone-1180455/'>Pixabay</a></p> <p class='image-attribution'>"Brittany Stone House Red Windows " by <a href='https://pixabay.com//en/users/mies1951-1427464/'>mies1951 </a> from <a href='https://pixabay.com/brittany-stone-house-red-windows-948181/'>Pixabay</a></p> <p class='image-attribution'>"Pregnant Woman Silence " by <a href='https://pixabay.com//en/users/mooncoffeedn-3623993/'>mooncoffeedn </a> from <a href='https://pixabay.com/pregnant-woman-silence-bathtub-1776026/'>Pixabay</a></p> <p class='image-attribution'>"Hand Gesture Alphabet Deaf " by <a href='https://pixabay.com//en/users/OpenClipart-Vectors-30363/'>OpenClipart-Vectors </a> from <a href='https://pixabay.com/hand-gesture-alphabet-deaf-hand-148366/'>Pixabay</a></p> <p class='image-attribution'>"Laughter Sunset Fun " by <a href='https://pixabay.com//en/users/palmera-2958623/'>palmera </a> from <a href='https://pixabay.com/laughter-sunset-fun-happiness-1532978/'>Pixabay</a></p> <p class='image-attribution'>"Candle Church Light " by <a href='https://pixabay.com//en/users/paologhedini-422890/'>paologhedini </a> from <a href='https://pixabay.com/candle-church-light-fire-candles-1170008/'>Pixabay</a></p> <p class='image-attribution'>"Chandelier Lights Interior " by <a href='https://pixabay.com//en/users/PDPics-44804/'>PDPics </a> from <a href='https://pixabay.com/chandelier-lights-interior-luxury-390632/'>Pixabay</a></p> <p class='image-attribution'>"Music Musician Sound " by <a href='https://pixabay.com//en/users/Pexels-2286921/'>Pexels </a> from <a href='https://pixabay.com/music-musician-sound-concert-1283507/'>Pixabay</a></p> <p class='image-attribution'>"Book Old Antique Expect " by <a href='https://pixabay.com//en/users/Pezibear-526143/'>Pezibear </a> from <a href='https://pixabay.com/book-old-book-antique-771264/'>Pixabay</a></p> <p class='image-attribution'>"People Sunset Horizon Setting " by <a href='https://pixabay.com//en/users/poLiMetralleta-1415804/'>poLiMetralleta </a> from <a href='https://pixabay.com/people-sunset-horizon-setting-sun-1003991/'>Pixabay</a></p> <p class='image-attribution'>"Blood Crime Horror " by <a href='https://pixabay.com//en/users/PublicDomainPictures-14/'>PublicDomainPictures </a> from <a href='https://pixabay.com/blood-crime-horror-death-stain-18983/'>Pixabay</a></p> <p class='image-attribution'>"Brown Brunette Female " by <a href='https://pixabay.com//en/users/PublicDomainPictures-14/'>PublicDomainPictures </a> from <a href='https://pixabay.com/brown-brunette-female-finger-18335/'>Pixabay</a></p> <p class='image-attribution'>"Thumb Up Best " by <a href='https://pixabay.com//en/users/Ramdlon-710044/'>Ramdlon </a> from <a href='https://pixabay.com/thumb-up-best-thumb-hand-good-605738/'>Pixabay</a></p> <p class='image-attribution'>"Pot Steaming Hot " by <a href='https://pixabay.com//en/users/Republica-24347/'>Republica </a> from <a href='https://pixabay.com/pot-steaming-hot-cooking-kitchen-820012/'>Pixabay</a></p> <p class='image-attribution'>"Chef Smell Cook " by <a href='https://pixabay.com//en/users/RestaurantAnticaRoma-1405821/'>RestaurantAnticaRoma </a> from <a href='https://pixabay.com/chef-smell-cook-spice-restaurant-939436/'>Pixabay</a></p> <p class='image-attribution'>"Key Iron Metal " by <a href='https://pixabay.com//en/users/Silberfuchs-721/'>Silberfuchs </a> from <a href='https://pixabay.com/key-iron-metal-old-nostalgic-open-847830/'>Pixabay</a></p> <p class='image-attribution'>"Nepal Pig Head " by <a href='https://pixabay.com//en/users/Simon-3/'>Simon </a> from <a href='https://pixabay.com/nepal-pig-head-butcher-s-butcher-393/'>Pixabay</a></p> <p class='image-attribution'>"Crown Queens Bavaria " by <a href='https://pixabay.com//en/users/skeeze-272447/'>skeeze </a> from <a href='https://pixabay.com/crown-queens-bavaria-germany-759297/'>Pixabay</a></p> <p class='image-attribution'>"Tree Like Silhouette " by <a href='https://pixabay.com//en/users/skeeze-272447/'>skeeze </a> from <a href='https://pixabay.com/tree-like-silhouette-arms-people-662829/'>Pixabay</a></p> <p class='image-attribution'>"Château De Chenonceau Gallery " by <a href='https://pixabay.com//en/users/skeeze-272447/'>skeeze </a> from <a href='https://pixabay.com/ch%C3%A2teau-de-chenonceau-gallery-1095268/'>Pixabay</a></p> <p class='image-attribution'>"Marriage Bride Gown " by <a href='https://pixabay.com//en/users/SnapwireSnaps-692569/'>SnapwireSnaps </a> from <a href='https://pixabay.com/marriage-bride-gown-dress-white-598314/'>Pixabay</a></p> <p class='image-attribution'>"Fireworks Pyrotechnics Flame " by <a href='https://pixabay.com//en/users/Stevebidmead-249424/'>Stevebidmead </a> from <a href='https://pixabay.com/fireworks-pyrotechnics-flame-bright-344769/'>Pixabay</a></p> <p class='image-attribution'>"Hands Walking Stick Elderly Old " by <a href='https://pixabay.com//en/users/stevepb-282134/'>stevepb </a> from <a href='https://pixabay.com/hands-walking-stick-elderly-981400/'>Pixabay</a></p> <p class='image-attribution'>"Doorway Beach Opening " by <a href='https://pixabay.com//en/users/terimakasih0-624267/'>terimakasih0 </a> from <a href='https://pixabay.com/doorway-beach-opening-entrance-981803/'>Pixabay</a></p> <p class='image-attribution'>"Laundry Nunnery Towels " by <a href='https://pixabay.com//en/users/thomaspedrazzoli-108888/'>thomaspedrazzoli </a> from <a href='https://pixabay.com/laundry-nunnery-towels-buddhism-504215/'>Pixabay</a></p> <p class='image-attribution'>"Sunbeam Fog Autumn " by <a href='https://pixabay.com//en/users/Websi-19306/'>Websi </a> from <a href='https://pixabay.com/sunbeam-fog-autumn-nature-sunlight-76825/'>Pixabay</a></p> <p class='image-attribution'>"Cattle Skull African Buffalo " by <a href='https://pixabay.com//en/users/WikiImages-1897/'>WikiImages </a> from <a href='https://pixabay.com/cattle-skull-skull-african-buffalo-67740/'>Pixabay</a></p> <p class='image-attribution'>"Anthonie Van Der Hout Painting " by <a href='https://pixabay.com//en/users/WikimediaImages-1185597/'>WikimediaImages </a> from <a href='https://pixabay.com/anthonie-van-der-hout-painting-876208/'>Pixabay</a></p> <p class='image-attribution'>"Oliver Kahn Man Human" by <a href='https://pixabay.com/en/users/hermelin-363532/'>Hermelin </a> from <a href='https://pixabay.com/en/oliver-kahn-man-human-football-406393/'>Pixabay</a></p> All Pixabay images have a CC0 Creative Commons license (free for commercial use). <p class='image-attribution'>Sidebar background from <a href="https://www.toptal.com/designers/subtlepatterns/xv/">subtlepatterns</a>, made by <a href="http://www.oddfur.com/">Lasma</a>, CC BY-SA 3.0.</p> <p class='image-attribution'>dancing.jpg by <a href="https://morguefile.com/creative/lisasolonynko"lisasolonynko</a> on <a href="https://morguefile.com/p/199819">Morguefile</a>, under Morguefile license.</p> <p class='image-attribution'>Diversity, woman, person and portrait by <a href='https://unsplash.com/@samueldixon'>Samuel Dixon</a> from <a href='https://unsplash.com/photos/-fQ5XNOcqFQ'>Unsplash</a></p> <p class='image-attribution'>Girl covering her face by <a href='https://unsplash.com/@caleb_woods'>Caleb Woods</a> from <a href='https://unsplash.com/photos/VZILDYoqn_U'>Unsplash</a></p> <p class='image-attribution'>Skull on a red wall by <a href='https://unsplash.com/@artakpetrosyan'>Artak Petrosyan</a> from <a href='https://unsplash.com/photos/esmoEu_s30A'>Unsplash</a></p> <p class='image-attribution'>An egg by <a href='https://unsplash.com/@groosheck'>Michal Grosicki</a> from <a href='https://unsplash.com/photos/F4EdW0sSsaM'>Unsplash</a></p> <p class='image-attribution'>Child, hole, person and eye by <a href='https://unsplash.com/@ratushny'>Dmitry Ratushny</a> from <a href='https://unsplash.com/photos/xsGApcVbojU'>Unsplash</a></p> </div><div id='tonoon' class='compass-initial'><img class='optimg' src='img/opts/door.jpg'><div class='optext'><div class='optitle'>Out through the Noon Door </div><div class='optooltip'>The front gate of the Palace.</div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tonoon').click(function () { s.narration['Noon Door'].push('exitleavepalace'); s.actionslog.push('tonoon');s.fullHistory.push('Noon Door exit');story.show( 'Noon Door' ); }); }); %><div id='toentrance' class='compass-initial'><img class='optimg' src='img/opts/entrance.jpg'><div class='optext'><div class='optitle'>To the Grand Entrance Hall </div><div class='optooltip'>The central room in this floor. Far from the opulence of the Gallery, some people discuss their affairs with less public.</div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#toentrance').click(function () { s.actionslog.push('Grand Entrance Hall exit');s.fullHistory.push('Grand Entrance Hall exit');story.show( 'Grand Entrance Hall' ); }); }); %><div id='toeastgallery' class='compass-initial'><img class='optimg' src='img/opts/east_gallery.jpg'><div class='optext'><div class='optitle'>Marble Gallery, East </div><div class='optooltip'>Where people gossip, but they are rich, so they call it decent conversation. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#toeastgallery').click(function () { s.actionslog.push('toeastgallery');s.fullHistory.push('Marble Gallery, East exit');story.show( 'Marble Gallery, East' ); }); }); %><div id='towestgallery' class='compass-initial'><img class='optimg' src='img/opts/west_gallery.jpg'><div class='optext'><div class='optitle'>Marble Gallery, West </div><div class='optooltip'>A small orchestra and dancers are in this side. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#towestgallery').click(function () { s.actionslog.push('towestgallery');s.fullHistory.push('Marble Gallery, West exit');story.show( 'Marble Gallery, West' ); }); }); %><div id='todining' class='compass-initial'><img class='optimg' src='img/opts/dining.jpg'><div class='optext'><div class='optitle'>To the Dining Hall </div><div class='optooltip'>The hall for tonight's gala dinner. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#todining').click(function () { s.actionslog.push('todining');s.fullHistory.push('Dining Hall exit');story.show( 'Dining Hall' ); }); }); %><div id='tolibrary' class='compass-initial'><img class='optimg' src='img/opts/library.jpg'><div class='optext'><div class='optitle'>To the Library </div><div class='optooltip'>The Library is mercifully free of the demands of the party. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tolibrary').click(function () { s.actionslog.push('tolibrary');s.fullHistory.push('Library exit');story.show( 'Library' ); }); }); %><div id='tokitchen' class='compass-initial'><img class='optimg' src='img/opts/kitchen.jpg'><div class='optext'><div class='optitle'>To the kitchen </div><div class='optooltip'>The kitchen is the main space in the basement. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tokitchen').click(function () { s.actionslog.push('tokitchen');s.fullHistory.push('Kitchen exit');story.show( 'Kitchen' ); }); }); %><div id='topantry' class='compass-initial'><img class='optimg' src='img/opts/pantry.jpg'><div class='optext'><div class='optitle'>The pantry</div><div class='optooltip'>All that food must come from somewhere. A very large somewhere, it seems. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#topantry').click(function () { s.actionslog.push('topantry');s.fullHistory.push('Pantry exit');story.show( 'Pantry' ); }); }); %><div id='tolaundry' class='compass-initial'><img class='optimg' src='img/opts/laundry.jpg'><div class='optext'><div class='optitle'>The laundry </div><div class='optooltip'>A place where private clothes are privately washed. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tolaundry').click(function () { s.actionslog.push('tolaundry');s.fullHistory.push('Laundry exit');story.show( 'Laundry' ); }); }); %><div id='tomain' class='compass-initial'><img class='optimg' src='img/opts/mainhallway.jpg'><div class='optext'><div class='optitle'>The main hallway </div><div class='optooltip'>The central hallway in the first floor. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tomain').click(function () { s.actionslog.push('tomain');s.fullHistory.push('Main Hallway exit');story.show( 'Main Hallway' ); }); }); %><div id='tonorth' class='compass-initial'><img class='optimg' src='img/opts/north_hallway.jpg'><div class='optext'><div class='optitle'>Northern Hallway </div><div class='optooltip'>The principal passageway in the Northern half of the floor. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tonorth').click(function () { s.actionslog.push('tonorth');s.fullHistory.push('Northern Hallway exit');story.show( 'Northern Hallway' ); }); }); %><div id='tosouth' class='compass-initial'><img class='optimg' src='img/opts/south_hallway.jpg'><div class='optext'><div class='optitle'>South Hallway </div><div class='optooltip'>The central passageway in the South side. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tosouth').click(function () { s.actionslog.push('tosouth');s.fullHistory.push('Southern Hallway exit');story.show( 'Southern Hallway' ); }); }); %><div id='toportrait' class='compass-initial'><img class='optimg' src='img/opts/portrait.jpg'><div class='optext'><div class='optitle'>Portrait Room </div><div class='optooltip'>A less important dining hall. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#toportrait').click(function () { s.actionslog.push('toportrait');s.fullHistory.push('Portrait Room exit');story.show( 'Portrait Room' ); }); }); %><div id='toharmonic' class='compass-initial'><img class='optimg' src='img/opts/harmonic.jpg'><div class='optext'><div class='optitle'>Harmonic Room </div><div class='optooltip'>The music room. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#toharmonic').click(function () { s.actionslog.push('toharmonic');s.fullHistory.push('Harmonic Room exit');story.show( 'Harmonic Room' ); }); }); %><div id='tonursery' class='compass-initial'><img class='optimg' src='img/opts/nursery.jpg'><div class='optext'><div class='optitle'>The nursery </div><div class='optooltip'>Where children are briefly allowed to rule. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tonursery').click(function () { s.actionslog.push('tonursery');s.fullHistory.push('Nursery exit');story.show( 'Nursery' ); }); }); %><div id='tocouncil' class='compass-initial'><img class='optimg' src='img/opts/council.jpg'><div class='optext'><div class='optitle'>Council Room </div><div class='optooltip'>A political room. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tocouncil').click(function () { s.actionslog.push('tocouncil');s.fullHistory.push('Council Room exit');story.show( 'Council Room' ); }); }); %><div id='tomap' class='compass-initial'><img class='optimg' src='img/opts/map.jpg'><div class='optext'><div class='optitle'>Map Cabinet </div><div class='optooltip'>The war room. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tomap').click(function () { s.actionslog.push('tomap');s.fullHistory.push('Map Cabinet exit');story.show( 'Map Cabinet' ); }); }); %><div id='tocovenant' class='compass-initial'><img class='optimg' src='img/opts/covenant.jpg'><div class='optext'><div class='optitle'>Covenant Office </div><div class='optooltip'>Where power resides. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tocovenant').click(function () { s.actionslog.push('tocovenant');s.fullHistory.push('Covenant Office exit');story.show( 'Covenant Office' ); }); }); %><div id='tostairs' class='compass-initial'><img class='optimg' src='img/opts/garden_stairs.jpg'><div class='optext'><div class='optitle'>Garden Stairs </div><div class='optooltip'>The stairs communicate the Marble Gallery with the garden. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tostairs').click(function () { s.actionslog.push('tostairs');s.fullHistory.push('Garden Stairs exit');story.show( 'Garden Stairs' ); }); }); %><div id='totreasure' class='compass-initial'><img class='optimg' src='img/opts/treasury.jpg'><div class='optext'><div class='optitle'>Ionic Treasury </div><div class='optooltip'>Fake ruins of a never built building. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#totreasure').click(function () { s.actionslog.push('totreasure');s.fullHistory.push('Ionic Treasury exit');story.show( 'Ionic Treasury' ); }); }); %><div id='toriver' class='compass-initial'><img class='optimg' src='img/opts/pier.jpg'><div class='optext'><div class='optitle'>River pier </div><div class='optooltip'>The solitary murmur of the Castain river. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#toriver').click(function () { s.actionslog.push('toriver');s.fullHistory.push('River pier exit');story.show( 'River pier' ); }); }); %><div id='tofountain' class='compass-initial'><img class='optimg' src='img/opts/fountain.jpg'><div class='optext'><div class='optitle'>Fountain </div><div class='optooltip'>The centre of the garden. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#tofountain').click(function () { s.actionslog.push('tofountain');s.fullHistory.push('Fountain exit');story.show( 'Fountain' ); }); }); %><div id='topavilion' class='compass-initial'><img class='optimg' src='img/opts/pavilion.jpg'><div class='optext'><div class='optitle'>Blue Pavilion </div><div class='optooltip'>A leisure pavilion. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#topavilion').click(function () { s.actionslog.push('topavilion');s.fullHistory.push('Blue Pavilion exit');story.show( 'Blue Pavilion' ); }); }); %><div id='totables' class='compass-initial'><img class='optimg' src='img/opts/tables.jpg'><div class='optext'><div class='optitle'>Outside tables </div><div class='optooltip'>The gathering place for the performers. </div></div></div><% s.compassCount = s.compassCount+1; $(function () { $('#totables').click(function () { s.actionslog.push('totables');s.fullHistory.push('Outside tables exit');story.show( 'Outside tables' ); }); }); %><div id='toportolan' class='compass-initial'><img class='optimg' src='img/opts/portolan.jpg'><div class='optext'><div class='optitle'>Portolan Gallery</div><div class='optooltip'>Halfway between the ground and the first floor.</div></div></div><% $(function () { $('#toportolan').click(function () { s.actionslog.push('toportolan');s.fullHistory.push('Portolan Gallery');story.show( 'Portolan Gallery' ); }); }); %><div id='opDinnerPavilionEnter' class='oport story'><img class='optimg' src='img/opts/dining.jpg'><div class='optext'><div class='optitle'>Go inside</div><div class='opdesc'>This means I choose to have dinner in the Pavilion. I won't be able to leave until dinner ends.</div></div></div><% $(function () { $('#opDinnerPavilionEnter').click(function () { $('#opDinnerPavilionEnter').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerPavilionEnter'); s.fullHistory.push('op Dinner Pavilion Enter');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Pavilion Enter';});}); %> <% s.exitList["Blue Pavilion"] = [ "no exit", "no exit", "no exit", "no exit", "no exit", "no exit"]; %> <% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Pavilion Leave') == false ) { s.opport['Blue Pavilion'].push('op Dinner Pavilion Leave'); }; %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Pavilion Sit') == false ) { s.opport['Blue Pavilion'].push('op Dinner Pavilion Sit'); }; %><% s.narration['Blue Pavilion'].push('0-dinnerpavilionenter'); %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I mix with the people</span> going inside. Lesser men of church, merchants from Aurora and Marina that trade spices, tea and colours, oil and wine makers from the Marinean plain, foreigners that are deemed respectable. The Pavilion is light and airy, but there's so much people that the air feels thick and worn out. I recognize some people I know well: my friend Arboricola, Clara's guest Cesarel Iuvens. <% if (_.contains(s.fullHistory, ' 0-efendiaskdance')) { %><% print("<p>Azmi Effendi is also here, and he's not alone. His friend Kapitan Orlov, from the Russian imperial army, sits near to him, and there is a third man talking to them.</p>"); %><% } else { %><% print("<p>Another man that I have met briefly, the Ottoman envoy Azmi Effendi, is also here, and he's not alone. His friend Kapitan Orlov, from the Russian imperial army, sits near to him, and there is a third man talking to them.</p>"); %><% }; %><% if (_.contains(s.fullHistory, '0-talkiliopoulos')) { %><% print("<p>It's Iliopoulos, the Greek painter.</p>"); %><% } else { %><% }; %><% if (_.contains(s.fullHistory, '100-marelfamilyinmarble')) { %><% print("<p>Agustil Marel is also here. He stares at me with... that typical stare he has for me. He's with his brothers and their wives, and there is an empty seat by his side.</p>"); %><% } else { %><% print("<p>Agustil Marel is also here. He stares at me with... that typical stare he has for me. He's with his brothers and their wives, and there is an empty seat by his side. I haven't seen him almost since last year's Burburum Day. He looks *very* charming.</p>"); %><% }; %> <% if (_.contains(s.fullHistory, '0-andropolpoemmurder')) { %><% print("<p>Andropol told me the crying spirit would be in the Dining Hall, in the ground floor. The thought makes me shiver, but perhaps I *should* go.</p>"); %><% }; %><div id='opDinnerPavilionLeave' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Leave now and have dinner somewhere else</div><div class='opdesc'>Do I really want to do this?</div></div></div><% $(function () { $('#opDinnerPavilionLeave').click(function () { $('#opDinnerPavilionLeave').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerPavilionLeave'); s.fullHistory.push('op Dinner Pavilion Leave');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Pavilion Leave';});}); %> <% s.exitList["Blue Pavilion"] = ["Fountain exit", "no exit", "no exit", "Ionic Treasury exit", "no exit", "no exit"]; %> <% s.narration['Fountain'].push('0-dinnerpavilionleave'); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Pavilion Sit' ); %> <% s.eventIgnore.push('ev Dinner Close Doors'); %><% targetTurn = s.turn+7;targetEvent = 'ev Dinner Close Doors';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% function gotDelay() {story.show('Fountain');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Do I want this?</span> Having to explain so many things? Just because... a stare? I don't, I tell myself. I turn around and leave the Blue Pavilion. It's already dinner time: I must run to the Dining Hall before they close the doors.<div id='opDinnerPavilionSit' class='oport story'><img class='optimg' src='img/opts/dining.jpg'><div class='optext'><div class='optitle'>Sit near Agustil</div><div class='opdesc'>Let's give people something to talk about.</div></div></div><% $(function () { $('#opDinnerPavilionSit').click(function () { $('#opDinnerPavilionSit').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerPavilionSit'); s.fullHistory.push('op Dinner Pavilion Sit');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Pavilion Sit';});}); %> <% s.log.push("I had dinner in the Blue Pavilion, instead of the intended place."); %><% s.narration['Blue Pavilion'].push('0-pavilionsitagustil'); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Pavilion Leave' ); %><% targetTurn = s.turn+1;targetEvent = 'ev Dinner Pavilion Appetizers';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Dinner Marel Silence';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Dinner Pavilion Irene can change table';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Marel Voyage') == false ) { s.opport['Blue Pavilion'].push('op Dinner Marel Voyage'); }; %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Marel Scars') == false ) { s.opport['Blue Pavilion'].push('op Dinner Marel Scars'); }; %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Marel Haze') == false ) { s.opport['Blue Pavilion'].push('op Dinner Marel Haze'); }; %> <% if (_.contains(s.fullHistory, '0-promisearboricolajoin')) { %><% } else { %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Pavilion Wheel Comment') == false ) { s.opport['Blue Pavilion'].push('op Dinner Pavilion Wheel Comment'); }; %><% }; %> <% s.eventIgnore.push('ev Dinner Immediate'); %><% s.eventIgnore.push('ev Dinner Close Pavilion'); %><% s.eventIgnore.push('ev Dinner end when you join no dinner'); %> <% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I frown</span> and walk between the tables. Most of these people are obsessed with respectability, more than the nobles they envy. Well, here's some gossip for you. I smile now. Am I in control of this? Agustil will never be able to hide his thoughts from me. No matter how wide he smiles when I sit next to him, I know he's deeply surprised I came. 'So?' I ask. 'Pleasant night? No marriage propositions?' 'Marriage is war,' he says. <% if (_.contains(s.fullHistory, 'GLORIA TE HA CONTADO SU ROLLO')) { %><% print("<p>'That's what my sister says.'</p>"); %><% }; %><% s.narration['Blue Pavilion'].push('500-dinnerpavilionappetizers'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Dinner Pavilion Food 2';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+1;targetEvent = 'ev Dinner Pavilion Burburum';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %>The table is already crammed full of small dishes, bowls and bottles and under constant assault from the guests: olives, almonds, sweet wine, mashed lentils, dark bread. I'm not too hungry, a few nuts will be enough for the moment.<% s.narration['Blue Pavilion'].push('500-dinnerpavilionburburum'); %>I notice some Burburum standing in the corners of the room, flexible but immobile like trees. One catches my attention more than the others: a woman with a necklace made of keys. <% print( story.render( "mars mechanism") ); %> With their eyes hidden by the masks, the Burburum could be either watching or sleeping; they could be even empty disguises assembled on top of some upright sticks.<% s.narration['Blue Pavilion'].push('500-dinnerpavilionfood2'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Dinner Pavilion Food 3';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Dinner Pavilion Burburum Gone';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %>They serve us roasted squab; I tentatively explore mine with the knife: '*trop cuit,*' I mumble when the knife bounces back, barely making a dent on the blackened skin.<% s.narration['Blue Pavilion'].push('500-dinnerpavilionfood3'); %>It's a pity that people require my attention and I can't enjoy the lemon lamb adequately.<% s.narration['Blue Pavilion'].push('500-dinnerpavilionburburumgone'); %>I notice that the Burburum are gone. I pause to take a good look around. The many merchants from Aurora and Marina are mostly serious and circumspect, while other groups are noisier, even rambunctious: ship officers, soldiers, landowners. <% if (_.contains(s.fullHistory, '10-Irene explores other tables in pavilion after dinner')) { %><% } else { %><% if (_.contains(s.fullHistory, '0-talkiliopoulos')) { %><% print("<p>I see the Ottoman envoy Effendi in a lively conversation with the Greek visitor Iliopoulos, while their common friend, the Russian officer Orlov, remains serious and silent, looking in another direction, apparently not listening.</p>"); %><% } else { %><% print("<p>I see the Ottoman envoy Effendi in a lively conversation with one of his companions, while his friend, the Russian officer Orlov, remains serious and silent, looking in another direction, apparently not listening.</p>"); %><% }; %><% }; %><% s.narration['Blue Pavilion'].push('1000-Irene can change table'); %><span class='high-emphasis'>I realize</span> that the dinner is almost over. Guests are starting to stand up and leave the pavilion, while others remain behind, drinking one more glass of wine, or wandering from table to table. <% if ( _.contains(s.opport['Blue Pavilion'], 'op Irene leaves pavilion after dinner') == false ) { s.opport['Blue Pavilion'].push('op Irene leaves pavilion after dinner'); }; %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Irene explores other tables in pavilion after dinner') == false ) { s.opport['Blue Pavilion'].push('op Irene explores other tables in pavilion after dinner'); }; %> <% targetTurn = s.turn+1;targetEvent = 'ev Irene must change table or leave pavilion dinner';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Voyage' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Scars' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Haze' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Debts' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Father' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Canton' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Agustil tells Irene about his dance with Tavia' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Silence' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Pavilion Wheel Comment' ); %> <% s.eventIgnore.push('ev Dinner Pavilion Food 2'); %><% s.eventIgnore.push('ev Dinner Pavilion Food 3'); %><div id='opIreneleavespavilionafterdinner' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Leave the Pavilion</div><div class='opdesc'>And end all conversations here.</div></div></div><% $(function () { $('#opIreneleavespavilionafterdinner').click(function () { $('#opIreneleavespavilionafterdinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneleavespavilionafterdinner'); s.fullHistory.push('op Irene leaves pavilion after dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene leaves pavilion after dinner';});}); %> <% s.narration['Blue Pavilion'].push('10-Irene leaves pavilion after dinner'); %> <% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Irene explores other tables in pavilion after dinner' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Voyage' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Scars' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Haze' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Debts' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Father' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Canton' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Agustil tells Irene about his dance with Tavia' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Silence' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Pavilion Wheel Comment' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Irene sits with Orlov and Effendi in pavilion dinner' ); %> <% s.eventIgnore.push('ev Dinner Pavilion Food 2'); %><% s.eventIgnore.push('ev Dinner Pavilion Food 3'); %><% s.eventIgnore.push('ev Dinner Pavilion Burburum Gone'); %> <% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-dinnerpavilionfood2' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-dinnerpavilionfood3' ); %> <% targetTurn = s.turn+1;if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( s.namedEvent['dinner-end'] ); s.timedEvent[targetTurn] = _.flatten( s.timedEvent[targetTurn] ) } else { s.timedEvent[targetTurn] = _.flatten(s.namedEvent['dinner-end']); }; s.namedEvent['dinner-end'] = [ ]; %> <% s.exitList["Blue Pavilion"] = [ "Fountain exit", "no exit", "no exit", "Ionic Treasury exit", "no exit", "no exit"]; %> <% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I've had enough.</span> It's dark outside now and I want to see children tease Burburum in the light of the torches. I say my goodbyes and get out. The night is warm and heavy. Today's suffocating haze still lingers. Or perhaps it's just the full stomach.<div id='opIreneexploresothertablesinpavilionafterdinner' class='oport story'><img class='optimg' src='img/opts/laugh.jpg'><div class='optext'><div class='optitle'>Wander to another table</div><div class='opdesc'>Other people can be welcoming and entertaining.</div></div></div><% $(function () { $('#opIreneexploresothertablesinpavilionafterdinner').click(function () { $('#opIreneexploresothertablesinpavilionafterdinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneexploresothertablesinpavilionafterdinner'); s.fullHistory.push('op Irene explores other tables in pavilion after dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene explores other tables in pavilion after dinner';});}); %> <% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Irene explores other tables in pavilion after dinner' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Voyage' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Scars' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Haze' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Debts' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Father' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Canton' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Agustil tells Irene about his dance with Tavia' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Marel Silence' ); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Pavilion Wheel Comment' ); %> <% s.eventIgnore.push('ev Dinner Pavilion Food 2'); %><% s.eventIgnore.push('ev Dinner Pavilion Food 3'); %> <% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-dinnerpavilionfood2' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-dinnerpavilionfood3' ); %> <% s.narration['Blue Pavilion'].push('10-Irene explores other tables in pavilion after dinner'); %> <% if (_.contains(s.fullHistory, '10-not talk in defense of effendi')) { %><% } else { %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Irene sits with Orlov and Effendi in pavilion dinner') == false ) { s.opport['Blue Pavilion'].push('op Irene sits with Orlov and Effendi in pavilion dinner'); }; %><% }; %> <% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I say my goodbyes to Agustil,</span> who knows too much to be really surprised, and go explore. I attended Burburum Day dinner in the Pavilion until I turned fifteen, when I became old enough to join Father and Mother in the Dining Hall. As children, Clara and I would escape from our guardian, run from table to table and strike up conversations with all the marvelous foreigners. Almost no foreigners in the Dining Hall, and certainly no running. I miss them. I asked, with fascination born of (I know now) some deep fear, where they came from. Whaling captains from New England! Venetian Jews! Two merchant partners from Algiers, one Italian and the other a moor! A troop of women performers from Bohemia! Everything seemed so big and strange to a child.[ <span class='high-emphasis'>The sky</span> is covered in honey. The land? It is covered in dust. The thinnest of particles coat the ground, the tables, the windowsills. Today was the day of the worst haze and dusty wind that I have ever seen. But today we celebrate! Because it's Burburum Day. ]{.large-text} <div class="img-preload-hide"> <%= story.render("image preload 2") %> </div> <% s.bg = 'bg-entrance-active'; %> <% $('body').addClass('imgmask1'); %><% s.passTitle = "Home"; %><% s.passDescription.push("Victor House."); %><% s.passImage = 'img/opts/victor_house.jpg'; %> <%= story.render(s.generator) %><% s.passTitle = "High city"; %><% s.passDescription.push("The streets of Aurora."); %><% s.passImage = 'img/opts/street.jpg'; %> <%= story.render(s.generator) %><% s.passTitle = "Covenant Square"; %><% s.passDescription.push("The center of the city, near the Castain and the Palace."); %><% s.passImage = 'img/opts/aurora_golden.jpg'; %> <%= story.render(s.generator) %><% s.passTitle = "The outer gate"; %><% s.passDescription.push("The outer gate to the Palace."); %><% s.passImage = 'img/opts/generic.jpg'; %> <%= story.render(s.generator) %><div id='opHomeDay' class='oport story'><img class='optimg' src='img/opts/light.jpg'><div class='optext'><div class='optitle'>September 8th, 1834</div><div class='opdesc'>Today we have the biggest festival of the year.</div></div></div><% $(function () { $('#opHomeDay').click(function () { $('#opHomeDay').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opHomeDay'); s.fullHistory.push('op Home Day');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Home Day';});}); %> <% s.narration['Home'].push('irene is ready to leave victor house'); %><% if ( _.contains(s.opport['Home'], 'op Irene pays the girl and leaves home') == false ) { s.opport['Home'].push('op Irene pays the girl and leaves home'); }; %><% if ( _.contains(s.opport['Home'], 'op Irene dismisses the girl and leaves home') == false ) { s.opport['Home'].push('op Irene dismisses the girl and leaves home'); }; %><% function gotDelay() {story.show('Home');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Lady Irene!'</span> The coach is here to take me to the Festival. I grab my candle and get ready to leave, when a rascal no older than nine calls my name. She stands under the coach window, dirty and scrawny, and gives me a folded note. 'Who's this from?' 'They told me it was your sister's home,' she says. 'Lady Gloria.' She stays, hoping for a coin. The coachman groans with disgust. <div class="img-preload-hide"> <%= story.render("image preload 3") %> </div><div id='opIrenepaysthegirlandleaveshome' class='oport story'><img class='optimg' src='img/opts/money.jpg'><div class='optext'><div class='optitle'>Pay the girl and leave</div><div class='opdesc'></div></div></div><% $(function () { $('#opIrenepaysthegirlandleaveshome').click(function () { $('#opIrenepaysthegirlandleaveshome').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenepaysthegirlandleaveshome'); s.fullHistory.push('op Irene pays the girl and leaves home');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene pays the girl and leaves home';});}); %> <% s.narration['High city'].push('Irene pays the girl and leaves home'); %><% if ( _.contains(s.opport['High city'], 'op irene reads the anonymous message') == false ) { s.opport['High city'].push('op irene reads the anonymous message'); }; %><% s.opport['Home'] = _.without( s.opport['Home'] , 'op Irene dismisses the girl and leaves home' ); %><% function gotDelay() {story.show('High city');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The girl steals the coin</span> from my fingers and runs away. 'Remember me, Lady, I'm the best errand girl in the city! My name is Liberteli!' A moment later we leave Victor House. We need to avoid the maze of steep streets between the house and the Palace, so we take a long detour through the highest part of the city. <div class="img-preload-hide"> <%= story.render("image preload 4") %> </div><div id='opIrenedismissesthegirlandleaveshome' class='oport story'><img class='optimg' src='img/opts/thumb_down.jpg'><div class='optext'><div class='optitle'>Dismiss the girl without paying and leave</div><div class='opdesc'>Sure she's been already paid.</div></div></div><% $(function () { $('#opIrenedismissesthegirlandleaveshome').click(function () { $('#opIrenedismissesthegirlandleaveshome').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenedismissesthegirlandleaveshome'); s.fullHistory.push('op Irene dismisses the girl and leaves home');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene dismisses the girl and leaves home';});}); %> <% s.narration['High city'].push('Irene dismisses the girl and leaves home'); %><% if ( _.contains(s.opport['High city'], 'op irene reads the anonymous message') == false ) { s.opport['High city'].push('op irene reads the anonymous message'); }; %><% s.opport['Home'] = _.without( s.opport['Home'] , 'op Irene pays the girl and leaves home' ); %><% function gotDelay() {story.show('High city');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I wave to dismiss the girl.</span> She cries: 'Remember me, Lady, I'm the best errand girl in the city! My name is Liberteli!' A moment later we leave Victor House. We need to avoid the maze of steep streets between the house and the Palace, so we take a long detour through the highest part of the city. <div class="img-preload-hide"> <%= story.render("image preload 4") %> </div><div id='opirenereadstheanonymousmessage' class='oport story'><img class='optimg' src='img/opts/eyes.jpg'><div class='optext'><div class='optitle'>Read the anonymous note</div><div class='opdesc'></div></div></div><% $(function () { $('#opirenereadstheanonymousmessage').click(function () { $('#opirenereadstheanonymousmessage').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opirenereadstheanonymousmessage'); s.fullHistory.push('op irene reads the anonymous message');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene reads the anonymous message';});}); %> <% s.narration['High city'].push('irene reads the anonymous message'); %><% if ( _.contains(s.opport['High city'], 'op High City Watch') == false ) { s.opport['High city'].push('op High City Watch'); }; %><% if ( _.contains(s.opport['High city'], 'op High City Talk') == false ) { s.opport['High city'].push('op High City Talk'); }; %><% s.reminders['readnoteaboutgloria'] = "I received an anonymous note warning me about my sister Gloria."; %><% function gotDelay() {story.show('High city');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>When I finish the note,</span> I've already forgotten the girl's name, and I'm clenching my left fist so hard it hurts. *What's she up to now?* I look outside, a panoramic view of the city and the pulsating haze. Remembering the last fit I had. I won't let her do it again. Gloria can't be trusted: I'll tell Clara, perhaps I'll tell Father. Not today of all days. I open my hand and force myself to calm down.<div id='opHighCityWatch' class='oport story'><img class='optimg' src='img/opts/eyes.jpg'><div class='optext'><div class='optitle'>Look at my city</div><div class='opdesc'>The name of Aurora suits the city today more than ever.</div></div></div><% $(function () { $('#opHighCityWatch').click(function () { $('#opHighCityWatch').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opHighCityWatch'); s.fullHistory.push('op High City Watch');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op High City Watch';});}); %> <% s.narration['Covenant Square'].push('highcityauroralook'); %><% if ( _.contains(s.opport['Covenant Square'], 'op Covenant Look') == false ) { s.opport['Covenant Square'].push('op Covenant Look'); }; %><% if ( _.contains(s.opport['Covenant Square'], 'op Covenant Talk') == false ) { s.opport['Covenant Square'].push('op Covenant Talk'); }; %><% s.opport['High city'] = _.without( s.opport['High city'] , 'op High City Talk' ); %><% function gotDelay() {story.show('Covenant Square');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Shadows are pale and blurry</span>, the role of light no more defining shapes but filling and swelling them. The domes and towers of Aurora emerge almost like natural features. The Castain pulsates like a luminous vein, and seagulls bring their lament all the way from the Mediterranean. We slow down through the Golden Boulevard, full of celebrating people: the Palace is merely one minute away, and lots of people walk in that direction, for today no one can be denied entrance. There is a spark in these people. I can see it flickering, and I feel a rare pride. These are my people, who conquered invaders and overcame despots. Even if these days I prefer being alone in the woods, studying the plants.<div id='opHighCityTalk' class='oport story'><img class='optimg' src='img/opts/laugh.jpg'><div class='optext'><div class='optitle'>Talk to Antoen</div><div class='opdesc'>The coachman is always eager to tell stories.</div></div></div><% $(function () { $('#opHighCityTalk').click(function () { $('#opHighCityTalk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opHighCityTalk'); s.fullHistory.push('op High City Talk');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op High City Talk';});}); %> <% s.narration['Covenant Square'].push('highcityantoentalk'); %><% if ( _.contains(s.opport['Covenant Square'], 'op Covenant Look') == false ) { s.opport['Covenant Square'].push('op Covenant Look'); }; %><% if ( _.contains(s.opport['Covenant Square'], 'op Covenant Talk') == false ) { s.opport['Covenant Square'].push('op Covenant Talk'); }; %><% s.opport['High city'] = _.without( s.opport['High city'] , 'op High City Watch' ); %><% function gotDelay() {story.show('Covenant Square');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'We didn't take to the streets like this,'</span> the coachman says. 'The first time was when we kicked Napoleon's army out in 1811. Music and dancing and flowers everywhere. The mayor had to make an speech in every corner. Same day I had to bring the midwife to your mother, Lady Irene.' 'I like seeing people enjoying themselves. But so many people... they make me nervous,' I confess. 'Well, Lady, maybe you can get better if you dance!' We slow down through the Golden Boulevard, full of celebrating people: the Palace is merely one minute away, and lots of people walk in that direction, for today no one can be denied entrance. There is a spark in these people. I can see it flickering.<div id='opCovenantLook' class='oport story'><img class='optimg' src='img/opts/people.jpg'><div class='optext'><div class='optitle'>Look at the people</div><div class='opdesc'>Today is the day that celebrates our people.</div></div></div><% $(function () { $('#opCovenantLook').click(function () { $('#opCovenantLook').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCovenantLook'); s.fullHistory.push('op Covenant Look');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Covenant Look';});}); %> <% s.narration['The outer gate'].push('covenantlookpeople'); %><% if ( _.contains(s.opport['The outer gate'], 'op Gate Noon') == false ) { s.opport['The outer gate'].push('op Gate Noon'); }; %><% s.opport['Covenant Square'] = _.without( s.opport['Covenant Square'] , 'op Covenant Talk' ); %><% function gotDelay() {story.show('The outer gate');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Today is the day that celebrates our people</span>, so all can be here: rich and poor, merchants, peasants and fishermen, men, women, children and old. The fame of our festival attracts foreigners from places as far as Persia or the New World. And, of course, there are Burburum. I get down in front of the Palace's outer gate. Everyone will be here. My family, my friends. The men in power that I need to talk to. At eight, the grand ball. At nine, the Wheel of Grievances. At ten, dinner. And a bit after midnight, the most important ceremony of all. So many people, so many things to do at all times. I will miss things.<div id='opCovenantTalk' class='oport story'><img class='optimg' src='img/opts/laugh.jpg'><div class='optext'><div class='optitle'>Talk to Antoen</div><div class='opdesc'>What will he do tonight?</div></div></div><% $(function () { $('#opCovenantTalk').click(function () { $('#opCovenantTalk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCovenantTalk'); s.fullHistory.push('op Covenant Talk');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Covenant Talk';});}); %> <% s.narration['The outer gate'].push('covenanttalkantoen'); %><% if ( _.contains(s.opport['The outer gate'], 'op Gate Noon') == false ) { s.opport['The outer gate'].push('op Gate Noon'); }; %><% s.opport['Covenant Square'] = _.without( s.opport['Covenant Square'] , 'op Covenant Look' ); %><% function gotDelay() {story.show('The outer gate');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>After dinner, Antoen will wait</span> with the coach near the Palace. 'I will watch the celebrations,' he says, 'and play cards with the other coachmen. I only play cards one night a year. My father lost all in card games, but I am not him and I can be free of his mistakes one night. Can't we all?' I get down in front of the Palace's outer gate. Everyone will be here. My family, my friends. The men in power that I need to talk to. At eight, the grand ball. At nine, the Wheel of Grievances. At ten, dinner. And a bit after midnight, the most important ceremony of all. So many people, so many things to do at all times. I will miss things.<div id='opGateNoon' class='oport story'><img class='optimg' src='img/opts/door.jpg'><div class='optext'><div class='optitle'>Walk to the main door</div><div class='opdesc'>Here I am. This is the beginning of a long evening.</div></div></div><% $(function () { $('#opGateNoon').click(function () { $('#opGateNoon').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opGateNoon'); s.fullHistory.push('op Gate Noon');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Gate Noon';});}); %> <% s.narration['Noon Door'].push('0-goinnoon'); %><% s.preImg['Noon Door'] = 'img/opts/burburum_woman.jpg'; %><% if ( _.contains(s.opport['Noon Door'], 'op Entrance Candle Top') == false ) { s.opport['Noon Door'].push('op Entrance Candle Top'); }; %><% if ( _.contains(s.opport['Noon Door'], 'op Entrance Candle Bottom') == false ) { s.opport['Noon Door'].push('op Entrance Candle Bottom'); }; %><% function gotDelay() {story.show('Noon Door');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The Flame Burbur</span> freezes me with one look. It's more astonishing than usual. This year's Flame Burbur is a woman clad in perfect white, layers and layers of rags with flayed edges, ribbons and bandages. The head is covered by a very large skull with curved horns, longer than a bull's. She stands by the door, majestically, collecting the candles that all attendants carry. I shiver when she extends her hand.<div id='opEntranceCandleTop' class='oport story'><img class='optimg' src='img/opts/candles.jpg'><div class='optext'><div class='optitle'>Give her the top of the candle</div><div class='opdesc'></div></div></div><% $(function () { $('#opEntranceCandleTop').click(function () { $('#opEntranceCandleTop').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEntranceCandleTop'); s.fullHistory.push('op Entrance Candle Top');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Entrance Candle Top';});}); %> <% s.narration['Noon Door'].push('entrancecandletop'); %><% if ( _.contains(s.opport['Noon Door'], 'op Entrance Irene Recapitulates') == false ) { s.opport['Noon Door'].push('op Entrance Irene Recapitulates'); }; %><% s.opport['Noon Door'] = _.without( s.opport['Noon Door'] , 'op Entrance Candle Bottom' ); %><% function gotDelay() {story.show('Noon Door');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The Burbur's voice</span>, filtered by the animal skull she's wearing, sounds hollow and distant, almost masculine. There's no way I could tell if it's a woman I know. She takes the candle by the top end I'm offering to her. 'Nice. Only you and I will remember this.' She leaves it in a pile of candles, for later. Only one way I can go, now.<div id='opEntranceCandleBottom' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Give her the bottom of the candle</div><div class='opdesc'></div></div></div><% $(function () { $('#opEntranceCandleBottom').click(function () { $('#opEntranceCandleBottom').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEntranceCandleBottom'); s.fullHistory.push('op Entrance Candle Bottom');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Entrance Candle Bottom';});}); %> <% s.narration['Noon Door'].push('entrancecandlebottom'); %><% if ( _.contains(s.opport['Noon Door'], 'op Entrance Irene Recapitulates') == false ) { s.opport['Noon Door'].push('op Entrance Irene Recapitulates'); }; %><% s.opport['Noon Door'] = _.without( s.opport['Noon Door'] , 'op Entrance Candle Top' ); %><% function gotDelay() {story.show('Noon Door');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The Burbur's voice</span>, filtered by the animal skull she's wearing, sounds hollow and distant, almost masculine. There's no way I could tell if it's a woman I know. She takes the candle by the bottom end I'm offering to her. 'Bad. Only you and I will remember this.' She leaves it in a pile of candles, for later. Only one way I can go, now.<div id='opEntranceIreneRecapitulates' class='oport story'><img class='optimg' src='img/opts/wait.jpg'><div class='optext'><div class='optitle'>Remember who I am here, tonight</div><div class='opdesc'>First things first.</div></div></div><% $(function () { $('#opEntranceIreneRecapitulates').click(function () { $('#opEntranceIreneRecapitulates').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEntranceIreneRecapitulates'); s.fullHistory.push('op Entrance Irene Recapitulates');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Entrance Irene Recapitulates';});}); %> <% s.narration['Noon Door'].push('10-entrance ceremony irene recapitulates'); %><% if ( _.contains(s.opport['Noon Door'], 'op Entrance Candle Open') == false ) { s.opport['Noon Door'].push('op Entrance Candle Open'); }; %><% function gotDelay() {story.show('Noon Door');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Today everyone is performing a part.</span> It's September 8th, 1834. Burburum Day. My part is: Lady Irene Victor, citizen of Aurora in the Canton Duopol, one of the few places in Europe where an absolute king does not rule absolutely. Daughter to a prominent liberal politician, sister to one dangerous woman and to another reasonable, niece to the woman that everyone gossips about. The great dancer. Scholar of natural history who needs trousers.<div id='opEntranceCandleOpen' class='oport story'><img class='optimg' src='img/opts/door.jpg'><div class='optext'><div class='optitle'>Go In</div><div class='opdesc'></div></div></div><% $(function () { $('#opEntranceCandleOpen').click(function () { $('#opEntranceCandleOpen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEntranceCandleOpen'); s.fullHistory.push('op Entrance Candle Open');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Entrance Candle Open';});}); %> <% s.exitList["Noon Door"][1] = "Grand Entrance Hall"; %> <% if (_.contains( _.keys(s.interrupt),'Grand Entrance Hall' )) { s.interrupt['Grand Entrance Hall'].push('interrupt-enterpalace'); } else { s.interrupt['Grand Entrance Hall'] = ['interrupt-enterpalace']; }; %><% s.narration['Grand Entrance Hall'].push('0-enterpalace'); %> <% s.generator = "genText"; %> <% function gotDelay() {story.show('Grand Entrance Hall');};setTimeout(gotDelay,110);}); }); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Entrance Hide') == false ) { s.opport['Pseudopassage'].push('op Entrance Hide'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>The second I enter the palace</span>, voices take the air away from me. Voices boil in the hall. It feels hot. I feel like... drowning. The hall is big enough for hundreds. After I've just spent two weeks collecting plants in the forest almost by myself. I stop dead. ... My mind stopped dead for a moment too. <% $('body').addClass('imgmask2'); %><div id='opEntranceHide' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Hide</div><div class='opdesc'>I don't want to be in a crowd. I can return when I feel better. I don't have to bear this.</div></div></div><% $(function () { $('#opEntranceHide').click(function () { $('#opEntranceHide').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEntranceHide'); s.fullHistory.push('op Entrance Hide');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Entrance Hide';});}); %> <% s.narration['Grand Entrance Hall'].push('0-entranceiwanttohide'); %><% s.showSidebar = true; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I decide to hide</span> from all these people. But my whole body protests in embarrassment. *Of course not*. I have to be here. There are people I must see and family I must help in this festival. My family has a name. That moment of fear? That is... that was childish. Here I am. This is the magnificent Grand Entrance Hall, in the formidable Palace, in the most enjoyable night in the year. And the celebrations have started! Perhaps I should spend less time in the forest by myself. I feel like taking a walk, see the places, see the people. Before I'm forced to talk to anybody. <% targetTurn = s.turn+1;targetEvent = 'ev avoid everyone at the beginning';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+2;targetEvent = 'ev already music in the air';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*8 );targetEvent = 'ev irene wonders avoiding people';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.bg = "bg-day-active" %><% s.narration['myself'].push('10-avoid everyone at the beginning'); %><span class='high-emphasis'>'Lady Victor!'</span> people say. I smile. It's early and they are few. Here, inside the palace, most are going to know my name. I nod and pretend I'm walking to greet someone specific, in order to avoid all the people I don't want to talk to. So early, that means almost everyone. And later, when gossip about has started? So many gossip reasons in my family. The widow with inconvenient politics. The disloyal decrepit magistrate. The weird woman who gets illnesses she dreams of. The terrible wife to the enterprising man. The trouser-wearing spinster.<% s.narration['myself'].push('100-already music in the air'); %><span class='high-emphasis'>There's already music</span> in the air. A jig: close, but not here. I tap my fingers. I will dance tonight...<% s.narration['garden'].push('100-gardens feel like a park'); %><span class='high-emphasis'>Today is the first time</span> I leave Victor House and mingle with society since I returned from my two weeks in the forest. I watch the leaves, barely shaken by the faint breeze. This garden is not at all like the forest; but this makes the forest inside me come out, the forest I want to go back to.<span class='high-emphasis'>'The great dancer!'</span> people greet. I smile. Here in the garden, most people are from the humble classes: peasants, fishermen, miners, modest workers. They don't know me, but my reputation. Of course they want to cheer me. *The great dancer I am.* I was. These are the people that don't care if my aunt is a crazy woman with imaginary illnesses or if I wear trousers to collect plants in the forest. <% s.narration['myself'].push('500-irene should be less friendly to humble'); %><% s.narration['Fountain'].push('500-all the things i see 1'); %><% s.narration['Garden Stairs'].push('500-all the things i see 1'); %><% s.narration['Outside tables'].push('500-all the things i see 1'); %><% s.narration['Blue Pavilion'].push('500-all the things i see 1'); %><% targetTurn = s.turn+3;targetEvent = 'ev all the things i see 1 remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>Perhaps I should be less friendly to humble people.</span> Today nobles take a stroll and exchange a few words with poor children or women, perhaps give them a coin. And that's "the day that all people from the Canton can mingle together." But I need trousers and I depend on the powerful for that.<% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-all the things i see 1' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-all the things i see 1' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-all the things i see 1' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-all the things i see 1' ); %><span class='high-emphasis'>All the things I see.</span> The puppeteer, mounting a stage. Three peasant musicians, playing a sarabande. Children running after siblings, friends and dogs and cats. Colours melting under the heavy, hazy light. Burburum: red cloth covering their faces, small horns hanging from their necks, threatening the citizens with their canes. <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-all the things i see 1' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-all the things i see 1' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-all the things i see 1' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-all the things i see 1' ); %> <% s.narration['Fountain'].push('500-all the things i see 2'); %><% s.narration['Garden Stairs'].push('500-all the things i see 2'); %><% s.narration['Outside tables'].push('500-all the things i see 2'); %><% s.narration['Blue Pavilion'].push('500-all the things i see 2'); %><% targetTurn = s.turn+3;targetEvent = 'ev all the things i see 2 remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-all the things i see 3' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-all the things i see 3' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-all the things i see 3' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-all the things i see 3' ); %><span class='high-emphasis'>All the things I see.</span> Four girls no older than seven, with four babies and no grownups. A seller of olives, fending off the lads that take a handful and run without paying. Burburum: with a collar of butternut squashes, with the skull of a horse as a crown, with a ratchet painted green. <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-all the things i see 2' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-all the things i see 2' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-all the things i see 2' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-all the things i see 2' ); %> <% s.narration['Fountain'].push('500-all the things i see 3'); %><% s.narration['Garden Stairs'].push('500-all the things i see 3'); %><% s.narration['Outside tables'].push('500-all the things i see 3'); %><% s.narration['Blue Pavilion'].push('500-all the things i see 3'); %><% targetTurn = s.turn+3;targetEvent = 'ev all the things i see 3 remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-all the things i see 3' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-all the things i see 3' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-all the things i see 3' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-all the things i see 3' ); %><span class='high-emphasis'>All the things I see.</span> Piedmontese, Neapolitan, Dalmatian, Rumelian, Portuguese, English, Occitan, Maltese, Moroccan, Russian, Ottoman, Haitian.<% s.narration['myself'].push('500-irene wonders avoiding people'); %><span class='high-emphasis'>Am I avoiding everyone?</span> I've been here for an hour, perhaps, and I haven't talked to any known person. Clara, Father, Arboricola, Cesarel, Agustil... where are they?<div id='opEfendiAskDance' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>My recent acquaintance Azmi Effendi wants a dance</div><div class='opdesc'>'I am sorry that I am forced to use French to request your next dance,' the Ottoman envoy says.</div></div></div><% $(function () { $('#opEfendiAskDance').click(function () { $('#opEfendiAskDance').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEfendiAskDance'); s.fullHistory.push('op Efendi Ask Dance');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Efendi Ask Dance';});}); %> <% s.narration['Pseudopassage'].push('0-efendiaskdance'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Efendi Dance Silence') == false ) { s.opport['Pseudopassage'].push('op Efendi Dance Silence'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Efendi Dance Ask') == false ) { s.opport['Pseudopassage'].push('op Efendi Dance Ask'); }; %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Efendi Ask Dance' ); %><% s.log.push("I danced with Azmi Efendi."); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'French is out of favour</span> these days, sir,' I say when we start dancing. 'You should learn Italian, or Spanish. Perhaps even Greek.' 'I am not some savage sheikh from your popular romances,' he says. His clothes mix the ancient Eastern and the modern Western. It's obvious he doesn't want to have the appearance one expects in a diplomat from the Sultan. 'I have just had some pleasant conversation with a Greek painter that is accompanying my friend, Kapitan Orlov. I may take them hunting. Do you know any good hunting ground in this region?' 'Were you unsatisfied with the deer I helped you track? Orlov seemed happy with it. Perhaps you were expecting to hunt a female, like one of those sheikhs.' 'If a woman in my country spoke with such liberty, she would be corrected.' 'You were right, then. Your Eastern Muslims have attained a degree of civilization comparable to ours.' He has fallen silent. Is he admitting defeat, or have my puns really offended him?<div id='opEfendiDanceSilence' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Dance in silence.</div><div class='opdesc'>If he is in a silent mood, I am in a silent mood too.</div></div></div><% $(function () { $('#opEfendiDanceSilence').click(function () { $('#opEfendiDanceSilence').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEfendiDanceSilence'); s.fullHistory.push('op Efendi Dance Silence');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Efendi Dance Silence';});}); %> <% s.narration['Marble Gallery, West'].push('0-efendidanceinsilence'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Efendi Dance Silence' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Efendi Dance Ask' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>We say nothing else</span> until the end of the dance. A few times he stares at me with a grave face, then his gaze flies across the room, nervous and directionless. This is not like the man who danced with me a minute earlier, or like the man whom I helped hunt a deer in Old Shipbuilder Forest barely a week ago. 'Here in the Canton, we are very proud of our dancing,' I say when the music stops. 'I hope you can see it with you own eyes tonight. Specially at midnight. And I hope I have matched your expectations.' 'You are a dancer, my friend,' he answers distractedly before leaving.<div id='opEfendiDanceAsk' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Ask him something else</div><div class='opdesc'>I like listening to him. Surely I can get him to talk more.</div></div></div><% $(function () { $('#opEfendiDanceAsk').click(function () { $('#opEfendiDanceAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEfendiDanceAsk'); s.fullHistory.push('op Efendi Dance Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Efendi Dance Ask';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Efendi Dance Story') == false ) { s.opport['Pseudopassage'].push('op Efendi Dance Story'); }; %><% s.narration['Pseudopassage'].push('0-efendiaskhim'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Efendi Dance Silence' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Efendi Dance Ask' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I find it most curious</span> that that Russian is your... friend,' I ask. 'Considering the enmity between your nations...' 'Bonds between men are more complicated than simple affairs like war. He saved my life once,' he says. How extraordinary! I beg him to tell me more. 'When I was younger, before I was a diplomat, my position was land surveyor. I had traveled from my hometown, Baghdad, far in the East, to Bulgaria, in the other extreme of the Empire. We were at war with Russia then. And then we were ambushed.'<div id='opEfendiDanceStory' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>'And then?'</div><div class='opdesc'>I need to know more of this story.</div></div></div><% $(function () { $('#opEfendiDanceStory').click(function () { $('#opEfendiDanceStory').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEfendiDanceStory'); s.fullHistory.push('op Efendi Dance Story');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Efendi Dance Story';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Efendi Dance Story' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Efendi Dance Finish') == false ) { s.opport['Pseudopassage'].push('op Efendi Dance Finish'); }; %><% s.narration['Pseudopassage'].push('0-efendiandthen'); %><% s.preImg['Pseudopassage'] = 'img/opts/blood.jpg'; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'It was the first and last time</span> that I shot a gun at someone else. But there were four Russians for each of us. The few survivors were captured... but the Russians are certainly negligent when it comes to keeping their prisoners alive!' He explains that the Russian troop then marched North, and some of the prisoners died in the way. And some others were killed for entertainment. How vile! And then some soldiers stripped him of his clothes and demanded that he danced for them. 'I refused,' he says, and I think that I squeeze his hand a little. 'They started to beat me up. I still have some scars. I thought my time had come.'<div id='opEfendiDanceFinish' class='oport story'><img class='optimg' src='img/opts/book.jpg'><div class='optext'><div class='optitle'>How does it end?</div><div class='opdesc'>This is a wonderful story.</div></div></div><% $(function () { $('#opEfendiDanceFinish').click(function () { $('#opEfendiDanceFinish').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEfendiDanceFinish'); s.fullHistory.push('op Efendi Dance Finish');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Efendi Dance Finish';});}); %> <% s.narration['Marble Gallery, West'].push('0-efendihowitends'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Efendi Dance Finish' ); %><% s.log.push("Azmi Effendi told me how he was captured by Russians and Kapitan Orlov saved his life."); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'And then God saved my life</span> by guiding Kapitan Orlov to me,' he continues. 'He kicked the soldiers in the face and took me to a doctor. He knew that I was the user of the maps, the compass and the telescope they had found with us, and he has a deep respect for science.' Orlov became his protector and made sure he was kept alive until some use were found for him. Months later, he was sent by the Russians to Istanbul to deliver a diplomatic letter. And thus he became free again, and the Ottomans decided to make him a diplomat. 'All thanks to that man, with whom God has allowed me to reunite a few other times,' he says to end his story. We say nothing else until the end of the dance, but I notice he becomes nervous. A few times he stares at me with a grave face, then his gaze flies across the room, nervous and directionless. 'Thank you for your story,' I say when the music stops. 'I hope I have matched your expectations for dancing.'<% s.narration['Grand Entrance Hall'].push('500-effendi is accused of being a spy'); %><% s.narration['Fountain'].push('500-effendi is accused of being a spy'); %> <% targetTurn = Math.floor( s.timeSpeed*36 );targetEvent = 'ev effendi is accused of being a spy remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev effendi is accused of being a spy remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-effendi is accused of being a spy' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-effendi is accused of being a spy' ); %><% s.opport['Grand Entrance Hall'] = _.without( s.opport['Grand Entrance Hall'] , 'op look at effendi accused of being a spy' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op look at effendi accused of being a spy' ); %><span class='high-emphasis'>'A Moorish spy!'</span> There's some fuss nearby: in the middle, I see Azmi Effendi, being held by three men, his face a mix of fear and indignation. A richly clothed man lies on the ground near him, and a bunch of people are arguing and scolding one another. <% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-effendi is accused of being a spy' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-effendi is accused of being a spy' ); %> <% if ( _.contains(s.opport['Grand Entrance Hall'], 'op look at effendi accused of being a spy') == false ) { s.opport['Grand Entrance Hall'].push('op look at effendi accused of being a spy'); }; %><% if ( _.contains(s.opport['Fountain'], 'op look at effendi accused of being a spy') == false ) { s.opport['Fountain'].push('op look at effendi accused of being a spy'); }; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev effendi is accused of being a spy remove bis';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Grand Entrance Hall'] = _.without( s.opport['Grand Entrance Hall'] , 'op look at effendi accused of being a spy' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op look at effendi accused of being a spy' ); %><div id='oplookateffendiaccusedofbeingaspy' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Look what's happening with Effendi</div><div class='opdesc'>Some men are attacking him.</div></div></div><% $(function () { $('#oplookateffendiaccusedofbeingaspy').click(function () { $('#oplookateffendiaccusedofbeingaspy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('oplookateffendiaccusedofbeingaspy'); s.fullHistory.push('op look at effendi accused of being a spy');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op look at effendi accused of being a spy';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op talk in defense of effendi') == false ) { s.opport['Pseudopassage'].push('op talk in defense of effendi'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op not talk in defense of effendi') == false ) { s.opport['Pseudopassage'].push('op not talk in defense of effendi'); }; %><% s.narration['Pseudopassage'].push('10-look at effendi accused of being a spy'); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'What is happening?</span> I beg you explain,' I ask one of the onlookers. 'This Moorish spy was poisoning that noble man,' he says. Effendi tries to break free. 'I repeat that the man had a syncope because the agitation and I came to his aid.' His explanation is greeted with derision. Sure most listeners don't understand French. 'Nonsense!' I don't need to look. It's a hateful voice I know well: Dean Petre, that universal despiser of everything. 'A French-speaking Asian teaching us about medicine?' Effendi is alone: his friend, captain Orlov from Russia, isn't here. I shouldn't have taken an interest in this.<div id='opnottalkindefenseofeffendi' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Ignore this and leave</div><div class='opdesc'>This would be less problematic.</div></div></div><% $(function () { $('#opnottalkindefenseofeffendi').click(function () { $('#opnottalkindefenseofeffendi').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opnottalkindefenseofeffendi'); s.fullHistory.push('op not talk in defense of effendi');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op not talk in defense of effendi';});}); %> <% s.narration[s.returnRef].push('10-not talk in defense of effendi'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op talk in defense of effendi' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Few have taken note of me.</span> I turn my back to Effendi's pleas and the insults from the other people and leave quickly. I know Effendi is innocent; Petre is a bigot, the others are sheep. But I shouldn't expose myself by jumping to his defence.<div id='optalkindefenseofeffendi' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Talk in Effendi's defence</div><div class='opdesc'>But people would gossip afterwards. My reputation would suffer.</div></div></div><% $(function () { $('#optalkindefenseofeffendi').click(function () { $('#optalkindefenseofeffendi').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('optalkindefenseofeffendi'); s.fullHistory.push('op talk in defense of effendi');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op talk in defense of effendi';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op not talk in defense of effendi' ); %><% s.narration['Pseudopassage'].push('10-talk in defense of effendi'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op defend effendi and appease petre') == false ) { s.opport['Pseudopassage'].push('op defend effendi and appease petre'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op defend effendi and confront petre') == false ) { s.opport['Pseudopassage'].push('op defend effendi and confront petre'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I try to raise my voice,</span> but it comes out thin like a hair. 'I know this man. Azmi Effendi is an envoy from the Sublime Porte. I am certain he came to the aid of the fainted man.' It wasn't thin enough to remain unheard. The onlookers regard me with contempt and suspicion; a few, more compassionate, with confusion. 'How do you know all that is true?' 'One week ago I was a guest of your Premier in this very palace!' cries Effendi. I translate it to our language and some seem impressed. 'And a man of science,' I add. 'A land surveyor, he knows astronomy and medicine.' 'Are you saying we can't tell a man of science from a savage?' asks Petre. Each syllable drips venom, and he looks at me more than he looks at Effendi. But the men holding Effendi exchange hesitant looks.<div id='opdefendeffendiandappeasepetre' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Appease Petre</div><div class='opdesc'>I've already made my point. Making an enemy of him will not make things easier for me.</div></div></div><% $(function () { $('#opdefendeffendiandappeasepetre').click(function () { $('#opdefendeffendiandappeasepetre').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opdefendeffendiandappeasepetre'); s.fullHistory.push('op defend effendi and appease petre');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op defend effendi and appease petre';});}); %> <% s.narration[s.returnRef].push('10-defend effendi and appease petre'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op defend effendi and confront petre' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I've done enough</span> for Effendi. Petre will always take offence at any minimal change to the way things have always been, and he still has the influence, the power to frustrate my goals. 'You are right, of course, Dean,' I say. 'I'm not saying that Mr. Effendi is comparable to one of our scholars. What I mean is that he was trying to help, not harm.' 'Perhaps,' mumbles Petre, grudgingly. Effendi is released at once, as if the men holding him were nothing but Petre's hands. Effendi murmurs a greeting, looks at me both with gratefulness and resentment, and leaves. The fainted man, whom everyone seemed to forget during the argument, is starting to move. Petre's hands.<div id='opdefendeffendiandconfrontpetre' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Confront Petre</div><div class='opdesc'>I shouldn't falter when people who support me need my support.</div></div></div><% $(function () { $('#opdefendeffendiandconfrontpetre').click(function () { $('#opdefendeffendiandconfrontpetre').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opdefendeffendiandconfrontpetre'); s.fullHistory.push('op defend effendi and confront petre');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op defend effendi and confront petre';});}); %> <% s.narration[s.returnRef].push('10-defend effendi and confront petre'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op defend effendi and appease petre' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Tyrannical, disparaging, inflexible men.</span> They should hear this once in a while. 'Today it's Burburum Day,' I say, 'the day we encounter the new and unexpected, perhaps the one day each year when your judgement goes wrong, my dear Dean.' I thought he would quiver with rage. But he hides his anger under his thick eyebrows, speaks slowly: 'It's clear that I should apologize to this Asian infidel, since you Lord Victor's daughter will claim so strongly that he is right and we all are wrong. Isn't it clear?' 'Yes,' I say, but it already feels like defeat. Effendi is released at once, as if the men holding him were nothing but Petre's hands. He mumbles a greeting and leaves quickly. The fainted man, whom everyone seemed to forget during the argument, is starting to move. Everyone else keep staring at me: ironically, condescendingly, sarcastically. Petre's hands. And the rest, perhaps, Petre's eyes. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opIrenesitswithOrlovandEffendiinpaviliondinner' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>'Our friend Lady Victor!'</div><div class='opdesc'>Orlov and Effendi are offering me a seat at their table.</div></div></div><% $(function () { $('#opIrenesitswithOrlovandEffendiinpaviliondinner').click(function () { $('#opIrenesitswithOrlovandEffendiinpaviliondinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenesitswithOrlovandEffendiinpaviliondinner'); s.fullHistory.push('op Irene sits with Orlov and Effendi in pavilion dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene sits with Orlov and Effendi in pavilion dinner';});}); %> <% if ( _.contains(s.opport['Blue Pavilion'], 'op Irene cautious about politics with effendi in dinner') == false ) { s.opport['Blue Pavilion'].push('op Irene cautious about politics with effendi in dinner'); }; %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Irene confident about politics with effendi in dinner') == false ) { s.opport['Blue Pavilion'].push('op Irene confident about politics with effendi in dinner'); }; %><% s.narration['Blue Pavilion'].push('10-irene sits with orlov and effendi in pavilion dinner'); %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Three wildly different men</span> are sharing a table. One is very pale, in blue uniform. Another is dark, moustached, and elegantly dressed with a mixture of Western and Eastern clothes. The third one is darker and less refined, although a great intelligence shines in his eyes. The first one is Kapitan Orlov, from the Russian Imperial Army, on a diplomatic tour through Europe. <% if (_.contains(s.fullHistory, '0-efendiaskdance')) { %><% print("<p>The second is Azmi Effendi, an envoy from the Sublime Porte and my dance companion a couple of hours ago.</p>"); %><% } else { %><% print("<p>The second is Azmi Effendi, an envoy from the Sublime Porte and a recent acquaintance for me.</p>"); %><% }; %> A few weeks ago, Effendi and Orlov came to the forest for hunting. I helped them track a deer. They were two kind and jolly friends, considering that their nations were in war against each other not long ago. 'Do you know our friend, the painter Nikolaos Iliopoulos from Zakynthos?' asks Orlov. <% if (_.contains(s.fullHistory, '0-talkiliopoulos')) { %><% if (_.contains(s.fullHistory, '0-sayyestopainting')) { %><% print("<p>'In fact, I have consented to let him paint me,' I answer. Orlov and Effendi give Iliopoulos suspicious and amused looks.</p>"); %><% print("<p>'Just a whim,' he answers, and now it's my turn to pretend I'm offended.</p>"); %><% }; %><% if (_.contains(s.fullHistory, '0-saynotopainting')) { %><% print("<p>'She denied me permission to paint her,' says the painter. 'I'm not interested in her.' His friends laugh.</p>"); %><% }; %><% } else { %><% print("<p>They introduce the new man, a painter on a tour to study the great masters.</p>"); %><% }; %> A Russian, a Greek and an Ottoman attending our Burburum night. Isn't war an excellent thing? 'Lady Victor! Do you understand the politics here?' asks Effendi.<div id='opIrenecautiousaboutpoliticswitheffendiindinner' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Answer cautiously</div><div class='opdesc'>The tone of the question felt unsettling.</div></div></div><% $(function () { $('#opIrenecautiousaboutpoliticswitheffendiindinner').click(function () { $('#opIrenecautiousaboutpoliticswitheffendiindinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenecautiousaboutpoliticswitheffendiindinner'); s.fullHistory.push('op Irene cautious about politics with effendi in dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene cautious about politics with effendi in dinner';});}); %> <% s.narration['Blue Pavilion'].push('10-irene cautious about politics with effendi in dinner'); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Irene confident about politics with effendi in dinner' ); %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Ask Effendi about ring rumours in dinner') == false ) { s.opport['Blue Pavilion'].push('op Ask Effendi about ring rumours in dinner'); }; %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Politics?'</span> I say. 'I understand them only so far as a woman can.' 'Why some people here say that Persians should kill republicans?' asks Effendi. 'Even worse,' Orlov adds, 'some people say that Persians have a plan to get rid of republicans! We heard people whispering about that.' They go on talking about the absurdity of republicans in Persia. I don't tell them that our *Persians* are the staunchest monarchic supporters that want the Canton to be vassals no more, and become a full domain of the king. So... who is whispering about a plan to suppress us?<div id='opIreneconfidentaboutpoliticswitheffendiindinner' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Answer confidently</div><div class='opdesc'>I know everything about our politics and I don't need to hide it</div></div></div><% $(function () { $('#opIreneconfidentaboutpoliticswitheffendiindinner').click(function () { $('#opIreneconfidentaboutpoliticswitheffendiindinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneconfidentaboutpoliticswitheffendiindinner'); s.fullHistory.push('op Irene confident about politics with effendi in dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene confident about politics with effendi in dinner';});}); %> <% s.narration['Blue Pavilion'].push('10-irene confident about politics with effendi in dinner'); %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Irene cautious about politics with effendi in dinner' ); %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Ask Effendi about ring rumours in dinner') == false ) { s.opport['Blue Pavilion'].push('op Ask Effendi about ring rumours in dinner'); }; %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I am the daughter</span> of one of the most noted men of government in this land,' I say. 'Who else would you ask?' 'Why some people here say that Persians should kill republicans?' asks Effendi. 'Even worse,' Orlov adds, 'some people say that Persians have a plan to get rid of republicans! We heard people whispering about that.' They go on talking about the absurdity of republicans in Persia. I don't tell them that our *Persians* are the staunchest monarchic supporters that want the Canton to be vassals no more, and become a full domain of the king. So... who is whispering about a plan to suppress us?<div id='opAskEffendiaboutringrumoursindinner' class='oport story'><img class='optimg' src='img/opts/ring.jpg'><div class='optext'><div class='optitle'>Ask them for more information</div><div class='opdesc'>Discreetly.</div></div></div><% $(function () { $('#opAskEffendiaboutringrumoursindinner').click(function () { $('#opAskEffendiaboutringrumoursindinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAskEffendiaboutringrumoursindinner'); s.fullHistory.push('op Ask Effendi about ring rumours in dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Ask Effendi about ring rumours in dinner';});}); %> <% s.narration['Blue Pavilion'].push('10-orlovpoliticsaskmore'); %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'And who'd that be?</span> I ask. 'Plenty of ignorance in our poor corner of Europe.' 'They thought I couldn't understand them. A foreigner with dark skin. So they spoke carelessly. They were servants and they said their masters speak about a killing of republicans in Persia.' 'I'm sure they have misheard something,' comments Orlov. <% if (_.contains(s.fullHistory, '0-25yearsprosperitydebate')) { %><% print("<p>I nod and let them go on, speechless. A rumour among nobles about reppressing republicans. Like they did in Italy three years ago. Should I talk this with someone? Father? Iuvens? </p>"); %> <% if ( _.contains(s.opport['Iuvens'], 'op Persians Rumour Iuvens') == false ) { s.opport['Iuvens'].push('op Persians Rumour Iuvens'); }; %><% s.narration['Iuvens'].push('500-iuvenshereforrumour'); %><% targetTurn = Math.floor( s.timeSpeed*62 );targetEvent = 'ev Persians Rumour Iuvens Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% } else { %><% print("<p>I nod and let them go on, speechless. A rumour among nobles about reppressing republicans. Like they did in Italy three years ago. Should I talk this with someone? Father? </p>"); %><% }; %><% s.opport['Iuvens'] = _.without( s.opport['Iuvens'] , 'op Persians Rumour Iuvens' ); %><% s.narration['Iuvens'] = _.without( s.narration['Iuvens'] , '500-iuvenshereforrumour' ); %><% s.narration['Iuvens'] = _.without( s.narration['Iuvens'] , '500-iuvenshererumourrepeat' ); %><span class='high-emphasis'>I see Cesarel Iuvens here,</span> on his own, smoking a cigar, and I remember, with unease, the rumour that Orlov told me about. <% s.narration['Iuvens'].push('500-iuvenshererumourrepeat'); %>Iuvens is here, and I still haven't told him about the rumour. <% s.narration['Iuvens'].push('500-iuvenshererumourrepeat'); %><div id='opPersiansRumourIuvens' class='oport story'><img class='optimg' src='img/opts/crown.jpg'><div class='optext'><div class='optitle'>Tell Iuvens about the rumour I heard from Effendi</div><div class='opdesc'>That monarchics are going to attack republicans.</div></div></div><% $(function () { $('#opPersiansRumourIuvens').click(function () { $('#opPersiansRumourIuvens').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPersiansRumourIuvens'); s.fullHistory.push('op Persians Rumour Iuvens');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Persians Rumour Iuvens';});}); %> <% s.narration['Pseudopassage'].push('10-iuvenstellrumour'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Rumour Iuvens He') == false ) { s.opport['Pseudopassage'].push('op Rumour Iuvens He'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Rumour Iuvens We') == false ) { s.opport['Pseudopassage'].push('op Rumour Iuvens We'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'Cesarel,'</span> I say, and I don't know how to continue. I'm suddenly afraid of what I have to tell him, and of his reaction. 'What worries you?' Cesarel asks, 'you look distraught.' 'Sometimes I think I'm a silly little girl,' I say, surprising myself as I say it, 'scared by shadows. Rumours.' 'Politics is not about writing treatises in well-lit, well-aired rooms,' he says, 'it's about feeling invisible currents. Rumours are what I breathe. Tell me.' And I do. 'Does it worry you?' 'I already knew it.'<div id='opRumourIuvensHe' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Ask Iuvens if he is safe</div><div class='opdesc'></div></div></div><% $(function () { $('#opRumourIuvensHe').click(function () { $('#opRumourIuvensHe').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opRumourIuvensHe'); s.fullHistory.push('op Rumour Iuvens He');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Rumour Iuvens He';});}); %> <% s.narration[s.returnRef].push('10-rumouriurvenshe'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Rumour Iuvens We' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Are you in danger?'</span> I ask, feeling a rush of blood to the head. He waits long before answering. 'Do you think I don't know the danger I face? Only privileged people like you are surprise when they discover they are not safe.' He makes me feel ashamed, and I look away from him. He lowers his voice. 'They will fabricate some lie and pin the blame on us. I don't know when, or how, but it's the only trick they have. Our rich are no Richelieus.' He leaves me wondering if I should feel better or worse.<div id='opRumourIuvensWe' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Ask Iuvens if we are safe</div><div class='opdesc'></div></div></div><% $(function () { $('#opRumourIuvensWe').click(function () { $('#opRumourIuvensWe').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opRumourIuvensWe'); s.fullHistory.push('op Rumour Iuvens We');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Rumour Iuvens We';});}); %> <% s.narration[s.returnRef].push('10-rumouriurvenwe'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Rumour Iuvens He' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Are we in danger?'</span> I ask, feeling a rush of blood to the head. 'Did you know it and you didn't tell me?' He waits long before answering. 'Why would you be? Who knows you are a sympathizer, beyond Clara and myself? When there are signs of danger, your are not one of the people I worry about, Irene.' He makes me feel ashamed, and I look away from him. He lowers his voice. 'They will fabricate some lie and pin the blame on us. I don't know when, or how, but it's the only trick they have. Our rich are no Richelieus.' He leaves me wondering if I should feel better or worse.<% s.passTitle = "Main Hallway"; %><% s.passDescription.push("<span class='high-emphasis'>The main hallway</span> is quiet."); %><% s.passImage = 'img/opts/mainhallway.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('main1st'); %><% }; %> <%= story.render(s.generator) %><span class='high-emphasis'>The centre of the top floor</span> is a wide passageway with doors opening to four main sections. The staircase leads downstairs to the Entrance Hall.<% s.passTitle = "Northern Hallway"; %><% s.passDescription.push("<span class='high-emphasis'>This hallway</span> is even quieter than the central one."); %><% s.passImage = 'img/opts/north_hallway.jpg'; %><% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('northhall1st'); %><% }; %><%= story.render(s.generator) %><span class='high-emphasis'>To the North</span>, I enter a passageway overlooking the geometric shapes of the garden and the river beyond.<% s.passTitle = "Southern Hallway"; %><% s.passDescription.push("<span class='high-emphasis'>During the day</span>, sunlight bounces off many mirrors and glass pieces, blurring the passageway. After dusk, you can see the nearby lights of Covenant Square."); %><% s.passImage = 'img/opts/south_hallway.jpg'; %> <%= story.render(s.generator) %><% s.passTitle = "Portrait Room"; %><% s.passDescription.push("<span class='high-emphasis'>Portraits of dead rulers</span> stare from the walls."); %><% s.passDescription.push("<span class='high-emphasis'>Only a few people</span> looking for some calm away from the celebration will come to this room tonight."); %><% s.passImage = 'img/opts/portrait.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('portrait1st'); %><% }; %><%= story.render(s.generator) %><span class='high-emphasis'>As I enter the Portrait Room</span>, as always I feel like mocking the portraits of dead rulers with their severe gazes.<% s.passTitle = "Harmonic Room"; %><% s.passDescription.push("<span class='high-emphasis'>This a room for music</span> but not for dancing. I excel at the latter only."); %><% s.passImage = 'img/opts/harmonic.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('harmonic1st'); %><% }; %><%= story.render(s.generator) %><span class='high-emphasis'>This is where the Lady</span> plays the piano and harp. Masculine influence is conspicuously absent. I wish every woman could have a place like this.<% s.passTitle = "Nursery"; %><% s.passDescription.push("<span class='high-emphasis'>I wish every children</span> had a place like this."); %><% s.passImage = 'img/opts/nursery.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('nursery1st'); %><% }; %> <%= story.render(s.generator) %><span class='high-emphasis'>This is the playground</span> and classroom for the four children that the First Officer and the Lady have. I wonder if any adult has ever found the mark I left in this room when I was a child. Probably not. But children for sure know it.<% s.passTitle = "Council Room"; %><% s.passDescription.push("<span class='high-emphasis'>The Council Room</span> is not the most splendid hall in the Palace, but it shines with the dignity of independence."); %><% s.passImage = 'img/opts/council.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('councilroom1st'); %><% }; %> <%= story.render(s.generator) %><span class='high-emphasis'>I am proud</span> of being the daughter of a man who has a seat in this Council. Paintings display meetings from different centuries: our history of defiant self-government.<% s.passTitle = "Map Cabinet"; %><% s.passDescription.push("<span class='high-emphasis'>I take a quick glance</span> at the nautical charts on the table. Is our navy worried about Cyprus and Crete?"); %><% s.passImage = 'img/opts/map.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('cabinet1st'); %><% }; %><%= story.render(s.generator) %><span class='high-emphasis'>I have been in this room</span> only a couple of times before tonight. War is not for women, men say, and this is where the Premier receives the war officials. Nautical charts are scattered on the main table.<% s.passTitle = "Covenant Office"; %><% s.passDescription.push("<span class='high-emphasis'>The Covenant Office is the seat of power</span> and authority. I should not be impressed, but I am."); %><% s.passImage = 'img/opts/covenant.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('covenant1st'); %><% }; %><%= story.render(s.generator) %><span class='high-emphasis'>This is the main room of government</span> in the Canton. The Premiers have occupied this office for a century. Power colours the walls, the bookcases.<div id='opClaraGreetings' class='oport story char companion-hide'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>'Little sister!'</div><div class='opdesc'>Clara! There are things we ought to discuss.</div></div></div><% $(function () { $('#opClaraGreetings').click(function () { $('#opClaraGreetings').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opClaraGreetings'); s.fullHistory.push('op Clara Greetings');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Clara Greetings';});}); %> <% s.narration['Clara'].push('0-claragreetings'); %><% s.opport['Clara'] = _.without( s.opport['Clara'] , 'op Clara Greetings' ); %><% if ( _.contains(s.opport['Clara'], 'op Clara Greetings Walk People') == false ) { s.opport['Clara'].push('op Clara Greetings Walk People'); }; %><% s.companion='Clara';s.companionData={'destination':'River pier','destinationType':'location','turnParameter':5,'turnCounter':0,'walkingPreDesc':'zzz-clarawalksbymyside','abandonPreDesc':'zzz-clarawalksawayspeaklater','okPreDesc':'null','alertCount':0,'alertPreDesc':'zzz-clarawarnsprivacy','currentDistance':0,'abandonOport':'null','okOport':'null'};print(story.render('genInitialCompanionDistance')); %><% if (_.contains( _.keys(s.interrupt),'River pier' )) { s.interrupt['River pier'].push('interrupt-clarainitialcompriver'); } else { s.interrupt['River pier'] = ['interrupt-clarainitialcompriver']; }; %><% s.narration['Gloria'] = _.without( s.narration['Gloria'] , '500-irene first sees gloria from a distance' ); %><% s.eventIgnore.push('ev irene wonders avoiding people'); %><% s.narration['myself'] = _.without( s.narration['myself'] , '500-irene wonders avoiding people' ); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Clara Greetings Gloria') == false ) { s.opport['Pseudopassage'].push('op Clara Greetings Gloria'); }; %><% s.narration['Pseudopassage'].push('claraandiarriveatthepier'); %> <% s.opport['Clara'] = _.without( s.opport['Clara'] , 'op Clara Greetings Walk Burbur' ); %><% s.opport['Clara'] = _.without( s.opport['Clara'] , 'op Clara Greetings Walk People' ); %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>How long</span> has it been since the last time sister greeted me so warmly? 'My little sister is back from the woods! The first woman botanist in our city!' This has to be a clue to something else. But she understands my hints, too. Soon she lowers her voice and asks. 'Is there anything that we should talk now? Come to the pier. We can make some small talk on our way.'I have a companion: Clara walks close by my side, in an airy yellow dress.<span class='high-emphasis'>'Well, maybe it is not the right moment to speak.</span> See you later,' Clara says, and walks away. <% if ( _.contains( _.keys(s.interrupt), 'River pier' )) { s.interrupt['River pier'] = _.without( s.interrupt['River pier'], 'interrupt-clarainitialcompriver'); } %><span class='high-emphasis'>And we finally find ourselves by the pier.</span> Clara suddenly stops talking and seems a lot more serious.<span class='high-emphasis'>'This place is not private enough,'</span> Clara whispers in my ear. 'The pier.'<div id='opClaraGreetingsWalkPeople' class='oport story char'><img class='optimg' src='img/opts/people.jpg'><div class='optext'><div class='optitle'>'Who is here, sister?'</div><div class='opdesc'>Gossip a bit about attendants. Clara knows a lot more people than I do.</div></div></div><% $(function () { $('#opClaraGreetingsWalkPeople').click(function () { $('#opClaraGreetingsWalkPeople').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opClaraGreetingsWalkPeople'); s.fullHistory.push('op Clara Greetings Walk People');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Clara Greetings Walk People';});}); %> <% s.narration['Clara'].push('0-askclaragreetingswalkpeople'); %><% if ( _.contains(s.opport['Clara'], 'op Clara Greetings Walk Burbur') == false ) { s.opport['Clara'].push('op Clara Greetings Walk Burbur'); }; %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Interested in someone in particular,</span> are you? Well, yes, the Mayor of Marina is here for your foolish plans,' Clara answers. 'He must. Who else? Anyone who deserves interest?' 'I am starting to wonder if anyone deserves my interest anymore. Cesarel is here. Winemakers and landowners from Marina you possibly know... Few new people. An Italian inventor by the name of Buzzatti. They say he has come to exhibit something.' She pauses. 'And your other sister,' she says. 'With her husband on full display.'<div id='opClaraGreetingsWalkBurbur' class='oport story char'><img class='optimg' src='img/opts/burburum_woman.jpg'><div class='optext'><div class='optitle'>Ask Clara about the Burburum</div><div class='opdesc'>She likes them as much as I do. How are they this year?</div></div></div><% $(function () { $('#opClaraGreetingsWalkBurbur').click(function () { $('#opClaraGreetingsWalkBurbur').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opClaraGreetingsWalkBurbur'); s.fullHistory.push('op Clara Greetings Walk Burbur');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Clara Greetings Walk Burbur';});}); %> <% s.narration['Clara'].push('0-askclaragreetingswalkburbur'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Wonderfully grotesque disguises.</span> Sure you know a fair bit of the people under them,' Clara says, not without sarcasm. 'You mingle a bit too much with the humble classes.' 'But that precisely is what your friends in the utopian salon assert. Understanding the vitality of the humble. How come I am wrong now?' 'I merely provide them a roof so they do not need to discuss their crazy ideas under the rain,' she says, playfully.<div id='opClaraGreetingsGloria' class='oport story'><img class='optimg' src='img/opts/secret.jpg'><div class='optext'><div class='optitle'>Tell Clara about Gloria</div><div class='opdesc'>I got an anonymous warning. I need her help.</div></div></div><% $(function () { $('#opClaraGreetingsGloria').click(function () { $('#opClaraGreetingsGloria').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opClaraGreetingsGloria'); s.fullHistory.push('op Clara Greetings Gloria');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Clara Greetings Gloria';});}); %> <% s.narration['Pseudopassage'].push('0-tellclaraaboutgloria'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene tells clara she will help with gloria') == false ) { s.opport['Pseudopassage'].push('op irene tells clara she will help with gloria'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene tells clara she will not help with gloria') == false ) { s.opport['Pseudopassage'].push('op irene tells clara she will not help with gloria'); }; %><% targetTurn = Math.floor( s.timeSpeed*19 );targetEvent = 'ev clara is correcting rumours about them';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (_.contains(s.fullHistory, '500-irene first sees gloria from a distance')) { %><% } else { %><% s.narration['Gloria'].push('500-irene first sees gloria from a distance'); %><% }; %> <% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>‘What’s this?’</span> asks Clara. I tell her to read the note. ‘Who wrote it?’ she asks, after finishing. ‘I don’t know. One of her servants, I guess.’ ‘So we have to prevent Gloria from creating a scandal tonight,' she says. ‘Why can't we let someone else take care of it? Laurentin?’ ‘Because it’s Father’s problem,’ answers Clara. I can’t deny that. ‘But what is she going to do? What can it be?’ She sighs and takes some time to answer. ‘I don't know. I don't want to think about it. She’s more melancholic than ever. Doesn’t listen, answers questions with unrelated responses. Will you help me?’<div id='opirenetellsclarashewillhelpwithgloria' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Tell Clara I will help</div><div class='opdesc'>I shouldn't leave her alone in this.</div></div></div><% $(function () { $('#opirenetellsclarashewillhelpwithgloria').click(function () { $('#opirenetellsclarashewillhelpwithgloria').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opirenetellsclarashewillhelpwithgloria'); s.fullHistory.push('op irene tells clara she will help with gloria');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene tells clara she will help with gloria';});}); %> <% s.narration['River pier'].push('10-irene will help clara with gloria'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene tells clara she will not help with gloria' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Is there anything else</span> I can do? ‘I can help but I can’t do it alone,’ I say. I’m too ashamed to remind her of the last argument with Gloria I had. The last fit I had. The fit she caused. ‘But you don’t know what to do.’ ‘I will think something,’ says Clara. 'Just talk to her if you can. And tell me. I will think something.' Clearly that's all for now.<div id='opirenetellsclarashewillnothelpwithgloria' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Tell Clara I will not help</div><div class='opdesc'>I can't face this tonight. I can't risk suffering another fit of panic because of her.</div></div></div><% $(function () { $('#opirenetellsclarashewillnothelpwithgloria').click(function () { $('#opirenetellsclarashewillnothelpwithgloria').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opirenetellsclarashewillnothelpwithgloria'); s.fullHistory.push('op irene tells clara she will not help with gloria');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene tells clara she will not help with gloria';});}); %> <% s.narration['River pier'].push('10-irene not help clara with gloria'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene tells clara she will help with gloria' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>‘Don’t ask me that,’</span> I say. I’m too ashamed to remind her of the last argument with Gloria I had. The last fit I had. The fit she caused. ‘I understand, I understand,’ she says, but she doesn’t hide a certain disdain. ‘It’s more than you can face.’ ‘Don’t patronize me. I don’t want to. I don’t care if Gloria’s my sister or not. Not until she cares.’ Clearly that's all for now.<% if ( _.contains(s.opport['Clara'], 'op clara is correcting rumours about them') == false ) { s.opport['Clara'].push('op clara is correcting rumours about them'); }; %><div id='opclaraiscorrectingrumoursaboutthem' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Talk to Clara</div><div class='opdesc'>She's on her own, with a worried face.</div></div></div><% $(function () { $('#opclaraiscorrectingrumoursaboutthem').click(function () { $('#opclaraiscorrectingrumoursaboutthem').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opclaraiscorrectingrumoursaboutthem'); s.fullHistory.push('op clara is correcting rumours about them');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op clara is correcting rumours about them';});}); %> <% s.narration['myself'].push('10-clara is correcting rumours about them'); %><% if ( _.contains(s.opport['Clara'], 'op Irene confess worries about gloria to clara') == false ) { s.opport['Clara'].push('op Irene confess worries about gloria to clara'); }; %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Clara frowns when she sees me.</span> 'Irene, what's everyone saying about us? I've spent the whole evening correcting rumours about our family. People tell me that other people are talking about us.' 'I have too.' What's happening? I can feel something, but I cannot make out shape or discover where it comes from. 'She's doing *something*. I know it.' 'But what about. You? Me? Laurentin?' 'Father?' 'She wouldn't... No?' I know what Clara is thinking right now. Gloria has had a habit of concealing her acts all her life.<div id='opIreneconfessworriesaboutgloriatoclara' class='oport story'><img class='optimg' src='img/opts/secret.jpg'><div class='optext'><div class='optitle'>Confess to Clara my real worries about Gloria</div><div class='opdesc'>I've never really told her all that I think.</div></div></div><% $(function () { $('#opIreneconfessworriesaboutgloriatoclara').click(function () { $('#opIreneconfessworriesaboutgloriatoclara').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneconfessworriesaboutgloriatoclara'); s.fullHistory.push('op Irene confess worries about gloria to clara');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene confess worries about gloria to clara';});}); %> <% s.narration['myself'].push('10-Irene confess worries about gloria to clara'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I need</span> to tell this to Clara. 'We've seen our sister become somebody else,' I say. 'We don't know what she wants.' 'That's a mad overstatement,' Clara answers. 'Inside, she's the same as always. You never knew what was inside her.' That's upsetting. 'I knew perfectly well what's inside her. A craving for controlling me, for limiting me, for reining me in. You never suffered that. But now it's something else and it's worse.' 'I'm not discussing this,' she says, in a most ultimate manner. But I feel the suspicion and the mistrust growing inside her.<div id='opfinis' class='oport story finis'><img class='optimg' src='img/opts/generic.jpg'><div class='optext'><div class='optitle'>FINIS</div><div class='opdesc'></div></div></div><% $(function () { $('#opfinis').click(function () { $('#opfinis').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opfinis'); s.fullHistory.push('op finis');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op finis';});}); %> <% function gotDelay() {story.show('FINIS');};setTimeout(gotDelay,110);}); }); %>[[Return to start menu->start]] <span class='high-emphasis'>What Irene did:</span> <%= s.log.join("<br />") %> <div class="pre-separator"></div> <span class='high-emphasis'>What Irene could have done...</span> *but didn't.* <% if (_.contains(s.fullHistory, '10-Irene and Iul enter the secret passage')) { %><% } else { %>Irene didn't discover the secret passage. <% }; %> <% if (_.contains(s.fullHistory, '10-Irene takes the disc from Buzzatti')) { %><% } else { %>Irene didn't take control of the automaton. <% }; %> <% if (_.contains(s.fullHistory, '10-Irene and Iul enter the secret passage')) { %><% } else { %>Irene didn't discover the conspirators. <% }; %> <% if (_.contains(s.fullHistory, '0-beatingpantryleave')) { %><% } else { %>Irene didn't see the missing butler. <% }; %> <% if (_.contains(s.fullHistory, '0-cellaropendoor')) { %><% } else { %>Irene didn't enter the cellar. <% }; %> <% if (_.contains(s.fullHistory, '0-burburfollowharmonic')) { %><% } else { %>Irene didn't talk to her aunt. <% }; %> <% if (_.contains(s.fullHistory, '10-irene shows the note to gloria in dinner')) { %><% } else { %>Irene wasn't told who wrote the anonymous note. <% }; %> <% if (_.contains(s.fullHistory, '0-burburfollowharmonic')) { %><% } else { %>Irene didn't see the face of the Burbur with keys. <% }; %> <% if (_.contains(s.fullHistory, '0-dinnercryingchaos')) { %><% } else { %>Irene didn't see a spirit humiliate the powerful. <% }; %> <% if (_.contains(s.fullHistory, '0-singorangeblossom')) { %><% } else { %>Irene didn't defend the *Franchiens* with a song. <% }; %><% s.narration['Grand Entrance Hall'].push('9999-theydarecome'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Franchiens Start Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Harmonic Room'], 'op Piano Concert Listen') == false ) { s.opport['Harmonic Room'].push('op Piano Concert Listen'); }; %><% s.narration['Harmonic Room'].push('0-concertinharmonicroom'); %><% s.narration['first floor'].push('0-musicfromharmonicroom'); %><% targetTurn = Math.floor( s.timeSpeed*14 );targetEvent = 'ev Concert In Harmonic Room Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>I hear a man crying near me</span>, 'They did dare come!' half angry, half amused. <% if ( _.contains(s.opport['Grand Entrance Hall'], 'op Franchiens Threats Listen') == false ) { s.opport['Grand Entrance Hall'].push('op Franchiens Threats Listen'); }; %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '9999-theydarecome' ); %><% s.opport['Grand Entrance Hall'] = _.without( s.opport['Grand Entrance Hall'] , 'op Franchiens Threats Listen' ); %><span class='high-emphasis'>A silent crowd always impresses me</span>. There must be more than forty people but I hear nothing other than the sweet notes that Lady Severin hits on the piano. I missed music during the days I spent in the forest.<span class='high-emphasis'>Music comes from the Harmonic Room</span>, floating in the air like the haze.<% s.narration['Harmonic Room'] = _.without( s.narration['Harmonic Room'] , '0-concertinharmonicroom' ); %><% s.narration['Harmonic Room'] = _.without( s.narration['Harmonic Room'] , '0-harmoniceavesdropangry' ); %><% s.narration['first floor'] = _.without( s.narration['first floor'] , '0-musicfromharmonicroom' ); %><% s.opport['Harmonic Room'] = _.without( s.opport['Harmonic Room'] , 'op Franchiens Arianne Warn' ); %><div id='opFranchiensThreatsListen' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Eavesdrop on the angry man.</div><div class='opdesc'>I am curious, although I am sure this will not be nice.</div></div></div><% $(function () { $('#opFranchiensThreatsListen').click(function () { $('#opFranchiensThreatsListen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFranchiensThreatsListen'); s.fullHistory.push('op Franchiens Threats Listen');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Franchiens Threats Listen';});}); %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Franchiens Start Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Grand Entrance Hall'].push('0-franchienseavesdropangry'); %><% s.reminders['listenfranchienthreat'] = "I heard some men planning a kind of assault on the French-Cantonal, in the garden."; %> <% if (_.contains(s.fullHistory, '0-initialcuriosityfranchiens')) { %><% } else { %><% s.narration['Harmonic Room'].push('0-harmoniceavesdropangry'); %><% if ( _.contains(s.opport['Harmonic Room'], 'op Franchiens Arianne Warn') == false ) { s.opport['Harmonic Room'].push('op Franchiens Arianne Warn'); }; %><% }; %> <% function gotDelay() {story.show('Grand Entrance Hall');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I eavesdrop</span> on the angry man. 'Where are they?' another asks. 'I saw the Franchiens go upstairs,' says a third one. 'So? We sit in front of them and stare until they die?' 'They'll go to the garden sooner or later. At least for dinner. In the garden we can be more persuasive.' They laugh. 'A toast to the ring!' I take a quick look at them. Lower nobility. They are right: if they intend to intimidate the French-Cantonal, no one will raise their voice to protest. And I have French-Cantonal friends. Perhaps I could warn them.<span class='high-emphasis'>Some French-Cantonal</span> are listening to the music behind everyone else, out of their sight. I recognise Arianne Bienaimé and her parents, a family that Father sometimes invited for dinner. The French-Cantonal have contributed to the greatness of our Canton for centuries. They fought for our freedom against the mad French emperor who trampled us on his road to conquering one half of Europe. They deserve honours! <% $('body').addClass('hideambientops'); %><div id='opInitialCuriosityFranchiens' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Spy on people saying unsettling things</div><div class='opdesc'>Were those men threatening the French-Cantonal?</div></div></div><% $(function () { $('#opInitialCuriosityFranchiens').click(function () { $('#opInitialCuriosityFranchiens').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opInitialCuriosityFranchiens'); s.fullHistory.push('op Initial Curiosity Franchiens');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Initial Curiosity Franchiens';});}); %> <% s.narration['Marble Gallery, East'].push('0-initialcuriosityfranchiens'); %> <% if (_.contains(s.fullHistory, 'op Franchiens Threats Listen')) { %><% } else { %><% s.narration['Harmonic Room'].push('0-harmoniceavesdropangry'); %><% if ( _.contains(s.opport['Harmonic Room'], 'op Franchiens Arianne Warn') == false ) { s.opport['Harmonic Room'].push('op Franchiens Arianne Warn'); }; %><% s.reminders['listenfranchienthreat'] = "I heard some men planning a kind of assault on the French-Cantonal, in the garden."; %><% }; %> <% function gotDelay() {story.show('Marble Gallery, East');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The two men</span> who talked about the French Cantonal are parting ways. I pass by as one of them says: 'I saw them upstairs.' 'I hope to you in the garden later, during the dance,' says the other. 'We will teach them a lesson.' For their clothes, I think they are merchants, but not too affluent. That sounds like they are going to intimidate the French-Cantonal. That's bad: if they do, no one will raise their voice to protest. And I have French-Cantonal friends. Perhaps I could warn them.<div id='opFranchiensArianneWarn' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Warn Arianne</div><div class='opdesc'>Tell her that some people are planning to humiliate them.</div></div></div><% $(function () { $('#opFranchiensArianneWarn').click(function () { $('#opFranchiensArianneWarn').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFranchiensArianneWarn'); s.fullHistory.push('op Franchiens Arianne Warn');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Franchiens Arianne Warn';});}); %> <% s.narration['Main Hallway'].push('0-harmonicariannewarn'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Franchiens Thinking Father';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Main Hallway');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>There's familiarity</span> between Arianne and I, and we can speak openly. I lead her out of the room and I whisper a description of the men I heard and their threats. She listens carefully and says she knows them. 'They don't take rejection from any woman lightly,' she says. I'm confused for a few moments until I understand the dismaying insinuation. 'But what can we do? Even knowing in advance, how can we fight back? We can't avoid them forever.' She's right. How I dread this torpor of defeat. I must not let myself be dragged into it.<% s.narration[passage.name].push('1000-harmonicariannewarn'); %><span class='high-emphasis'>I'm absentminded.</span> I'm still worried about Arianne. Some memories fleetingly surface: her family's kindness, the stories her father tells, his scars...<% if (s.currentLocation == 'Fountain') { %><% } else { %><% s.narration['garden'].push('500-gardenfountaincommotionfranchiens'); %><% }; %><% s.narration['Fountain'].push('10-franchiensgardenargument'); %><% targetTurn = Math.floor( s.timeSpeed*18 );targetEvent = 'ev Franchiens Fight Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['garden'] = _.without( s.narration['garden'] , '500-gardenfountaincommotionfranchiens' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '10-franchiensgardenargument' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '10-franchiensgardenargument2' ); %><% delete s.reminders['listenfranchienthreat']; %><% s.eventIgnore.push('ev Franchiens Fight Renew Description'); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Franchiens Join Crowd' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Franchiens Reproach Iuvens' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Franchiens Orange Blossom' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'ID' ); %><span class='high-emphasis'>I hear noise.</span> There's some commotion near the fountain.<% if (_.contains(s.fullHistory, '0-harmonicariannewarn')) { %><% print("<p><span class='high-emphasis'>An argument has burst</span>. On one side, the Bienaimé family and some other French-Cantonal; opposite them, the men I heard planning to harass them. Insults, slurs and accusations of treason fly toward the imperturbable Bienaimés, who are only trying to face them with dignity. But Arianne is trembling like she's going to weep.</p>"); %><% print("<p>I hate this. It's a lie that they helped the French invaders thirty years ago. There's nothing in France for them. But royalists will keep trying to scare the *Franchiens* into leaving.</p>"); %><% print("<p>Nobody comes out in their defense. Even a priest is watching in silence. This makes me very, very angry.</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>An argument has burst</span>. Some French-Cantonal families are facing a group of men. Insults, slurs and accusations of treason fly toward the imperturbable French-Cantonal, who are only trying to face them with dignity. I recognize a few. Arianne Bienaimé, whom I know since we both were children, is trembling like she's going to weep.</p>"); %><% print("<p>I hate this. These families have lived in the Canton for centuries. It's a lie that they helped the French invaders thirty years ago. There's nothing in France for them. But royalists will keep trying to scare the *Franchiens* into leaving.</p>"); %><% print("<p>Nobody comes out in their defense. Even a priest is watching in silence. This makes me very, very angry.</p>"); %><% }; %> <% targetTurn = s.turn+1;targetEvent = 'ev Franchiens Fight Renew Description';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Fountain'], 'op Franchiens Join Crowd') == false ) { s.opport['Fountain'].push('op Franchiens Join Crowd'); }; %><% if ( _.contains(s.opport['Fountain'], 'op Franchiens Reproach Iuvens') == false ) { s.opport['Fountain'].push('op Franchiens Reproach Iuvens'); }; %><% $('body').addClass('hideambientops'); %><% if (!_.contains( s.narration["Fountain"], "10-franchiensgardenargument" ) || !_.contains( s.narration["Fountain"], "10-franchiensgardenargument2" )) { %><% s.narration['Fountain'].push('10-franchiensgardenargument2'); %><% }; %><% targetTurn = s.turn+1;targetEvent = 'ev Franchiens Fight Renew Description';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><%= _.sample( [ "<span class='high-emphasis'>This is disgusting.</span> A crowd keeps insulting some poor French-Cantonal and they don't seem to be stopping soon.", "<span class='high-emphasis'>The altercation continues.</span> The French-Cantonal keep taking insults with admirable dignity.", "<span class='high-emphasis'>A crowd</span> keeps relentlessly name-calling some French-Cantonal I know.", "<span class='high-emphasis'>A group of people</span> keeps insulting the French-Cantonal. Arianne is sobbing under the rain of insults, to the crowd's pleasure.", "<span class='high-emphasis'>The shameful spectacle</span> of the insults towards the French-Cantonal continues, and I'm certain that a lot of people who are not involved in it are enjoying it. ", ]) %> <% $('body').addClass('hideambientops'); %><div id='opFranchiensJoinCrowd' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Join the crowd that insults the French-Cantonal</div><div class='opdesc'>It'd be despicable, but most people would welcome me.</div></div></div><% $(function () { $('#opFranchiensJoinCrowd').click(function () { $('#opFranchiensJoinCrowd').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFranchiensJoinCrowd'); s.fullHistory.push('op Franchiens Join Crowd');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Franchiens Join Crowd';});}); %> <% s.narration['Fountain'].push('0-joincrowdfranchiens'); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Franchiens Reproach Iuvens' ); %><% s.log.push("I joined the crowd who insulted my friend Arianne."); %><% function gotDelay() {story.show('Fountain');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I can be passably hypocritical after all</span>, it won't hurt. Isn't it the most widely used currency in the world? The laughing and insulting crowd is growing in numbers. I join them: I point: I laugh. They are calling them bug eaters, which I find amusing indeed. Then I find Arianne's gaze locked on me and I look away. It won't be easy to speak to her again, but she won't reject me, I believe.<div id='opFranchiensReproachIuvens' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Reproach the priest his inaction</div><div class='opdesc'>He stands, doing nothing, just looking. He knows me. He won't like hearing it from me.</div></div></div><% $(function () { $('#opFranchiensReproachIuvens').click(function () { $('#opFranchiensReproachIuvens').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFranchiensReproachIuvens'); s.fullHistory.push('op Franchiens Reproach Iuvens');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Franchiens Reproach Iuvens';});}); %> <% s.narration['Fountain'].push('0-franchiensreproachiuvens'); %> <% if (_.contains(s.fullHistory, 'op Franchiens Arianne Warn')) { %><% if ( _.contains(s.opport['Fountain'], 'op Franchiens Orange Blossom') == false ) { s.opport['Fountain'].push('op Franchiens Orange Blossom'); }; %><% s.eventIgnore.push('ev Franchiens Fight Remove'); %><% }; %> <% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Franchiens Join Crowd' ); %><% function gotDelay() {story.show('Fountain');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'So, Father,'</span> I say to the priest, 'what penance will be adequate for all these people? Will it be enough with a Hail Mary or perhaps you'll raise it to two?' His eyes blaze. But he sees who I am, and he lowers his voice. 'Show respect, child.' 'Why aren't *they*,' I say, pointing at the crowd, 'asked to show respect?' 'You're a child, and even worse, a woman. If you understood what's at stake you'd keep your mouth shut, as you should.' He turns his back and leaves. Insults keep pouring. The Bienaimés still face them with a prosaic face, still not pulling back. <% $('body').addClass('hideambientops'); %><% targetTurn = s.turn+1;targetEvent = 'ev Franchiens Fight Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (_.contains(s.fullHistory, 'op Franchiens Arianne Warn')) { %><% } else { %><% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %> <% }; %><div id='opFranchiensOrangeBlossom' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>An idea to help the *Franchiens*!</div><div class='opdesc'>A moment of inspiration! Sing *Orange Blossom*. That will turn the tables on the crowd that insults them.</div></div></div><% $(function () { $('#opFranchiensOrangeBlossom').click(function () { $('#opFranchiensOrangeBlossom').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFranchiensOrangeBlossom'); s.fullHistory.push('op Franchiens Orange Blossom');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Franchiens Orange Blossom';});}); %> <% s.narration['Pseudopassage'].push('0-singorangeblossom'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Franchiens Sing Louder') == false ) { s.opport['Pseudopassage'].push('op Franchiens Sing Louder'); }; %><% s.eventIgnore.push('ev Franchiens Fight Renew Description'); %><% delete s.reminders['listenfranchienthreat']; %><% s.log.push("I sang *Orange Blossom* to help some innocent people."); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>I wish I had a louder voice</span>. I need to sing on top of the laughter and the cries. There are some women nearby who are looking at the spectacle but they aren't opening their mouths: I move to stand next to them and hope they will listen. My hand is trembling. It's so difficult to start. Everyone will be looking at me. *If this year we can't dance under the orange blossom...*<div id='opFranchiensSingLouder' class='oport story'><img class='optimg' src='img/opts/attack.jpg'><div class='optext'><div class='optitle'>No one has heard that! Louder!</div><div class='opdesc'></div></div></div><% $(function () { $('#opFranchiensSingLouder').click(function () { $('#opFranchiensSingLouder').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFranchiensSingLouder'); s.fullHistory.push('op Franchiens Sing Louder');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Franchiens Sing Louder';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Franchiens Sing End') == false ) { s.opport['Pseudopassage'].push('op Franchiens Sing End'); }; %><% s.narration['Pseudopassage'].push('0-singorangeblossomlouder'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I clear my throat</span>, I breathe in deeply, and I start my song just once more. *If this year we can't dance under the orange blossom* People nearby turn to me. *And the sorrow is shackling our feet* *Remember, my dear, that another spring will come* Two women walk away. This is not going to work. I feel a crack just about to tear my voice apart. *Old swallows will not return to our fields* A flimsy, girly voice joins mine. I can't see her behind me but I feel her, thin as paper... Is that another one? *Not me, my friends, not me* Voices all around. They heard me. *Old wine in new bottles...* Now the insulting crowd begins to notice. *A thorn in his bottom...* Now we are many. The French-Cantonal have noticed us too. We are defeating the noise of insults. *Blue dance, red dance, green dance...* But they'll start again after the song. Unless this works.<div id='opFranchiensSingEnd' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>*Not me, my friends, not me*</div><div class='opdesc'>This is the line.</div></div></div><% $(function () { $('#opFranchiensSingEnd').click(function () { $('#opFranchiensSingEnd').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFranchiensSingEnd'); s.fullHistory.push('op Franchiens Sing End');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Franchiens Sing End';});}); %> <% s.narration['Fountain'].push('0-singorangeblossomend'); %><% s.preImg['Fountain'] = 'img/opts/blood.jpg'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>An old French-Cantonal</span> unceremoniously drops his trousers. *Not me, my friends, not me!* Others roll up their sleeves, their trousers, remove their shirts or their hats, singing *Not me*. The crowd is silent. The first man has three deep scars crossing his thigh. Others show missing fingers, the places where bullets cut through their bellies, great bald patches where a sword hit their heads. Bienaimé has many small scars from shrapnel. Twenty-three year old scars, from the war against French invaders. What *Orange Blossom* is about, what *Not me* is about. The attackers are fuming. No one wants to defend a French-Cantonal, but no one wants to revile a fighter against the Napoleonic army. The song ends, people scatter. No one annoys the French-Cantonal while they leave. Arianne weeps. I hope she didn't see me starting it. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opCrimeTablesBlind' class='oport story'><img class='optimg' src='img/opts/blind.jpg'><div class='optext'><div class='optitle'>A blind man is singing a romance</div><div class='opdesc'>Judging by the interest of the public, it must be really gruesome.</div></div></div><% $(function () { $('#opCrimeTablesBlind').click(function () { $('#opCrimeTablesBlind').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCrimeTablesBlind'); s.fullHistory.push('op Crime Tables Blind');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crime Tables Blind';});}); %> <% s.narration['Outside tables'].push('0-tablesblindromance'); %><% s.preImg['Outside tables'] = 'img/opts/blood.jpg'; %><% if ( _.contains(s.opport['Outside tables'], 'op Romance Blind Listen') == false ) { s.opport['Outside tables'].push('op Romance Blind Listen'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Blind Romance Listen Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>A blind man</span> with colourful but ragged clothes sings. Near him, there is a board with a series of big and crude drawings, and a child is pointing to one of the frames with a stick, for the benefit of an entranced public. The voice is hoarse and pitiful, but well tuned. I am too far to see the drawings, but they depict violence. The romance must have started long ago. What can it be about...?<% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Crime Tables Blind' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Romance Blind Listen' ); %><div id='opRomanceBlindListen' class='oport story'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>The blind's performance is coming to an end</div><div class='opdesc'>His romance has to be ending. I still can listen and find out what it is about.</div></div></div><% $(function () { $('#opRomanceBlindListen').click(function () { $('#opRomanceBlindListen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opRomanceBlindListen'); s.fullHistory.push('op Romance Blind Listen');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Romance Blind Listen';});}); %> <% s.narration['Outside tables'].push('1-tableslistentoromance'); %><% s.narration['Father'].push('500-fatherheretalkromance'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*8 ));targetEvent = 'ev Crime Tension Father Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.log.push("I listened to a blind singing a romance about a miscarriage of justice."); %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Of course.</span> What else. It is about the Amaisa case. *The wise judge said: the girl deserved every blow, my nephew was right, it was the porter's fault. Now the nephew is free, and the porter hangs. The people are angry but the justice is calm. Ah oh, ah me Shame and sorrow...* And he is singing this here, just before before the Wheel of Grievances! And now some people are staring at me! But they must know that Father was the only judge who said that the porter was innocent. Father should be aware that the people are talking about this, before the Wheel starts. He must be in the Gallery or nearby.<span class='high-emphasis'>Father is here,</span> not paying much attention. Don't I have something to tell him? <% if ( _.contains(s.opport['Father'], 'op Crime Tension Father') == false ) { s.opport['Father'].push('op Crime Tension Father'); }; %><div id='opCrimeTensionFather' class='oport story char'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>Tell Father about the blind man and his romance</div><div class='opdesc'>If there is unrest among the people because of the Amaisa case, he has to know.</div></div></div><% $(function () { $('#opCrimeTensionFather').click(function () { $('#opCrimeTensionFather').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCrimeTensionFather'); s.fullHistory.push('op Crime Tension Father');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crime Tension Father';});}); %> <% s.eventIgnore.push('ev irene wonders avoiding people'); %><% s.narration['myself'] = _.without( s.narration['myself'] , '500-irene wonders avoiding people' ); %><% s.narration['myself'].push('0-tellfathertensionamaisa'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Crime Father Talk';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'So, why does this unsettle you so much?,'</span> Father asks with a kind look. I have no need to keep it from him. 'Imagine,' I whisper, 'that during the Wheel of Grievances people were to complain against judges. Everyone believes that the porter was innocent, the maid unjustly punished and it was the young Novus who should be tried, but he is a rich noble with an uncle in the judiciary. Imagine the people complained, one after another. All judges are here now. Novus is here now.' He looks away and then he speaks. 'None of that will happen.'<% s.opport['Father'] = _.without( s.opport['Father'] , 'op Crime Tension Father' ); %><% s.narration['Father'] = _.without( s.narration['Father'] , '500-fatherheretalkromance' ); %><% if (passage.name != "Library") { %><% s.narration[passage.name].push('500-crimefathersearchingirenewarning'); %><% }; %><% targetTurn = Math.floor( s.timeSpeed*24 );targetEvent = 'ev Crime Father Novus Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.charLocationPriority['Father'] < 1000) { s.charLocationPriority['Father'] = 1000;s.characterList['Father'] = 'Library'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Library"; s.charLocationPriority["Father"] = 1000; %><% s.narration['Father'].push('500-fathercomeheregesture'); %><span class='high-emphasis'>Someone calls my name</span>. 'Irene! Your father told me that he would like to talk to you immediately. He must be in the library now.'<span class='high-emphasis'>Father is here</span>. He does a 'come here' gesture <% if ( _.contains(s.opport['Father'], 'op Crime Father Novus') == false ) { s.opport['Father'].push('op Crime Father Novus'); }; %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Father Initial Greet' ); %><% s.narration['Father'].push('500-fathertoolatetospeak'); %><% s.narration['Father'] = _.without( s.narration['Father'] , '500-fathercomeheregesture' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Crime Father Novus' ); %><% s.charLocationPriority['Father'] = 0; %><span class='high-emphasis'>Father is here</span>. 'Too late for that now,' he says when I ask why he wanted to talk to me.<div id='opCrimeFatherNovus' class='oport story char'><img class='optimg' src='img/opts/old_hand.jpg'><div class='optext'><div class='optitle'>Father wants to talk to me</div><div class='opdesc'>He looks exceptionally grave.</div></div></div><% $(function () { $('#opCrimeFatherNovus').click(function () { $('#opCrimeFatherNovus').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCrimeFatherNovus'); s.fullHistory.push('op Crime Father Novus');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crime Father Novus';});}); %> <% s.narration['myself'].push('0-fatherasksremovenovus'); %><% s.narration['Fountain'].push('500-arboricolaisinthegarden'); %><% targetTurn = Math.floor( s.timeSpeed*24 );targetEvent = 'ev Crime Arboricola Ask Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.reminders['Novus'] = "Father wants me to prevent the young Novus to attend the Wheel of Grievances."; %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Father</span> leaves me almost speechless. He agrees with what I said before about the risk of a riot if young Novus is seen during the Wheel of Grievances, so he's asking me to remove him from there. 'Father, Novus gave a vicious beating to a peasant woman. Do you want me to *protect* him?' The mere thought makes me sick. 'And everyone will see me being friendly to him. How can you ask that?' 'I've had to do worse than that, more often than I'd like. I'd do it if I could, but I am forbidden from leaving the ceremony myself, and I... I don't really trust anyone else but you, daughter.' It *is* sick. But I understand his reasons. Perhaps... someone else might do it for me. I saw Mr. Arboricola near the garden fountain before.<span class='high-emphasis'>As I expected</span>, Mr. Arboricola is here, but he hasn't seen me yet. Maybe he could help me with Father's task. <% if ( _.contains(s.opport['Fountain'], 'op Crime Arboricola Ask') == false ) { s.opport['Fountain'].push('op Crime Arboricola Ask'); }; %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Crime Arboricola Ask' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-arboricolaisinthegarden' ); %><% delete s.reminders['Novus']; %><div id='opCrimeArboricolaAsk' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Mr. Arboricola could help me with Novus</div><div class='opdesc'>My father wants Novus out of the garden before nine. Arboricola could remove him for me.</div></div></div><% $(function () { $('#opCrimeArboricolaAsk').click(function () { $('#opCrimeArboricolaAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCrimeArboricolaAsk'); s.fullHistory.push('op Crime Arboricola Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crime Arboricola Ask';});}); %> <% s.narration['Pseudopassage'].push('0-askarboricolanovus'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crime Arboricola Promise') == false ) { s.opport['Pseudopassage'].push('op Crime Arboricola Promise'); }; %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Crime Arboricola Ask' ); %><% s.log.push("I got young Novus out of the Wheel of Grievances."); %><% s.reminders['joinnovusarboricola'] = "I promised Arboricola that I would join him and Novus at the Portrait Room."; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>Arboricola is one of the men</span> who actually listen to what I say. Unlike most, he welcomed me when I started hearing Natural History classes in the University. He still does. 'I'm starting to think you are going to stay in the wood,' he says. I quickly tell him what I need to do, but id don't admit that I fear terrible consequences if Novus is here and someone complains about his case. 'The festival would go more smoothly for everyone if some tensions could be avoided, don't you think?,' I say. Arboricola's family, specially his father, is in very good terms with the Novus family. 'I will take him to the Portrait Room until the Wheel ends. But you have to come too, Irene, please.'<div id='opCrimeArboricolaPromise' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Promise I'll join them later</div><div class='opdesc'>I feel disgusted by the idea, but it's the least I can do for Arboricola.</div></div></div><% $(function () { $('#opCrimeArboricolaPromise').click(function () { $('#opCrimeArboricolaPromise').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCrimeArboricolaPromise'); s.fullHistory.push('op Crime Arboricola Promise');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crime Arboricola Promise';});}); %> <% s.narration['Fountain'].push('0-promisearboricolajoin'); %><% s.narration['Portrait Room'].push('50-joinarboricolanovus'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crime Arboricola Promise' ); %><% if (_.contains( _.keys(s.interrupt),'Portrait Room' )) { s.interrupt['Portrait Room'].push('int Crime Novus Portrait'); } else { s.interrupt['Portrait Room'] = ['int Crime Novus Portrait']; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Revolting Promise Arboricola';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*30 );targetEvent = 'ev Portrait Novus Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*45 );targetEvent = 'ev Not Accompany Novus Arboricola';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*47 );targetEvent = 'ev Woman comments about Novus not in wheel';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I promise Arboricola</span> to go with him a bit later. 'Irene,' says he, changing his tone, 'three people have already talked me about your aunt. And your family.' I sigh. I think I feel a pressure on my temples. 'Escaping that kind of people is the reason I go to the forest.' 'I know. I'm just warning.' He goes right away looking for Novus. I see him again a couple of minutes later: he and Novus are walking into the Gallery, arm in arm. A lot of cold stares follow them. But the Wheel is going to be a lot less tense, less dangerous. Now I'm merely curious to know if someone will publicly accuse Novus. Sure someone *should*.<% s.narration['Portrait Room'] = _.without( s.narration['Portrait Room'] , '50-joinarboricolanovus' ); %><% delete s.reminders['joinnovusarboricola']; %><% if ( _.contains( _.keys(s.interrupt), 'Portrait Room' )) { s.interrupt['Portrait Room'] = _.without( s.interrupt['Portrait Room'], 'int Crime Novus Portrait'); } %><% s.narration['myself'].push('1000-revoltingpromisearboricola'); %><span class='high-emphasis'>Meanwhile</span>, my mind turns again and again to the promise I made to Arboricola. How will I endure a conversation with a man like Novus, that treats women with such vicious contempt? Also, a man that knows that *my father considers him a criminal.*<span class='high-emphasis'>I come to a deserted room</span>. It seems that Arboricola hasn't taken Novus here right away. But they'll be here later, sure? *He* made me promise!<span class='high-emphasis'>'And this is exactly</span> what I would love to have with me during a war!' As I come in, Novus waves some kind of heavy-looking sword. Then he sees me and he gets stiff, welcoming me with an awkward head gesture. Arboricola is behind him, concealing a chuckle. 'What a martial spirit!' I say. 'Which enemy are we going to crush?' 'Boredom?' Arboricola says. 'Oh, yes!' I say. 'All these ceremonies are so boring. Don't you think, Mr. Novus? Which rank should I use to address you nowadays?' 'Lieutenant!' says Novus, with a mixture of hostility and pride. 'Yes, you are right! Perusing the arms collection here is better than listening to peasants in disguise complaining about hungry cows.' He waves that big, old sword again.<% delete s.reminders['joinnovusarboricola']; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait Sit') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait Sit'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait Leave') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait Leave'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opNovusPortraitSit' class='oport story'><img class='optimg' src='img/opts/chair.jpg'><div class='optext'><div class='optitle'>Sit down</div><div class='opdesc'>I can't think of anything to say.</div></div></div><% $(function () { $('#opNovusPortraitSit').click(function () { $('#opNovusPortraitSit').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opNovusPortraitSit'); s.fullHistory.push('op Novus Portrait Sit');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Novus Portrait Sit';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait Silent') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait Silent'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait Talk') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait Talk'); }; %><% s.narration['Pseudopassage'].push('0-novusportraitsit'); %><% s.eventIgnore.push('ev Not Accompany Novus Arboricola'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I choose an armchair</span> not close to any other chairs. At least he won't sit near me. I can make out the scar from his temple to the top of his head, from the fight he had with the porter that tried to stop the beating he was giving to the maid. I notice they are nervous, and I become restless to break the silence. 'This dust!' I say, while wiping the seat of the armchair. 'Have you ever seen anything like it?' 'So much dust is inconvenient inside the house,' Novus answers, 'but it is the standard fare for any soldier.' I struggle not to grimace. I remember something I heard at Clara's salon: that the young Novus, unlike his father, is the kind of soldier that thrives only in times of pristine peace.<div id='opNovusPortraitSilent' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Stay silent</div><div class='opdesc'>Each sentence I say is exhausting. How long must this go on?</div></div></div><% $(function () { $('#opNovusPortraitSilent').click(function () { $('#opNovusPortraitSilent').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opNovusPortraitSilent'); s.fullHistory.push('op Novus Portrait Silent');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Novus Portrait Silent';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait War') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait War'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait Science') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait Science'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Portrait Talk' ); %><% s.narration['Pseudopassage'].push('0-novusstaysilent'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Novus knows</span> my father said he should be declared guilty. He keeps looking at weapons, stooped over, eyes half-closed. Is he thinking it now? Is that the cause for his surly expression? 'So, what do you think about war, my friend?' Arboricola asks. 'Aren't we living in the most peaceful time since the Romans? The powers have finally decided that European nations won't need these weapons anymore!' 'They have discharged me from the infantry,' Novus says, going across his scar with one finger, 'because of *this*. I won't have a choice to keep order in Aurora, like Paris two years ago. Aren't things so difficult today, Benedetti?' 'I'm Arboricola, my friend,' Arboricola corrects. 'I know, I know!' Novus says, raising his voice and his arms. Somehow he loses his balance and stumbles to the floor. Arboricola helps him to stand up. 'Arboricola, I didn't see that lady who's sitting over there,' Novus whispers. 'When did she come in? She's not a friend.' 'Please be polite to her,' says Arboricola.<div id='opNovusPortraitTalk' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Say something</div><div class='opdesc'>Prevent silence. I don't want this situation to be worse.</div></div></div><% $(function () { $('#opNovusPortraitTalk').click(function () { $('#opNovusPortraitTalk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opNovusPortraitTalk'); s.fullHistory.push('op Novus Portrait Talk');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Novus Portrait Talk';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait War') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait War'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait Science') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait Science'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Portrait Silent' ); %><% s.narration['Pseudopassage'].push('0-novussaysomething'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Before I can say anything</span>, Arboricola speaks. 'So, what do you think about war, my friend? Aren't we living in the most peaceful time since the Romans? The powers have finally decided that European nations won't need these weapons anymore!' 'They have discharged me from the infantry,' Novus says, going across his scar with one finger, 'because of *this*. I won't have a choice to keep order in Aurora, like Paris two years ago. Aren't things so difficult today, Benedetti?' 'I'm Arboricola, my friend,' Arboricola corrects. 'I know, I know!' Novus says, raising his voice and his arms. Somehow he loses his balance and stumbles to the floor. Arboricola helps him to stand up. 'Arboricola, I didn't see that lady who's sitting over there,' he says. 'When did she come in? She's not a friend.' 'Please be polite to her,' says Arboricola.<div id='opNovusPortraitWar' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Ask Novus about war again</div><div class='opdesc'>It may be better that he keeps speaking about something he likes.</div></div></div><% $(function () { $('#opNovusPortraitWar').click(function () { $('#opNovusPortraitWar').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opNovusPortraitWar'); s.fullHistory.push('op Novus Portrait War');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Novus Portrait War';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait Burbur Appears') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait Burbur Appears'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Portrait Science' ); %><% s.narration['Pseudopassage'].push('0-novusportraitwar'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'So do you believe</span>, Mr. Novus, that there will be more revolutions in Europe and kings will keep sending soldiers against them?' I ask. Novus looks at me as if he'd just heard a marble statue talk. 'My head hurts,' he says while rubbing his forehead. 'What did you ask? Yes, there will be, and people like you, your father and your sister will be responsible for the guillotines.' 'Please, my friend!' says Arboricola. 'What did I say? Sometimes the headache makes me unable to think,' says Novus, and he rubs his forehead and the scar again. 'Lady Victor, I hope I'm not being a nuisance to you. I'm afraid I'm having a rough evening.' 'You're not a nuisance, my dear Mr. Novus,' I say in a hushed voice.<div id='opNovusPortraitScience' class='oport story'><img class='optimg' src='img/opts/flower.jpg'><div class='optext'><div class='optitle'>Ask Arboricola about nature</div><div class='opdesc'>I don't want to hear Novus speaking any longer.</div></div></div><% $(function () { $('#opNovusPortraitScience').click(function () { $('#opNovusPortraitScience').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opNovusPortraitScience'); s.fullHistory.push('op Novus Portrait Science');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Novus Portrait Science';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait Burbur Appears') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait Burbur Appears'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Portrait War' ); %><% s.narration['Pseudopassage'].push('0-novusportraitnature'); %><% if ( _.contains(s.opport['Father'], 'op Tell father Novus mentioned') == false ) { s.opport['Father'].push('op Tell father Novus mentioned'); }; %><% targetTurn = Math.floor( s.timeSpeed*52 );targetEvent = 'ev tell father novus mentioned remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Tell father Novus mentioned' ); %><span class='high-emphasis'>'Do you have new interesting specimens</span> in your collection, Mr. Arboricola?' I ask. 'Lady Victor and I share the appreciation of nature,' he says, addressing Novus before me. 'Are you talking about the lady who was here before?' Novus asks. He hasn't looked at me for a while. 'My father would say that a woman who tries to be a scholar is a mockery. Do you know her father said that the bum who flipped me over was innocent? I hope they get him soon. My father promised me they would.' Get Father? *What does that mean?* 'Let's talk about something else,' says Arboricola.<div id='opNovusPortraitBurburAppears' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Say nothing</div><div class='opdesc'>I'm disturbed. I need silence.</div></div></div><% $(function () { $('#opNovusPortraitBurburAppears').click(function () { $('#opNovusPortraitBurburAppears').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opNovusPortraitBurburAppears'); s.fullHistory.push('op Novus Portrait Burbur Appears');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Novus Portrait Burbur Appears';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Burbur Defend') == false ) { s.opport['Pseudopassage'].push('op Novus Burbur Defend'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Burbur Nothing') == false ) { s.opport['Pseudopassage'].push('op Novus Burbur Nothing'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Portrait Leave' ); %><% s.preImg['Pseudopassage'] = 'img/opts/burburum_woman.jpg'; %><% s.narration['Pseudopassage'].push('0-novusportraitburburappears'); %><% targetTurn = Math.floor( s.timeSpeed*50 );targetEvent = 'ev Burbur Keys Gallery';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I have nothing to say</span>. Arboricola accusingly glares at me. Novus doesn't seem to notice us while he examines a scimitar inside a cabinet. The head injury has left him in a worse shape than I had heard Not worse than Albine Amaisa. Or the porter. And now a Burbur enters the room. A Burbur with her head hidden by a large skull that looks like an ox or a cow to me, and a necklace of old keys. <% print( story.render( "mars mechanism") ); %> 'Who said you can be here?' Novus asks. The Burbur doesn't answer. It walks and looks at us, the portraits and the arms. The way it moves makes me think it's a woman. Finally she faces Novus. 'And who said you are allowed to stare at your superiors?' Novus asks. The Burbur stays silent. 'Do you think that today is different from any other day? It isn't. I'm a lord, you're rabble. A disguise doesn't change that. It's us who allow you to be here, not the tradition. Do you hear me? With your face covered I can't tell if you hear.' She briefly turns my head to me, then stares at Novus again.<div id='opNovusBurburDefend' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Defend the Burbur against Novus</div><div class='opdesc'>She has a right to be here. This joke of a man doesn't respect any decent tradition.</div></div></div><% $(function () { $('#opNovusBurburDefend').click(function () { $('#opNovusBurburDefend').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opNovusBurburDefend'); s.fullHistory.push('op Novus Burbur Defend');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Novus Burbur Defend';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait Leave') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait Leave'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Burbur Nothing' ); %><% s.narration['Pseudopassage'].push('0-novusburburdefend'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I'm going to stop Novus' insults.</span> I take one step towards them... Arboricola holds my shoulders so I don't move. 'What are you doing? Let go!' 'It's better to let him have his way,' he answers. 'It's none of our business. Please don't get us into trouble.' I'm still furious. But I know well that my anger will never be respected as a man's anger. 'What are you afraid of?' I ask, softly. Arboricola releases me. 'Do you have to ask?' he says. Novus' voice is now depthless, colourless, so indistinct some words are lost. '... a servant, a lowlife every single day... ignorant, coward, depraved... can't fight... can't take decisions... a burden on those who are better...' The Burbur looks alternatively at him and at me. She leaves suddenly. Novus keeps talking, his eyes unfocused.<div id='opNovusBurburNothing' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Say nothing</div><div class='opdesc'>I know Novus is dangerous.</div></div></div><% $(function () { $('#opNovusBurburNothing').click(function () { $('#opNovusBurburNothing').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opNovusBurburNothing'); s.fullHistory.push('op Novus Burbur Nothing');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Novus Burbur Nothing';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Novus Portrait Leave') == false ) { s.opport['Pseudopassage'].push('op Novus Portrait Leave'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Burbur Defend' ); %><% s.narration['Pseudopassage'].push('0-novusburburnothing'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>This man turns my stomach.</span> But he wouldn't be here if he didn't have a power that I should fear. I better not defy him. Novus' voice is now depthless, colourless, so indistinct some words are lost. '... a servant, a lowlife every single day... ignorant, coward, depraved... can't fight... can't take decisions... a burden on those who are better...' The Burbur looks alternatively at him and at me, and doesn't do anything else until she leaves suddenly. Novus keeps talking, his eyes unfocused.<div id='opNovusPortraitLeave' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Leave this place</div><div class='opdesc'>I may be good at concealing it, but having a conversation with this man makes me sick. Enough is enough.</div></div></div><% $(function () { $('#opNovusPortraitLeave').click(function () { $('#opNovusPortraitLeave').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opNovusPortraitLeave'); s.fullHistory.push('op Novus Portrait Leave');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Novus Portrait Leave';});}); %> <% s.narration['Southern Hallway'].push('0-novusportraitleave'); %><% targetTurn = s.turn+1;targetEvent = 'ev Novus Block Portrait';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.exitList["Southern Hallway"] = [ "no exit", "Main Hallway exit", "no exit", "no exit", "no exit", "no exit"]; %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crime Novus Portrait' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Portrait Silent' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Portrait Talk' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Portrait War' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Portrait Science' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Portrait Burbur Appears' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Burbur Defend' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Novus Burbur Nothing' ); %><% s.returnRef = 'Southern Hallway'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>This man's weak eyes</span>, on a bland face, exhaling a cruel breath. 'Arboricola,' asks Novus, his face suddenly dumbfounded, 'where is the lady? Wasn't she here? I'm glad she's gone. Her aunt is mad. All the women in that family are mad, and the father is a traitor.' Enough. I've complied with Father's request and Novus won't cause any tension during the Wheel. No one has a right to ask me for more. I will compensate Arboricola some other day. But now I must leave. He's *looking* at me. Is this how he looked at...? 'I implore your understanding, sirs,' I say, before messily saying goodbye and stumbling through the door. I gasp with relief once I close the door behind me. I'm not going back there until they leave. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><% targetTurn = s.turn+1;targetEvent = 'ev Novus Block Portrait 2';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Southern Hallway'].push('10-novusstillinportrait'); %><% targetTurn = Math.floor( s.timeSpeed*30 );targetEvent = 'ev Novus Unblock Portrait';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Southern Hallway'].push('10-novusstillinportrait'); %> <span class='high-emphasis'>Perhaps Novus and Arboricola</span> are still in the Portrait Room. I'm not going in there.<% s.narration['Southern Hallway'] = _.without( s.narration['Southern Hallway'] , '10-novusstillinportrait' ); %><% s.exitList["Southern Hallway"] = [ "Portrait Room exit", "Main Hallway exit", "no exit", "no exit", "no exit", "no exit"]; %><% s.narration['ground floor'].push('200-notaccompanynovusarboricola'); %><span class='high-emphasis'>'Hello, Irene,'</span> someone says right behind me. I turn: it's Arboricola. Before I can articulate a word, he continues: 'Don't think I don't understand what you've done. You didn't want to do your father's dirty work yourself so you left me alone with the most hated man in Aurora.' 'Please listen...' 'I doubt I'll listen to you for a long time, if ever again.' 'Was Novus mean to you?' Arboricola sighs. 'He used to be short-tempered. Now he's worse. I guess it's the blow to the head.' 'I won't feel sorry for him.' 'Me neither. Now I'm afraid of him. And I don't trust you. Good night.' So... one friend less? Thanks, Father. <% s.log.push("Arboricola got furious at me because I didn't join him and Novus."); %><% s.narration['Garden Stairs'].push('1000-woman comments novus not in wheel'); %><% s.narration['Fountain'].push('1000-woman comments novus not in wheel'); %><% s.narration['Blue Pavilion'].push('1000-woman comments novus not in wheel'); %><% s.narration['Outside tables'].push('1000-woman comments novus not in wheel'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*12 ));targetEvent = 'ev Woman comments about Novus not in wheel remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '1000-woman comments novus not in wheel' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '1000-woman comments novus not in wheel' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '1000-woman comments novus not in wheel' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '1000-woman comments novus not in wheel' ); %>A conversation near me draws my attention. 'I'm sure Novus wasn't attending the Wheel,' a female voice comments. 'I don't think he would have stayed silent when they talked about him.' 'Who asked your opinion?' a man answers. I turn my head in time to see a woman look down with an ashamed expression. I barely see the man's face. What a disgusting tyrant. <% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '1000-woman comments novus not in wheel' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '1000-woman comments novus not in wheel' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '1000-woman comments novus not in wheel' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '1000-woman comments novus not in wheel' ); %><div id='opTellfatherNovusmentioned' class='oport story'><img class='optimg' src='img/opts/old_hand.jpg'><div class='optext'><div class='optitle'>Tell Father that Novus mentioned him</div><div class='opdesc'>It sounded menacing. He needs to know.</div></div></div><% $(function () { $('#opTellfatherNovusmentioned').click(function () { $('#opTellfatherNovusmentioned').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opTellfatherNovusmentioned'); s.fullHistory.push('op Tell father Novus mentioned');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Tell father Novus mentioned';});}); %> <% s.narration['myself'].push('10-tell father novus mentioned'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I take Father</span> to a quiet place. 'Coming for me,' he repeats after I've recounted the whole scene with Novus. His voice is shaking. He doesn't seem to know what to do. I realise I have never seen him like this. 'I'm more than an old man. But I fear.' I protest: he's one of the greatest men in the Canton. 'People talk. I've always had a reputation... Noble by appointment. Opposed to the royalists. Father to Clara, whose salon is the main gathering for republicans in Aurora... ' 'That's unfair.' 'Surprised I have informants in Clara's salon? You underestimate me,' he says, smiling. 'I understand something you don't. You just see the tide that raises your boat. But I see the undercurrents that will drag you to open sea. They are turning against you. There are several forces at play now, obvious and subtle, and the strongest forces are opposed to you. I'm afraid about myself, but more afraid about you.' He doesn't want to speak about this any longer.<% if (_.contains(s.fullHistory, '0-tablesblindromance')) { %><span class='high-emphasis'>The blind singer</span> has gathered a crowd around him again. They look less amused now, however. <% } else { %><span class='high-emphasis'>A blind man</span> with colourful but ragged clothes sings. The voice is hoarse and pitiful, but well tuned. He has gathered quite a crowd around him; they look entranced, but not amused. <% }; %> <% if ( _.contains(s.opport['Outside tables'], 'op blind sings about wheel') == false ) { s.opport['Outside tables'].push('op blind sings about wheel'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*5 ));targetEvent = 'ev blind sings about wheel remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op blind sings about wheel' ); %><div id='opblindsingsaboutwheel' class='oport story'><img class='optimg' src='img/opts/blind.jpg'><div class='optext'><div class='optitle'>Listen to the blind singer</div><div class='opdesc'>It must be very serious.</div></div></div><% $(function () { $('#opblindsingsaboutwheel').click(function () { $('#opblindsingsaboutwheel').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opblindsingsaboutwheel'); s.fullHistory.push('op blind sings about wheel');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op blind sings about wheel';});}); %> <% s.narration['Outside tables'].push('10-blind sings about wheel'); %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Women, men and children</span> are listening to the blind, mostly in silence. It's easy to hear him. *The people couldn't taste* *One drop of Novus blood* *But the soldiers drank ours!* *At the foot of Treasury's mound* The melody is old and repetitive. The words are simple and improvised. But I feel something. I bet everyone in the audience is feeling it, and it makes me afraid. The blind singer is... distilling something. We didn't notice it before, but it was present. The song ends. People start whispering. 'Injustice.' 'Enemies.' 'Ring.' 'Treason.'<div id='opTreasuryGreekTalk' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>A young man is standing by the columns</div><div class='opdesc'>He looks at the sky. He is a stranger to me. I could talk to him.</div></div></div><% $(function () { $('#opTreasuryGreekTalk').click(function () { $('#opTreasuryGreekTalk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opTreasuryGreekTalk'); s.fullHistory.push('op Treasury Greek Talk');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Treasury Greek Talk';});}); %> <% s.narration['Pseudopassage'].push('0-talkiliopoulos'); %><% s.preImg['Pseudopassage'] = 'img/opts/light.jpg'; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Greek Paint Yes') == false ) { s.opport['Pseudopassage'].push('op Greek Paint Yes'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Greek Paint No') == false ) { s.opport['Pseudopassage'].push('op Greek Paint No'); }; %><% s.eventIgnore.push('ev irene wonders avoiding people'); %><% s.narration['myself'] = _.without( s.narration['myself'] , '500-irene wonders avoiding people' ); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>His name is Nikolaos Iliopoulos.</span> He tries to describe the paintings he has seen during his tour, in Madrid, Rome and London, but his French falters. 'You are a Westerner and you think that invisible things are in the darkness, the night, the places where you cannot see. I am a Greek and I notice the invisible things in the light,' he says. 'Are there more mysteries in the day that in the night? What sense does that make?,' I ask. He advises me to look at the river Castain today, during sunset. 'I miss Zakynthos. I have to get back soon and start painting again.' And then he asks for permission to paint me, but only from memory, when he is home again.<% s.opport['Ionic Treasury'] = _.without( s.opport['Ionic Treasury'] , 'op Treasury Greek Talk' ); %><div id='opGreekPaintYes' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Say yes</div><div class='opdesc'></div></div></div><% $(function () { $('#opGreekPaintYes').click(function () { $('#opGreekPaintYes').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opGreekPaintYes'); s.fullHistory.push('op Greek Paint Yes');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Greek Paint Yes';});}); %> <% s.narration['Ionic Treasury'].push('0-sayyestopainting'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Greek Paint Yes' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Greek Paint No' ); %><% s.log.push("I gave Nikolaos Iliopoulos permission to paint me."); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'I find the thought very amusing.</span> A portrait that will only ever be seen by people without any remote relation to me or to this place,' I say. 'That is... an oblique way of seeing it. Perhaps I will send you some sketches,' he says, and then he proceeds to study my face from all angles. I gape at the park in the golden evening. 'Paint me in this place,' I say, but then I feel suddenly disturbed about it. 'No, don't do that.'<div id='opGreekPaintNo' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Say no</div><div class='opdesc'></div></div></div><% $(function () { $('#opGreekPaintNo').click(function () { $('#opGreekPaintNo').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opGreekPaintNo'); s.fullHistory.push('op Greek Paint No');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Greek Paint No';});}); %> <% s.narration['Ionic Treasury'].push('0-saynotopainting'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Greek Paint Yes' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Greek Paint No' ); %><% s.log.push("I denied Nikolaos Iliopoulos permission to paint me."); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>He takes my rejection lightly</span>, so I play a little. 'There is nothing I can do to prevent you from painting me in far in your home, so I think of this as requesting an act of honour from you, and enjoying the thought that you will respect this.' 'Devious,' he answers, and goes back to studying the effects of light on the clouds.<% if ( _.contains(s.opport['Blue Pavilion'], 'op Bird Blue Pavilion') == false ) { s.opport['Blue Pavilion'].push('op Bird Blue Pavilion'); }; %><% targetTurn = Math.floor( s.timeSpeed*28 );targetEvent = 'ev Bird Near Pavilion Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Bird Blue Pavilion' ); %><div id='opBirdBluePavilion' class='oport story'><img class='optimg' src='img/opts/ray.jpg'><div class='optext'><div class='optitle'>A moment of calm</div><div class='opdesc'>This place is beautiful at this hour. I can enjoy a tranquil moment within the noises and the light.</div></div></div><% $(function () { $('#opBirdBluePavilion').click(function () { $('#opBirdBluePavilion').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBirdBluePavilion'); s.fullHistory.push('op Bird Blue Pavilion');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bird Blue Pavilion';});}); %> <% s.narration['Blue Pavilion'].push('1-birdbluepavilion'); %><% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The sound of a bird</span> sliding among leaves is followed by a sudden burst of light that blazes for a second and fades. Unexplained. A single moment of strangeness. <% if (_.contains(s.fullHistory, '0-talkiliopoulos')) { %><% print("<p>Perhaps Nikolaos Iliopoulos would like to hear about this.</p>"); %><% s.narration['Iliopoulos'].push('1000-i have something to describe to the painter'); %><% }; %>I see that Nikolaos Iliopoulos, the painter from an island in Greece, is here. Perhaps he would like to hear about some things I have seen. <% if ( _.contains(s.opport['Iliopoulos'], 'op Painter Describe Bird') == false ) { s.opport['Iliopoulos'].push('op Painter Describe Bird'); }; %><% if ( _.contains(s.opport['Iliopoulos'], 'op Painter Portrait Why') == false ) { s.opport['Iliopoulos'].push('op Painter Portrait Why'); }; %><% if ( _.contains(s.opport['River pier'], 'op Light Admire River') == false ) { s.opport['River pier'].push('op Light Admire River'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*16 ));targetEvent = 'ev Light Admire River Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , 'op Talk Pies Enter' ); %><% s.opport['River pier'] = _.without( s.opport['River pier'] , 'op Light Admire River' ); %><div id='opLightAdmireRiver' class='oport story'><img class='optimg' src='img/opts/ray.jpg'><div class='optext'><div class='optitle'>Admire the river</div><div class='opdesc'>My eyes get bathed in light. I must take a better look.</div></div></div><% $(function () { $('#opLightAdmireRiver').click(function () { $('#opLightAdmireRiver').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opLightAdmireRiver'); s.fullHistory.push('op Light Admire River');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Light Admire River';});}); %> <% s.narration['River pier'].push('0-lightriveradmire'); %><% function gotDelay() {story.show('River pier');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Sunlight falls so flat</span> on the waters of the Castain that it bounces. The river bank is blurred by this wet light, the sky by the dry, reddish haze. The sun struggles to clear the air, and fails: all colours bleed into shades of ruby. On the other side of the river, the small church of Saint Filiv and its tiny neighbours, a maze of white islander houses, have taken a rose tint that softens their edges and corners, and make them seem, from here, like a bunch of fruits. <% if (_.contains(s.fullHistory, '0-talkiliopoulos')) { %><% print("<p>Is this something that Nikolaos Iliopoulos would find interesting?</p>"); %><% if ( _.contains(s.opport['Iliopoulos'], 'op Painter Describe River') == false ) { s.opport['Iliopoulos'].push('op Painter Describe River'); }; %><% if ( _.contains(s.opport['Iliopoulos'], 'op Painter Portrait Why') == false ) { s.opport['Iliopoulos'].push('op Painter Portrait Why'); }; %><% s.narration['Iliopoulos'].push('1000-i have something to describe to the painter'); %><% }; %><div id='opPainterDescribeRiver' class='oport story char'><img class='optimg' src='img/opts/light.jpg'><div class='optext'><div class='optitle'>Describe the light on the Castain to the Greek painter</div><div class='opdesc'>He told me he was obsessed with light, and the play of light I saw in the river pier was exhilarating.</div></div></div><% $(function () { $('#opPainterDescribeRiver').click(function () { $('#opPainterDescribeRiver').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPainterDescribeRiver'); s.fullHistory.push('op Painter Describe River');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Painter Describe River';});}); %> <% s.narration[passage.name].push('0-painterdescriberiver'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Nikolaos Ilioupoulos seems delighted</span> to greet me again. I came to him with the expectation that I could explain what I saw near the river; but words start to slip away the moment I open my mouth. 'The red... all over the sky!' I say, until I admit that the words were never there to begin with: I don't have a language for that. 'Me neither,' he says. 'I probably wouldn't paint if words were enough to describe it.' But I understood the most important: that light changed the essence of the things I saw. 'But it only touched their surface.' I enjoy talking to this man.<div id='opPainterDescribeBird' class='oport story char'><img class='optimg' src='img/opts/ray.jpg'><div class='optext'><div class='optitle'>Describe the strange ray of light I saw to the Greek painter</div><div class='opdesc'>He wants to know about light, and I saw an strange burst of light near the Blue Pavilion.</div></div></div><% $(function () { $('#opPainterDescribeBird').click(function () { $('#opPainterDescribeBird').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPainterDescribeBird'); s.fullHistory.push('op Painter Describe Bird');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Painter Describe Bird';});}); %> <% s.narration[passage.name].push('0-painterdescribebird'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Nikolaos Iliopoulos</span>, painter from Zakynthos, is perhaps thirty years old, but he retains a glint of youthful vigour in his eyes. 'I hoped you might have an explanation for it,' I say after telling about the sudden burst of light that I saw after a bird sang near the Blue Pavilion. 'I don't have an explanation because I don't care for it. You might be lying.' But he's far from home, and he doesn't expect to find truth in a place so foreign to him.<div id='opPainterPortraitWhy' class='oport story'><img class='optimg' src='img/opts/portrait.jpg'><div class='optext'><div class='optitle'>Ask the Greek why he wants to paint me</div><div class='opdesc'>He asked me straight away. What did he see?</div></div></div><% $(function () { $('#opPainterPortraitWhy').click(function () { $('#opPainterPortraitWhy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPainterPortraitWhy'); s.fullHistory.push('op Painter Portrait Why');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Painter Portrait Why';});}); %> <% s.narration['Pseudopassage'].push('0-painterportraitwhy'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Painter Forest Hate') == false ) { s.opport['Pseudopassage'].push('op Painter Forest Hate'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Painter Forest Love') == false ) { s.opport['Pseudopassage'].push('op Painter Forest Love'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Painter Talk End') == false ) { s.opport['Pseudopassage'].push('op Painter Talk End'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>Iliopoulos looks a bit embarrassed</span> when I ask him why he wants to paint me. 'My features are not so lovely,' I add, smiling ironically, trying to make him more uncomfortable with great success. 'Charm,' says he. 'Do you know my sister, Clara Victor? She posed for a famous piece of art and swore she would never do it again. Right outside this palace, the statue to the morning dawn, to Aurora? Clara is the child who opens the way.' 'And what does she dislike about it?' 'Being looked at,' I say, and sigh. 'Clara *is* charming. They say I am too, and yet I crave loneliness more and more with each month.' 'My friends Effendi and Orlov told me that. What are you trying to remove from your life by going to the forest?' Now it's his time to try to make me embarrassed.<div id='opPainterForestHate' class='oport story'><img class='optimg' src='img/opts/thumb_down.jpg'><div class='optext'><div class='optitle'>Tell him I hate people</div><div class='opdesc'></div></div></div><% $(function () { $('#opPainterForestHate').click(function () { $('#opPainterForestHate').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPainterForestHate'); s.fullHistory.push('op Painter Forest Hate');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Painter Forest Hate';});}); %> <% s.narration['Pseudopassage'].push('0-painterportraithate'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Forest Love' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Painter Tell Dream') == false ) { s.opport['Pseudopassage'].push('op Painter Tell Dream'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Painter Not Dream') == false ) { s.opport['Pseudopassage'].push('op Painter Not Dream'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'What's to like about people?'</span> I ask. 'They look at you all the time, questioning your every action and safe. They feel diminished by your freedom and threatened by your success. Most of them can't even conceive a future that is different from every previous day of their lives without dying of fear right there. Men get praised because they praise the men who got praised before, then say that it's all because of their merits. Then they deny us permission to do what harms no one. They can deny that permission because they have made us small enough to fit in their pockets.' What am I saying? Who am I saying it to? 'I work for the eyes,' answers Iliopoulos, 'so they can witness the mystery of light.' 'And do you succeed?' I ask, in sarcastic voice. 'Would you like to hear about the dream I always have?' he asks, perhaps nervously. Both of us are a bit agitated now.<div id='opPainterForestLove' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Tell him I love people</div><div class='opdesc'></div></div></div><% $(function () { $('#opPainterForestLove').click(function () { $('#opPainterForestLove').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPainterForestLove'); s.fullHistory.push('op Painter Forest Love');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Painter Forest Love';});}); %> <% s.narration['Pseudopassage'].push('0-painterportraitlove'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Forest Hate' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Painter Tell Dream') == false ) { s.opport['Pseudopassage'].push('op Painter Tell Dream'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Painter Not Dream') == false ) { s.opport['Pseudopassage'].push('op Painter Not Dream'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'But I love people!'</span> I answer. 'It's for the benefit of my people that I go there alone. For the benefit of the people of this canton who don't know what miracles God has given us.' He looks at me sarcastically. I try to think of anything else to say, to give some weight to what I'm saying, but it seems my words have taken me to a dead end. 'Would you like to hear about the dream I always have?' he asks, perhaps nervously. Both of us are a bit agitated now.<div id='opPainterTellDream' class='oport story'><img class='optimg' src='img/opts/ray.jpg'><div class='optext'><div class='optitle'>Ask him to tell me the dream he talked about</div><div class='opdesc'></div></div></div><% $(function () { $('#opPainterTellDream').click(function () { $('#opPainterTellDream').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPainterTellDream'); s.fullHistory.push('op Painter Tell Dream');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Painter Tell Dream';});}); %> <% s.narration[s.returnRef].push('0-paintertelldream'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Not Dream' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Talk End' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Forest Why' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Forest Hate' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Forest Love' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'A dream?'</span> I ask. 'Every night for three years,' says Iliopoulos. There's a shiver in his voice that he's trying to control. 'Other painters dream about kings and martyrs, or revolutions, or glorious soldiers. ' A pause. 'I dream of giants. Of giants that I once saw.' 'Do you mean you saw them while awake?' 'A sea cliff that you can only see from a boat', he says. 'The earth is white and rose and in the middle of the cliff there is a perfectly shaped eye. And a fisherman told me the eye can be seen faintly glimmering in the dark nights without moon, as if it blinked.' 'Did you see it glimmer?' 'It shone like a lighthouse and it looked at me,' he claims, matter-of-factly. 'And now I dream of giants sleeping inside the earth, unseen powers, feeding on the land and the people.' And that was it.<div id='opPainterNotDream' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Tell him I don't want to hear about that dream</div><div class='opdesc'>He seemed a little anxious about it when he asked.</div></div></div><% $(function () { $('#opPainterNotDream').click(function () { $('#opPainterNotDream').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPainterNotDream'); s.fullHistory.push('op Painter Not Dream');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Painter Not Dream';});}); %> <% s.narration[s.returnRef].push('0-painternotdream'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Forest Why' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Forest Hate' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Forest Love' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Tell Dream' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Talk End' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I disappoint Iliopoulos</span> when I say that I prefer not to hear about his dream. I believe it's wiser. There was a strange glint in his eye when he asked me that, a small hint of anxiousness. I tell him that I need to go now and walk away quickly, barely hearing his confused goodbye.<div id='opPainterTalkEnd' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>End the conversation</div><div class='opdesc'></div></div></div><% $(function () { $('#opPainterTalkEnd').click(function () { $('#opPainterTalkEnd').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPainterTalkEnd'); s.fullHistory.push('op Painter Talk End');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Painter Talk End';});}); %> <% s.narration[s.returnRef].push('0-paintertalkend'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Forest Why' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Forest Hate' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Forest Love' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Tell Dream' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Painter Not Dream' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I don't care</span> about being a bit rude. I tell him that I need to go now and walk away quickly, barely hearing his confused goodbye.<span class='high-emphasis'>I see the Greek painter.</span> Two children are making fun of him, pretending the steal something from his pockets: Iliopoulos doesn't look at them once. Neck stretched, eyes fixed upwards. There's nothing, except the freakish colors of the sky. 'The mystery of light is gone,' says Iliopoulos. 'In daylight, things reveal their true essence, but only fools think that the essence of things is not mysterious.' Perhaps I'm a fool, but that sounds like a cheap paradox to me.<span class='high-emphasis'>Nikolaos Iliopoulos</span> is standing there, his face shining with astonishment. He points at a place between the trees, far from people, where some Burburum are gathering. 'Those devils of yours are wonderful. I'm studying how light falls on them.' I wonder what those Burburum are talking about. 'How does light fall on them?' I ask. I notice a few unmasked men with the Burburum. <% if (_.contains(s.fullHistory, '0-dinnerfishlisten')) { %><% print("<p>'It makes them appear bigger than they are. Like giants,' says Iliopoulos. </p>"); %><% } else { %><% print("<p>'It makes them appear bigger than they are. Like giants,' says Iliopoulos. I recognise the men: the winemakers I met before. Friends of Iuvens and Clara.</p>"); %><% }; %><div id='opDinnerHallSit' class='oport story'><img class='optimg' src='img/opts/food.jpg'><div class='optext'><div class='optitle'>Sit down for dinner</div><div class='opdesc'>This is my designated place for dining. Once I sit, I can't leave until it ends.</div></div></div><% $(function () { $('#opDinnerHallSit').click(function () { $('#opDinnerHallSit').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerHallSit'); s.fullHistory.push('op Dinner Hall Sit');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Hall Sit';});}); %> <% s.log.push("I had dinner in the Dining Hall, with the nobles."); %><% if ( _.contains(s.opport['Dining Hall'], 'op Dinner Hall Continue') == false ) { s.opport['Dining Hall'].push('op Dinner Hall Continue'); }; %><% s.narration['Dining Hall'].push('0-dinnerhallsit'); %><% s.preImg['Dining Hall'] = 'img/opts/toast.jpg'; %><% s.exitList["Dining Hall"] = [ "no exit", "no exit", "no exit", "no exit", "no exit", "no exit" ]; %> <% s.opport['Dining Hall'] = _.without( s.opport['Dining Hall'] , 'op Dining to Kitchen' ); %><% s.eventIgnore.push('ev Dinner Immediate'); %><% s.eventIgnore.push('ev Dinner end when you join no dinner'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Dinner Proteo Start';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Dinner Hall Burburum take Severin';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (_.contains(s.fullHistory, '0-promisearboricolajoin')) { %><% } else { %><% if ( _.contains(s.opport['Dining Hall'], 'op Dinner Hall Wheel Clara Ask') == false ) { s.opport['Dining Hall'].push('op Dinner Hall Wheel Clara Ask'); }; %><% }; %> <% if (_.contains(s.fullHistory, '10-franchiensgardenargument')) { %><% if (_.contains(s.fullHistory, '0-joincrowdfranchiens')) { %><% } else { %><% if ( _.contains(s.opport['Dining Hall'], 'op Dinner Hall Franchiens') == false ) { s.opport['Dining Hall'].push('op Dinner Hall Franchiens'); }; %><% }; %><% }; %> <% if (_.contains(s.fullHistory, '0-balldancewithagustil')) { %><% if ( _.contains(s.opport['Dining Hall'], 'op Clara and Irene talk about Marel dance during dinner') == false ) { s.opport['Dining Hall'].push('op Clara and Irene talk about Marel dance during dinner'); }; %><% } else { %><% if ( _.contains(s.opport['Dining Hall'], 'op Clara and Irene talk about suitors in dinner') == false ) { s.opport['Dining Hall'].push('op Clara and Irene talk about suitors in dinner'); }; %><% }; %> <% if (_.contains(s.fullHistory, '0-breadistheirworrydebate')) { %><% if ( _.contains(s.opport['Dining Hall'], 'op Clara and Irene comment Iuvens opuscule') == false ) { s.opport['Dining Hall'].push('op Clara and Irene comment Iuvens opuscule'); }; %><% }; %> <% if (_.contains(s.fullHistory, '0-andropolcovenantexplain')) { %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Dinner Crying Man Andropol';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% } else { %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Dinner Crying Man Ambience';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %> <% if (s.charLocationPriority['Clara'] < 100) { s.charLocationPriority['Clara'] = 100;s.characterList['Clara'] = 'Dining Hall'; print(story.render('updateLocationList') );}; %> <% s.characterList["Clara"] = "Dining Hall"; s.charLocationPriority["Clara"] = 100; %><% delete s.reminders['dinnersoon']; %> <% function gotDelay() {story.show('Dining Hall');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I search for Clara</span> and sit in front of her. She frowns, then smiles. A servant fills my cup as soon as I take my seat. Is this wine too strong for me? I better refrain from drinking too much. And now Clara lifts her cup for a toast. *That's my dear sister.*<div id='opDinnerHallContinue' class='oport story'><img class='optimg' src='img/opts/food.jpg'><div class='optext'><div class='optitle'>Eat</div><div class='opdesc'>I'm starting to crave everything that I see on the table.</div></div></div><% $(function () { $('#opDinnerHallContinue').click(function () { $('#opDinnerHallContinue').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerHallContinue'); s.fullHistory.push('op Dinner Hall Continue');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Hall Continue';});}); %> <% if ( _.contains(s.opport['Dining Hall'], 'op Dinner Hall Continue') == false ) { s.opport['Dining Hall'].push('op Dinner Hall Continue'); }; %><% s.narration['Dining Hall'].push('10-dinnerhallfooddescriptions'); %> <% if (_.contains(s.fullHistory, '100-clara in dinner asks about conversation with gloria')) { %><% } else { %><% if (_.contains(s.fullHistory, '10-Irene starts talking to gloria during wheel')) { %><% s.narration['Dining Hall'].push('100-clara in dinner asks about conversation with gloria'); %><% }; %><% }; %> <% function gotDelay() {story.show('Dining Hall');};setTimeout(gotDelay,110);}); }); %><div id='opDinnerHallWheelClaraAsk' class='oport story'><img class='optimg' src='img/opts/people.jpg'><div class='optext'><div class='optitle'>Clara is asking me a question</div><div class='opdesc'>'Irene, do you know what happened during the wheel?'</div></div></div><% $(function () { $('#opDinnerHallWheelClaraAsk').click(function () { $('#opDinnerHallWheelClaraAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerHallWheelClaraAsk'); s.fullHistory.push('op Dinner Hall Wheel Clara Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Hall Wheel Clara Ask';});}); %> <% if (_.contains(s.fullHistory, '0-fourthgrievance')) { %><% s.narration['Dining Hall'].push('0-dinnerhallwheeliwasthere'); %><% if ( _.contains(s.opport['Dining Hall'], 'op Irene asks Clara about tension in the air') == false ) { s.opport['Dining Hall'].push('op Irene asks Clara about tension in the air'); }; %><% } else { %><% s.narration['Dining Hall'].push('0-dinnerhallwheelexplanation'); %><% if ( _.contains(s.opport['Dining Hall'], 'op Dinner Clara Wheel Reason') == false ) { s.opport['Dining Hall'].push('op Dinner Clara Wheel Reason'); }; %><% }; %><% s.flag['knowAboutViolence'] = true; %><% function gotDelay() {story.show('Dining Hall');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Clara's face</span> is pale, her voice a thin thread, when she asks me about the Wheel. 'I was there.' I can see that Clara stops listening after a couple of words. She looks away from my face and plays with her rings while people around us comment the incident too. I'm not interested in them. 'First people accuse Lord Longine. Then they revolt because of Novus. Isn't it clear enough?' says a woman. 'Who's responsible for this?' asks a man. '... magistrates... their decisions can't be questioned,' says another man, and I'm not sure if he says it with approval. Clara is nodding towards them and I realize that I'm already doing the same.<span class='high-emphasis'>Clara's face</span> is pale, her voice a thin thread, when she asks me about the Wheel. I tell her I didn't see it. 'There was a mutiny,' she explains. A fight broke out, the guard intervened and everyone ran away in a panic. I become more and more anxious as she tells, with trembling voice, that a lot of people were pushed and run over. 'The most violent experience I've had.' 'I feared a revolution,' a man interrupts, but we ignore him.<div id='opDinnerClaraWheelReason' class='oport story'><img class='optimg' src='img/opts/attack.jpg'><div class='optext'><div class='optitle'>Ask Clara about the Wheel</div><div class='opdesc'>What was the cause for the disturbance?</div></div></div><% $(function () { $('#opDinnerClaraWheelReason').click(function () { $('#opDinnerClaraWheelReason').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerClaraWheelReason'); s.fullHistory.push('op Dinner Clara Wheel Reason');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Clara Wheel Reason';});}); %> <% s.narration['Dining Hall'].push('0-dinnerhallwheelreason'); %><% if (_.contains(s.fullHistory, '0-25yearsprosperitydebate')) { %><% if ( _.contains(s.opport['Dining Hall'], 'op Irene asks Clara about tension in the air') == false ) { s.opport['Dining Hall'].push('op Irene asks Clara about tension in the air'); }; %><% }; %><% if (_.contains(s.fullHistory, '0-thirdgrievance')) { %><% if ( _.contains(s.opport['Dining Hall'], 'op Irene asks Clara about tension in the air') == false ) { s.opport['Dining Hall'].push('op Irene asks Clara about tension in the air'); }; %><% }; %><% function gotDelay() {story.show('Dining Hall');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I ask Clara</span> how the mutiny during the Wheel of Grievances started, why people started fighting. 'The Amaisa case. The dead porter's mother and the girl that Novus beat up stated their grievance, then Novus interrupted them and some assaulted him. And then the guard started shooting in the air.' 'A revolution I tell you,' the man interrupts again, but I notice that Clara's voice was thinning and almost broken already. 'We need to crush it, like Spain in 1823.' <% if (_.contains(s.fullHistory, '0-tellfathertensionamaisa')) { %><% print("<p>*The Amaisa case.* I remember what I told Father and a cold hand squeezes my stomach.</p>"); %><% }; %><div id='opIreneasksClaraabouttensionintheair' class='oport story'><img class='optimg' src='img/opts/people.jpg'><div class='optext'><div class='optitle'>Why is the air so charged today?</div><div class='opdesc'>Ask Clara what she thinks. Today is not the usual exhuberant Burburum Day.</div></div></div><% $(function () { $('#opIreneasksClaraabouttensionintheair').click(function () { $('#opIreneasksClaraabouttensionintheair').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneasksClaraabouttensionintheair'); s.fullHistory.push('op Irene asks Clara about tension in the air');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene asks Clara about tension in the air';});}); %> <% s.narration['Dining Hall'].push('10-Irene asks Clara about tension in the air'); %><% function gotDelay() {story.show('Dining Hall');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'What's happening tonight?'</span> I ask Clara. 'There are soldiers entering the Palace to beat the people and speakers saying revolutionary things. What has become of the peace we were all enjoying?' Clara shakes her hand. I see she's struggling to give me an explanation. 'Perhaps the peace was never there to start,' she says. 'Perhaps peace is just an arrogant illusion.' This is disturbing. I prefer we don't talk about it more. <% s.narration['Dining Hall'].push('50-clara tells irene about iuvens in the library'); %>Clara leans towards me and whispers, 'I've heard that Cesarel had a good fight with Longine in the Library.' <% if (_.contains(s.fullHistory, '0-25yearsprosperitydebate')) { %><% print("<p>'I know, I saw it,' I answer. 'I think that all the rhetorics he rehearses in your salon are starting to serve him well.'</p>"); %><% print("<p>'That's the reason I host it,' says Clara, gleaming with satisfaction.</p>"); %><% } else { %><% print("<p>'Did he?' I ask. Clara explains that Longine, one of the staunchest monarchists, a member of the *Persian* faction, had a heated debate with our friend Iuvens, a convinced republican. 'I think that all the rhetorics he rehearses in your salon are starting to serve him well,' I say.</p>"); %><% print("<p>'That's the reason I host it,' says Clara, gleaming with satisfaction.</p>"); %><% }; %><%= _.sample( [ "<span class='high-emphasis'>The dishes are varied,</span> and richly cooked, and everything has pleasant traces of lemon.", "<span class='high-emphasis'>Bread and cheese</span> with a cup of *mostarda* in the Lombard style, made of must, pears and nuts. Its sweetness soaks the bread. It's delicious.", "<span class='high-emphasis'>One of the pièces de résistance</span> is the trout in a green sauce that is made (I believe) of watercress, parsley, basil and oil. It's like the ones I ate when I went to our Varen estate with Mother; they caught them in the Castain a few minutes before we ate them, and Mother was always delighted.", "<span class='high-emphasis'>A dish</span> where the cook really shines is the capon stuffed with turkey sausage and baked with sherry. I have rarely eaten a bird as tender and succulent as this.", "<span class='high-emphasis'>The man to my right</span> comments on the soft, juicy trout. It dawns on me that I haven't paid any attention to him since I sat down, and that makes me feel self-conscious. Instead of replying, I just nod.", ]) %><div id='opDinnerHallFranchiens' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Tell Clara about the Franchiens incident</div><div class='opdesc'>I need to share my outrage with someone who understands.</div></div></div><% $(function () { $('#opDinnerHallFranchiens').click(function () { $('#opDinnerHallFranchiens').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerHallFranchiens'); s.fullHistory.push('op Dinner Hall Franchiens');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Hall Franchiens';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Hall Franchiens Afraid') == false ) { s.opport['Pseudopassage'].push('op Dinner Hall Franchiens Afraid'); }; %><% s.narration['Pseudopassage'].push('0-dinnerhallfranchiens'); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'Some people abused</span> some of our friends before,' I tell Clara. I feel my face heating as I recount the insults and slurs near the Fountain. 'And don't think they were uneducated peasants. Some of them,' I add in a whisper, 'are dining here in this room.' But Clara looks nonchalant. 'Drunken behaviour. I am certain that the French Cantonal have friends who advised them not to come tonight... but they did.' I am astonished at her hypocrisy. She notices my reaction, and her expression alters for an instant. She is worried.<div id='opDinnerHallFranchiensAfraid' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>I don't want to talk</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerHallFranchiensAfraid').click(function () { $('#opDinnerHallFranchiensAfraid').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerHallFranchiensAfraid'); s.fullHistory.push('op Dinner Hall Franchiens Afraid');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Hall Franchiens Afraid';});}); %> <% s.narration['Dining Hall'].push('10-dinnerhallfooddescriptions'); %><% s.narration['Dining Hall'].push('0-dinnerhallfranchiensafraid'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>What is Clara afraid of?</span> Why is she being a hypocrite and hiding her sympathies? Her cowardice makes me so angry that it's like seeing the insults again. But she's never been easy to silence. Sometimes she conceals her opinions out of calculation, but never out of fear. Fear is what I've just seen in her face. My anger fades. Perhaps she has real reasons to be scared? I become nervous. She notices and gives me an iron look, so I try to calm down. I concentrate on enjoying the food.<div id='opClaraandIrenetalkaboutMareldanceduringdinner' class='oport story'><img class='optimg' src='img/opts/toast.jpg'><div class='optext'><div class='optitle'>'You must tell me about Agustil,' says Clara</div><div class='opdesc'>Saying I *must* is a bit of an exaggeration. But I can.</div></div></div><% $(function () { $('#opClaraandIrenetalkaboutMareldanceduringdinner').click(function () { $('#opClaraandIrenetalkaboutMareldanceduringdinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opClaraandIrenetalkaboutMareldanceduringdinner'); s.fullHistory.push('op Clara and Irene talk about Marel dance during dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Clara and Irene talk about Marel dance during dinner';});}); %> <% s.narration['Dining Hall'].push('10-clara and irene talk marel dance in dinner'); %><% if ( _.contains(s.opport['Dining Hall'], 'op Dinner comment gossip about Mars with Clara') == false ) { s.opport['Dining Hall'].push('op Dinner comment gossip about Mars with Clara'); }; %> <% function gotDelay() {story.show('Dining Hall');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Agustil has been away</span> almost a year,' I say. 'What was your answer?' Clara asks. 'He says he's brought me a specimen. I'm glad about that.' 'What was your answer?' 'I want to compare certain plants from the South seas with our local ones,' I say, ignoring again her demand. 'What was your answer?' insists Clara. 'My answer is: enough is enough.' She lets a snigger out. 'If only you knew,' she says. I don't understand, but I won't ask.<div id='opClaraandIrenetalkaboutsuitorsindinner' class='oport story'><img class='optimg' src='img/opts/toast.jpg'><div class='optext'><div class='optitle'>'You must tell me about your suitors,' says Clara</div><div class='opdesc'>About who?</div></div></div><% $(function () { $('#opClaraandIrenetalkaboutsuitorsindinner').click(function () { $('#opClaraandIrenetalkaboutsuitorsindinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opClaraandIrenetalkaboutsuitorsindinner'); s.fullHistory.push('op Clara and Irene talk about suitors in dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Clara and Irene talk about suitors in dinner';});}); %> <% s.narration['Dining Hall'].push('10-clara and irene talk suitors in dinner'); %><% if ( _.contains(s.opport['Dining Hall'], 'op Dinner comment gossip about Mars with Clara') == false ) { s.opport['Dining Hall'].push('op Dinner comment gossip about Mars with Clara'); }; %> <% function gotDelay() {story.show('Dining Hall');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Which suitors?'</span> I ask. 'Oh, so you haven't seen Agustil yet?' she asks. Agustil Marel? Here? 'I didn't know he was back. He owes me a specimen from the South seas,' I say, trying to control myself. 'What will you answer when he proposes?' 'I'll suggest that he knocks at my widow sister's door,' I say. She lets a snigger out. 'If only you knew,' she says. I don't understand, but I won't ask.<div id='opClaraandIrenecommentIuvensopuscule' class='oport story'><img class='optimg' src='img/opts/crown.jpg'><div class='optext'><div class='optitle'>Tell Clara about the debate in the Library</div><div class='opdesc'>Royalists against republicans. Them against us.</div></div></div><% $(function () { $('#opClaraandIrenecommentIuvensopuscule').click(function () { $('#opClaraandIrenecommentIuvensopuscule').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opClaraandIrenecommentIuvensopuscule'); s.fullHistory.push('op Clara and Irene comment Iuvens opuscule');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Clara and Irene comment Iuvens opuscule';});}); %> <% s.narration['Dining Hall'].push('10-talk with clara about debate during dinner'); %><% function gotDelay() {story.show('Dining Hall');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I attended a debate</span> between Longine and Iuvens, I tell Clara. 'Iuvens seems to be very good at adapting his arguments to the public.' 'Of course,' she says, with a note of scorn in her voice, 'because he hasn't any argument of his own. He just picks ideas from the things he hears in my salon.' 'That's not fair,' I say, and I tell her that many in the audience had copies of the latest pamphlet Iuvens wrote. 'You silly thing,' Clara whispers. 'Do you think he really wrote that?' 'Then who?' I ask. Clara says nothing, but stares into my eyes with a small, crooked smile. And finally an idea forms in my mind. I cover my mouth with my hand. Clara sees I have understood, and makes a sign of silence. It's her hiding behind Iuvens. *She wrote the Republican essay herself.*<div id='opDinnercommentgossipaboutMarswithClara' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Comment gossip about our aunt with Clara</div><div class='opdesc'>People mentioned her when we sat down.</div></div></div><% $(function () { $('#opDinnercommentgossipaboutMarswithClara').click(function () { $('#opDinnercommentgossipaboutMarswithClara').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnercommentgossipaboutMarswithClara'); s.fullHistory.push('op Dinner comment gossip about Mars with Clara');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner comment gossip about Mars with Clara';});}); %> <% s.narration['Dining Hall'].push('10-dinner comment gossip about mars with clara'); %><% function gotDelay() {story.show('Dining Hall');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Clara whispers something.</span> 'People gossiping about Crissina?' I ask. Clara leans forward. 'Unbearable. Everyone, *everyone* has an opinion on her sickness.' 'Her dreams come from the devil,' I mock. I know some say that. 'Or from god, her womb or Bonapartists, according to different opinions,' she says. We laugh, but she is serious. 'Most people think she will die soon. Some sound like they are praying for it.' That is a dark idea. I need to say something lighter. 'She's laughing at them.' And I turn my head so she doesn't reply.<% s.narration['Dining Hall'].push('500-Dinner Hall Burburum take Severin'); %>'What's happening there?' I look where Clara is pointing. Three Burburum have entered the hall and are talking to the Premier and his wife. The leader is one who wears a necklace made of keys. <% print( story.render( "mars mechanism") ); %> The hall becomes silent as guests notice what's happening. This is unprecedented. These Burburum may be the poorest people, and they seem to be giving orders to the most powerful man in the Canton. But the tradition is that Burburum must be obeyed today. With a solicitous but uneasy smile, Lady Severin stands up and leaves the hall with the Burburum.<% s.opport['Dining Hall'] = _.without( s.opport['Dining Hall'] , 'op Dinner Hall Continue' ); %><% s.opport['Dining Hall'] = _.without( s.opport['Dining Hall'] , 'op Dinner Hall Wheel Clara Ask' ); %><% s.opport['Dining Hall'] = _.without( s.opport['Dining Hall'] , 'op Dinner Clara Wheel Reason' ); %><% s.exitList["Dining Hall"] = [ "Grand Entrance Hall exit", "Marble Gallery, East exit", "no exit", "no exit", "no exit", "Kitchen exit" ]; %> <% s.opport['Dining Hall'] = _.without( s.opport['Dining Hall'] , 'op Clara and Irene talk about Marel during dinner' ); %><% s.opport['Dining Hall'] = _.without( s.opport['Dining Hall'] , 'op Clara and Irene talk about suitors in dinner' ); %><% s.opport['Dining Hall'] = _.without( s.opport['Dining Hall'] , 'op Clara and Irene comment Iuvens opuscule' ); %><% s.opport['Dining Hall'] = _.without( s.opport['Dining Hall'] , 'op Dinner comment gossip about Mars with Clara' ); %><% s.opport['Dining Hall'] = _.without( s.opport['Dining Hall'] , 'op Irene asks Clara about tension in the air' ); %><% s.narration['Dining Hall'] = _.without( s.narration['Dining Hall'] , '50-clara tells irene about iuvens in the library' ); %><% s.narration['Dining Hall'] = _.without( s.narration['Dining Hall'] , '500-Dinner Hall Burburum take Severin' ); %><% s.charLocationPriority['Clara'] = 0; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev buzzatti is showing proteo in the library';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (_.contains(s.fullHistory, '10-irene follows gloria to pavilion during wheel')) { %><% if (_.contains( _.keys(s.interrupt),'Dining Hall' )) { s.interrupt['Dining Hall'].push('int gloria joins clara and irene in dinner'); } else { s.interrupt['Dining Hall'] = ['int gloria joins clara and irene in dinner']; }; %><% } else { %><% s.narration['Dining Hall'].push('1000-dinnerhallend'); %><% }; %> <% targetTurn = s.turn+1;if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( s.namedEvent['dinner-end'] ); s.timedEvent[targetTurn] = _.flatten( s.timedEvent[targetTurn] ) } else { s.timedEvent[targetTurn] = _.flatten(s.namedEvent['dinner-end']); }; s.namedEvent['dinner-end'] = [ ]; %><span class='high-emphasis'>Dinner is over.</span> Servants open the doors and the elites of the Canton, sated and content, start leaving. <% if (_.contains(s.fullHistory, '0-dinnercryingchaos')) { %><% print("<p>It would seem that, to them, having their wine glasses knocked by an invisible spirit or seeing an artificial man is less important than eating capon and wild boar.</p>"); %><% } else { %><% print("<p>It would seem that, to them, seeing an artificial man is less important than eating capon and wild boar.</p>"); %><% }; %> Clara mumbles something I don't understand and leaves me alone. <% if (_.contains(s.fullHistory, '0-andropolcovenantpoem')) { %><% print("<p>I must find Octavien Andropol. He must be somewhere near the garden fountain.</p>"); %><% }; %> <% s.flag['s.afterDinnerReminder'] = false; %> <% if (_.contains(s.fullHistory, '0-marinamayorgreet')) { %><% } else { %>Perhaps I still have a chance of talking to the Marina Mayor. Then the *law* will allow me to wear trousers when I'm collecting plants. I need trousers. He surely is somewhere in the ground floor. <% s.flag['s.afterDinnerReminder'] = true; %><% }; %> <% if (s.flagRemainingSupporters == 1) { %>My trousers! I need trousers. The Marina Mayor gave me three names: I can still talk to one of them. <% s.flag['s.afterDinnerReminder'] = true; %><% }; %> <% if (s.flagRemainingSupporters >1) { %>My trousers! I need trousers. The Marina Mayor gave me three names, and there's more than one I can still talk to. <% s.flag['s.afterDinnerReminder'] = true; %><% }; %><% s.narration['Pseudopassage'].push('500-the anxiety attack starts'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene feels anxious and thinks about something else') == false ) { s.opport['Pseudopassage'].push('op Irene feels anxious and thinks about something else'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>My mind blanks</span> for a moment. ... ... ... ... are they looking?<div id='opIrenefeelsanxiousandthinksaboutsomethingelse' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>They aren't looking</div><div class='opdesc'>I should think of something else.</div></div></div><% $(function () { $('#opIrenefeelsanxiousandthinksaboutsomethingelse').click(function () { $('#opIrenefeelsanxiousandthinksaboutsomethingelse').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenefeelsanxiousandthinksaboutsomethingelse'); s.fullHistory.push('op Irene feels anxious and thinks about something else');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene feels anxious and thinks about something else';});}); %> <% s.narration['Pseudopassage'].push('0-anxietystart'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene keeps feeling anxious and worries') == false ) { s.opport['Pseudopassage'].push('op Irene keeps feeling anxious and worries'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Naturally, they aren't looking.</span> The house in the forest needs some work before I can spend longer periods there: I can get used to dirt, but at least I should be able to completely close that window. I will also need to replace some furniture and... I think I caught someone looking. But of course not! The house is enough for me and one servant, but the idea of being completely alone in the forest is beautiful. I'm sure I can endure the inconveniences. And the city is barely a few hours' walk away... They are looking.<div id='opIrenekeepsfeelinganxiousandworries' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Don't worry about people looking at me</div><div class='opdesc'>It's merely accidental!</div></div></div><% $(function () { $('#opIrenekeepsfeelinganxiousandworries').click(function () { $('#opIrenekeepsfeelinganxiousandworries').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenekeepsfeelinganxiousandworries'); s.fullHistory.push('op Irene keeps feeling anxious and worries');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene keeps feeling anxious and worries';});}); %> <% s.anxietyDestinations = _.without(["River pier", "Ionic Treasury", "Map Cabinet"], s.passTitle) %> <% s.generator = "genTextAnx"; %> <% s.narration['Anx attack'].push('0-anxietyworry'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I shouldn't worry about nonsense</span> like this again! I *know* that they are not looking. Better, perhaps, if I take a walk and go somewhere else, and see different people. I'm sure I will forget these silly thoughts then. <% s.narration['Anx attack'].push('0-anxietypeopleeverywhere'); %><% if (_.contains(s.anxietyDestinations, "River pier") && _.contains(s.anxietyDestinations, "Map Cabinet") && _.contains(s.anxietyDestinations, "Ionic Treasury")) { %><span class='high-emphasis'>Am I going anywhere?</span> I should go some place with few people: the river pier or the back side of the Blue Pavilion would do, or one of the smaller rooms on the first floor. I have the feeling that I have stayed here without moving for a long while, just thinking. <% }; %><% if (!_.contains(s.anxietyDestinations, "River pier") && _.contains(s.anxietyDestinations, "Map Cabinet") && _.contains(s.anxietyDestinations, "Ionic Treasury")) { %><span class='high-emphasis'>Am I going anywhere?</span> I should go some place with few people: the back side of the Blue Pavilion would do, or one of the smaller rooms on the first floor. I have the feeling that I have stayed here without moving for a long while, just thinking. <% }; %><% if (_.contains(s.anxietyDestinations, "River pier") && !_.contains(s.anxietyDestinations, "Map Cabinet") && _.contains(s.anxietyDestinations, "Ionic Treasury")) { %><span class='high-emphasis'>Am I going anywhere?</span> I should go some place with few people: the river pier or the back side of the Blue Pavilion would do. I have the feeling that I have stayed here without moving for a long while, just thinking. <% }; %><% if (_.contains(s.anxietyDestinations, "River pier") && _.contains(s.anxietyDestinations, "Map Cabinet") && !_.contains(s.anxietyDestinations, "Ionic Treasury")) { %><span class='high-emphasis'>Am I going anywhere?</span> I should go some place with few people: the river pier or one of the smaller rooms on the first floor. I have the feeling that I have stayed here without moving for a long while, just thinking. <% }; %> I have cold hands and a hot face. I must move. I hear someone say 'Irene!' I bow my head in their direction. I should really go before they keep looking. <% s.narration['Anx attack'].push('0-anxietygoinganywhere'); %><span class='high-emphasis'>There's people everywhere.</span> They look at me as I pass by. But that's ordinary. Some of them bow their heads as a salute. Have I remembered to greet them all in return? I can't be expected to keep the most flawless manners with so many people looking at me. Why do they keep doing it? Every place I go, be it here, or the Covenant Square nearby, or the port of Marina, or music performances at the theatre. Everywhere but the forest. <% s.narration['Anx attack'].push('0-anxietydisgust'); %><span class='high-emphasis'>I'm disgusted</span> at myself. Giving in to this *whim!* This insane and unhealthy folly, this obsession with people looking at me. I'm an educated woman from a notable family. It's not respectable. They would be ashamed. I simply must stop thinking about it and start behaving. Any self-assured person can discard and forget such pointless ideas, even the poor. I will. Now. <% if (_.contains( _.keys(s.interrupt),'Anx attack' )) { s.interrupt['Anx attack'].push('int Anxiety Stop Now'); } else { s.interrupt['Anx attack'] = ['int Anxiety Stop Now']; }; %><% $('body').addClass('hideambientops'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Anxiety Stop Now') == false ) { s.opport['Pseudopassage'].push('op Anxiety Stop Now'); }; %> <% if (_.contains( s.opport["Anx attack"], "op Anxiety Calm")) { %><% s.opport['Anx attack'] = _.without( s.opport['Anx attack'] , 'op Anxiety Calm' ); %><% s.flag['removedAnxCalm'] = true; %><% }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opAnxietyStopNow' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Stop the thoughts now</div><div class='opdesc'></div></div></div><% $(function () { $('#opAnxietyStopNow').click(function () { $('#opAnxietyStopNow').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAnxietyStopNow'); s.fullHistory.push('op Anxiety Stop Now');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Anxiety Stop Now';});}); %> <% s.narration['Anx attack'].push('0-anxietystopnow'); %> <% if (s.flag.removedAnxCalm == true) { %><% if ( _.contains(s.opport['Anx attack'], 'op Anxiety Calm') == false ) { s.opport['Anx attack'].push('op Anxiety Calm'); }; %><% }; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>They are looking</span> at me. I'm feeling a curious and dreadful sensation, as if there are two of me: one won't stop fearing the looks of everyone, one won't stop telling the other that such fear is absurd. How did I get here? I don't remember walking in this direction. <% s.narration['Anx attack'].push('0-anxietyirenehearme'); %><span class='high-emphasis'>'Irene,</span> do you hear me?' 'Yes,' I say with irritation to whoever is talking. I think again about the people: watching, watching every movement by everyone else, watching my every movement. Are they looking? No, they aren't. Someone keeps talking to me. I'm not hearing, except when they say my name and I bow my head in response. I'm making a fool of myself. I must hide. <% s.narration['Anx attack'].push('0-anxietyorigin'); %><span class='high-emphasis'>In fact, I know exactly</span> when I started worrying about people's gazes: in my natural history lessons, where most professors and students felt offended that a woman shared the lecture hall with them. They really looked at me, more often that not looking down on me. Petre, that hateful Dean, instructed them to make me feel as unwelcome as possible. Knowing this proves that my thoughts are pointless, a baby's whim. <% s.narration['Anx attack'].push('0-anxietywomanstory'); %><span class='high-emphasis'>I heard a story</span> about a woman who was punished by her husband, who told her to turn the spinning wheel hour after hour, not making any yarn, just turning it uselessly until she fainted from exhaustion. It's like me, but I'm both the wife and the husband. Are they looking? Will I never stop thinking that? <% if (_.contains(s.fullHistory, '50-anxietyquietplace')) { %><% s.narration['Anx attack'].push('10-anxietycalm'); %><% s.preImg['Anx attack'] = 'img/opts/ray.jpg'; %><% } else { %><% if (_.contains( _.keys(s.interrupt),'Anx attack' )) { s.interrupt['Anx attack'].push('interrupt-anxiety endure'); } else { s.interrupt['Anx attack'] = ['interrupt-anxiety endure']; }; %><% }; %><span class='high-emphasis'>A quiet place at last!</span> Now I can stay here and wait for this obsession to go away. Maybe it won't. But at least I can hide from people here. <% if ( _.contains(s.opport['Anx attack'], 'op Anxiety Calm') == false ) { s.opport['Anx attack'].push('op Anxiety Calm'); }; %><% s.exitList["Map Cabinet"] = [ "no exit", "no exit","no exit","no exit","no exit","no exit" ]; %> <% s.exitList["Ionic Treasury"] = [ "no exit", "no exit","no exit","no exit","no exit","no exit" ]; %> <% s.exitList["River pier"] = [ "no exit", "no exit","no exit","no exit","no exit","no exit" ]; %><div id='opAnxietyCalm' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Calm down</div><div class='opdesc'></div></div></div><% $(function () { $('#opAnxietyCalm').click(function () { $('#opAnxietyCalm').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAnxietyCalm'); s.fullHistory.push('op Anxiety Calm');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Anxiety Calm';});}); %> <% s.narration['Anx attack'].push('10-anxietytrytocalm'); %><% if ( _.contains(s.opport['Anx attack'], 'op Anxiety Continue Calming') == false ) { s.opport['Anx attack'].push('op Anxiety Continue Calming'); }; %> <% if (_.contains(s.fullHistory, '0-anxietywomanstory')) { %><% s.narration['Anx attack'].push('10-anxietytrytocalm'); %><% if ( _.contains( _.keys(s.interrupt), 'Anx attack' )) { s.interrupt['Anx attack'] = _.without( s.interrupt['Anx attack'], 'interrupt-anxiety endure'); } %><% }; %> <% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>My breathing is hot.</span> I need to make an effort. I need to quiet my nerves. I feel they start to quiet. Slowly.<div id='opAnxietyContinueCalming' class='oport story ambient'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Try to overcome it</div><div class='opdesc'>Try. Try. Try.</div></div></div><% $(function () { $('#opAnxietyContinueCalming').click(function () { $('#opAnxietyContinueCalming').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAnxietyContinueCalming'); s.fullHistory.push('op Anxiety Continue Calming');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Anxiety Continue Calming';});}); %> <% if ( _.contains(s.opport['Anx attack'], 'op Anxiety Continue Calming') == false ) { s.opport['Anx attack'].push('op Anxiety Continue Calming'); }; %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Peace of mind comes</span> with soft steps and lovingly caresses my temples. First I feel it in my body: a fresh face, warm hands. When my breathing becomes quiet I realise how loud it must have been. The constant aggression of ideas in my head has become quiet. No more noise. The fit has passed. It hasn't been as bad as the last time, at Gloria's house. The thoughts have stolen minutes from me, not days. Now the thoughts have withdrawn. I don't feel tired, or fearful. It's all been nothing but a silly waste of time. Is that all? <% if (_.contains( _.keys(s.interrupt),'Anx attack' )) { s.interrupt['Anx attack'].push('interrupt-anxiety calm'); } else { s.interrupt['Anx attack'] = ['interrupt-anxiety calm']; }; %><% s.opport['Anx attack'] = _.without( s.opport['Anx attack'] , 'op Anxiety Continue Calming' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Anxiety You') == false ) { s.opport['Pseudopassage'].push('op Anxiety You'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Anxiety Endure') == false ) { s.opport['Pseudopassage'].push('op Anxiety Endure'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opAnxietyEndure' class='oport story'><img class='optimg' src='img/opts/hide.jpg'><div class='optext'><div class='optitle'>I can't endure this any longer</div><div class='opdesc'></div></div></div><% $(function () { $('#opAnxietyEndure').click(function () { $('#opAnxietyEndure').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAnxietyEndure'); s.fullHistory.push('op Anxiety Endure');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Anxiety Endure';});}); %> <% s.narration['Pseudopassage'].push('0-anxietyendure'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Anxiety On') == false ) { s.opport['Pseudopassage'].push('op Anxiety On'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Trying to keep</span> a bare semblance of self-constraint, I sit lethargically. I put my head down and avoid crossing looks with other people, but I am certain that my heavy breathing betrays me. I just want to scream 'Don't look at me.' I fantasize of punching and kicking people out of here until I get alone. Constantly moving these ideas to and fro makes me shake. I can't even raise my eyes and see who's watching me. I try to suppress a loud sob. How much longer? How much longer?<div id='opAnxietyOn' class='oport story'><img class='optimg' src='img/opts/hide.jpg'><div class='optext'><div class='optitle'>It goes on</div><div class='opdesc'></div></div></div><% $(function () { $('#opAnxietyOn').click(function () { $('#opAnxietyOn').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAnxietyOn'); s.fullHistory.push('op Anxiety On');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Anxiety On';});}); %> <% s.narration['Pseudopassage'].push('0-anxietyon'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Anxiety Attack End') == false ) { s.opport['Pseudopassage'].push('op Anxiety Attack End'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>No one approaches</span> to inquire about my condition. Thankfully! But I know they are looking at me and that is enough. It's what I expected. No! *What I knew.* (Even though I realise that I have brought in onto myself and that I'm really giving in to fear. But realising is different from believing.) Are they seeing me tremble? Certainly. Are they noticing how I hide my face? They must be. Is this fan that I flap in front of me enough to make a convincing pretension? Absolutely not. They are looking, they will tell, and more people will look tomorrow and every coming day. I think and think and think. A moment or minutes? I can't tell. Just that idea, that terror, bouncing, multiplying.<div id='opAnxietyAttackEnd' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Looking</div><div class='opdesc'>Every day.</div></div></div><% $(function () { $('#opAnxietyAttackEnd').click(function () { $('#opAnxietyAttackEnd').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAnxietyAttackEnd'); s.fullHistory.push('op Anxiety Attack End');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Anxiety Attack End';});}); %> <% s.narration['Pseudopassage'].push('0-anxietyeattackend'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Anxiety You') == false ) { s.opport['Pseudopassage'].push('op Anxiety You'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>And then I am exhausted</span> and thinking nothing. Just an empty head. And then (I don't know how long that is) I am Irene Victor again. I raise my eyes. I stand. I compose myself. Are they looking? No. I... I am recovered I think. I can return... *except.*<div id='opAnxietyYou' class='oport story'><img class='optimg' src='img/opts/generic.jpg'><div class='optext'><div class='optitle'>But you</div><div class='opdesc'></div></div></div><% $(function () { $('#opAnxietyYou').click(function () { $('#opAnxietyYou').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAnxietyYou'); s.fullHistory.push('op Anxiety You');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Anxiety You';});}); %> <% s.narration['Pseudopassage'].push('0-anxietyyou'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Anxiety Exit') == false ) { s.opport['Pseudopassage'].push('op Anxiety Exit'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>But *you*.</span> You who are looking at me all the time... are you satisfied? I know *you* are still there looking at me. Until the end of the night. Do you think you have understood? Don't fool yourselves. There's nothing you can understand, nothing you can learn. You're only amusing yourselves. Do you think my choices matter? They don't. There is no right path for me. No right choices. No heroic sacrifice that will convince everybody. Do you think I'm not free? Just let me play my part until I bow out. No way I can uncover the whole truth. Secrets will remain secret.<div id='opAnxietyExit' class='oport story'><img class='optimg' src='img/opts/ray.jpg'><div class='optext'><div class='optitle'>Enough</div><div class='opdesc'></div></div></div><% $(function () { $('#opAnxietyExit').click(function () { $('#opAnxietyExit').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAnxietyExit'); s.fullHistory.push('op Anxiety Exit');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Anxiety Exit';});}); %> <% s.exitList["Map Cabinet"] = [ "Main Hallway exit", "no exit", "Covenant Office exit", "no exit", "no exit", "no exit" ]; %> <% s.exitList["Ionic Treasury"] = [ "Blue Pavilion exit", "no exit", "no exit", "no exit", "no exit", "no exit" ]; %> <% s.exitList["River pier"] = [ "no exit", "no exit", "Fountain exit", "no exit", "no exit", "no exit" ]; %> <% s.generator = "genText"; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><% s.passTitle = "Noon Door"; %><% s.passDescription.push("<span class='high-emphasis'>The main door</span> in the Palace, oriented to the South."); %><% s.passImage = 'img/opts/door.jpg'; %><%= story.render(s.generator) %><% s.passTitle = "Grand Entrance Hall"; %><% s.passDescription.push("<span class='high-emphasis'>The hall is too big:</span> there are corners and recesses that have never been reached by light, their colours and shapes never revealed to any living person."); %><% s.passDescription.push("<span class='high-emphasis'>The Grand Entrance Hall</span> is full of people and noise."); %><% s.passDescription.push("<span class='high-emphasis'>The entrance hall feels to me</span> as if was originally intended to overwhelm visitors and make them feel small and humble."); %><% s.passDescription.push("<span class='high-emphasis'>Even though</span> there are no tables and only a few chairs, a lot of people *stay* in the Grand Entrance Hall."); %><% s.passImage = 'img/opts/entrance.jpg'; %><%= story.render(s.generator) %><% s.passTitle = "Marble Gallery, West"; %><% s.passDescription.push("<span class='high-emphasis'>There are a lot of people</span> in the gallery, enjoying its beautiful view on the garden, the Castain and the city on the other side of the river."); %><% s.passDescription.push("<span class='high-emphasis'>There will be music</span> in the Marble Gallery all through the evening. And where there's music, there are dancers."); %><% s.passDescription.push("<span class='high-emphasis'>I stop a moment</span> to listen to the music. After some moments I realize that I'm tapping my foot to the rhythm without knowing it."); %><% s.passDescription.push("<span class='high-emphasis'>The Marble Gallery</span> is the most opulent room in the building and most humble people seem too intimidated to come here, even if today it's the only day they are free to."); %><% s.passImage = 'img/opts/west_gallery.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration['Marble Gallery, West'].push('gallerywest1st'); %><% }; %> <% if (passage.name != 'Pseudopassage') { if (s.currentTime.indexOf("Eight") >=0) { %><% s.narration['Marble Gallery, West'].push('gallerywesteight'); %><% };}; %> <% if (passage.name != 'Pseudopassage') { if (s.currentTime.indexOf("Quarter past eight") >=0) { %><% s.narration['Marble Gallery, West'].push('gallerywesteight'); %><% };}; %> <% if (passage.name != 'Pseudopassage') { if (s.currentTime.indexOf("Half past eight") >=0) { %><% s.narration['Marble Gallery, West'].push('gallerywesteight'); %><% };}; %> <% if (passage.name != 'Pseudopassage') { if (s.currentTime.indexOf("Nine") >=0) { %><% s.narration['Marble Gallery, West'].push('gallerywestnine'); %><% };}; %> <% if (passage.name != 'Pseudopassage') { if (s.currentTime.indexOf("Quarter past nine") >=0) { %><% s.narration['Marble Gallery, West'].push('gallerywestnine'); %><% };}; %> <% if (passage.name != 'Pseudopassage') { if (s.currentTime.indexOf("Half past nine") >=0) { %><% s.narration['Marble Gallery, West'].push('gallerywestnine'); %><% };}; %> <% if (passage.name != 'Pseudopassage') { if (s.currentTime.indexOf("Ten") >=0) { %><% s.narration['Marble Gallery, West'].push('gallerywestten'); %><% };}; %> <% if (passage.name != 'Pseudopassage') { if (s.currentTime.indexOf("Quarter past ten") >=0) { %><% s.narration['Marble Gallery, West'].push('gallerywestten'); %><% };}; %> <% if (passage.name != 'Pseudopassage') { if (s.currentTime.indexOf("Half past ten") >=0) { %><% s.narration['Marble Gallery, West'].push('gallerywestten'); %><% };}; %> <%= story.render(s.generator) %><span class='high-emphasis'>Dressed in marble and velvet</span> and wearing all its jewels, this hall is the main host to our feast, a magnificent and luminous gallery overlooking the garden. The Western half is where musicians and dancers gather. Through the windows, I glimpse the vast garden, stretching until the Castain bank. I feel like getting out and taking a walk there.<%= _.sample( [ "<span class='high-emphasis'>Music flows fast</span> across the Gallery now, dragging dancers in quick and difficult steps.", "<span class='high-emphasis'>The orchestra is playing</span> a fast piece now, and only the most accomplished dancers remain.", "<span class='high-emphasis'>Sweet and slow music</span> mixes with the gentle evening light.", "<span class='high-emphasis'>The Gallery is full of dancers</span>, this is the most important ball of the year in Aurora.", "<span class='high-emphasis'>Music sparkles</span>. Dancers, mostly, obscure it.", ]) %><span class='high-emphasis'>At this hour,</span> the gallery has been deserted by almost all, attracted by the Wheel.<% if (_.contains(s.fullHistory, '1000-dinnerhallend') || _.contains(s.fullHistory, '100-dinnerbellend')) { %><span class='high-emphasis'>The gallery is lively again</span> after the end of the dinner, with lazy music and some tired dancers. <% } else { %><span class='high-emphasis'>At this hour,</span> the gallery is almost empty. Only a few musicians remain here, taking a rest. <% }; %><% s.passTitle = "Marble Gallery, East"; %><% s.passDescription.push("<span class='high-emphasis'>There is a lot of people</span> in the gallery, enjoying its beautiful view on the garden, the Castain and the city on the other side of the river."); %><% s.passDescription.push("<span class='high-emphasis'>Muffled music</span> comes from the other end of the gallery."); %><% s.passDescription.push("<span class='high-emphasis'>The Marble Gallery</span> is the most opulent room in the building and most humble people seem too intimidated to come here, even if today it's the only day they are free to."); %><% s.passDescription.push("<span class='high-emphasis'>When I see the magnificent dresses</span>, shiny jewels and splendid arms that men and women are sporting, sometimes I'm reminded of something Voltaire wrote: that if a peacock could talk, it would say its soul is in its tail."); %><% s.passImage = 'img/opts/east_gallery.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('10-galleryeast1st'); %><% }; %><%= story.render(s.generator) %><span class='high-emphasis'>Large and opulent</span>, this hall is the main host to our feast. The Eastern half is where gossips converse and drink.<% s.passTitle = "Portolan Gallery"; %><% s.passDescription.push("<span class='high-emphasis'>I'm on balcony</span> above the Grand Entrance Hall, where people gather to watch other people below."); %><% s.passDescription.push("<span class='high-emphasis'>I enjoy</span> trying to see the large portolan of the Mediterranean on the floor: Venice, Genoa, Valencia, Malta, Canea... Some people avoid stepping on friendly cities, while boastfully trampling on our traditional rivals."); %><% s.passDescription.push("<span class='high-emphasis'>I welcome a moment almost alone</span> at the gallery above a hall brimming with people."); %><% s.passImage = 'img/opts/portolan.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('portolan1st'); %><% }; %> <%= story.render(s.generator) %><span class='high-emphasis'>I walk up the stairs</span> to the Portolan Gallery, halfway between the ground and the first floor. Up here, I would be happy to see the picture on the floor -the red and black portolan of the Mediterranean- but, of course, the hall is crowded: people, their constant dances and their concealments, are the only things to watch.<% s.passTitle = "Library"; %><% s.passDescription.push("<span class='high-emphasis'>This intricate library</span>, the only dark room in this Palace, the place to take refuge from politics and society."); %><% s.passDescription.push("<span class='high-emphasis'>I am in the library</span>, my favourite place in this palace. I'll have to make an effort to leave."); %><% s.passDescription.push("<span class='high-emphasis'>The library is almost a separate world</span> from the rest of the palace. It doesn't feel strange that so few people."); %><% s.passDescription.push("<span class='high-emphasis'>I remember being a child</span> afraid of this library, of the shadowy aisles of bookcases."); %><% s.passDescription.push("<span class='high-emphasis'>I remember those times I came here as a child</span> and there would be men who didn't approve of a girl being here."); %><% s.passDescription.push("<span class='high-emphasis'>They haven't lit</span> so many candles in the library, and instead of marble and mirrors there is wood and dark books. It feels warm and private."); %><% s.passDescription.push("<span class='high-emphasis'>Two or three moths</span> flap near the flickering candles. "); %><% s.passImage = 'img/opts/library.jpg'; %> <% if (passage.name != 'Pseudopassage') { if (s.currentTime.indexOf("Eight") >=0) { %><% s.narration['Library'].push('libraryeight'); %><% };}; %> <%= story.render(s.generator) %><%= _.sample( [ "<span class='high-emphasis'>The library is bubbling</span> with fugitives from the great ball that prefer drinking, telling jokes or debating politics to dancing.", ]) %><% s.passTitle = "Dining Hall"; %><% s.passDescription.push("<span class='high-emphasis'>The dining hall</span> reminds me of... no, I do not wish to remember that."); %><% s.passDescription.push("<span class='high-emphasis'>I've just spent one week</span> in a lodge in the woods. A luxurious dining room is something I can appreciate."); %><% s.passDescription.push("<span class='high-emphasis'>Everything shines</span> in the dining hall. I often make the joke that I should ask the butlers to polish my face. But there's no one here to tell the joke to."); %><% s.passImage = 'img/opts/dining.jpg'; %><%= story.render(s.generator) %><% s.narration['myself'].push('9999-dinnerissoon'); %><% targetTurn = s.turn+1;targetEvent = 'ev Narration Dinner Add';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Dinner Pavilion Enter') == false ) { s.opport['Blue Pavilion'].push('op Dinner Pavilion Enter'); }; %><% if ( _.contains(s.opport['Dining Hall'], 'op Dinner Hall Sit') == false ) { s.opport['Dining Hall'].push('op Dinner Hall Sit'); }; %><% targetTurn = Math.floor( s.timeSpeed*44 );targetEvent = 'ev Dinner end when you join no dinner';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.charLocationPriority['Clara'] < 2) { s.charLocationPriority['Clara'] = 2;s.characterList['Clara'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Clara"] = "Nowhere"; s.charLocationPriority["Clara"] = 2; %><% targetTurn = s.turn+1;if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( s.namedEvent['dinner-end'] ); s.timedEvent[targetTurn] = _.flatten( s.timedEvent[targetTurn] ) } else { s.timedEvent[targetTurn] = _.flatten(s.namedEvent['dinner-end']); }; s.namedEvent['dinner-end'] = [ ]; %><% s.narration['Blue Pavilion'].push('0-dinnerpavilionopen'); %><% s.narration['Dining Hall'].push('0-dinnerhallstarting'); %><% s.narration['Outside tables'].push('0-dinnertablesstarting'); %><% if (s.currentLocation == 'Blue Pavilion') { %><% print("<p><span class='high-emphasis'>Time for dinner!</span> I'm supposed to follow the heavy dresses and decorated uniforms into the Dining Hall in the Eastern wing of the Palace, where my family, the rulers and the nobles of the Canton will dine.</p>"); %><% print("<p>But I could stay here in the Blue Pavilion instead, with wealthy people from the cities, prosperous farmers and foreign guests. Or I could wander among the tables near the fountain where townspeople and peasants eat and dance and sing and play all at the same time.</p>"); %><% } else { %><% if (s.currentLocation == 'Dining Hall') { %><% print("<p><span class='high-emphasis'>Time for dinner!</span> Guests start to enter this dining room: heavy dresses and decorated uniforms the rulers and the nobles of the Canton. This is where I should dine, with my family.</p>"); %><% print("<p>But I could go to the Blue Pavilion instead, with wealthy people from the cities, prosperous farmers and foreign guests. Or I could wander among the tables near the fountain where townspeople and peasants eat and dance and sing and play all at the same time.</p>"); %><% } else { %><% if (s.currentLocation == 'Outside tables') { %><% print("<p><span class='high-emphasis'>Time for dinner!</span> I'm supposed to follow the heavy dresses and decorated uniforms into the Dining Hall in the Eastern wing of the Palace, where my family, the rulers and the nobles of the Canton will dine.</p>"); %><% print("<p>But I could go to the Blue Pavilion instead, with wealthy people from the cities, prosperous farmers and foreign guests. Or I could be outrageous and eat here, in the open air, where townspeople and peasants eat and dance and sing and play all at the same time.</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>Time for dinner!</span> I'm supposed to follow the heavy dresses and decorated uniforms into the Dining Hall in the Eastern wing of the Palace, where my family, the rulers and the nobles of the Canton will dine.</p>"); %><% print("<p>But I could go to the Blue Pavilion instead, with wealthy people from the cities, prosperous farmers and foreign guests. Or I could wander among the tables near the fountain where townspeople and peasants eat and dance and sing and play all at the same time.</p>"); %><% }; %><% }; %><% }; %><% if (_.contains(s.fullHistory, '0-andropolpoemmurder')) { %><% print("<p>Andropol told me the crying spirit would be in the Dining Hall, in the ground floor. The thought makes me shiver.</p>"); %><% }; %> <% s.reminders['dinnersoon'] = "The dinner is starting soon. My place is in the Dining Room."; %><% s.narration['Marble Gallery, West'].push('500-people in gallery hurry for dinner'); %><span class='high-emphasis'>People hurry for dinner.</span> Some walk towards the Dining Hall, just beside this Gallery. Others are leaving, going down the stairs and heading to the Blue Pavilion. If someone is standing still, a quick look at their clothes is enough to guess where they will go.<% s.narration['myself'].push('9999-dinnerisnow'); %><span class='high-emphasis'>The dinner is starting now!</span> They will close the doors to the Dining Hall very soon. <% s.bg = 'bg-night-active'; %> <% $('body').addClass('imgmask1'); %><span class='high-emphasis'>The doors of the Pavilion</span> are open and a noisy crowd hurries inside. <% if (_.contains(s.fullHistory, '100-marelinvitesdinner')) { %><% print("<p>This is where Agustil told me to come have dinner.</p>"); %><% }; %><span class='high-emphasis'>The noble and the rich are coming in</span> for dinner, and this crowd isn't less loud than the peasants in the garden. They only dress better. The hall is brightly lit and spotless. Waiting servants line the walls and a quartet is already playing mellow music. Father won't sit far from the Premier, but I, the unmarried daughter of a magistrate, should take a seat in one of the farthest corners.<span class='high-emphasis'>People start crying my name</span> as soon as I walk close to the tables. 'The great dancer!' some add. I smile and lower my eyes. It's uncomfortable, but not unbearable. The peasants, the wage workers and the poor are all making a tremendous noise as servants bring roasted birds and pork, spinach pies, cheese, bowls of melon, watermelon and figs, for everyone to eat in any order they prefer. They also bring jars that spill white wine, water and milk. These are people I don't know, but they all seem so happy to me! It would be unconventional almost to the point of outrageousness if I had dinner with them. That idea makes me smile even more. <% if ( _.contains(s.opport['Outside tables'], 'op Dinner Tables Start') == false ) { s.opport['Outside tables'].push('op Dinner Tables Start'); }; %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '0-dinnerpavilionopen' ); %><% s.narration['Dining Hall'] = _.without( s.narration['Dining Hall'] , '0-dinnerhallstarting' ); %><% s.narration['myself'] = _.without( s.narration['myself'] , '9999-dinnerisnow' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people in gallery hurry for dinner' ); %> <% if (s.currentLocation == 'Blue Pavilion') { %><% } else { %><% s.narration['Blue Pavilion'].push('0-dinnerpavilionclose'); %><% }; %> <% s.narration['Grand Entrance Hall'].push('0-halldinnerclose'); %><% s.narration['Kitchen'].push('0-kitchendinnerclose'); %> <% s.opport['Blue Pavilion'] = _.without( s.opport['Blue Pavilion'] , 'op Dinner Pavilion Enter' ); %><% s.exitList["Grand Entrance Hall"] = [ "Library exit", "Marble Gallery, West exit", "no exit", "no exit", "Portolan Gallery exit", "no exit" ]; %> <% s.exitList["Marble Gallery, East"] = [ "Marble Gallery, West exit", "no exit", "no exit", "no exit", "no exit", "no exit" ]; %> <% s.exitList["Kitchen"] = [ "no exit", "Garden Stairs exit", "Pantry exit", "no exit", "no exit", "no exit"]; %> <% targetTurn = s.turn+1;targetEvent = 'ev Dinner Hall Remove Sit';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if ( _.contains( _.keys(s.namedEvent), 'dinner-end' ) ) { s.namedEvent['dinner-end'].push( 'ev Dinner Open Doors' ); } else { s.namedEvent['dinner-end'] = [ 'ev Dinner Open Doors' ]; } %> <% s.narration['Fountain'].push('500-dinner in tables seen from fountain'); %><% s.narration['Garden Stairs'].push('500-dinner in garden seen from stairs'); %><% s.narration['Blue Pavilion'].push('500-dinner in pavilion from outside'); %><% s.narration['Grand Entrance Hall'].push('500-dinner in hall from entrance'); %><% s.opport['Dining Hall'] = _.without( s.opport['Dining Hall'] , 'op Dinner Hall Sit' ); %><% delete s.reminders['dinnersoon']; %><span class='high-emphasis'>Dinner has started</span> inside the pavilion. I better not go inside now. Perhaps they'll feed me in the table area near the fountain.<span class='high-emphasis'>Dinner has started</span> inside the dining hall. The door is closed and two guards keep watch. Now I can't go inside. Perhaps they'll feed me in the table area near the fountain. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><span class='high-emphasis'>The kitchen has become a pandemonium.</span> Waiters and cooks argue, fight and then run. Two guards keep watch by the door leading up to the dining hall, so that only waiters can pass.<% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '0-dinnerpavilionclose' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '0-halldinnerclose' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '0-dinnertablesstarting' ); %><% s.narration['Kitchen'] = _.without( s.narration['Kitchen'] , '0-kitchendinnerclose' ); %> <% if (s.currentLocation == 'Dining Hall') { %><% } else { %><% s.narration['myself'].push('100-dinnerbellend'); %><% }; %> <% s.narration['Grand Entrance Hall'].push('500-music in the harmonic room after dinner'); %><% s.narration['Marble Gallery, East'].push('500-music in the harmonic room after dinner'); %><% if (_.contains( _.keys(s.interrupt),'Harmonic Room' )) { s.interrupt['Harmonic Room'].push('int music in the harmonic room after dinner'); } else { s.interrupt['Harmonic Room'] = ['int music in the harmonic room after dinner']; }; %><% targetTurn = Math.floor( s.timeSpeed*53 );targetEvent = 'ev music in the harmonic room after dinner remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.exitList["Grand Entrance Hall"] = [ "Library exit", "Marble Gallery, West exit", "no exit", "Dining Hall exit", "Portolan Gallery exit", "no exit" ]; %> <% s.exitList["Marble Gallery, East"] = [ "Marble Gallery, West exit", "no exit", "Dining Hall exit", "no exit", "no exit", "no exit" ]; %> <% s.exitList["Kitchen"] = [ "no exit", "Garden Stairs exit", "Pantry exit", "no exit", "Dining Hall exit", "no exit"]; %> <% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Tables Start' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Dancing Tables' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Dancing Ask Fight' ); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Dinner Take Musicians Tables' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Big Dance Join' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Big Dance Continue' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '100-musiciansidleingallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '0-orchestraacceptplaytablesdinner' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '100-orchestraplaysintablesdinner' ); %> <% if (_.contains(s.fullHistory, '0-bigdanceinterrupted')) { %><% } else { %><% s.narration['Outside tables'].push('500-dinnerhasendedoutside'); %><% }; %> <% s.eventIgnore.push('ev Big Dance Renew Description'); %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev three conditions available after dinner';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.charLocationPriority['Father'] = 0; %><% if (s.charLocationPriority['Father'] < 1) { s.charLocationPriority['Father'] = 1;s.characterList['Father'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Marble Gallery, East"; s.charLocationPriority["Father"] = 1; %> <% s.charLocationPriority['Marina Mayor'] = 0; %><% if (s.charLocationPriority['Marina Mayor'] < 1) { s.charLocationPriority['Marina Mayor'] = 1;s.characterList['Marina Mayor'] = 'Marble Gallery, West'; print(story.render('updateLocationList') );}; %> <% s.characterList["Marina Mayor"] = "Marble Gallery, West"; s.charLocationPriority["Marina Mayor"] = 1; %> <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-dinner in tables seen from fountain' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-dinner in garden seen from stairs' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-dinner in pavilion from outside' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-dinner in hall from entrance' ); %> <% if (_.contains(s.fullHistory, '0-wheelriotend')) { %><% s.narration['Outside tables'].push('500-the blind singer again'); %><% } else { %><% if (_.contains(s.fullHistory, 'op Dinner Hall Wheel Clara Ask')) { %><% s.narration['Outside tables'].push('500-the blind singer again'); %><% } else { %><% if (_.contains(s.fullHistory, 'op Dinner Pavilion Wheel Comment')) { %><% s.narration['Outside tables'].push('500-the blind singer again'); %><% }; %><% }; %><% }; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*_.random(1, 3) ));targetEvent = 'ev the staircase at night';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% targetTurn = s.turn+1;targetEvent = 'ev Dinner descriptions after end';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Dining Hall'].push('500-dinnerhasendedhall'); %><% s.narration['Blue Pavilion'].push('500-dinnerhasendedpavilion'); %><% s.narration['Kitchen'].push('500-dinnerhasendedkitchen'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*5 ));targetEvent = 'ev Dinner End Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (_.contains(s.fullHistory, '0-dinnerpavilionenter')) { %><% print("<p><span class='high-emphasis'>I hear a bell somewhere:</span> that means dinner has finished. Sated people starts leaving the pavilion to smoke in the halls, dance in the gallery or lie in the fresh grass near the fountain, while they wait for the evening's peak, the ceremony in the garden after midnight.</p>"); %><% } else { %><% if (_.contains(s.fullHistory, '0-dinnerhallsit')) { %><% print("<p><span class='high-emphasis'>I hear a bell somewhere:</span> that means dinner has finished. Sated people start leaving the dining room to smoke in the halls, dance in the gallery or lie in the fresh grass near the fountain, while they wait for the evening's peak, the ceremony in the garden after midnight.</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>I hear a bell somewhere:</span> that means dinner has finished. Sated people must be leaving the dining places to smoke in the halls, dance in the gallery or lie in the fresh grass near the fountain, while they wait for the evening's peak, the ceremony in the garden after midnight.</p>"); %><% }; %><% }; %> <% s.flag['s.afterDinnerReminder'] = false; %> <% if (_.contains(s.fullHistory, '0-marinamayorgreet')) { %><% } else { %>Perhaps I still have a chance of talking to the Marina Mayor. Then the *law* will allow me to wear trousers when I'm collecting plants. I need trousers. He surely is somewhere in the ground floor. <% s.flag['s.afterDinnerReminder'] = true; %><% }; %> <% if (s.flagRemainingSupporters == 1) { %>My trousers! I need trousers. The Marina Mayor gave me three names: I can still talk to one of them. <% s.flag['s.afterDinnerReminder'] = true; %><% }; %> <% if (s.flagRemainingSupporters >1) { %>My trousers! I need trousers. The Marina Mayor gave me three names, and there's more than one I can still talk to. <% s.flag['s.afterDinnerReminder'] = true; %><% }; %><span class='high-emphasis'>The dinner's racket has calmed</span> now that people has flown into the garden again. The only song I hear is soft and melancholy and no one dances to it.<span class='high-emphasis'>Servants are tidying up after dinner.</span> They are calm and efficient, and the rests of human activity are disappearing fast.<span class='high-emphasis'>Inside the Pavilion, a single maid is cleaning up after dinner.</span> There is mess and dirt everywhere, while drunken sons of city merchants cowardly look at girls. I prefer not to look inside too much.<span class='high-emphasis'>All through the kitchen,</span> men and women lean on tables or lie on the ground, chatting, laughing and drinking. Their work is over and they say they've succeeded in the hardest night of the year. The main cook, Grigor, walks back and forth, mumbling: 'It's good, it's good.'<% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-dinnerhasendedoutside' ); %><% s.narration['Dining Hall'] = _.without( s.narration['Dining Hall'] , '500-dinnerhasendedhall' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-dinnerhasendedpavilion' ); %><% s.narration['Kitchen'] = _.without( s.narration['Kitchen'] , '500-dinnerhasendedkitchen' ); %><%= _.sample( [ "<span class='high-emphasis'>From here,</span> all the people eating dinner in the garden tables are just dark outlines against the dying light of dusk. ", "<span class='high-emphasis'>Workers and peasants</span> are having dinner at the garden tables. A dog startles me: it runs after a bone somebody has tossed, but another comes right after and the two fight over the bone, then run back. Two more bones fly.", ]) %> <% s.narration['Fountain'].push('500-dinner in tables seen from fountain'); %><%= _.sample( [ "<span class='high-emphasis'>From here,</span> I see the tables, crowded with boisterous people. To the other side of the fountain, the large windows of the Pavilion pour light.", "<span class='high-emphasis'>Everybody in the garden</span> is eating dinner in the tables or the Pavilion. I see just a few shadows running in other places, and they are small. The children.", "<span class='high-emphasis'>Only drunkards and children here.</span> Everyone else is eating dinner.", ]) %> <% s.narration['Garden Stairs'].push('500-dinner in garden seen from stairs'); %><%= _.sample( [ "<span class='high-emphasis'>Through the pavilion windows</span> I can see the well dressed people dining inside. I take a passing glance at them: they laugh and toast, pompous men talk like a cardinal preaching a sermon and they all eat unceremoniously.", "<span class='high-emphasis'>Some of the people</span> dining in the pavilion look outside, and I move a bit out of the path so it's harder that they recognize me. I want no gossip.", "<span class='high-emphasis'>A woman in the pavilion</span> fixes her gaze on me. I turn my head to the other side and walk faster. I didn't know her. I hope she doesn't know me. Why should she? I'm just the daughter of Lord Victor and the great dancer.", "<span class='high-emphasis'>A few children</span> are observing the guests in the pavilion. They are barefoot and poorly clothed. At first, their expressions seem envious and greedy to me. But the more I look, the more ambiguous and detached the scene feels. In the darkness of dusk, their faces lit by the chandeliers behind the windows look anxious to consume something. ", ]) %> <% s.narration['Blue Pavilion'].push('500-dinner in pavilion from outside'); %><%= _.sample( [ "<span class='high-emphasis'>Noises from the dinner</span> behind the closed doors sound hushed, like nothing is really there. Too formal a dinner. But some strange sounds insinuate themselves. I wonder what they are.", "<span class='high-emphasis'>The notables</span> of Aurora are together behind the closed door, all of them, having a lush dinner (I can imagine it) and making constant demands to the servants. To everyone. I can imagine it too.", ]) %> <% s.narration['Grand Entrance Hall'].push('500-dinner in hall from entrance'); %><% // Run companion actions only if player has a companion if (s.companion != "") { s.companionData.turnCounter = s.companionData.turnCounter+1; s.characterList[s.companion] = passage.name; s.charLocationPriority[s.companion] = 1000000000000; print(story.render("updateLocationList")); if (s.companionData.destination === passage.name) { // We have arrived. The companion stops following the player. $('body').removeClass('has-companion'); if (_.contains(_.keys(s.narration), s.companion)) { s.narration[s.companion].push(s.companionData.okPreDesc); } else { s.narration[s.companion] = s.companionData.okPreDesc; }; if (_.contains(_.keys(s.opport), s.companion)) { s.opport[s.companion].push(s.companionData.okOport); } else { s.opport[s.companion] = s.companionData.okOport; }; s.charLocationPriority[s.companion] = 1; print(story.render("updateLocationList")); s.companion = ""; s.companionData = {}; } else { // We haven't arrived. Check distance. $('body').addClass('has-companion'); distanceTmp = "genDistance-"+passage.name; print(story.render(distanceTmp)); s.companionData.currentDistance = distanceMap[s.companionData.destination]; // Check if we are closer to the destination than in the previous turn. if ( s.companionData.currentDistance >= s.companionDistanceHistory[0] ) { // Check if it's the second warning s.companionData.alertCount = s.companionData.alertCount+1; if (s.companionData.alertCount === 2) { // Second warning: companion leaves. if (_.contains(_.keys(s.narration), passage.name)) { s.narration[passage.name].push(s.companionData.abandonPreDesc); } else { s.narration[passage.name] = s.companionData.abandonPreDesc; }; if (_.contains(_.keys(s.opport), s.companion)) { s.opport[s.companion].push(s.companionData.abandonOport); } else { s.opport[s.companion] = s.companionData.abandonOport; }; s.characterList[s.companion] = s.companionData.destination; s.charLocationPriority[s.companion] = 1; print(story.render("updateLocationList")); s.companion = ""; s.companionData = {}; $('body').removeClass('has-companion'); } else { // First warning: companion tells player to hurry up. if (_.contains(_.keys(s.narration), s.companion)) { s.narration[s.companion].push(s.companionData.alertPreDesc); } else { s.narration[s.companion] = s.companionData.alertPreDesc; }; print(story.render("genInitialCompanionDistance")); }; } else { // We are closer to the companion's destination: we go forward. if (_.contains(_.keys(s.narration), s.companion)) { s.narration[s.companion].push(s.companionData.walkingPreDesc); } else { s.narration[s.companion] = s.companionData.walkingPreDesc; }; s.companionDistanceHistory.push( s.companionData.currentDistance ); s.companionDistanceHistory = _.without( s.companionDistanceHistory, s.companionDistanceHistory[0]); }; }; }; %><% // This generates the initial array of historic distance to the companion's destination. All the values of the array are filled with an impossible distance of 1000+. First we create the empty array. s.companionDistanceHistory = []; // Now we loop through the array and fill it with 1000+. var step; for (step = 0; step < s.companionData.turnParameter; step++) { s.companionDistanceHistory[step] = 1000+step; }; %><% // Scroll to top $('html, body').animate({scrollTop: '0px'}, 200); if (passage.name != "start") { // Automatic savegames. // There is no manual saving option and only one slot is provided. s.currentLocation = passage.name; localStorage.setItem( 'master-autosave', JSON.stringify( story.state )); } // First we add the correct initial classes to body and tw-story, and clean possible remaining classes from the previous passage. $('body').addClass('hidemap hidereminders hidedebug page1map').removeClass('showmap showreminders showdebug evening-time dusk-time night-time page2map hidecompass hideambientops'); // We initialize other variables. s.compassCount = 0; // s.currentLocation = passage.name; // Now we print the visible elements of the interface. We start with the narration. %> <script> setTimeout(function() { $('#bg').attr( 'class', window.story.state.bg ); }, 1000); </script> <div id="bg" class="<%= s.bg %>"> <div class="bg-entrance"></div> <div class="bg-day"></div> <div class="bg-midnight"></div> <div class="bg-night"></div> </div> <div class="main" lang="en"> <p class="debug">Generator: genTextAnx</p> <p class="debug">Narraciones: <%= s.narration[ "Anx attack" ] %> </p> <p class="debug">Pasaje: <%= passage.name %> </p> <!-- This is the main narrative text. We replace predesc with a simplified version --> <div class="passage-narration"> <% s.preTmp = []; // We check if the player has reached the end locations for this special narrative. if ( _.contains(s.fullHistory, '50-anxietyquietplace') == false && _.contains(s.anxietyDestinations, passage.name) ) { s.preTmp = [ "50-anxietyquietplace" ]; }; // We get preImg for anx attack if ( s.preImg["Anx attack"] != "" && s.preImg["Anx attack"] != undefined ) { print("<img class='preImg' src='" + s.preImg["Anx attack"] , "' />"); s.preImg["Anx attack"] = ""; }; // We aggregate the preDesc array for Anx Attack and pseudopassage. if ( _.contains( _.keys(s.narration), "Anx attack" )) { s.preTmp = _.union( s.preTmp, s.narration["Anx attack"] ); }; if ( _.contains( _.keys(s.narration), "Pseudopassage" )) { s.preTmp = _.union( s.preTmp, s.narration["Pseudopassage"] ); }; // Now we have the whole contents, we sort them so that prioritary texts come first. if ( s.preTmp.length>1 ) { s.preTmp=s.preTmp.sort(naturalSort) } // Now to the printing loop loopIterations = s.preTmp.length; if (loopIterations > 0) { var step; for (step = 0; step < loopIterations; step++) { // Print the passage print("<div class='predesc-item'>"); print(story.render(s.preTmp[step])); print("</div>"); // Remove the passage we have printed from s.narration Object.keys( s.narration ).forEach(function(key) { s.narration[key] = s.narration[key].filter(function(contents) { return contents !== s.preTmp[step]; }); }); }; // We add the narration array to the history and delete the temporary variable s.narrationHistory = _.union( s.narrationHistory, s.preTmp); s.fullHistory = _.union( s.fullHistory, s.preTmp); s.preTmp = []; } %> </div><!-- passage-narration --> <% // After printing narration, we check interruptions for Anx Attack. if (!_.isEmpty(s.interrupt) != {}) { s.interruptTmp = ""; // We check if there are interruptions for Anx Attack. if ( _.contains( _.keys(s.interrupt), "Anx attack" )) { if ( _.isEmpty(s.interrupt["Anx attack"]) ) { delete s.interrupt["Anx attack"]; } else { s.interruptTmp = s.interrupt["Anx attack"][0]; s.interrupt["Anx attack"] = _.without( s.interrupt["Anx attack"], s.interruptTmp ); s.interruptBlockAfterFirst = true; print(story.render( s.interruptTmp )); }; }; }; %> <div class="pre-separator"></div> <div class="opport-block"> <% // Last we get the opportunity array for Anx Attack. if ( _.contains( _.keys(s.opport), "Anx attack") ) { s.printOpportunities = _.union( s.printOpportunities, s.opport["Anx attack"] ); }; if ( _.contains( _.keys(s.opport), "Pseudopassage") ) { s.printOpportunities = _.union( s.printOpportunities, s.opport["Pseudopassage"] ); }; // Now we render the passages in the opportunity array. loopIterations = s.printOpportunities.length; if (loopIterations > 0) { var step; for (step = 0; step < loopIterations; step++) { print(story.render(s.printOpportunities[step])); }; }; %> </div><!--- opport-block --> <!-- We print the debug options --> <div class="debug"><% story.render("debug") %></div> </div> <!--- main --> <!-- Now we print the sidebar. --> <% if (s.showSidebar) { %> <div class="sidebar" id="sidebar" lang="en"> <div class="passage-description"> <img class='passage-image' src='<%= s.passImage %>' > <div class="passage-title"><%= s.passTitle %></div> <div class="passage-region"><%= s.region[s.passTitle] %></div> <div class="current-time"><%= s.currentTime %></div> <% // if ( !_.isEmpty(s.locationList[passage.name]) ) { // print("<div>I see:" + s.locationList[passage.name].join(", ") + "</div>"); // }; %> </div><!-- passage-description --> <div class="pre-separator"></div> <div class="game-menu"> <!-- Game options menu. --> <a id="reminderbutton">Reminders</a><% $(function () { $('#reminderbutton').click(function () { $( "body" ).toggleClass( "hidereminders showreminders" ) }); }); %> <a id="mapbutton">Map</a><% $(function () { $('#mapbutton').click(function () { $( "body" ).toggleClass( "hidemap showmap" ) }); }); %> <div class="reminders"><%= _.values(s.reminders).join("<hr>") %></div> </div><!-- game-menu --> <!-- Now we print the opportunities. First, directions. --> <div class="hedera compass-icon">❂</div> <div class="compass-block"> <div class="oport compass north"> <%= story.render(s.exitList[s.currentLocation][1]) %> </div> <div class="oport compass west"> <%= story.render(s.exitList[s.currentLocation][0]) %> </div> <div class="oport compass east"> <%= story.render(s.exitList[s.currentLocation][3]) %> </div> <div class="oport compass south"> <%= story.render(s.exitList[s.currentLocation][2]) %> </div> </div><!-- compass-block --> <div class="vertical-block"> <div class="oport vertical up"> <%= story.render(s.exitList[s.currentLocation][4]) %> </div> <div class="oport vertical down"> <%= story.render(s.exitList[s.currentLocation][5]) %> </div> </div><!-- vertical-block --> </div><!-- sidebar--> <% }; %> <!-- After rendering the sidebar, if there was an interruption, we animate its hiding --> <% if (s.interruptTmp != "") { function gotDelay() {$( '#sidebar' ).css( 'transform', 'scale(.75)' ).css( 'opacity', '0' );s.showSidebar = false;};setTimeout(gotDelay,150);} %> <!-- Now we empty the temporary variables. ¿ES NECESARIO TODO ESTO? --> <% s.printOpportunities = []; s.passDescription = []; s.passImage = ""; s.interruptTmp = ""; // If there are no compass movement options, prevent the empty block from appearing. if (s.compassCount === 0) { $('body').addClass('hidecompass'); } %> <!-- Toggleable map overlay. --> <div class="map"> <div class="mapclose"> <a id="mapclosebutton">Close</a><% $(function () { $('#mapclosebutton').click(function () { $( "body" ).toggleClass( "showmap hidemap" ) }); }); %> </div> <div class="map1"> <a id="map1"> <img src='img/map1.jpg' /> </a><% $(function () { $('#map1').click(function () { $('body').toggleClass('page2map page1map') }); }); %> </div> <div class="map2"> <a id="map2"> <img src='img/map2.jpg' /> </a><% $(function () { $('#map2').click(function () { $('body').toggleClass('page1map page2map') }); }); %> </div> </div> <!-- Pass the turn and if necessary change the name of the time period. --> <!-- OJO A ESTO. PENSAR PARA QUE IBA A SERVIR --> <% s.anxietyCounter = s.anxietyCounter+1; s.passageHistory.push(s.currentLocation); // story.checkpoint(); %><% // Scroll to top $('html, body').animate({scrollTop: '0px'}, 200); if (passage.name != "start") { // Automatic savegames. // There is no manual saving option and only one slot is provided. s.currentLocation = passage.name; localStorage.setItem( 'master-autosave', JSON.stringify( story.state )); } // First we add the correct initial classes to body and tw-story, and clean possible remaining classes from the previous passage. $('body').addClass('hidemap hidereminders hidedebug page1map').removeClass('showmap showreminders showdebug evening-time dusk-time night-time page2map hidecompass hideambientops'); // Now we print the visible elements of the interface. We start with the narration. %> <script> setTimeout(function() { $('#bg').attr( 'class', window.story.state.bg ); }, 2000); </script> <div id="bg" class="<%= s.bg %>"> <div class="bg-entrance"></div> <div class="bg-day"></div> <div class="bg-midnight"></div> <div class="bg-night"></div> </div> <div class="main" lang="en"> <!-- This is the main narrative text. We call: PREDESC --> <div class="passage-narration"> <%= story.render("preDesc") %> </div><!-- passage-narration --> <div class="pre-separator"></div> <div class="opport-block"> <% // Now we get the opportunity array for the location. s.printOpportunities = s.opport[s.currentLocation]; // Character loop. This loop iterates through the list of characters present in the location. It gets the opportunity array from each character and adds it to the global opportunity array. if (s.locationList[s.currentLocation].length > 0) { var step; for (step = 0; step < s.locationList[s.currentLocation].length; step++) { charExtract = s.locationList[s.currentLocation][step]; if (_.contains( _.keys(s.opport), charExtract)) { s.printOpportunities = _.union( s.printOpportunities, s.opport[charExtract] ); }; }; }; // Last we get the opportunity array for myself. This has to be explicitly prevented in Pseudopassage. if ( _.contains( _.keys(s.opport), "myself") && s.currentLocation != "Pseudopassage" ) { s.printOpportunities = _.union( s.printOpportunities, s.opport["myself"] ); }; // Now we render the passages in the opportunity array. IMPORTANTE: PENDIENTE DE ORDENAR STORY Y MOVEMENT, MIRAR UNDERSCORE loopIterations = s.printOpportunities.length; if (loopIterations > 0) { var step; for (step = 0; step < loopIterations; step++) { print(story.render(s.printOpportunities[step])); }; }; %> </div><!--- opport-block --> <!-- We print the debug options --> <div class="debug"><% story.render("debug") %></div> </div> <!--- main --> <!-- Now we empty the temporary variables. ¿ES NECESARIO TODO ESTO? --> <% s.printOpportunities = []; s.passDescription = []; s.passImage = ""; s.interruptTmp = ""; $('body').addClass('hidecompass'); %> <% s.passageHistory.push(s.currentLocation); // story.checkpoint(); %><div id='opSeverinComplainDust' class='oport story'><img class='optimg' src='img/opts/thumb_down.jpg'><div class='optext'><div class='optitle'>Our host is complaining about the dust</div><div class='opdesc'>Listen to her. She says something odd is happening.</div></div></div><% $(function () { $('#opSeverinComplainDust').click(function () { $('#opSeverinComplainDust').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opSeverinComplainDust'); s.fullHistory.push('op Severin Complain Dust');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Severin Complain Dust';});}); %> <% s.narration['Marble Gallery, West'].push('1-ladyseverincomplainsdust'); %><% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'This disgusting dirt!'</span> I join the conversation as Lady Severin apologizes for having her house in such an state the day the whole Canton is invited in. Today's haze was so thin that it seemed to enter every room in Aurora, and the Palace is no exception. The strange thing is that the dust hasn't been thoroughly wiped because the head butler is missing. 'He left in the busiest day of the year!' says Lady Severin. 'All these guests and I can only think about dirt.' I like today's golden, lazy light: it feels strangely adequate. That's an appreciation that I wouldn't speak aloud.<% s.narration['garden'].push('1000-womancoughingdust'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*8 ));targetEvent = 'ev Dust Coughing Woman Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['garden'] = _.without( s.narration['garden'] , '1000-womancoughingdust' ); %><span class='high-emphasis'>I hear strong coughs near me</span>. It's a woman walking with an attentive man. Her face is swollen and colourless. 'That dust!' I hear the man complain. 'How they could let all the people in without cleaning?' 'You **cough** can't? Isn't that how **cough** Severin rules the Canton?' The man laughs, and they walk towards the river.<% s.narration['Marble Gallery, West'].push('200-burburkeysgallery'); %><% s.narration['Marble Gallery, East'].push('200-burburkeysgallery'); %><% s.narration['Garden Stairs'].push('200-burburkeysgallery'); %><% s.narration['Library'].push('200-burburkeysgallery'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Burbur Keys Gallery Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '200-burburkeysgallery' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '200-burburkeysgallery' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '200-burburkeysgallery' ); %><% s.narration['Library'] = _.without( s.narration['Library'] , '200-burburkeysgallery' ); %><span class='high-emphasis'>I suddenly feel</span> like a frozen hand is gripping my arm. She is there. The Burbur with the necklace of keys, talking to another who wears cow horns pointing down. But after a moment they separate, and the Burbur with keys heads for the Entrance Hall. <% if (_.contains(s.fullHistory, '10-Ask father about burbur with keys')) { %><% print("<p>She's aunt Crissina. Lady Mars. Mother's most beloved sister. I *know* it.</p>"); %><% }; %> Can I follow her now? <% s.narration['Grand Entrance Hall'].push('0-burburkeysentrance'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Burbur Keys Entrance Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '200-burburkeysgallery' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '200-burburkeysgallery' ); %><% $('body').addClass('hideambientops'); %><span class='high-emphasis'>I follow the Burbur with keys.</span> She doesn't look my way, and she enters the Dining Hall. <% s.narration['Dining Hall'].push('0-burburkeysdining'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Burbur Keys Dining Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>I go into the Dining Hall</span> just in time to see the Burbur with keys cross the door to the kitchen stairs. <% s.narration['Kitchen'].push('0-burburkeyskitchen'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Burbur Keys Kitchen Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>The Burbur with the key necklace</span> moves quickly between the cooks and servants, most of whom are idle or move slowly, taking a well deserved rest after dinner. Some look at her but take their eyes away after a moment, as if they recognized her as someone *not to be looked at.* She disappears inside the pantry and closes the door. <% if (_.contains( _.keys(s.interrupt),'Pantry' )) { s.interrupt['Pantry'].push('interrupt-burburkeyspantry'); } else { s.interrupt['Pantry'] = ['interrupt-burburkeyspantry']; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Burbur Keys Pantry Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Beating Pantry Fight') == false ) { s.opport['Pseudopassage'].push('op Beating Pantry Fight'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Beating Pantry Obey') == false ) { s.opport['Pseudopassage'].push('op Beating Pantry Obey'); }; %><% s.narration['Pseudopassage'].push('0-beatingtrypantry'); %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '0-burburkeysentrance' ); %><% s.narration['Dining Hall'] = _.without( s.narration['Dining Hall'] , '0-burburkeysdining' ); %><% s.narration['Kitchen'] = _.without( s.narration['Kitchen'] , '0-burburkeyskitchen' ); %><% if ( _.contains( _.keys(s.interrupt), 'Pantry' )) { s.interrupt['Pantry'] = _.without( s.interrupt['Pantry'], 'interrupt-burburkeyspantry'); } %><% s.narration['Pantry'].push('200-burburpantrynotrace'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*5 ));targetEvent = 'ev Burbur Pantry Trace Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Pantry'] = _.without( s.narration['Pantry'] , '200-burburpantrynotrace' ); %><span class='high-emphasis'>There is no trace</span> of the Burbur that I saw come into the pantry earlier.<span class='high-emphasis'>Three kitchen helpers</span> stand in my way to the pantry. 'Going in there now is not allowed, madame.' I find this insulting. They are young and look uneasy about telling me what to do: they know I'm above them. It's late and I'll probably won't have another chance to catch the Burbur. But they are trying to sound threatening.<div id='opBeatingPantryObey' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Obey and leave</div><div class='opdesc'>It's not so important. Better to avoid any confrontation.</div></div></div><% $(function () { $('#opBeatingPantryObey').click(function () { $('#opBeatingPantryObey').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBeatingPantryObey'); s.fullHistory.push('op Beating Pantry Obey');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Beating Pantry Obey';});}); %> <% s.narration['Kitchen'].push('0-beatingpantryobey'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Beating Pantry Fight' ); %><% s.exitList["Kitchen"] = [ "no exit", "Garden Stairs exit", "no exit", "no exit", "Dining Hall exit", "no exit" ]; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Burbur Keys Pantry Exit';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.returnRef = 'Kitchen'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>This is not worth</span> any trouble, I think, as I turn my back to the pantry door.<% s.exitList["Kitchen"] = [ "Laundry exit", "Garden Stairs exit", "Pantry exit", "no exit", "Dining Hall exit", "no exit" ]; %><div id='opBeatingPantryFight' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Fight my way to the pantry</div><div class='opdesc'>I might have a chance of passing through.</div></div></div><% $(function () { $('#opBeatingPantryFight').click(function () { $('#opBeatingPantryFight').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBeatingPantryFight'); s.fullHistory.push('op Beating Pantry Fight');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Beating Pantry Fight';});}); %> <% s.narration['Pseudopassage'].push('0-beatingpantryfight'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Beating Pantry Obey' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Beating Pantry Run') == false ) { s.opport['Pseudopassage'].push('op Beating Pantry Run'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Beating Pantry Talk') == false ) { s.opport['Pseudopassage'].push('op Beating Pantry Talk'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Beating Pantry Push') == false ) { s.opport['Pseudopassage'].push('op Beating Pantry Push'); }; %><% s.log.push("I saw three Burburum brutally beating another one."); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>It's not the strength of my hits</span>, of course. It's the scorn I teach them. Mine won't be the last blows they'll receive if they keep obstructing me. 'Out!' I slap and push and the boys back up until I reach the door and burst into the pantry. There's only faint candle light, but four fantastical Burburum shapes are easy to make out. There are two I've seen before: the one with a necklace of keys, and the one wearing a white goat skin. What they are doing makes my blood run cold. They are viciously kicking and clubbing another who's lying on the ground, with horns and a dark cloak. This is murder.<div id='opBeatingPantryRun' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Run screaming for help</div><div class='opdesc'>I'm terrified. There are guards in the garden, just outside the kitchen. </div></div></div><% $(function () { $('#opBeatingPantryRun').click(function () { $('#opBeatingPantryRun').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBeatingPantryRun'); s.fullHistory.push('op Beating Pantry Run');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Beating Pantry Run';});}); %> <% s.narration['Pseudopassage'].push('0-beatingpantryrun'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Beating Pantry Explain') == false ) { s.opport['Pseudopassage'].push('op Beating Pantry Explain'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Beating Pantry Talk' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Beating Pantry Push' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I take a deep, deliberate breath</span>, and scream as loud and piercing as I can. 'Murder!' I shout while I run back into the kitchen towards the garden door. I push people and get pushed and plates break. Am I hearing steps and cries behind me? 'Guards! Murder!' I scream again. As I reach the door, a flock of armed men runs inside. I point them weakly to the pantry. I rest against the wall to recover my breath. Not a minute has passed when an officer comes to me. 'What have you seen, madame? We haven't found anything.'<div id='opBeatingPantryExplain' class='oport story'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>Explain what I saw</div><div class='opdesc'></div></div></div><% $(function () { $('#opBeatingPantryExplain').click(function () { $('#opBeatingPantryExplain').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBeatingPantryExplain'); s.fullHistory.push('op Beating Pantry Explain');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Beating Pantry Explain';});}); %> <% s.narration['Kitchen'].push('0-beatingpantryexplain'); %><% s.returnRef = 'Kitchen'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Do you think I'm crazy?'</span> I ask. The captain looks uncomfortable. I hope he is. 'You see there isn't a dead body here,' he answers, 'and they couldn't get the body out through the kitchen in less than a minute.' 'That door?' I ask, pointing at the heavy door at the back of the pantry that takes to the cellar downstairs. 'It's locked. How could some Burburum have a key?' 'You find that out! And this blood?' I ask, this time pointing at some fresh stains on the floor, where I saw the poor Burbur. 'Do you know how much meat has gone through this pantry today? You can ask the cook.' 'Liar!' I cry at Grigor. He shrugs. The guards are leaving. Are they treating me as a madwoman? *Lady Irene Victor?* I give up.<div id='opBeatingPantryTalk' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Tell them to stop</div><div class='opdesc'>Fast action is needed. One more blow could finish the Burbur off.</div></div></div><% $(function () { $('#opBeatingPantryTalk').click(function () { $('#opBeatingPantryTalk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBeatingPantryTalk'); s.fullHistory.push('op Beating Pantry Talk');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Beating Pantry Talk';});}); %> <% s.narration['Pseudopassage'].push('0-beatingpantrytalk'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Beating Pantry Run' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Beating Pantry Push' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Beating Pantry Help') == false ) { s.opport['Pseudopassage'].push('op Beating Pantry Help'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I take a deep, deliberate breath</span>, and scream as loud and authoritative as I can. 'Leave that person alone! You can't escape!' The Burburum fix their gazes on me. After a pause, two of them raise their clubs and approach me. 'Don't touch me or you'll pay dearly for it!' I cry, failing to keep my voice firm as before. In stark contrast, they are silent as they creep towards me. A single clap sounds. All the others turn towards the Burbur I followed here. She nods towards the door, and the others, without a protest or a hesitation, run to the kitchen and escape. Now it's only her, the victim and me.<div id='opBeatingPantryPush' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Push them aside myself</div><div class='opdesc'>That's not something they expect from just one woman, and I'm sure they know who I am.</div></div></div><% $(function () { $('#opBeatingPantryPush').click(function () { $('#opBeatingPantryPush').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBeatingPantryPush'); s.fullHistory.push('op Beating Pantry Push');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Beating Pantry Push';});}); %> <% s.narration['Pseudopassage'].push('0-beatingpantrypush'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Beating Pantry Run' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Beating Pantry Talk' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Beating Pantry Help') == false ) { s.opport['Pseudopassage'].push('op Beating Pantry Help'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I hope I find the right words.</span> The right tone. The right aplomb. 'I command you to leave that man alone,' I say, slowly, deliberately and not too loud. The Burburum turn towards me, but they don't move. 'I hope I won't have to repeat it,' I add, talking even slower. Now I walk forward. One aggressor raises a club menacingly, but they hesitated. *I have the upper hand.* I walk directly towards them and softly pull their hand down. As I kneel near the battered Burbur, the others run to the kitchen and escape, except the Burbur with the key necklace.<div id='opBeatingPantryHelp' class='oport story'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>Help the injured Burbur </div><div class='opdesc'></div></div></div><% $(function () { $('#opBeatingPantryHelp').click(function () { $('#opBeatingPantryHelp').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBeatingPantryHelp'); s.fullHistory.push('op Beating Pantry Help');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Beating Pantry Help';});}); %> <% s.narration['Pseudopassage'].push('0-beatingpantryhelp'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Beating Pantry Leave') == false ) { s.opport['Pseudopassage'].push('op Beating Pantry Leave'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The injured Burbur is in pain but barely conscious.</span> He covers his head with a loose sack painted in brilliant red; there are two holes for seeing, with large eyes painted around them, and above them, a second pair of eyes. Some Burburum make their costumes to be amusing like clowns; others try to make them frightening to scare little children. This one unsettles *me*. <% if (_.contains(s.fullHistory, '5000-two burburum fight and i stop them')) { %><% print("<p>And then I remember: the fight between Burburum, many hours ago! The Burbur that is now writhing on the floor was the one that tried to take the mask from the woman that is now standing near him.</p>"); %><% }; %> First I remove the mask. The face underneath, even contorted and stained with blood, seems familiar. 'Are you well?' I ask, perhaps stupidly. He groans. I must leave and get help. As I stand up, the Burbur with keys gestures toward me. *Follow me*, she's saying, and she leaves the pantry quietly. I must go too. I can't help this man on my own.<div id='opBeatingPantryLeave' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Leave</div><div class='opdesc'></div></div></div><% $(function () { $('#opBeatingPantryLeave').click(function () { $('#opBeatingPantryLeave').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBeatingPantryLeave'); s.fullHistory.push('op Beating Pantry Leave');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Beating Pantry Leave';});}); %> <% s.narration['Kitchen'].push('0-beatingpantryleave'); %><% s.narration['Garden Stairs'].push('0-beatinggardenguards'); %><% s.narration['Dining Hall'].push('0-burburfollowdining'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Burbur Garden Guards Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.returnRef = 'Kitchen'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>It dawns on me</span> the moment I return to the kitchen: the man is the butler that works here, in this very Palace. The head of all the servants. <% if (_.contains(s.fullHistory, '1-ladyseverincomplainsdust')) { %><% print("<p>The butler who has been missing all day.</p>"); %><% }; %> What can this man be doing dressed as a Burbur? Meanwhile, the Burbur with keys is waiting for me. She points to the stairs and runs up. Either I go after her, or I go outside to the garden and make sure the injured man gets help. <% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Burbur Follow Dining Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>'Guards! Help!'</span> I cry when I reach the garden door. A flock of armed men runs inside. I point them to the pantry and lean on the wall. I don't want to go back in. Not a minute has passed when an officer comes to me. 'Thank you, Lady. We will take him to a doctor. Did you see who did it?' 'Burburum,' I say, and I briefly describe the attackers. What for? For sure they have taken their disguises off by now. There's nothing I can do to help find them. <% $('body').addClass('hideambientops'); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '0-beatinggardenguards' ); %><span class='high-emphasis'>I tell the people in the kitchen</span> to get help for the injured butler, and I run after the Burbur. Again, I find her waiting for me in the Dining Hall. She walks to the Entrance Hall. <% s.narration['Grand Entrance Hall'].push('0-burburfollowhall'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Burbur Follow Entrance Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>The Burbur is gazing at me from above</span>, standing in the Portolan Gallery. <% s.narration['Portolan Gallery'].push('0-burburfollowportolan'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Burbur Follow Portolan Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>I see the Burbur continue her way upstairs</span> as I hurry up after her. <% s.narration['Main Hallway'].push('0-burburfollowhallway'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Burbur Follow Hallway Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>The Burbur is standing by the door</span> to the Harmonic Room. She raises a hand and nods. <% if (_.contains( _.keys(s.interrupt),'Harmonic Room' )) { s.interrupt['Harmonic Room'].push('interrupt-burburfollowharmonic'); } else { s.interrupt['Harmonic Room'] = ['interrupt-burburfollowharmonic']; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Burbur Follow Harmonic Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Mars Harmonic Identity') == false ) { s.opport['Pseudopassage'].push('op Mars Harmonic Identity'); }; %><% s.narration['Pseudopassage'].push('0-burburfollowharmonic'); %><% s.narration['Harmonic Room'] = _.without( s.narration['Harmonic Room'] , '200-burburharmonicnotrace' ); %><% if (_.contains(s.fullHistory, '10-Ask father about burbur with keys')) { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene tells Burbur she knows shes Crissina') == false ) { s.opport['Pseudopassage'].push('op Irene tells Burbur she knows shes Crissina'); }; %><% }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><% s.narration['Dining Hall'] = _.without( s.narration['Dining Hall'] , '0-burburfollowdining' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '0-burburfollowhall' ); %><% s.narration['Portolan Gallery'] = _.without( s.narration['Portolan Gallery'] , '0-burburfollowportolan' ); %><% s.narration['Main Hallway'] = _.without( s.narration['Main Hallway'] , '0-burburfollowhallway' ); %><% if ( _.contains( _.keys(s.interrupt), 'Harmonic Room' )) { s.interrupt['Harmonic Room'] = _.without( s.interrupt['Harmonic Room'], 'interrupt-burburfollowharmonic'); } %><% s.narration['Harmonic Room'].push('200-burburharmonicnotrace'); %><% targetTurn = Math.floor( s.timeSpeed*4 );targetEvent = 'ev Burbur Harmonic Trace Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Harmonic Room'] = _.without( s.narration['Harmonic Room'] , '200-burburharmonicnotrace' ); %><span class='high-emphasis'>There is no trace</span> of the Burbur that I saw come into the Harmonic Room earlier.<div id='opDinnerTablesStart' class='oport story'><img class='optimg' src='img/opts/food.jpg'><div class='optext'><div class='optitle'>Eat something here</div><div class='opdesc'>Almost to the point of outrageousness (smile).</div></div></div><% $(function () { $('#opDinnerTablesStart').click(function () { $('#opDinnerTablesStart').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerTablesStart'); s.fullHistory.push('op Dinner Tables Start');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Tables Start';});}); %> <% if ( _.contains(s.opport['Outside tables'], 'op Dinner Tables Continue') == false ) { s.opport['Outside tables'].push('op Dinner Tables Continue'); }; %><% s.narration['Outside tables'].push('0-dinnertablesstart'); %><% targetTurn = Math.floor( s.timeSpeed*44 );targetEvent = 'ev Dinner Tables No More';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.eventIgnore.push('ev Dinner end when you join no dinner'); %> <% targetTurn = s.turn+1;targetEvent = 'ev boy in dinner asks about sickness';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Outside tables'], 'op Dinner Dancing Tables') == false ) { s.opport['Outside tables'].push('op Dinner Dancing Tables'); }; %><% s.log.push("I had dinner outside, with the peasants and servants, instead of the Dining Hall, with my family. Mischievous!"); %><% delete s.reminders['dinnersoon']; %><% if (_.contains(s.fullHistory, '0-thirdgrievance')) { %><% if ( _.contains(s.opport['Outside tables'], 'op Dinner Fishermen Listen') == false ) { s.opport['Outside tables'].push('op Dinner Fishermen Listen'); }; %><% }; %> <% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I want to have dinner here,</span> outside, in the light of torches, surrounded by noisy people that sing and dance. Not in the Dining Hall, full of stiffs. Or the Blue Pavilion, hearing complaints about the decisions that those stiffs take. But I don't sit down. If I stand, it looks like I'm not really staying. There are laughing women and girls at the table. 'You need to put on some weight, Lady!' says an old woman, and we all laugh. The watermelon looks so vivid! Juice runs down my chin. <% if (_.contains(s.fullHistory, '0-novusportraitsit')) { %>Something strikes me: I was with Novus barely an hour ago and he is a murderer to them. Am I really welcome? <% }; %> <% targetTurn = s.turn+1;targetEvent = 'ev Women recommend saints';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><% if ( _.contains(s.opport['Outside tables'], 'op Women recommend saints for marriage') == false ) { s.opport['Outside tables'].push('op Women recommend saints for marriage'); }; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Women recommend saints remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Women recommend saints for marriage' ); %><div id='opWomenrecommendsaintsformarriage' class='oport story'><img class='optimg' src='img/opts/ring.jpg'><div class='optext'><div class='optitle'>'Child, do you have a husband?' asks an old man</div><div class='opdesc'>Answer the question. The damned inevitable question.</div></div></div><% $(function () { $('#opWomenrecommendsaintsformarriage').click(function () { $('#opWomenrecommendsaintsformarriage').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWomenrecommendsaintsformarriage'); s.fullHistory.push('op Women recommend saints for marriage');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Women recommend saints for marriage';});}); %> <% s.narration['Outside tables'].push('500-women recomment saints for marriage'); %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Don't you have</span> a husband or a betrothed yet?' They laugh. I laugh too. 'Sure you have suitors!' 'But they aren't good for the best dancer! You should visit Saint Anthony of Padua and pull his mantle.' She moves her hand, like milking a cow. 'He will get you a husband.' 'Saint Cucuphas is better,' interrupts another woman. 'He is the patron of pickpockets!' They laugh. I laugh too. Convincingly.<% if ( _.contains(s.opport['Outside tables'], 'op boy in dinner asks about sickness') == false ) { s.opport['Outside tables'].push('op boy in dinner asks about sickness'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev boy in dinner asks about sickness remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op boy in dinner asks about sickness' ); %><div id='opboyindinnerasksaboutsickness' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>A boy is staring at me</div><div class='opdesc'>Ask him why. He's making me nervous.</div></div></div><% $(function () { $('#opboyindinnerasksaboutsickness').click(function () { $('#opboyindinnerasksaboutsickness').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opboyindinnerasksaboutsickness'); s.fullHistory.push('op boy in dinner asks about sickness');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op boy in dinner asks about sickness';});}); %> <% s.narration['myself'].push('5000-boy in dinner asks about sickness'); %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>He's a very little boy:</span> I don't want to alarm him, but I don't know how to ask. So finally I'm blunt: 'Why are you staring at me? It's not very polite.' 'Are you sick?' he asks. 'No. Why do you ask?' 'My father and my uncle say that your family is sick and crazy and I can't touch you.' 'Go away then,' I say, dry and cold, and the kid obeys. Aunt Crissina. You may not transmit your sickness to us. But you *have* shared a curse. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opDinnerTablesContinue' class='oport story'><img class='optimg' src='img/opts/food.jpg'><div class='optext'><div class='optitle'>Eat something more</div><div class='opdesc'>I have started already, so who cares?</div></div></div><% $(function () { $('#opDinnerTablesContinue').click(function () { $('#opDinnerTablesContinue').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerTablesContinue'); s.fullHistory.push('op Dinner Tables Continue');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Tables Continue';});}); %> <% if ( _.contains(s.opport['Outside tables'], 'op Dinner Tables Continue') == false ) { s.opport['Outside tables'].push('op Dinner Tables Continue'); }; %><% s.narration['Outside tables'].push('0-dinnertablescontinue'); %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><%= _.sample( [ "<span class='high-emphasis'>Oh, Galician tuna pies!</span> That's something I could eat day after day.", "<span class='high-emphasis'>I get another piece of tuna pie.</span> I don't care if it's peasant food, I don't think there can be anything better.", "<span class='high-emphasis'>I pick some figs.</span> These are really a treat for most people around, I'd be surprised if they could afford them.", "<span class='high-emphasis'>I munch an apricot</span> and consider a surprising thing: most people here are drinking water. I know for sure that there isn't a drop of water inside the Dining Hall now.", "<span class='high-emphasis'>I make a small pause</span> in eating and try a couple of black olives. Perfect.", "<span class='high-emphasis'>A woman asks me if I'd like some salt cod.</span> It isn't a food I enjoy much, but I can't say no to her wide smile.", "<span class='high-emphasis'>I prefer to avoid the heavier foods</span> like roast of meatballs. Just in case I need to run away and pretend I was never here. So I stuff myself with sweet fruits.", "<span class='high-emphasis'>Fried eggplant!</span> I like it because they never serve such a simple dish in houses like mine.", "<span class='high-emphasis'>I chew a piece of meat</span> so hard it's inedible. I spit it on the table and a dog jumps on the table, eats the meat and disappear. I scream; everyone giggles.", ]) %> <% if (_.contains(s.fullHistory, '0-dinnertablescontinue')) { %><% } else { %><% print("<p>'Do you like this food, Lady Victor?' asks a man. I see malice in his face. 'It's simple food. Not fancy. Not what ladies eat.'</p>"); %><% print("<p>'I do like it,' I say. I expect he leaves me alone.</p>"); %><% print("<p>'Not what the king eats,' he says. 'Not what the ring people eat.'</p>"); %><% print("<p>*Ring people?* 'Who are those?' I ask. People around laugh and change the subject. The man grabs a pork rib and leaves.</p>"); %><% }; %><% s.narration['Outside tables'].push('1000-dinnertablesnomore'); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Tables Continue' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Fishermen Listen' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner Fishermen Talk' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dinner talk to the winemakers' ); %> <% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '0-dinnertablesstarting' ); %><% targetTurn = s.turn+1;if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( s.namedEvent['dinner-end'] ); s.timedEvent[targetTurn] = _.flatten( s.timedEvent[targetTurn] ) } else { s.timedEvent[targetTurn] = _.flatten(s.namedEvent['dinner-end']); }; s.namedEvent['dinner-end'] = [ ]; %><span class='high-emphasis'>Looking at all the food around,</span> I realize I'm not hungry anymore. It's too late to eat now.<% // This mechanism takes a list of characters>locations and changes it to locations>characters. s.locationList = { "Noon Door": [], "Grand Entrance Hall": [], "Portolan Gallery": [], "Marble Gallery, East": [], "Marble Gallery, West": [], "Dining Hall": [], "Library": [], "Kitchen": [], "Pantry": [], "Laundry": [], "Main Hallway": [], "Northern Hallway": [], "Southern Hallway": [], "Portrait Room": [], "Harmonic Room": [], "Nursery": [], "Council Room": [], "Map Cabinet": [], "Covenant Office": [], "Garden Stairs": [], "Ionic Treasury": [], "River pier": [], "Fountain": [], "Blue Pavilion": [], "Outside tables": [], "Home": [], "High city": [], "Covenant Square": [], "The outer gate": [], "Pseudopassage": [], "Nowhere": [], }; var step; for (step = 0; step < _.keys(s.characterList).length; step++) { tmpChar = (_.keys(s.characterList))[step]; tmpVal = s.characterList[tmpChar]; //print("tmpChar: " + tmpChar + " tmpVal: " + tmpVal); s.locationList[tmpVal].push(tmpChar); }; %><% s.narration['Ionic Treasury'].push('100-wheelprevious'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Wheel Start';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Mayor Ask Location Again' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Mayor Ask Location' ); %> <% s.narration['Harmonic Room'] = _.without( s.narration['Harmonic Room'] , '0-butler prevents peasants in harmonic room' ); %> <% s.eventIgnore.push('ev Mayor Ask Location Again'); %> <% if (_.contains(s.fullHistory, '0-andropoldininganswer')) { %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Andropol Chase Covenant';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %><span class='high-emphasis'>A lot of people</span> is starting to gather around the Treasury. Some of the authorities have arrived and wait on top of the Treasury's mound, though Father isn't there yet. It's only a short time until the Wheel of Grievances starts.<% if (s.passTitle != "Ionic Treasury") { %><% s.narration['myself'].push('500-wheelstartalert'); %><% } else { %><% s.narration['myself'].push('500-wheelstartalerttreasury'); %><% }; %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheelprevious' ); %><% s.narration['Ionic Treasury'].push('0-wheelpeoplestart'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Wheel Forward Second';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Wheel Forward Third';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*6 ));targetEvent = 'ev Wheel Forward Fourth';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*7 ));targetEvent = 'ev Wheel End';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains( _.keys(s.namedEvent), 'wheel-end' ) ) { s.namedEvent['wheel-end'].push( 'ev Wheel End Remove All' ); } else { s.namedEvent['wheel-end'] = [ 'ev Wheel End Remove All' ]; } %> <% targetTurn = s.turn+1;targetEvent = 'ev Wheel Pavilion';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Wheel First Listen') == false ) { s.opport['Ionic Treasury'].push('op Wheel First Listen'); }; %> <% targetTurn = s.turn+_.random(1,3);targetEvent = 'evn gloria walks away from the wheel';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.narration['Fountain'].push('1000-burburum in tables during wheel'); %><% s.narration['Outside tables'].push('500-gathering of burburum during wheel'); %><% s.narration['Marble Gallery, West'].push('500-burburum run through gallery during wheel'); %><% if ( _.contains( _.keys(s.namedEvent), 'wheel-end' ) ) { s.namedEvent['wheel-end'].push( 'ev Burburum gathering during the wheel Remove' ); } else { s.namedEvent['wheel-end'] = [ 'ev Burburum gathering during the wheel Remove' ]; } %><% s.narration['Blue Pavilion'].push('500-wheelpavilionwatchers'); %><%= _.sample( [ "<span class='high-emphasis'>Among the trees,</span> I see a few people that are watching the Wheel of Grievances. Most people and the ceremony itself are hidden behind a slope. I hear the murmur of the public.", "<span class='high-emphasis'>The noise</span> from the Wheel of Grievances is a soft murmur, and I see a few persons of the public behind the trees.", ]) %> <% s.narration['Blue Pavilion'].push('500-wheelpavilionwatchers'); %><span class='high-emphasis'>It's time!</span> The Wheel of Grievances must have started in the garden, near the Ionic Treasury. <% if (_.contains(s.fullHistory, '0-promisearboricolajoin')) { %>But I promised Arboricola that I would join him and... a disgusting man, in the Portrait Room upstairs. <% }; %> <% targetTurn = s.turn+3;targetEvent = 'ev wheel start second alert';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.currentLocation != "Ionic Treasury") { %><% s.narration['myself'].push('500-wheel start second alert'); %><% }; %><% if (s.currentLocation != "Ionic Treasury") { %><span class='high-emphasis'>I'm missing the Wheel,</span> today's first important ceremony, when everyone can complain about anything to the authorities. It must be happening in the Ionic Treasury. <% s.narration['Fountain'].push('500-two girls run towards the wheel'); %><% s.narration['Marble Gallery, West'].push('500-two girls run towards the wheel'); %><% s.narration['Garden Stairs'].push('500-two girls run towards the wheel'); %><% s.narration['Outside tables'].push('500-two girls run towards the wheel'); %><% targetTurn = s.turn+2;targetEvent = 'ev two girls run towards the wheel remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %><span class='high-emphasis'>It's time!</span> And I am in the perfect place to watch the Wheel of Grievances.<span class='high-emphasis'>A half-circle of people</span> has formed around the place, at the foot of the small mound, where the claimants speak. All the authorities in the Canton, including the Excellent Magistrate David Victor, are gathered at the stylobate on top of the mound, so that the claimant can directly address them. <% s.narration['Ionic Treasury'].push('10-wheelishappening'); %><% s.eventIgnore.push('ev wheel start second alert'); %><% s.narration['myself'] = _.without( s.narration['myself'] , '500-wheel start second alert' ); %><% $('body').addClass('hideambientops'); %><%= _.sample( [ "<span class='high-emphasis'>The Wheel of Grievances</span> is happening right now. Most guests in the Palace have gathered here to watch people address the Canton's authorities.", "<span class='high-emphasis'>The crowd</span> watches the Wheel of Grievances. They don't hide their amusement when others complain.", "<span class='high-emphasis'>Everyone</span> is here, because the Wheel of Grievances is one of the two great ceremonies that we celebrate today.", ]) %> <% s.narration['Ionic Treasury'].push('10-wheelishappening'); %><% if (_.contains(s.fullHistory, 'op Wheel First Listen')) { %><% } else { %><% s.opport['Ionic Treasury'] = _.without( s.opport['Ionic Treasury'] , 'op Wheel First Listen' ); %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Wheel Second Listen') == false ) { s.opport['Ionic Treasury'].push('op Wheel Second Listen'); }; %><% }; %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-two girls run towards the wheel' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-two girls run towards the wheel' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-two girls run towards the wheel' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-two girls run towards the wheel' ); %><span class='high-emphasis'>Two girls run past me,</span> panting and laughing. 'You will miss the Wheel, Lady!' they say, running towards the Treasury. <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-two girls run towards the wheel' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-two girls run towards the wheel' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-two girls run towards the wheel' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-two girls run towards the wheel' ); %><% if (_.contains(s.fullHistory, 'op Wheel Second Listen')) { %><% } else { %><% s.opport['Ionic Treasury'] = _.without( s.opport['Ionic Treasury'] , 'op Wheel Second Listen' ); %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Wheel Third Listen') == false ) { s.opport['Ionic Treasury'].push('op Wheel Third Listen'); }; %><% }; %><% if (_.contains(s.fullHistory, 'op Wheel Third Listen')) { %><% } else { %><% s.opport['Ionic Treasury'] = _.without( s.opport['Ionic Treasury'] , 'op Wheel Third Listen' ); %><% if (_.contains(s.fullHistory, 'op Crime Arboricola Promise')) { %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Wheel fourth Listen No Novus') == false ) { s.opport['Ionic Treasury'].push('op Wheel fourth Listen No Novus'); }; %><% } else { %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Wheel fourth Listen') == false ) { s.opport['Ionic Treasury'].push('op Wheel fourth Listen'); }; %><% }; %><% }; %><div id='opWheelFirstListen' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Stay and listen to a claimant</div><div class='opdesc'>People takes a step forward and address their grievances to the authorities.</div></div></div><% $(function () { $('#opWheelFirstListen').click(function () { $('#opWheelFirstListen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWheelFirstListen'); s.fullHistory.push('op Wheel First Listen');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Wheel First Listen';});}); %> <% s.narration['Ionic Treasury'].push('0-firstgrievance'); %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Wheel Second Listen') == false ) { s.opport['Ionic Treasury'].push('op Wheel Second Listen'); }; %><% function gotDelay() {story.show('Ionic Treasury');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I can't put my own donkey to trial!'</span> an old man says. The audience bursts into laughter. He stands on the speaker's point. In front of him, the authorities he addresses are on the steps of the Treasury. Behind him, we watch from the slope. 'You ignorant dragonfly eaters!' he continues. 'My grandfather took a pig to trial for killing a little boy. Pot sailors! God made animals to serve people. Understanding who God put above and who He put below is the most important thing, you read-without-learns.' 'What did your donkey do?' someone asks. 'He broke me a rib,' the old man says, 'but no magistrate will judge him. May Saint Filiv help you get home.' He leaves. People wait for the next. Some seem to have liked the remarks about divine intentions. <% $('body').addClass('hideambientops'); %><div id='opWheelSecondListen' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Stay and listen to a claimant</div><div class='opdesc'>The Wheel is underway. People can address their grievances to the authorities.</div></div></div><% $(function () { $('#opWheelSecondListen').click(function () { $('#opWheelSecondListen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWheelSecondListen'); s.fullHistory.push('op Wheel Second Listen');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Wheel Second Listen';});}); %> <% s.narration['Ionic Treasury'].push('0-secondgrievance'); %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Wheel Third Listen') == false ) { s.opport['Ionic Treasury'].push('op Wheel Third Listen'); }; %> <% function gotDelay() {story.show('Ionic Treasury');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Two well-dressed merchants</span> occupy the speaker's point and start rambling about corn laws and the breach of tariffs and the seizure of an Ottoman grain shipment and... so boring. What's next, lawyers? Cesarel Iuvens often says: examine every event, no matter how small, and determine who wields power against whom, and you'll understand the real meaning of everything. What would that method tell me now? ... Perhaps I'm not smart enough. The merchants are leaving. People wait for the next. <% $('body').addClass('hideambientops'); %><div id='opWheelThirdListen' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Stay and listen to a claimant</div><div class='opdesc'>The Wheel has been underway for a while. People complain to the authorities.</div></div></div><% $(function () { $('#opWheelThirdListen').click(function () { $('#opWheelThirdListen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWheelThirdListen'); s.fullHistory.push('op Wheel Third Listen');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Wheel Third Listen';});}); %> <% s.narration['Ionic Treasury'].push('0-thirdgrievance'); %><% if (_.contains(s.fullHistory, 'op Crime Arboricola Promise')) { %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Wheel fourth Listen No Novus') == false ) { s.opport['Ionic Treasury'].push('op Wheel fourth Listen No Novus'); }; %><% } else { %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Wheel fourth Listen') == false ) { s.opport['Ionic Treasury'].push('op Wheel fourth Listen'); }; %><% }; %> <% function gotDelay() {story.show('Ionic Treasury');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'We are poorer than the poorest,'</span> a man shouts. They are about ten men and women: simple white and blue clothes, sunburnt skin, ashen expression. 'No matter how hard we work,' he continues, 'how many drown, we stay poor. After kicking the French out you said we're citizens now and we'd be heard. Didn't tell us *when* you'd hear.' 'We rent nets for fishing,' says another. 'But the rent is so high that we'll never save money to buy our own. I'm not afraid of naming names. Lord Longine is charging for his nets more than he needs, to keep a whole village poor. May Saint Filiv guide our ships home.' The group leaves among murmurs. I can't see Lord Longine but he must be livid. I haven't heard many accusations like that in other Wheels. <% s.log.push("I saw fishermen complaining about their masters during the Wheel of Grievances."); %><% $('body').addClass('hideambientops'); %><div id='opWheelfourthListenNoNovus' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Stay and listen to a claimant</div><div class='opdesc'>There seems to be some confusion within the circle of people on the ground.</div></div></div><% $(function () { $('#opWheelfourthListenNoNovus').click(function () { $('#opWheelfourthListenNoNovus').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWheelfourthListenNoNovus'); s.fullHistory.push('op Wheel fourth Listen No Novus');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Wheel fourth Listen No Novus';});}); %> <% s.narration['Pseudopassage'].push('0-fourthgrievancenonovus'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Wheel fourth Finish No Novus') == false ) { s.opport['Pseudopassage'].push('op Wheel fourth Finish No Novus'); }; %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '10-wheelishappening' ); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>All murmurs die</span> as two women walk to the speaker's point. Everyone can see their hesitation, their embarrassment and disarray, but they go forward until they're under the gaze of the authorities. Father has a very hollow expression, while his companions look worried, annoyed or hostile. One is young. The older one speaks with a struggling voice. 'We're here to complain about your justice.'<div id='opWheelfourthFinishNoNovus' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Listen to the women</div><div class='opdesc'></div></div></div><% $(function () { $('#opWheelfourthFinishNoNovus').click(function () { $('#opWheelfourthFinishNoNovus').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWheelfourthFinishNoNovus'); s.fullHistory.push('op Wheel fourth Finish No Novus');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Wheel fourth Finish No Novus';});}); %> <% s.narration[s.returnRef].push('0-fourthgrievancefinishnonovus'); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '10-wheelishappening' ); %><% targetTurn = s.turn+1;if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( s.namedEvent['wheel-end'] ); s.timedEvent[targetTurn] = _.flatten( s.timedEvent[targetTurn] ) } else { s.timedEvent[targetTurn] = _.flatten(s.namedEvent['wheel-end']); }; s.namedEvent['wheel-end'] = [ ]; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Judge Vespasien had my son hanged</span> and he knew he was innocent. The judge protected his nephew who gave a beating to this poor girl, Albine Amaisa,' she says, pointing to her companion, 'and had my son killed because he was the only witness.' Horrified whispers sound clear in the silence. 'Justice here is injustice. No one will help the poor. I hope Saint Filiv punishes you. That's all.' Hand in hand, the porter's mother and Albine Amaisa leave. Noises fade and nobody dares go forward to the speaker's point. The Wheel of Grievances is over, and people start walking towards the palace. Dinner will begin at ten in three places: the Dining Hall, where I'm expected; the Blue Pavilion, and the tables near the fountain. <% s.log.push("I saw Albine Amaisa in the Wheel of Grievances. Fortunately I had made sure that Novus wasn't there."); %><div id='opWheelfourthListen' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Stay and listen to a claimant</div><div class='opdesc'>There seems to be some confusion within the circle of people on the ground.</div></div></div><% $(function () { $('#opWheelfourthListen').click(function () { $('#opWheelfourthListen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWheelfourthListen'); s.fullHistory.push('op Wheel fourth Listen');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Wheel fourth Listen';});}); %> <% s.narration['Ionic Treasury'].push('0-fourthgrievance'); %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Wheel Listen Novus') == false ) { s.opport['Ionic Treasury'].push('op Wheel Listen Novus'); }; %><% if ( _.contains(s.opport['Ionic Treasury'], 'op Wheel Reprehend Novus') == false ) { s.opport['Ionic Treasury'].push('op Wheel Reprehend Novus'); }; %><% s.flag['knowAboutViolence'] = true; %><% function gotDelay() {story.show('Ionic Treasury');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>All murmurs die</span> as two women walk to the speaker's point. Everyone can see their hesitation and embarrassment, but they go forward until they're under the gaze of the authorities. Father has a hollow expression, while the others look worried, annoyed or hostile. One is young. The older one speaks with a struggling voice. 'We're here to complain about your justice,' she says. 'Judge Vespasien had my son hanged and he knew he was innocent. The judge protected his nephew who gave a beating to this poor girl, Albine Amaisa,' she says, pointing to her companion, 'and had my son killed because he was the only witness.' 'How dare you liar?,' a man says, not too far. It's the young Novus, the man she has accused of beating the girl. <% s.log.push("I saw Albine Amaisa in the Wheel of Grievances. "); %><div id='opWheelListenNovus' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Keep listening</div><div class='opdesc'>Stay out of trouble.</div></div></div><% $(function () { $('#opWheelListenNovus').click(function () { $('#opWheelListenNovus').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWheelListenNovus'); s.fullHistory.push('op Wheel Listen Novus');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Wheel Listen Novus';});}); %> <% s.opport['Ionic Treasury'] = _.without( s.opport['Ionic Treasury'] , 'op Wheel Reprehend Novus' ); %><% s.narration['Pseudopassage'].push('0-listennovusclaimdefamation'); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-wheelpavilionwatchers' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Wheel Riot Run') == false ) { s.opport['Pseudopassage'].push('op Wheel Riot Run'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Wheel Riot Stay') == false ) { s.opport['Pseudopassage'].push('op Wheel Riot Stay'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>Young Novus is screaming</span>, while two women in the claimant's place lower their heads. 'Stop this defamation now!' Novus demands as he moves forward to open space, followed by murmur. Tradition forbids this. 'I want to complain too! About this cowardly mob that does not respect the judges!' The claimant women turn their backs and leave. Someone screams, 'The judge is your uncle!' Murmurs become a roar. Novus is starting a tirade, but his voice is drowned by the crowd. 'You don't have the right to talk!' someone says. 'Why is he allowed to do this?' A small thing flies from the crowd and hits Novus, who collapses. Someone blows a whistle. Soldiers storm into the garden.<div id='opWheelReprehendNovus' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Reprehend Novus for speaking</div><div class='opdesc'>Only the claimants have the right to talk during the Wheel. But a lot of people won't approve if I raise my voice.</div></div></div><% $(function () { $('#opWheelReprehendNovus').click(function () { $('#opWheelReprehendNovus').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWheelReprehendNovus'); s.fullHistory.push('op Wheel Reprehend Novus');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Wheel Reprehend Novus';});}); %> <% s.opport['Ionic Treasury'] = _.without( s.opport['Ionic Treasury'] , 'op Wheel Listen Novus' ); %><% s.narration['Pseudopassage'].push('0-wheelreprehendnovus'); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-wheelpavilionwatchers' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Wheel Riot Run') == false ) { s.opport['Pseudopassage'].push('op Wheel Riot Run'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Wheel Riot Stay') == false ) { s.opport['Pseudopassage'].push('op Wheel Riot Stay'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'She has the right</span> to speak without interruption,' I say. I see from the corner of my eye that people are staring at me, but I keep my head down. Some cry that I am right and the woman speaks again. 'Justice here is injustice. No one will help the poor. I hope Saint Filiv punishes you. That's all.' Hand in hand, the porter's mother and Albine Amaisa leave. And, very quickly, Novus takes their place. 'I want to complain about the cowardly mob accusing me of crimes I didn't do after the judge ruled that I didn't do them,' he cries. 'The judge is your uncle!' says a voice from the crowd, followed by more cries. A man walks menacingly towards Novus, who draws his sword. Someone blows a whistle. Soldiers storm into the garden.<div id='opWheelRiotRun' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Run away</div><div class='opdesc'>This is turning into the riot I anticipated.</div></div></div><% $(function () { $('#opWheelRiotRun').click(function () { $('#opWheelRiotRun').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWheelRiotRun'); s.fullHistory.push('op Wheel Riot Run');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Wheel Riot Run';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Wheel Riot Stay' ); %><% s.narration['Pseudopassage'].push('0-wheelrunfromriot'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Wheel Riot End') == false ) { s.opport['Pseudopassage'].push('op Wheel Riot End'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I try to go back</span> towards the Blue Pavilion, but it's no good. Lots of people are fighting to do the same: staying seems safer. Some soldiers move in to protect Novus, while the rest push the crowd away among complaints. Then I see someone receive a blow with the butt of a rifle. Someone else screams and throws a punch. The soldier cries for help, and in a few moments all soldiers are fighting against angry citizens. Two shots. The fight stops abruptly and people, both men and women, get away from the soldiers. Nobody seems hurt: they shot into the air. <% s.log.push("I saw the great commotion that happened during the Wheel of Grievances."); %><div id='opWheelRiotStay' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Stay and watch</div><div class='opdesc'>Leaving now perhaps more dangerous than staying.</div></div></div><% $(function () { $('#opWheelRiotStay').click(function () { $('#opWheelRiotStay').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWheelRiotStay'); s.fullHistory.push('op Wheel Riot Stay');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Wheel Riot Stay';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Wheel Riot Run' ); %><% s.narration['Pseudopassage'].push('0-wheelstayinriot'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Wheel Riot End') == false ) { s.opport['Pseudopassage'].push('op Wheel Riot End'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Some soldiers move in to protect Novus</span>, while the rest push the crowd away among complaints. Then someone receives a blow with the butt of a rifle. Someone else screams and throws a punch. The soldier cries for help, and in a few moments all soldiers are fighting against angry citizens. Two shots. The fight stops abruptly and people, both men and women, get away from the soldiers. Nobody seems hurt: they shot into the air.<div id='opWheelRiotEnd' class='oport story'><img class='optimg' src='img/opts/people.jpg'><div class='optext'><div class='optitle'>People and soldiers aren't fighting</div><div class='opdesc'>The turmoil is calming now.</div></div></div><% $(function () { $('#opWheelRiotEnd').click(function () { $('#opWheelRiotEnd').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opWheelRiotEnd'); s.fullHistory.push('op Wheel Riot End');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Wheel Riot End';});}); %> <% s.narration['myself'].push('0-wheelriotend'); %><% targetTurn = s.turn+1;if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( s.namedEvent['wheel-end'] ); s.timedEvent[targetTurn] = _.flatten( s.timedEvent[targetTurn] ) } else { s.timedEvent[targetTurn] = _.flatten(s.namedEvent['wheel-end']); }; s.namedEvent['wheel-end'] = [ ]; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>It seems that the problems have ended</span>. Novus has vanished and the people are quietly moving away. The intervention by the soldiers may have prevented a mutiny, but, how did soldiers appear so fast? Were they ready from the beginning? Perhaps I wasn't the only one expecting trouble. 'People of the Canton!' It's Premier Severin, from the Treasury, trying to make his voice heard. 'Laws will be respected! Go on with the celebration! Those who don't respect the laws will not spoil this day! Long live the King! Long live the King!' Is he succeeding? I don't know, but people are leaving orderly, most of the rich towards the Palace, most of the humble to other parts of the garden. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %> <% s.narration['myself'].push('500-irene still thinks about wheel incident right after'); %><% if (s.currentLocation == 'Blue Pavilion') { %><span class='high-emphasis'>Now the Wheel is over</span>, I spy my fellow citizen's faces. They try to look composed and respectable, but I see they are stunned, even shocked. Some go inside the Blue Pavilion and collapse on chairs, with red faces. <% } else { %><span class='high-emphasis'>Now the Wheel is over</span>, I spy my fellow citizen's faces. They try to look composed and respectable, but I see they are stunned, even shocked. <% }; %> I *am* shocked. I have never seen anything like this in any Wheel of Grievances in all my life. Where does this tension come from? Burburum day is the festival that the people, the poor and the humble above all, spend all year working for. They should be carefree today. Is it only the unfair Amaisa sentence what the people are furious about?<% targetTurn = s.turn+1;if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( s.namedEvent['wheel-end'] ); s.timedEvent[targetTurn] = _.flatten( s.timedEvent[targetTurn] ) } else { s.timedEvent[targetTurn] = _.flatten(s.namedEvent['wheel-end']); }; s.namedEvent['wheel-end'] = [ ]; %><% s.opport['Ionic Treasury'] = _.without( s.opport['Ionic Treasury'] , 'op Wheel fourth Listen No Novus' ); %><% s.opport['Ionic Treasury'] = _.without( s.opport['Ionic Treasury'] , 'op Wheel fourth Listen' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '0-wheelpeoplestart' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-wheelpavilionwatchers' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '10-wheelishappening' ); %> <% if (_.contains(s.fullHistory, 'op Crime Arboricola Promise')) { %><% s.narration['Ionic Treasury'].push('100-wheel ends when irene is not looking without novus'); %><% s.narration['Blue Pavilion'].push('100-wheel ends when irene is in pavilion without novus'); %><% } else { %><% s.narration['Ionic Treasury'].push('100-wheel ends when irene is not looking'); %><% s.narration['Blue Pavilion'].push('100-wheel ends when irene is in pavilion'); %><% }; %> <% s.narration['Fountain'].push('500-people are returning from the wheel - fountain'); %><% s.narration['Garden Stairs'].push('500-people are returning from the wheel - stairs'); %><% s.narration['Marble Gallery, East'].push('500-people are returning from the wheel - gallery'); %><% s.narration['Marble Gallery, West'].push('500-people are returning from the wheel - gallery'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev people are returning from the wheel remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (_.contains(s.fullHistory, '0-wheelriotend')) { %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking without novus' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion without novus' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-people are returning from the wheel - fountain' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-people are returning from the wheel - stairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people are returning from the wheel - gallery' ); %><% }; %> <% if (_.contains(s.fullHistory, '0-fourthgrievancefinishnonovus')) { %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking without novus' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion without novus' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-people are returning from the wheel - fountain' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-people are returning from the wheel - stairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people are returning from the wheel - gallery' ); %><% }; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev wheel irene not looking remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.opport['Ionic Treasury'] = _.without( s.opport['Ionic Treasury'] , 'op Wheel Listen Novus' ); %><% s.opport['Ionic Treasury'] = _.without( s.opport['Ionic Treasury'] , 'op Wheel Reprehend Novus' ); %> <% s.charLocationPriority['Father'] = 0; %><% if (s.charLocationPriority['Father'] < 1) { s.charLocationPriority['Father'] = 1;s.characterList['Father'] = 'Grand Entrance Hall'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Grand Entrance Hall"; s.charLocationPriority["Father"] = 1; %> <% s.charLocationPriority['Clara'] = 0; %><% if (s.charLocationPriority['Clara'] < 1) { s.charLocationPriority['Clara'] = 1;s.characterList['Clara'] = 'Grand Entrance Hall'; print(story.render('updateLocationList') );}; %> <% s.characterList["Clara"] = "Grand Entrance Hall"; s.charLocationPriority["Clara"] = 1; %> <% s.charLocationPriority['Marina Mayor'] = 0; %><% if (s.charLocationPriority['Marina Mayor'] < 1) { s.charLocationPriority['Marina Mayor'] = 1;s.characterList['Marina Mayor'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Marina Mayor"] = "Marble Gallery, East"; s.charLocationPriority["Marina Mayor"] = 1; %> <% s.charLocationPriority['Bishop Martiale'] = 0; %><% if (s.charLocationPriority['Bishop Martiale'] < 1) { s.charLocationPriority['Bishop Martiale'] = 1;s.characterList['Bishop Martiale'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Bishop Martiale"] = "Marble Gallery, East"; s.charLocationPriority["Bishop Martiale"] = 1; %> <% if (_.contains(s.fullHistory, '0-efendiaskdance')) { %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev effendi is accused of being a spy';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-people are returning from the wheel - fountain' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-people are returning from the wheel - stairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people are returning from the wheel - gallery' ); %><span class='high-emphasis'>Some people are coming</span> from the Treasury. That means the Wheel of Grievances is over. Most of them look strangely quiet and worried. This isn't normal. People usually enjoy the Wheel. <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-people are returning from the wheel - fountain' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-people are returning from the wheel - stairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking without novus' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion without novus' ); %><span class='high-emphasis'>From the staircase</span> I see people are flowing back into the garden. That means the Wheel of Grievances is over. Most of them look strangely quiet and worried. This isn't normal. People usually enjoy the Wheel. <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-people are returning from the wheel - fountain' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-people are returning from the wheel - stairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking without novus' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion without novus' ); %><span class='high-emphasis'>Through the windows</span> I see people are flowing back into the garden. That means the Wheel of Grievances is over. Most of them look strangely quiet and worried. This isn't normal. People usually enjoy the Wheel. <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-people are returning from the wheel - fountain' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-people are returning from the wheel - stairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking without novus' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion without novus' ); %><span class='high-emphasis'>A sudden wave of voices:</span> after being respectfully quiet during the complaints, the public is now loudly commenting everything. 'Albine Amaisa was incredibly rude...' 'It was about time that someone would speak so bluntly.' The Wheel is over. I missed it while not looking. We must go back to the palace and, not too long after that, the dinner will start. The public starts leaving orderly. <% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking without novus' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion without novus' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-people are returning from the wheel - fountain' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-people are returning from the wheel - stairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people are returning from the wheel - gallery' ); %><span class='high-emphasis'>Suddenly,</span> I hear cries coming from the Treasury. People are running this way! What happened? Two shots pierce the air. A man tries to make his voice heard over the cries, but I can't distinguish the words. People are still running this way, not stopping to look back. What happened? <% s.narration['Ionic Treasury'].push('10-irene goes to treasury after seeing people escaping from there'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Irene treasury after seeing escape remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking without novus' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion without novus' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-people are returning from the wheel - fountain' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-people are returning from the wheel - stairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '10-irene goes to treasury after seeing people escaping from there' ); %><span class='high-emphasis'>There are many soldiers around the Treasury.</span> Why? And where did they come from? The few remaining people seem worried, afraid or angry. But I don't see injured people, or traces of a fight, other than the presence of the soldiers themselves. This is unsettling. I don't remember any trouble during a Wheel of Grievances, ever. What's different today? The heat? I want to ask what happened, but I'm shy of approaching these strangers.<span class='high-emphasis'>A sudden wave of voices</span> comes from the Treasury. It seems that, after being respectfully quiet during the complaints, the public is now loudly commenting everything. That means that the Wheel is over. I missed its ending. Now it's time to go back to the palace and, not too long after that, the dinner will start. Among the trees, I see that the public is walking this way. <% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking without novus' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion without novus' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-people are returning from the wheel - fountain' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-people are returning from the wheel - stairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking without novus' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion without novus' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-people are returning from the wheel - fountai' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-people are returning from the wheel - stairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people are returning from the wheel - gallery' ); %><span class='high-emphasis'>Suddenly,</span> I hear an uproar and I'm surrounded by waves and waves of people. They are running away from the Treasury! What happened while I wasn't looking? Two shots pierce the air. 'People of the Canton!' It's Premier Severin, trying to make his voice heard. People seem to calm down. 'No one is hurt!' he cries. 'Go on with the celebration! Those who don't respect the laws will not spoil this day! Long live the King! Long live the King!' People are leaving orderly, most of the rich towards the Palace, most of the humble to other parts of the garden. This is unsettling. I don't remember any trouble during a Wheel of Grievances, ever. What's different today? What happened? <% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '100-wheel ends when irene is not looking without novus' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-wheel ends when irene is in pavilion without novus' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-people are returning from the wheel - fountain' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-people are returning from the wheel - stairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-people are returning from the wheel - gallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-people are returning from the wheel - gallery' ); %><% if (s.charLocationPriority['Gloria'] < 1) { s.charLocationPriority['Gloria'] = 1;s.characterList['Gloria'] = 'Grand Entrance Hall'; print(story.render('updateLocationList') );}; %> <% s.characterList["Gloria"] = "Grand Entrance Hall"; s.charLocationPriority["Gloria"] = 1; %><% s.narration['Gloria'].push('500-irene first sees gloria from a distance'); %><% targetTurn = Math.floor( s.timeSpeed*9 );targetEvent = 'ev gloria location 745';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.charLocationPriority['Gloria'] < 1) { s.charLocationPriority['Gloria'] = 1;s.characterList['Gloria'] = 'Fountain'; print(story.render('updateLocationList') );}; %> <% s.characterList["Gloria"] = "Fountain"; s.charLocationPriority["Gloria"] = 1; %><% targetTurn = Math.floor( s.timeSpeed*12 );targetEvent = 'ev gloria location 8';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.charLocationPriority['Gloria'] < 1) { s.charLocationPriority['Gloria'] = 1;s.characterList['Gloria'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Gloria"] = "Marble Gallery, East"; s.charLocationPriority["Gloria"] = 1; %><% targetTurn = Math.floor( s.timeSpeed*16 );targetEvent = 'ev gloria location 820';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.charLocationPriority['Gloria'] < 1) { s.charLocationPriority['Gloria'] = 1;s.characterList['Gloria'] = 'Garden Stairs'; print(story.render('updateLocationList') );}; %> <% s.characterList["Gloria"] = "Garden Stairs"; s.charLocationPriority["Gloria"] = 1; %><% targetTurn = Math.floor( s.timeSpeed*20 );targetEvent = 'ev gloria location 840';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.charLocationPriority['Gloria'] < 1) { s.charLocationPriority['Gloria'] = 1;s.characterList['Gloria'] = 'Fountain'; print(story.render('updateLocationList') );}; %> <% s.characterList["Gloria"] = "Fountain"; s.charLocationPriority["Gloria"] = 1; %><% targetTurn = Math.floor( s.timeSpeed*24 );targetEvent = 'ev gloria location 9';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.charLocationPriority['Gloria'] < 1) { s.charLocationPriority['Gloria'] = 1;s.characterList['Gloria'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Gloria"] = "Nowhere"; s.charLocationPriority["Gloria"] = 1; %><% if ( _.contains( _.keys(s.namedEvent), 'wheel-end' ) ) { s.namedEvent['wheel-end'].push( 'ev gloria location 930' ); } else { s.namedEvent['wheel-end'] = [ 'ev gloria location 930' ]; } %><% if (s.charLocationPriority['Gloria'] < 1) { s.charLocationPriority['Gloria'] = 1;s.characterList['Gloria'] = 'Marble Gallery, West'; print(story.render('updateLocationList') );}; %> <% s.characterList["Gloria"] = "Marble Gallery, West"; s.charLocationPriority["Gloria"] = 1; %><span class='high-emphasis'>Looking around,</span> I find Gloria’s gaze fixed on me. My sister looks like a statue: pale, dressed in white, beautiful, stone-like, standing in splendid isolation. Seeing her startles me. I make a small, vague waving gesture towards her. She turns her back to me and quickly disappears, with a final look that I don't understand. Was it pity, disdain, fear? It was unreadable. <% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev gloria seems to be gossipping about irene';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev irene sees gloria from a distance again';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['ground floor'].push('500-gloria seems to be gossipping about irene'); %><span class='high-emphasis'>Someone stops me</span> to talk. ‘How are you, Irene? Gloria said she was worried about you.’ How dare she? Is she undermining me already?<% s.narration['Gloria'].push('500-irene sees gloria from a distance again'); %><span class='high-emphasis'>Again I see Gloria</span>, from a distance, alone. This time she doesn’t see me, and I approach her, but before I reach her, she notices me and walks away fast. I don’t follow her. It would feel debasing. When she’s far, she looks back and smiles at me. The kind of smile that would mean nothing in a stranger, but means lots of things in an older sibling.Gloria walks by. She fixes her gaze on me: earnest, almost tearing eyes. Imploring. But she doesn't stop.<% s.dogloriadice = _.random(0,10); if ( s.dogloriadice > 7 ) { s.dogloriacounter = s.dogloriacounter+1; if (s.dogloriacounter == 1) { s.passageHistory.push("gloria takes companion away 1"); %> <p>And then Gloria appears. She smiles lovingly at me and then says at <%= s.dogloriaperson %>: 'Can we talk a moment?' <%= s.dogloriaperson %> nods, apologizes, and leaves with my sister.</p> <% }; if (s.dogloriacounter == 2) { s.passageHistory.push("gloria takes companion away 2"); %> <p>I'm about to add something when Gloria appears. 'Dear sister, can I snatch <%= s.dogloriaperson %> away from you for a minute?' They don't wait for my response and walk away, arm in arm, and laughing.</p> <% }; }; %><% if (s.characterList["Gloria"] == "Marble Gallery, East" && s.characterList["Clara"] == "Marble Gallery, East") { %> <div id='opBallSistersDance' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Get my sisters to dance</div><div class='opdesc'>It's unfair that I always have to do all the dancing.</div></div></div><% $(function () { $('#opBallSistersDance').click(function () { $('#opBallSistersDance').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBallSistersDance'); s.fullHistory.push('op Ball Sisters Dance');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Ball Sisters Dance';});}); %> <% s.narration['Marble Gallery, West'].push('0-ballgetsistersdance'); %><% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %> <% }; %><span class='high-emphasis'>It is too warm</span> to dance with all these clothes. Mother wanted all of us to be fine dancers; something she obviously couldn't be herself, neither admit it. But Clara always refuses to dance out of fear of looking clumsy. Gloria can dance, but she generally prefers talking and being listened to. That leaves only me to do all the approppriate dancing. But the evening is so warm. On second thought, I better not try.<div id='opLaurentinwantsadance' class='oport story'><img class='optimg' src='img/opts/west_gallery.jpg'><div class='optext'><div class='optitle'>Laurentin wants to dance with me</div><div class='opdesc'>My brother-in-law, Gloria's husband, gestures for me to approach him.</div></div></div><% $(function () { $('#opLaurentinwantsadance').click(function () { $('#opLaurentinwantsadance').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opLaurentinwantsadance'); s.fullHistory.push('op Laurentin wants a dance');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Laurentin wants a dance';});}); %> <% s.narration['Pseudopassage'].push('10-laurentin wants to dance with me'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene dances with laurentin and asks about gloria') == false ) { s.opport['Pseudopassage'].push('op irene dances with laurentin and asks about gloria'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene dances with laurentin without asking about gloria') == false ) { s.opport['Pseudopassage'].push('op irene dances with laurentin without asking about gloria'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'Dear sister,'</span> Laurentin says, 'I can't miss the chance to dance with the best dancer.' 'You often have.' He could be an excellent dancer, if only he could focus on it longer than a minute. My brother-in-law is a man of considerable talents, but few things interest him. Laurentin swings ideas as other men swing blades: to prove that his manhood can dominate. 'You must come home and tell me about Shipbuilder's Forest,' he says. 'There is a lot of learning to do. So many talentless men that rule us don't understand that.' If men like him had the authority! I could collect specimens in the forest, as long as I wanted, wearing trousers or anything else. I wish we could make sure that our authorities were the best men. I wish I could ask him about my sister.<div id='opirenedanceswithlaurentinandasksaboutgloria' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Ask about Gloria</div><div class='opdesc'>It's important, but thinking of it makes my stomach churn.</div></div></div><% $(function () { $('#opirenedanceswithlaurentinandasksaboutgloria').click(function () { $('#opirenedanceswithlaurentinandasksaboutgloria').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opirenedanceswithlaurentinandasksaboutgloria'); s.fullHistory.push('op irene dances with laurentin and asks about gloria');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene dances with laurentin and asks about gloria';});}); %> <% s.narration['Marble Gallery, West'].push('10-irene dances with laurentin and asks about gloria'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene dances with laurentin without asking about gloria' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'What about my sister?'</span> I ask, trying hard to disguise any anxiety. He smiles widely. ‘Have you seen Gloria today? Isn’t she splendid?’ Oh, yes. She was always the splendid sister. And Clara was a model for a statue. Perhaps if I had been more like them, men would have taken me more seriously when I tried to educate myself. ‘She has times of melancholy,’ Laurentin continues, ‘but she won’t drag anyone in her dark mood these days. It’s important to me: I have great projects, as you know.’ He wants to build a modern industry in Aurora, like the ones they have in England. But he seems to know almost nothing about his wife. Poor man. The dance is over and we say goodbye.<div id='opirenedanceswithlaurentinwithoutaskingaboutgloria' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Don't ask about Gloria</div><div class='opdesc'>I won't have any problem if I stay silent.</div></div></div><% $(function () { $('#opirenedanceswithlaurentinwithoutaskingaboutgloria').click(function () { $('#opirenedanceswithlaurentinwithoutaskingaboutgloria').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opirenedanceswithlaurentinwithoutaskingaboutgloria'); s.fullHistory.push('op irene dances with laurentin without asking about gloria');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene dances with laurentin without asking about gloria';});}); %> <% s.narration['Marble Gallery, West'].push('10-irene dances with laurentin without asking about gloria'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene dances with laurentin and asks about gloria' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Not asking about Gloria</span> is easier. But Laurentin thinks otherwise. ‘Have you seen Gloria today?’ Laurentin asks. ‘Isn’t she splendid?’ Oh, yes. She was always the splendid sister. And Clara was a model for a statue. Perhaps if I had been more like them, men would have taken me more seriously when I tried to educate myself. ‘She has times of melancholy,’ Laurentin continues, ‘but she won’t drag anyone in her dark mood these days. It’s important to me: I have great projects, as you know.’ He wants to build a modern industry in Aurora, like the ones they have in England. But he seems to know almost nothing about his wife. Poor man. The dance is over and we say goodbye.<% if (s.currentLocation == 'Ionic Treasury') { %><% s.narration['Ionic Treasury'].push('500-gloria walks away from the wheel'); %><% } else { %><% if (s.currentLocation == 'Blue Pavilion') { %><% if (_.contains( _.keys(s.interrupt),'Blue Pavilion' )) { s.interrupt['Blue Pavilion'].push('interrupt-gloria in pavilion during wheel'); } else { s.interrupt['Blue Pavilion'] = ['interrupt-gloria in pavilion during wheel']; }; %><% } else { %><% if (s.currentLocation == 'Fountain') { %><% if (_.contains( _.keys(s.interrupt),'Fountain' )) { s.interrupt['Fountain'].push('interrupt-gloria in fountain during wheel'); } else { s.interrupt['Fountain'] = ['interrupt-gloria in fountain during wheel']; }; %><% }; %><% }; %><% }; %><% targetTurn = s.turn+1;targetEvent = 'evn gloria walks away from the wheel remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '500-gloria walks away from the wheel' ); %><% if ( _.contains( _.keys(s.interrupt), 'Blue Pavilion' )) { s.interrupt['Blue Pavilion'] = _.without( s.interrupt['Blue Pavilion'], 'interrupt-gloria in pavilion during wheel'); } %><% if ( _.contains( _.keys(s.interrupt), 'Fountain' )) { s.interrupt['Fountain'] = _.without( s.interrupt['Fountain'], 'interrupt-gloria in fountain during wheel'); } %>I notice my sister Gloria, walking towards the Pavilion on her own. Everyone is looking at the Wheel, except her. She pushes people aside, followed by disapproving looks. This is very strange. I was warned. Dinner starts right after the Wheel ends. Perhaps this is my only opportunity to try to do something about her. But if I talk to Gloria I may have another fit. <% if (_.contains( _.keys(s.interrupt),'Blue Pavilion' )) { s.interrupt['Blue Pavilion'].push('interrupt-irene follows gloria to pavilion during wheel'); } else { s.interrupt['Blue Pavilion'] = ['interrupt-irene follows gloria to pavilion during wheel']; }; %><% targetTurn = s.turn+1;targetEvent = 'ev remove interruption irene follows gloria to pavilion during wheel';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Ionic Treasury'], 'op follow gloria when she leaves wheel') == false ) { s.opport['Ionic Treasury'].push('op follow gloria when she leaves wheel'); }; %><div id='opfollowgloriawhensheleaveswheel' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Follow Gloria</div><div class='opdesc'></div></div></div><% $(function () { $('#opfollowgloriawhensheleaveswheel').click(function () { $('#opfollowgloriawhensheleaveswheel').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opfollowgloriawhensheleaveswheel'); s.fullHistory.push('op follow gloria when she leaves wheel');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op follow gloria when she leaves wheel';});}); %> <% function gotDelay() {story.show('Blue Pavilion');};setTimeout(gotDelay,110);}); }); %><% targetTurn = s.turn+1;targetEvent = 'ev remove interruption irene follows gloria to pavilion during wheel 2';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Ionic Treasury'] = _.without( s.opport['Ionic Treasury'] , 'op follow gloria when she leaves wheel' ); %><% if ( _.contains( _.keys(s.interrupt), 'Blue Pavilion' )) { s.interrupt['Blue Pavilion'] = _.without( s.interrupt['Blue Pavilion'], 'interrupt-irene follows gloria to pavilion during wheel'); } %><% s.narration['Pseudopassage'].push('10-irene follows gloria to pavilion during wheel'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene starts talking to gloria during wheel') == false ) { s.opport['Pseudopassage'].push('op Irene starts talking to gloria during wheel'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene refuses talking to gloria during wheel') == false ) { s.opport['Pseudopassage'].push('op Irene refuses talking to gloria during wheel'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>I run after Gloria.</span> I push some angry people until I am at the top of the slope. Gloria is walking past the Pavilion. I hurry up to catch up with her. She looks at me as if she knew I was there. ‘Running after the birds?’ she says, smiling. The witch. She had to say that. I’m lucky there’s no one else. No matter what, Gloria will always have the upper hand and I will always need to be watchful. She can’t be trusted. I didn’t trust her as a child (much too older for me to understand, but I understood how disappointed Mother was with her), and I can’t trust her now.<% s.narration['Pseudopassage'].push('10-irene finds gloria in blue pavilion during wheel'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene starts talking to gloria during wheel') == false ) { s.opport['Pseudopassage'].push('op Irene starts talking to gloria during wheel'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene refuses talking to gloria during wheel') == false ) { s.opport['Pseudopassage'].push('op Irene refuses talking to gloria during wheel'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>Gloria... ?</span> Yes! Gloria is painstakingly climbing the slope from the Treasury, coming my way. She has seen me now; I can't hide. Why is she leaving the Wheel? This is very strange. I was warned. ‘Running after the birds?’ she says, smiling. The witch. She had to say that. I’m lucky there’s no one else. No matter what, Gloria will always have the upper hand and I will always need to be watchful. She can’t be trusted. I didn’t trust her as a child (much too older for me to understand, but I understood how disappointed Mother was with her), and I can’t trust her now.<% s.narration['Pseudopassage'].push('10-irene finds gloria in fountain during wheel'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene starts talking to gloria during wheel') == false ) { s.opport['Pseudopassage'].push('op Irene starts talking to gloria during wheel'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene refuses talking to gloria during wheel') == false ) { s.opport['Pseudopassage'].push('op Irene refuses talking to gloria during wheel'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>Gloria... ?</span> Yes! Gloria is painstakingly climbing the slope from the Treasury, coming my way. She has seen me now; I can't hide. Why is she leaving the Wheel? This is very strange. I was warned. ‘Running after the birds?’ she says, smiling. The witch. She had to say that. I’m lucky there’s no one else. No matter what, Gloria will always have the upper hand and I will always need to be watchful. She can’t be trusted. I didn’t trust her as a child (much too older for me to understand, but I understood how disappointed Mother was with her), and I can’t trust her now.<div id='opIrenerefusestalkingtogloriaduringwheel' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Go away</div><div class='opdesc'>Admit that I'm not strong enough to confront her.</div></div></div><% $(function () { $('#opIrenerefusestalkingtogloriaduringwheel').click(function () { $('#opIrenerefusestalkingtogloriaduringwheel').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenerefusestalkingtogloriaduringwheel'); s.fullHistory.push('op Irene refuses talking to gloria during wheel');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene refuses talking to gloria during wheel';});}); %> <% s.narration['Fountain'].push('10-Irene refuses talking to gloria during wheel'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene starts talking to gloria during wheel' ); %><% s.returnRef = 'Fountain'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>If Gloria has a biting mood,</span> I can't even think of speaking to her. Last time I lost control of myself and spent hours wandering. Hours that I don't remember, until Laurentin found me. I was too ashamed to see anyone for almost a week. I walk past Gloria. I ignore her laughter. Then she calls me, 'Irene!', in a different, kinder tone. I ignore that too and keep walking until the Fountain. Gloria doesn't follow. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opIrenestartstalkingtogloriaduringwheel' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Keep talking to her</div><div class='opdesc'>She frightens me. She could make me lose control again. If I say something, it has to be enough to put her back in her place.</div></div></div><% $(function () { $('#opIrenestartstalkingtogloriaduringwheel').click(function () { $('#opIrenestartstalkingtogloriaduringwheel').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenestartstalkingtogloriaduringwheel'); s.fullHistory.push('op Irene starts talking to gloria during wheel');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene starts talking to gloria during wheel';});}); %> <% s.narration['Pseudopassage'].push('10-Irene starts talking to gloria during wheel'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene refuses talking to gloria during wheel' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op ask gloria why she left the wheel') == false ) { s.opport['Pseudopassage'].push('op ask gloria why she left the wheel'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op ask gloria about her behaviour before wheel') == false ) { s.opport['Pseudopassage'].push('op ask gloria about her behaviour before wheel'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op ask gloria how she is during wheel') == false ) { s.opport['Pseudopassage'].push('op ask gloria how she is during wheel'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op tell gloria about myself during wheel') == false ) { s.opport['Pseudopassage'].push('op tell gloria about myself during wheel'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I must</span> make it clear that I won't tolerate her innuendo. ‘Remember the time you drank a glass of blueberry juice saying it was poison,' I say. 'You pretended to drink poison, not me.’ ‘You were not even ten years old,' she says, not losing her composure. ‘Any nine-year old could understand. You were not that complicated.’ 'Don't try to be so astute all the time,' she warns. 'Look how good that's been for me.'<div id='optellgloriaaboutmyselfduringwheel' class='oport story'><img class='optimg' src='img/opts/forest.jpg'><div class='optext'><div class='optitle'>Tell Gloria about myself</div><div class='opdesc'></div></div></div><% $(function () { $('#optellgloriaaboutmyselfduringwheel').click(function () { $('#optellgloriaaboutmyselfduringwheel').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('optellgloriaaboutmyselfduringwheel'); s.fullHistory.push('op tell gloria about myself during wheel');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op tell gloria about myself during wheel';});}); %> <% s.narration['myself'].push('10-tell gloria about myself during wheel'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria why she left the wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria about her behaviour before wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria how she is during wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op tell gloria about myself during wheel' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'The last weeks</span> have been so extraordinary for me,' I say ecstatically, trying to get Gloria's interest. 'Do you want me to tell you?' I know she doesn't care about plants, or landscapes, or study. But her expression changes moment after moment, a reassuring smile now, a worrisome grimace after. And I recognize something dangerous in her. I've seen it since I was little, but I only recently started to understand it: an overwhelming feeling of helplessness. Having all roads closed in front of us. She laughs and caresses me. I frown, upset, and then she leaves. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opaskgloriawhysheleftthewheel' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Ask Gloria why she left the wheel</div><div class='opdesc'></div></div></div><% $(function () { $('#opaskgloriawhysheleftthewheel').click(function () { $('#opaskgloriawhysheleftthewheel').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opaskgloriawhysheleftthewheel'); s.fullHistory.push('op ask gloria why she left the wheel');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op ask gloria why she left the wheel';});}); %> <% s.narration['myself'].push('10-ask gloria why she left the wheel'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria why she left the wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria about her behaviour before wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria how she is during wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op tell gloria about myself during wheel' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Why aren't you at the wheel?'</span> I ask. 'People will gossip.' 'I need to be left alone a while,' she says. 'The dinner is going to be hard enough.' 'What are you talking about?' Gloria answers only with a fixed stare. But her expression changes moment after moment, a reassuring smile now, a worrisome grimace after. And I recognize something dangerous in her. I've seen it since I was little, but I only recently started to understand it: an overwhelming feeling of helplessness. Having all roads closed in front of us. 'I hope we can have a conversation later,' I say. 'I hope we can have a conversation later,' Gloria answers. She laughs and caresses me. I frown, upset, and then she leaves. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opaskgloriaaboutherbehaviourbeforewheel' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Ask Gloria about her behaviour tonight</div><div class='opdesc'></div></div></div><% $(function () { $('#opaskgloriaaboutherbehaviourbeforewheel').click(function () { $('#opaskgloriaaboutherbehaviourbeforewheel').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opaskgloriaaboutherbehaviourbeforewheel'); s.fullHistory.push('op ask gloria about her behaviour before wheel');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op ask gloria about her behaviour before wheel';});}); %> <% s.narration['myself'].push('10-ask gloria about her behaviour before wheel'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria why she left the wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria about her behaviour before wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria how she is during wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op tell gloria about myself during wheel' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'I know</span> you have been talking about me,' I accuse. 'Can't I talk about my family?' 'You are telling people things to undermine me.' Gloria answers only with a fixed stare. But her expression changes moment after moment, a reassuring smile now, a worrisome grimace after. And I recognize something dangerous in her. I've seen it since I was little, but I only recently started to understand it: an overwhelming feeling of helplessness. Having all roads closed in front of us. She laughs and caresses me. I frown, upset, and then she leaves. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opaskgloriahowsheisduringwheel' class='oport story'><img class='optimg' src='img/opts/eyes.jpg'><div class='optext'><div class='optitle'>Ask Gloria how she is</div><div class='opdesc'></div></div></div><% $(function () { $('#opaskgloriahowsheisduringwheel').click(function () { $('#opaskgloriahowsheisduringwheel').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opaskgloriahowsheisduringwheel'); s.fullHistory.push('op ask gloria how she is during wheel');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op ask gloria how she is during wheel';});}); %> <% s.narration['myself'].push('10-ask gloria how she is during wheel'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria why she left the wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria about her behaviour before wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ask gloria how she is during wheel' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op tell gloria about myself during wheel' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'How are you tonight?'</span> I ask Gloria, and I immediately regret it. Clara should do this. She's better. 'I need to be left alone a while,' she says. 'The dinner is going to be hard enough.' 'What are you talking about?' Gloria answers only with a fixed stare. But her expression changes moment after moment, a reassuring smile now, a worrisome grimace after. And I recognize something dangerous in her. I've seen it since I was little, but I only recently started to understand it: an overwhelming feeling of helplessness. Having all roads closed in front of us. 'I hope we can have a conversation later,' I say. 'I hope we can have a conversation later,' Gloria answers. She laughs and caresses me. I frown, upset, and then she leaves. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><span class='high-emphasis'>'Did you speak to Gloria?'</span> asks Clara. I tell her I did, and it was fruitless. 'Are you calm?' she whispers. Why that question? 'Gloria told Laurentin that you had a conversation and you were hostile and delusional. Laurentin told me.' Hostile. Delusional. 'I'm telling Laurentin to lock her in an attic.' Clara tries to hide her tension. 'I'm sure it will be nothing. Like all the other times.' 'Did you speak to her yourself?' 'I dare not. I'm so nervous I can't tell between things I hear and things I imagine.' She looks away, saying nothing; her shoulders sink a bit further.'Look at her face!' Clara whispers. I check Gloria: she's inexpressive like a statue.<span class='high-emphasis'>Dinner is over.</span> Servants open the doors and the elites of the Canton, sated and content, start leaving. 'Gloria is walking towards us,' Clara whispers. 'If she is too bad, I will tell Father.' 'And Laurentin.' Clara nods. Gloria sits next to me. 'Will my sisters spend a minute with me in this suffocating night?' I look at them. Gloria, severe, dismissive, condescending. Clara, envious, scheming, opaque. 'Someone is being judged tonight,' says Gloria. Extraordinary way of starting a conversation. 'Who?' asks Clara. 'Our family,' says Gloria.<% if ( _.contains(s.opport['Pseudopassage'], 'op ignore gloria conversation starter in dinner') == false ) { s.opport['Pseudopassage'].push('op ignore gloria conversation starter in dinner'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene excuses and leaves gloria and clara in dinner') == false ) { s.opport['Pseudopassage'].push('op irene excuses and leaves gloria and clara in dinner'); }; %><% s.narration['Pseudopassage'].push('500-gloria joins clara and irene in dinner'); %><% delete s.reminders['readnoteaboutgloria']; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opireneexcusesandleavesgloriaandclaraindinner' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Leave</div><div class='opdesc'>I don't want to be here.</div></div></div><% $(function () { $('#opireneexcusesandleavesgloriaandclaraindinner').click(function () { $('#opireneexcusesandleavesgloriaandclaraindinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opireneexcusesandleavesgloriaandclaraindinner'); s.fullHistory.push('op irene excuses and leaves gloria and clara in dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene excuses and leaves gloria and clara in dinner';});}); %> <% s.narration['myself'].push('10-irene excuses and leaves gloria and clara in dinner'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op ignore gloria conversation starter in dinner' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op joke when gloria asks about mechanical man in dinner' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene tells gloria all about her fears in dinner' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene shows the note to gloria in dinner' ); %><% s.returnRef = 'Grand Entrance Hall'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'I must excuse myself,'</span> I say, while I stand up. There's a lightning in Clara's eyes; with Gloria, I exchange the most briefest and most cursory glance. She leans towards Clara and whispers something, and Clara laughs. I don't care. Full, satiated, content people are leaving the Dining Hall, and I go out with them.<div id='opignoregloriaconversationstarterindinner' class='oport story'><img class='optimg' src='img/opts/serpent.jpg'><div class='optext'><div class='optitle'> Ignore Gloria</div><div class='opdesc'>She wants us to ask. She wants to steer the conversation. I don't want her to.</div></div></div><% $(function () { $('#opignoregloriaconversationstarterindinner').click(function () { $('#opignoregloriaconversationstarterindinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opignoregloriaconversationstarterindinner'); s.fullHistory.push('op ignore gloria conversation starter in dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op ignore gloria conversation starter in dinner';});}); %> <% s.narration['Pseudopassage'].push('10-ignore gloria conversation starter in dinner'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op joke when gloria asks about mechanical man in dinner') == false ) { s.opport['Pseudopassage'].push('op joke when gloria asks about mechanical man in dinner'); }; %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene excuses and leaves gloria and clara in dinner' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene excuses and leaves gloria and clara in dinner') == false ) { s.opport['Pseudopassage'].push('op irene excuses and leaves gloria and clara in dinner'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I feel that Gloria</span> is half-insinuating things to make us furious. She never says a thing that she later can't deny, and she denies them very often. In the end, she has nothing but sophistry: facts, in her life, are scarce. I pity Laurentin. 'Irene is lost in her forest,' says Gloria. I realize they have been talking for a while. Gloria's laughter sounds dark, not amused. Clara looks like she has forgotten how angry and worried she was. 'No one is on duty tonight.' They smile and laugh, but to me the way they move their hands and lean on the table tells about years and years of hidden resentment. 'My husband will soon order a mechanical wife from his new wonder maker,' says Gloria now. 'Did you like the mechanical man, Irene?'<div id='opjokewhengloriaasksaboutmechanicalmanindinner' class='oport story'><img class='optimg' src='img/opts/laugh.jpg'><div class='optext'><div class='optitle'>Make a joke</div><div class='opdesc'></div></div></div><% $(function () { $('#opjokewhengloriaasksaboutmechanicalmanindinner').click(function () { $('#opjokewhengloriaasksaboutmechanicalmanindinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opjokewhengloriaasksaboutmechanicalmanindinner'); s.fullHistory.push('op joke when gloria asks about mechanical man in dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op joke when gloria asks about mechanical man in dinner';});}); %> <% s.narration['Pseudopassage'].push('10-joke when gloria asks about mechanical man in dinner'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene tells gloria all about her fears in dinner') == false ) { s.opport['Pseudopassage'].push('op irene tells gloria all about her fears in dinner'); }; %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene excuses and leaves gloria and clara in dinner' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene excuses and leaves gloria and clara in dinner') == false ) { s.opport['Pseudopassage'].push('op irene excuses and leaves gloria and clara in dinner'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I would marry him,'</span> I say. They laugh, but Gloria has the condescending look. I refuse to listen. Clara calls my name. *Don't defend me,* I think. 'Defending each other is what we must do,' says Clara Gloria bangs the table. 'When does anyone defend me?' Clara looms over Gloria, larger than herself, like her statue; and Gloria raises her voice. 'If you are so fond of my husband I can send him to your bed.' Clara gives her a commiserate look. 'I'll make sure you can't do more harm tonight,' she says, and leaves. Gloria seems genuinely puzzled, but what has she ever done that was truly genuine?<div id='opirenetellsgloriaallaboutherfearsindinner' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Tell Clara about my fear</div><div class='opdesc'></div></div></div><% $(function () { $('#opirenetellsgloriaallaboutherfearsindinner').click(function () { $('#opirenetellsgloriaallaboutherfearsindinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opirenetellsgloriaallaboutherfearsindinner'); s.fullHistory.push('op irene tells gloria all about her fears in dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene tells gloria all about her fears in dinner';});}); %> <% s.narration['Pseudopassage'].push('10-irene tells gloria all about her fears in dinner'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene shows the note to gloria in dinner') == false ) { s.opport['Pseudopassage'].push('op irene shows the note to gloria in dinner'); }; %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene excuses and leaves gloria and clara in dinner' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene excuses and leaves gloria and clara in dinner') == false ) { s.opport['Pseudopassage'].push('op irene excuses and leaves gloria and clara in dinner'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Don't you remember</span> what happened the last time?' I ask, and Gloria giggles again. There is a cold, damp fog in my breast, and I have to fish my voice out of it. 'Shut up. I've spent the evening terrified that it would happen again here. That it was *me* who would be judged.' 'Not my fault,' says Gloria. 'Tonight you said I was *hostile and delusional*.' 'What? Who...' she starts, but then she covers her mouth. Her expression changes slowly as her thoughts progress. 'How he must be laughing at the three of us. I've had enough, Irene. He's a swindler, my husband. I had to secretly borrow money to pay for food and candles. And only my family name, only that, Irene. Without your name you would dance in the empty corridors of your house and search for herbs in cemeteries.' This is not her typical cruelty. This is rawer, less controlled.<div id='opireneshowsthenotetogloriaindinner' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Show the note to Gloria</div><div class='opdesc'></div></div></div><% $(function () { $('#opireneshowsthenotetogloriaindinner').click(function () { $('#opireneshowsthenotetogloriaindinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opireneshowsthenotetogloriaindinner'); s.fullHistory.push('op irene shows the note to gloria in dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene shows the note to gloria in dinner';});}); %> <% s.narration['Pseudopassage'].push('10-irene shows the note to gloria in dinner'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene tells gloria she believes her about laurentin') == false ) { s.opport['Pseudopassage'].push('op irene tells gloria she believes her about laurentin'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene lets gloria walk away from dinner') == false ) { s.opport['Pseudopassage'].push('op irene lets gloria walk away from dinner'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene excuses and leaves gloria and clara in dinner' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Of course no one can trust you,'</span> I say, and I produce the anonymous note. I give it to Gloria. 'Who do you think wrote this?' she says. 'One of your maids for sure.' She breaks into tears. 'You believed this! All of you. Blind. Thoughtless. This is by Laurentin's hand. He wants to estrange you from me. He wants us to look like three airhead hens and a decrepit old rooster. *Those were his exact words.* How many times I expected you to help me and I got nothing. Because to you, help is a business transaction. If I help you play games, you try to prevent the man I married from erasing my life? Now it's done. With your help.' She stands up. 'Wait!' 'What for?' she asks.<div id='opireneletsgloriawalkawayfromdinner' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Stay silent</div><div class='opdesc'>Gloria *can't* be trusted.</div></div></div><% $(function () { $('#opireneletsgloriawalkawayfromdinner').click(function () { $('#opireneletsgloriawalkawayfromdinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opireneletsgloriawalkawayfromdinner'); s.fullHistory.push('op irene lets gloria walk away from dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene lets gloria walk away from dinner';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene tells gloria she believes her about laurentin' ); %><% s.narration['Dining Hall'].push('10-irene lets gloria walk away from dinner'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>There's nothing</span> I can say in response to that. She stares at me a few more seconds, and I don't know what she sees in my face but she looks a bit shocked and a bit in pain and a bit in doubt, and finally she leaves without saying anything else. I breathe deeply until I am completely calm. The Dining Hall is almost empty now, only servants cleaning what's left of the dinner.<div id='opirenetellsgloriashebelievesheraboutlaurentin' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Tell Gloria I believe her</div><div class='opdesc'>She has never spoken like this. Never.</div></div></div><% $(function () { $('#opirenetellsgloriashebelievesheraboutlaurentin').click(function () { $('#opirenetellsgloriashebelievesheraboutlaurentin').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opirenetellsgloriashebelievesheraboutlaurentin'); s.fullHistory.push('op irene tells gloria she believes her about laurentin');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene tells gloria she believes her about laurentin';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene lets gloria walk away from dinner' ); %><% s.narration['Dining Hall'].push('10-irene tells gloria she believes her about laurentin'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I struggle to speak,</span> and my voice sounds fragile and shaky. 'I believe you.' I hide my tears with my hands. 'I believe you,' I repeat. But saying it opens the door to something painful. I don't know what I'm thinking or saying anymore. 'I believe you! Why won't you? You made me panic!' 'Perhaps...' she says. I don't see her face. 'If you believe me... Do you, really?' I nod. 'We can try from now on.' She puts a hand on my shoulder. This feels even more terrifying than the fits of fear that I've had. 'Yes,' I whisper. 'If only Clara would. Let's talk tomorrow,' she says. Her hand is not touching me anymore, and when I look, she is gone. I breathe deeply until I calm. The Dining Hall is almost empty now, only servants cleaning. <% targetTurn = s.turn+1;targetEvent = 'ev Irene thinks about gloria after ending';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['myself'].push('500-Irene thinks about gloria after ending'); %><span class='high-emphasis'>I can't shake</span> Gloria's image from my head. Has something changed forever between my sister and I?'What's wrong?' I ask. 'Some men have asked me why I'm not supporting Laurentin's project. They were very... dismissive. More than I'm used to.' He doesn't say more, and I don't need him to. His expression is a good enough hint. 'But you do support him.' 'Some don't have that impression. They say I'm an obstacle to progress in the Canton. An obstacle to the development of wealth.' 'They are defaming you.' What if those rumours come from Gloria herself? ---- 'Lady Victor, we are worried about your father.' >Tell them that my father supports Laurentin >Tell them that they need not worry >Tell them to mind their own businesses 'Lord Victor will always help this Canton move forward.' 'There is a lot of wealth to be made,' they answer. They are already like one to me. 'He will always help the Canton become more wealthy. You can tell that to everyone.'<span class='high-emphasis'>Gloria greets me with a slight smile</span> and a hand on my arm, then she asks, 'Irene. Do you prefer a man who builds buildings or a man who grows a garden?' Seeing my puzzlement, she adds, 'It's very important.' 'I prefer a builder to build my house and I prefer a gardener to take care of my garden,' I answer. 'Don't try to be always so astute,' she warns. 'Look how good that's been for me.' I have to know what the anonymous note was about.<span class='high-emphasis'>'It's been ten days!'</span> I say ecstatically, trying to get Gloria's interest. I know she doesn't care about plants, or landscapes, or study. But she always reacts to mood. She needs me to be rousing. 'Did you eat well?' she says. She isn't roused. 'Sorry, I forget what you were talking about.' It's one of those times when I feel that the age difference is still relevant, like when I was a child and she was a woman. But I insist because I'm lacking other ideas. I tell her about the yellow furze flowers, not remembering if it was Gloria or Clara who liked those.<span class='high-emphasis'>'I hope we can have a long conversation later,</span> before the dinner,' I say. 'I hope we can have a long conversation later, before the dinner,' Gloria answers. She laughs and she caresses me again as I frown in upset. I turn back and leave. She has decided that I must be treated like a child tonight. She only does this in society gatherings. I can't talk to her now. I hope Clara wants to hear all this.<span class='high-emphasis'>'Again,'</span> I tell Clara. I hate when Gloria forces us back into being girls. But when she does, being a girl is the only thing I really want. 'You can't let her have her way!' she says, as if this was just another contest. She sees everything the same she sees her salon. This makes me too tired to argue. Perhaps I will try talking to Gloria again if I find her.<div id='opDinnerFishermenListen' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Listen to the fishermen</div><div class='opdesc'>The fishermen from the Wheel are here, eating, drinking and, yes, celebrating.</div></div></div><% $(function () { $('#opDinnerFishermenListen').click(function () { $('#opDinnerFishermenListen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerFishermenListen'); s.fullHistory.push('op Dinner Fishermen Listen');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Fishermen Listen';});}); %> <% s.narration['Outside tables'].push('0-dinnerfishlisten'); %><% if ( _.contains(s.opport['Outside tables'], 'op Dinner Fishermen Talk') == false ) { s.opport['Outside tables'].push('op Dinner Fishermen Talk'); }; %><% if ( _.contains(s.opport['Outside tables'], 'op Dinner talk to the winemakers') == false ) { s.opport['Outside tables'].push('op Dinner talk to the winemakers'); }; %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Despite their complaint before</span>, the fishermen are noisy and lively. They are drinking in company of people I've seen in Clara's salon: winemakers with colourful ideas. *Republican* winemakers. 'To the health of Lord Longine!' one cries. 'May it last as long as the memory of this wine!' A roar of laughter. 'We have made better wines. Better wine to eat some of your fish. Better wine for the fish!' Their laughter is hard as an armour. 'They are sure drinking that wine inside, you think?' says one of the fishermen. 'Your wine with our fish?'<div id='opDinnertalktothewinemakers' class='oport story'><img class='optimg' src='img/opts/toast.jpg'><div class='optext'><div class='optitle'>Talk to the winemakers</div><div class='opdesc'>They are Clara's guests and Iuvens' friends.</div></div></div><% $(function () { $('#opDinnertalktothewinemakers').click(function () { $('#opDinnertalktothewinemakers').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnertalktothewinemakers'); s.fullHistory.push('op Dinner talk to the winemakers');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner talk to the winemakers';});}); %> <% s.narration['Outside tables'].push('10-Dinner talk to the winemakers'); %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I address a bearded winemaker.</span> 'Haven't I seen you before at my sister's salon?' 'Only once!' he answers. 'It's a good game for the city people.' 'A game?' 'Yes, a game! They practice their speech and say some things that are not really bad for us country people. But country people are not going to get bread, or land to work, out of them.' 'And why didn't you talk about those concerns?' I complain. 'We are in the salon to hear things like those!' 'Hear but not listen. That's what happens when people like me speak to people like you,' he concludes, then turning to his companions to show that our conversation is over.<div id='opDinnerFishermenTalk' class='oport story'><img class='optimg' src='img/opts/laugh.jpg'><div class='optext'><div class='optitle'>Talk to the fishermen</div><div class='opdesc'>What they said in the Wheel was moving.</div></div></div><% $(function () { $('#opDinnerFishermenTalk').click(function () { $('#opDinnerFishermenTalk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerFishermenTalk'); s.fullHistory.push('op Dinner Fishermen Talk');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Fishermen Talk';});}); %> <% s.narration['Pseudopassage'].push('0-dinnerfishtalk'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Fishermen Placate') == false ) { s.opport['Pseudopassage'].push('op Dinner Fishermen Placate'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Fishermen Warn') == false ) { s.opport['Pseudopassage'].push('op Dinner Fishermen Warn'); }; %><% s.log.push("I met some poor fishermen during the dinner."); %><% targetTurn = Math.floor( s.timeSpeed*45 );targetEvent = 'ev Longine Speak';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*49 );targetEvent = 'ev Fishermen Upstairs Warn';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>Before I can say anything</span>, some fishermen recognize me. 'Lady Victor!' a fisherman says. 'Great dancer! Your mother, she helped the poor. Will you help us?' But before I can answer, a woman speaks. 'We didn't come to ask for help,' she says with admirable conviction. I feel ill at ease. I don't do charity like other women and I really didn't expect these questions.<div id='opDinnerFishermenPlacate' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Try to placate them</div><div class='opdesc'>Tell them that their plea has been listened to.</div></div></div><% $(function () { $('#opDinnerFishermenPlacate').click(function () { $('#opDinnerFishermenPlacate').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerFishermenPlacate'); s.fullHistory.push('op Dinner Fishermen Placate');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Fishermen Placate';});}); %> <% s.narration['Outside tables'].push('0-dinnerfishplacate'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Fishermen Warn' ); %><% s.reminders['dosomethingforfishermen'] = "I could talk to Lord Longine about the fishermen. In the Gallery or the garden, after dinner."; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'As my mother,</span> I try not to be arrogant,' I say. 'She helped in secret those who didn't expect aid. She didn't want to teach them helplessness.' An old man leans forward. 'I am witness to that,' he says. I stare at him, fascinated: I don't know who he is, I don't know about Mother's involvement with his people. 'If my mother ever acted in your interest, then I should too.' 'Yes,' the woman who spoke before says, 'but do you know what really needs to be done?' 'Don't you insult the noble lady, old duck you!' a man says, making me smile inside. I'm suddenly deafened by the blow of a horn. I see a Burbur standing menacingly; their white goat skin gives them an air of authority, and another blow of the horn commands us to silence. What could I do for these fishermen? Lord Longine will sure be at the Gallery or the garden after dinner.<div id='opDinnerFishermenWarn' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Warn them</div><div class='opdesc'>Remind them of their civic obligations. And stay out of their problems.</div></div></div><% $(function () { $('#opDinnerFishermenWarn').click(function () { $('#opDinnerFishermenWarn').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerFishermenWarn'); s.fullHistory.push('op Dinner Fishermen Warn');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Fishermen Warn';});}); %> <% s.narration['Outside tables'].push('0-dinnerfishwarn'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Fishermen Placate' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'I offer only advice,'</span> I say, trying to sound as firm as her. 'The things you're saying out loud: they will be misunderstood by some. Maybe you shouldn't say things like that in the open.' A winemaker stares at me sarcastically. 'So, are you advising us to say them in private? Gather secretly and toast to the health of Lord Longine,' he says, stressing his words and his pauses (*secretly, health*), 'and make secret plans to his benefit... If those cretins of the ring do it, why shouldn't we?' I want to ask what *ring* he's talking about, but I'm suddenly deafened by the blow of a horn. I see a Burbur standing menacingly; their white goat skin gives them an air of authority, and another blow of the horn commands us to silence. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><% s.narration['Fountain'].push('500-longineingarden'); %><% targetTurn = Math.floor( s.timeSpeed*57 );targetEvent = 'ev Longine Speak Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-longineingarden' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Fishermen Longine Start' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-longineingarden' ); %><span class='high-emphasis'>Lord Longine is here</span> with a group of notables. Cackling hens! If I want to help the fishermen, I could question them. I should. <% if ( _.contains(s.opport['Fountain'], 'op Fishermen Longine Start') == false ) { s.opport['Fountain'].push('op Fishermen Longine Start'); }; %><% $('body').addClass('hideambientops'); %><div id='opFishermenLongineStart' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Ask Longine about fishermen</div><div class='opdesc'>He's keeping them in poverty. Think what I can say.</div></div></div><% $(function () { $('#opFishermenLongineStart').click(function () { $('#opFishermenLongineStart').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenLongineStart'); s.fullHistory.push('op Fishermen Longine Start');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Longine Start';});}); %> <% s.narration['Pseudopassage'].push('0-fishlonginestart'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Longine Ask') == false ) { s.opport['Pseudopassage'].push('op Fishermen Longine Ask'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene turns back before asking longine') == false ) { s.opport['Pseudopassage'].push('op irene turns back before asking longine'); }; %><% delete s.reminders['dosomethingforfishermen']; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><div id='opireneturnsbackbeforeaskinglongine' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Turn back and forget about it</div><div class='opdesc'>This could be terrible for my reputation.</div></div></div><% $(function () { $('#opireneturnsbackbeforeaskinglongine').click(function () { $('#opireneturnsbackbeforeaskinglongine').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opireneturnsbackbeforeaskinglongine'); s.fullHistory.push('op irene turns back before asking longine');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene turns back before asking longine';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Fishermen Longine Ask' ); %><% s.narration['Fountain'].push('10-irene turns back before asking longine'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Longine is surrounded</span> by landowners, members of the City Council of Marina, a priest. The currents of power move through them. These men can take decisions that even the daughter of magistrate Victor must abide by. I'm too coward. I turn my back and walk away. I think they haven't even seen me. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><span class='high-emphasis'>I need strategy.</span> Stand still a minute and think. What's Longine's weakness? He's not a brute, he's a subtle, convincing speaker. The answer is *influence.* Preserving it is his only purpose: he's the kind of coward who feels he needs power to protect himself from anything that could happen. I raise my chin and try to harden my face into an immutable smiling mask, before walking towards Longine and his group.<div id='opFishermenLongineAsk' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Ask Longine</div><div class='opdesc'>I'm ready to face him.</div></div></div><% $(function () { $('#opFishermenLongineAsk').click(function () { $('#opFishermenLongineAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenLongineAsk'); s.fullHistory.push('op Fishermen Longine Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Longine Ask';});}); %> <% s.narration['Pseudopassage'].push('0-fishlongineask'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Attack Directly') == false ) { s.opport['Pseudopassage'].push('op Fishermen Attack Directly'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Silk Manoeuvre') == false ) { s.opport['Pseudopassage'].push('op Fishermen Silk Manoeuvre'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene turns back before asking longine' ); %><% s.log.push("I talked to Lord Longine, trying to defend the fishermen he exploits."); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Longine is surrounded</span> by landowners, members of the City Council of Marina, a priest. I hear their greetings, nod and take a place facing Longine: a man both austere and playful, severely dressed but smiling warmly. 'Lord Longine, have you heard of the fishermen's today?' I ask. 'I listened to it, fortunately,' he answers, completely unfazed. 'And we hurried to give Lord Longine our support in this moment,' the priest says with a papery voice.<div id='opFishermenAttackDirectly' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Attack directly</div><div class='opdesc'>Tell him his deeds are shameful. Be rash. He isn't used to it.</div></div></div><% $(function () { $('#opFishermenAttackDirectly').click(function () { $('#opFishermenAttackDirectly').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenAttackDirectly'); s.fullHistory.push('op Fishermen Attack Directly');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Attack Directly';});}); %> <% s.narration['Pseudopassage'].push('0-fishattackdirect'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Longine Clara') == false ) { s.opport['Pseudopassage'].push('op Fishermen Longine Clara'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Longine Give Up') == false ) { s.opport['Pseudopassage'].push('op Fishermen Longine Give Up'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Fishermen Silk Manoeuvre' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>What would Mother say?</span> Do it rash and loud. 'I think that if you want to be regarded as a defender of the principle of fairness that is the foundations of our Canton and Covenant, not to mention the Christian virtue of charity, you should pay attention to those claims.' I expected anger, or scorn, either cold or hot. But *polite* laughter? <% if (_.contains(s.fullHistory, '0-dinnerhallsit')) { %><% print("<p>Longine answers without a trace of animosity. 'Lady Victor, let me tell you that I hear your mother's voice in your words as clear as if she were standing here.' Maggot. 'A voice we all miss, even if she said things we didn't like to hear,' he adds, and they chuckle. 'Father Servul commented on the issue during dinner.'</p>"); %><% } else { %><% print("<p>Longine answers without a trace of animosity. 'My dear, I realize you weren't present during the dinner. We were expecting you, but I presume that joining the poor for their repast is an act of charity, isn't it?' More laughter. 'Father Servul commented on the issue during the dinner.'</p>"); %><% }; %> 'And I concluded that,' says the priest, 'according to Thomas Aquinas, our dear Lord Longine is not lacking in charity.'<div id='opFishermenSilkManoeuvre' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Be subtle, diplomatic and indirect</div><div class='opdesc'>Perhaps it will work better.</div></div></div><% $(function () { $('#opFishermenSilkManoeuvre').click(function () { $('#opFishermenSilkManoeuvre').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenSilkManoeuvre'); s.fullHistory.push('op Fishermen Silk Manoeuvre');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Silk Manoeuvre';});}); %> <% s.narration['Pseudopassage'].push('0-fishattackmanoeuvre'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Longine Clara') == false ) { s.opport['Pseudopassage'].push('op Fishermen Longine Clara'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Longine Give Up') == false ) { s.opport['Pseudopassage'].push('op Fishermen Longine Give Up'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Fishermen Attack Directly' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Please forgive my bluntness,'</span> I say, 'but I fear that the enemies of order and government in our Canton would take advantage of this.' They nod respectfully, so I extend the speech. I remind him how Father has defended order for decades, also the lifelong friendship between both men (which I've just invented). 'There are always those who search for fertile ground to sow dissent.' 'Those are articulate ideas indeed,' the priest says. 'My dear sister Tavia,' says Longine, 'is my most esteemed advisor. I barely take any important decision without talking to her.' 'We live in an enlightened century,' says another man. 'Female talents are not wasted anymore.' 'But sometimes my sister tries to crack too hard a nut for any woman.' They all smile.<div id='opFishermenLongineGiveUp' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Give up</div><div class='opdesc'>Nothing is worth this humiliation.</div></div></div><% $(function () { $('#opFishermenLongineGiveUp').click(function () { $('#opFishermenLongineGiveUp').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenLongineGiveUp'); s.fullHistory.push('op Fishermen Longine Give Up');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Longine Give Up';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Fishermen Longine Clara' ); %><% s.narration[s.returnRef].push('0-fishlonginegiveup'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Our tradition is clear,'</span> I say. 'Today's grievances must be taken seriously. I trust you will respect that.' I wish I could say something more caustic, but they are looking at me and I'm flushing. 'Yes, we will probably open a trial against that donkey,' Longine says. They all laugh to his wit. <% if (_.contains(s.fullHistory, '0-firstgrievance')) { %><% } else { %><% print("<p>What in this sad world is he talking about?</p>"); %><% }; %> I better go now. As I leave, I see Clara looking at me from a distance. She's seething with anger. *Not now.* I don't know what it is, but not now. I'm going to avoid that angry face. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opFishermenLongineClara' class='oport story'><img class='optimg' src='img/opts/attack.jpg'><div class='optext'><div class='optitle'>Respond to that</div><div class='opdesc'>*These smiling men.*</div></div></div><% $(function () { $('#opFishermenLongineClara').click(function () { $('#opFishermenLongineClara').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenLongineClara'); s.fullHistory.push('op Fishermen Longine Clara');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Longine Clara';});}); %> <% s.narration['Pseudopassage'].push('0-fishlonginerespond'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Clara Promise') == false ) { s.opport['Pseudopassage'].push('op Fishermen Clara Promise'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Fishermen Longine Give Up' ); %><% s.charLocationPriority['Clara'] = 0; %><% if (s.charLocationPriority['Clara'] < 1000) { s.charLocationPriority['Clara'] = 1000;s.characterList['Clara'] = 'Fountain'; print(story.render('updateLocationList') );}; %> <% s.characterList["Clara"] = "Fountain"; s.charLocationPriority["Clara"] = 1000; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>All these men</span> are politely smiling at me, I'm brimming with antipathy, and I can't think of anything to say that is enough. Someone takes my elbow from behind. 'Friends, can I deprive you of my sister?' It's Clara, smiling delightfully. 'Our Father wants us both.' I'm speechless. They laugh, trade excuses and goodbyes and I'm speechless all the time. Clara leads me away, and I'm still speechless. 'What were you doing?' she whispers furiously. 'Father?' I finally mutter. 'I made it up,' Clara says, 'I needed you out of there.' 'Let me go!' I shake my arm until she lets it loose. 'Listen, cretin. I've already talked to Longine,' she says.<div id='opFishermenClaraPromise' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Listen to Clara</div><div class='opdesc'></div></div></div><% $(function () { $('#opFishermenClaraPromise').click(function () { $('#opFishermenClaraPromise').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenClaraPromise'); s.fullHistory.push('op Fishermen Clara Promise');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Clara Promise';});}); %> <% s.narration['myself'].push('0-fishlongineclara'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'You?'</span> 'Why, yes, me,' Clara says. 'Irene, understand that you'll always be unsophisticated in these matters. He made me a promise. The fishermen are going to be better. Don't ruin it.' 'Are you so naive to believe he will fulfil that?' 'Making a fool of him in front of men who are plotting against him was a better idea? Iuvens is right, we must keep you away from this before you break something.' Clara is fuming now. 'Did he say that?' I protest feebly. But my sister leaves without another word. <% s.charLocationPriority['Clara'] = 0; %><% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><% s.narration['Northern Hallway'].push('0-fishermenupstairsgeneric'); %><span class='high-emphasis'>There's a woman alone</span> in the Northern Hallway. She glares at me. The door to the Premier's apartment vibrates with laughter. Her gaze is immensely hostile. I prefer not to come near her. <% s.narration['Northern Hallway'].push('500-fishermenupstairsgeneric2'); %><span class='high-emphasis'>The hostile woman</span> is still here, watching me with contempt and pity. Drinking noises come from the door to the Premier's apartments. What's happening there? <% s.narration['Northern Hallway'].push('500-fishermenupstairsgeneric2'); %><% s.narration['ground floor'].push('500-fishuopstairswarn'); %><% s.narration['garden'].push('500-fishuopstairswarn'); %><% s.narration['basement'].push('500-fishuopstairswarn'); %><% s.narration['ground floor'] = _.without( s.narration['ground floor'] , '500-fishuopstairswarn' ); %><% s.narration['garden'] = _.without( s.narration['garden'] , '500-fishuopstairswarn' ); %><% s.narration['basement'] = _.without( s.narration['basement'] , '500-fishuopstairswarn' ); %><% s.narration['myself'].push('500-fishermenthinkremovesoon'); %><% targetTurn = s.turn+1;targetEvent = 'ev Fishermen Upstairs Think Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>It's been a while since the girl</span> told me about the fishermen. If I don't decide what to do about that now, I better forget it.<% s.opport['myself'] = _.without( s.opport['myself'] , 'op Fishermen Upstairs Think' ); %><span class='high-emphasis'>Someone pulls my dress.</span> 'Lady!' <% if (_.contains(s.fullHistory, '0-outsidedinnerzirbadance')) { %><% print("<p>It's Zirba, the little dancer! She's whispering, but she doesn't look worried.</p>"); %><% } else { %><% print("<p>It's a little girl I don't know. She's whispering, but she doesn't look worried.</p>"); %><% }; %> 'Fishermen got drunk and winemakers told them to sneak into the palace and get good wine and cigars and all that and the fishermen said they would do it so they must be upstairs now.' She stops brusquely. It seems to me she recited it by memory. 'You are very good telling me this.' Her smile brings light to this late hour. 'It's good to help people who are getting themselves into trouble. Did someone tell you to what you had to tell me?' 'No, Lady!' she says before leaving. Then I fleetingly see it: the Burbur with the white goat skin. <% s.narration['ground floor'] = _.without( s.narration['ground floor'] , '500-fishuopstairswarn' ); %><% s.narration['garden'] = _.without( s.narration['garden'] , '500-fishuopstairswarn' ); %><% s.narration['basement'] = _.without( s.narration['basement'] , '500-fishuopstairswarn' ); %><% if ( _.contains(s.opport['myself'], 'op Fishermen Upstairs Think') == false ) { s.opport['myself'].push('op Fishermen Upstairs Think'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Fishermen Upstairs Warn Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.reminders['fishermen-upstairs'] = "The fishermen are upstairs. There will be trouble if they are discovered."; %><div id='opFishermenUpstairsThink' class='oport story'><img class='optimg' src='img/opts/key.jpg'><div class='optext'><div class='optitle'>Think what to do about the fishermen</div><div class='opdesc'>Consider the facts carefully. This isn't simple.</div></div></div><% $(function () { $('#opFishermenUpstairsThink').click(function () { $('#opFishermenUpstairsThink').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenUpstairsThink'); s.fullHistory.push('op Fishermen Upstairs Think');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Upstairs Think';});}); %> <% s.narration['myself'].push('0-fishupstairsthink'); %><% s.narration['Northern Hallway'].push('500-fishermenwomaninhallway'); %><% s.eventIgnore.push('ev Fishermen Upstairs Generic'); %><% s.eventIgnore.push('ev Fishermen Upstairs Warn Remove'); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '0-fishermenupstairsgeneric' ); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '500-fishermenupstairsgeneric2' ); %><% if ( _.contains(s.opport['Northern Hallway'], 'op Fishermen Upstairs Ask') == false ) { s.opport['Northern Hallway'].push('op Fishermen Upstairs Ask'); }; %><% targetTurn = Math.floor( s.timeSpeed*57 );targetEvent = 'ev Fishermen Upstairs Ask Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '500-fishermenwomaninhallway' ); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '500-fishermenwomaninhallway2' ); %><% s.opport['Northern Hallway'] = _.without( s.opport['Northern Hallway'] , 'op Fishermen Upstairs Ask' ); %><% s.opport['Northern Hallway'] = _.without( s.opport['Northern Hallway'] , 'op Fishermen Upstairs Enter' ); %><% delete s.reminders['fishermen-upstairs']; %><span class='high-emphasis'>If the fishermen</span> are in one of the noble rooms in the top floor, drinking and smoking, someone will find out and send soldiers to throw them out. They could end up getting killed. Why are they doing this? Just drunkenness and desperation? I know the winemakers from Clara's salon. They are *jacobins.* Did they influence the fishermen to further some hidden plan? Probably. The fishermen trusted me. Perhaps I can convince them to leave peacefully. But then I remember the Burbur with the goat skin, and I get the sudden feeling that I am being manipulated into something.<span class='high-emphasis'>There's a woman alone</span> in the Northern Hallway, whom I recognize as the one who said the fishermen didn't want help. She glares at me. The door to the Premier's apartment vibrates with laughter. <% s.narration['Northern Hallway'].push('500-fishermenwomaninhallway2'); %><span class='high-emphasis'>The woman from the fishing village</span> is still here, watching me with a mix of contempt and pity. Drinking noises come from the door to the Premier's apartments. <% s.narration['Northern Hallway'].push('500-fishermenwomaninhallway2'); %><div id='opFishermenUpstairsAsk' class='oport story'><img class='optimg' src='img/opts/eyes.jpg'><div class='optext'><div class='optitle'>Ask the woman about the fishermen</div><div class='opdesc'>I hear people laughing behind the door she's watching.</div></div></div><% $(function () { $('#opFishermenUpstairsAsk').click(function () { $('#opFishermenUpstairsAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenUpstairsAsk'); s.fullHistory.push('op Fishermen Upstairs Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Upstairs Ask';});}); %> <% if ( _.contains(s.opport['Northern Hallway'], 'op Fishermen Upstairs Enter') == false ) { s.opport['Northern Hallway'].push('op Fishermen Upstairs Enter'); }; %><% s.narration['Northern Hallway'].push('0-fishupstairsask'); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '500-fishermenwomaninhallway2' ); %><% delete s.reminders['fishermen-upstairs']; %><% function gotDelay() {story.show('Northern Hallway');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Are they inside?'</span> I ask. 'Please go,' she answers. This woman is irritating. 'I don't think you understand.' 'You are right. Worrying about hunger makes us not too smart,' she mocks my tone. 'But we understand what we are doing. *You* don't. You won't listen. You shouldn't help without listening.' 'No time to listen!' I cry with exasperation. 'They will throw your men in jail for years!' 'They know! Please don't do nothing, Lady,' she asks. 'You really remind me of your mother. She decided who deserved help and who didn't. People like her opened rifts between us.' She moves aside. It's unnecessary, I wouldn't let her stop me if I wanted to enter. <% s.narration['Northern Hallway'].push('500-fishermenwomaninhallway2'); %><span class='high-emphasis'>There's a woman</span> sitting near the door to the Premier's apartments, and laughter comes from inside. The woman wears very poor clothes and her expression is a mix of exhaustion and unbridled fury. One look from her convinces me that it's better not to start conversation.<div id='opFishermenUpstairsEnter' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Enter the Premier's apartment</div><div class='opdesc'>And talk to the fishermen inside.</div></div></div><% $(function () { $('#opFishermenUpstairsEnter').click(function () { $('#opFishermenUpstairsEnter').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenUpstairsEnter'); s.fullHistory.push('op Fishermen Upstairs Enter');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Upstairs Enter';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Appartment Friends') == false ) { s.opport['Pseudopassage'].push('op Fishermen Appartment Friends'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Appartment Servants') == false ) { s.opport['Pseudopassage'].push('op Fishermen Appartment Servants'); }; %><% s.narration['Pseudopassage'].push('0-fishupstairsenter'); %><% s.eventIgnore.push('ev Fishermen Upstairs Generic Incident'); %><% s.log.push("I talked to the fishermen who invaded the Premier's apartment."); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>The Premier's apartment</span> is the most luxurious room in the palace. This velvet upholstery, these glasses of the finest crystal, these soft cushions have never been touched by rude hands. The men and women from the fishing village, who talked in the Wheel and I met during dinner, are here. 'A real lady!' a blond lad laughs, while dancing on top of an ebony table, his steps outlined in golden dust. Others are standing on divans or pouring wine over the rug. A man and a woman are *kissing*. I look away from them. 'Lady Victor!' says an old man with white beard. 'Why are you here?' he asks, alarmed. 'Your Ladyship?'<div id='opFishermenAppartmentFriends' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Address them as friends</div><div class='opdesc'>I don't want to be hard on them.</div></div></div><% $(function () { $('#opFishermenAppartmentFriends').click(function () { $('#opFishermenAppartmentFriends').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenAppartmentFriends'); s.fullHistory.push('op Fishermen Appartment Friends');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Appartment Friends';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Fishermen Appartment Servants' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Appartment Harm') == false ) { s.opport['Pseudopassage'].push('op Fishermen Appartment Harm'); }; %><% if (_.contains(s.fullHistory, '0-fishlongineclara')) { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Appartment Longine') == false ) { s.opport['Pseudopassage'].push('op Fishermen Appartment Longine'); }; %><% }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Appartment Apology') == false ) { s.opport['Pseudopassage'].push('op Fishermen Appartment Apology'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Appartment Leave') == false ) { s.opport['Pseudopassage'].push('op Fishermen Appartment Leave'); }; %><% s.narration['Pseudopassage'].push('0-fishappartmentfriends'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Friends,' I say</span>, 'I hope you trust me when I say that you are in grave danger if you stay here.' The blond howls. 'No soldier is going to bother me until I finish swallowing my wine!' 'Yes!' a woman cries. 'This wine is for us!' I want to believe they are playing dumb. 'Please listen... I understand you. But you could end up in jail for years! Do you want to risk that, just to prove something?' 'Rosalux was right,' the blond says. 'You don't know what we want. Not at all.'<div id='opFishermenAppartmentServants' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Address them as servants</div><div class='opdesc'>Perhaps they will be more reasonable like this.</div></div></div><% $(function () { $('#opFishermenAppartmentServants').click(function () { $('#opFishermenAppartmentServants').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenAppartmentServants'); s.fullHistory.push('op Fishermen Appartment Servants');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Appartment Servants';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Fishermen Appartment Friends' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Appartment Harm') == false ) { s.opport['Pseudopassage'].push('op Fishermen Appartment Harm'); }; %><% if (_.contains(s.fullHistory, '0-fishlongineclara')) { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Appartment Longine') == false ) { s.opport['Pseudopassage'].push('op Fishermen Appartment Longine'); }; %><% }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Appartment Apology') == false ) { s.opport['Pseudopassage'].push('op Fishermen Appartment Apology'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Fishermen Appartment Leave') == false ) { s.opport['Pseudopassage'].push('op Fishermen Appartment Leave'); }; %><% s.narration['Pseudopassage'].push('0-fishappartmentservants'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I clear my throat.</span> I want to sound dry. 'Time to finish this,' I say. I get serious faces. 'This is not your place. If you stay there will be consequences and you won't be able to say that you haven't earned them.' The blond howls. 'No soldier is going to bother me until I finish swallowing my wine!' 'Yes!' a woman cries. 'This wine is for us!' I want to believe they are playing dumb. 'Don't you really know how this is going to end for you unless you stop right now?' 'Rosalux was right,' the blond says. 'You don't know what we want. Not at all.'<div id='opFishermenAppartmentHarm' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Tell them I want to prevent people being harmed</div><div class='opdesc'></div></div></div><% $(function () { $('#opFishermenAppartmentHarm').click(function () { $('#opFishermenAppartmentHarm').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenAppartmentHarm'); s.fullHistory.push('op Fishermen Appartment Harm');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Appartment Harm';});}); %> <% s.narration['Pseudopassage'].push('0-fishappartmentharm'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I want to prevent harm,'</span> I say. 'Your children don't deserve to suffer.' 'Don't bring our kids up!' a woman says with sudden anger. 'They already suffer, lady,' says the bearded old man. 'They will suffer like us when old like us. And what can we do? Only pray to Saint Filiv and bury Burburum faces in the beach.' 'Then a tax collector tells us how wonderful the Canton is for all citizens and leaves with whatever money Longine hadn't taken from us yet, and here they eat wine with our fish,' the woman says. No one looks at me with sympathy now.<div id='opFishermenAppartmentLongine' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Reveal Longine's promise</div><div class='opdesc'>That has to convince them.</div></div></div><% $(function () { $('#opFishermenAppartmentLongine').click(function () { $('#opFishermenAppartmentLongine').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenAppartmentLongine'); s.fullHistory.push('op Fishermen Appartment Longine');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Appartment Longine';});}); %> <% s.narration['Pseudopassage'].push('0-fishappartmentlongine'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'But people listened to you in the Wheel,'</span> I say. 'Women will talk to their confessors and they will talk to the bishop. Longine will yield.' 'Good intentions,' the angry woman says, 'but Longine will never move an inch. You don't know the way you treat us.' I don't want to reveal this but I have no other ideas. 'Someone has already talked to Longine, and he promised you will be better.' There's mistrust in their eyes. 'Who talked? You?' I feel embarrassed. 'No, it wasn't me.' 'It's hard to believe,' the blond says. He takes a long swig from his bottle. I can't speak. I lower my head.<div id='opFishermenAppartmentApology' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Offer an apology</div><div class='opdesc'>Perhaps they are right and I don't know how they feel.</div></div></div><% $(function () { $('#opFishermenAppartmentApology').click(function () { $('#opFishermenAppartmentApology').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenAppartmentApology'); s.fullHistory.push('op Fishermen Appartment Apology');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Appartment Apology';});}); %> <% s.narration['Pseudopassage'].push('0-fishappartmentapology'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %>'<span class='high-emphasis'>I offer you apologies,'</span> I say. 'There's nothing else I can offer. But I can't leave you like this.' 'Thank you,' the angry woman says, 'but Longine will never move an inch. You don't know the way you treat us.' The apology is making me feel weak. I knew. I'm breathing heavily and sure my face is red now. 'Please don't thank me, I achieved nothing,' I say. The old man takes my hand and I can't help cringing a little. I expect he doesn't notice. 'That's why you have to let us do what we decided,' he says.<div id='opFishermenAppartmentLeave' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Leave</div><div class='opdesc'>Let them do as they wish.</div></div></div><% $(function () { $('#opFishermenAppartmentLeave').click(function () { $('#opFishermenAppartmentLeave').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFishermenAppartmentLeave'); s.fullHistory.push('op Fishermen Appartment Leave');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fishermen Appartment Leave';});}); %> <% s.narration['Northern Hallway'].push('0-fishappartmentleave'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Fishermen Appartment Harm' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Fishermen Appartment Longine' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Fishermen Appartment Apology' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Fishermen Appartment Leave' ); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '500-fishermenwomaninhallway2' ); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Fishermen Upstairs Generic Incident Bis';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.returnRef = "Northern Hallway"; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>For me, better let them be.</span> It's obvious they want a scene with the soldiers. Perhaps the winemakers tricked them into doing this, or perhaps they conceived it all by themselves, but they know what's going to happen. Better leave before I get involved too. Words come out faint and tangled. 'God bless you,' I mumble, then I hasten out of the room. The woman is still here, and she watches me with amusement. She sees my expression and smiles. <% s.narration['Northern Hallway'].push('500-fishermenwomaninhallway2'); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '0-fishermenupstairsgeneric' ); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '500-fishermenupstairsgeneric2' ); %> <% s.exitList["Northern Hallway"] = [ "no exit", "no exit", "Main Hallway exit", "no exit", "no exit", "no exit" ]; %> <% s.narration['Northern Hallway'].push('0-fishermensoldiershallway'); %> <% s.exitList["Main Hallway"] = [ "no exit", "Harmonic Room exit", "Map Cabinet exit", "Southern Hallway exit", "no exit", "no exit" ]; %> <% s.narration['Main Hallway'].push('0-fishermensoldiersmain'); %> <% s.narration['Map Cabinet'].push('0-fishermensoldierstop'); %><% s.narration['Southern Hallway'].push('0-fishermensoldierstop'); %><% s.narration['Harmonic Room'].push('0-fishermensoldierstop'); %><% s.narration['Covenant Office'].push('0-fishermensoldierstop'); %><% s.narration['Portrait Room'].push('0-fishermensoldierstop'); %> <% s.narration['Outside tables'].push('500-fishermensoldiersgarden'); %><% s.narration['Fountain'].push('500-fishermensoldiersgarden'); %><% s.narration['Garden Stairs'].push('500-fishermensoldiersgarden'); %><% s.narration['Blue Pavilion'].push('500-fishermensoldiersgarden'); %> <% s.narration['ground floor'].push('500-fishermensoldiersground'); %> <% targetTurn = s.turn+1;targetEvent = 'ev Fishermen Upstairs Generic Incident Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev fishermen incident reopen';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '0-fishermenupstairsgeneric' ); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '500-fishermenupstairsgeneric2' ); %> <% s.exitList["Northern Hallway"] = [ "no exit", "no exit", "Main Hallway exit", "no exit", "no exit", "no exit" ]; %> <% if (_.contains( _.keys(s.interrupt),'Northern Hallway' )) { s.interrupt['Northern Hallway'].push('interrupt-soldiersnorthernhallway'); } else { s.interrupt['Northern Hallway'] = ['interrupt-soldiersnorthernhallway']; }; %> <% s.exitList["Main Hallway"] = [ "Harmonic Room exit", "no exit", "Southern Hallway exit", "Map Cabinet exit", "no exit", "Portolan Gallery exit"]; %> <% s.narration['Main Hallway'].push('0-fishermensoldiersmain'); %> <% s.narration['Map Cabinet'].push('0-fishermensoldierstop'); %><% s.narration['Southern Hallway'].push('0-fishermensoldierstop'); %><% s.narration['Harmonic Room'].push('0-fishermensoldierstop'); %><% s.narration['Covenant Office'].push('0-fishermensoldierstop'); %><% s.narration['Portrait Room'].push('0-fishermensoldierstop'); %> <% s.narration['Outside tables'].push('500-fishermensoldiersgarden'); %><% s.narration['Fountain'].push('500-fishermensoldiersgarden'); %><% s.narration['Garden Stairs'].push('500-fishermensoldiersgarden'); %><% s.narration['Blue Pavilion'].push('500-fishermensoldiersgarden'); %> <% s.narration['ground floor'].push('500-fishermensoldiersground'); %> <% targetTurn = s.turn+1;targetEvent = 'ev Fishermen Upstairs Generic Incident Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev fishermen incident reopen';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '0-fishermensoldiershallway' ); %><% s.narration['Main Hallway'] = _.without( s.narration['Main Hallway'] , '0-fishermensoldiersmain' ); %><% s.narration['Map Cabinet'] = _.without( s.narration['Map Cabinet'] , '0-fishermensoldierstop' ); %><% s.narration['Southern Hallway'] = _.without( s.narration['Southern Hallway'] , '0-fishermensoldierstop' ); %><% s.narration['Harmonic Room'] = _.without( s.narration['Harmonic Room'] , '0-fishermensoldierstop' ); %><% s.narration['Covenant Office'] = _.without( s.narration['Covenant Office'] , '0-fishermensoldierstop' ); %><% s.narration['Portrait Room'] = _.without( s.narration['Portrait Room'] , '0-fishermensoldierstop' ); %><% s.narration['Main Hallway'] = _.without( s.narration['Main Hallway'] , '0-fishermensoldierstopmain' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-fishermensoldiersgarden' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-fishermensoldiersgarden' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-fishermensoldiersgarden' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-fishermensoldiersgarden' ); %><% s.narration['ground floor'] = _.without( s.narration['ground floor'] , '500-fishermensoldiersground' ); %><span class='high-emphasis'>I hear them</span> before seeing them. Cries and heavy steps. Then they burst in from the main hallway. 'Please go down, madame,' says the first guard. The door keeps vomiting guards, five, ten, fifteen. They run past me and take position near the door to the Premier's apartments. <% if (_.contains(s.fullHistory, '0-fishupstairsenter')) { %><% print("<p>I warned the fishermen and now it's happening.</p>"); %><% }; %><% s.narration['Pseudopassage'].push('0-fishermensoldiershallway'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Soldiers make me run from northern hallway') == false ) { s.opport['Pseudopassage'].push('op Soldiers make me run from northern hallway'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opSoldiersmakemerunfromnorthernhallway' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Leave</div><div class='opdesc'></div></div></div><% $(function () { $('#opSoldiersmakemerunfromnorthernhallway').click(function () { $('#opSoldiersmakemerunfromnorthernhallway').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opSoldiersmakemerunfromnorthernhallway'); s.fullHistory.push('op Soldiers make me run from northern hallway');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Soldiers make me run from northern hallway';});}); %> <% s.narration['Main Hallway'].push('0-fishermensoldiersnorthtomain'); %><% s.returnRef = "Main Hallway"; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I run</span> and close the door behind me. One moment later, a loud crash and muted screams push me farther from it.<span class='high-emphasis'>I hear them</span> before seeing them. Cries and heavy steps. Then they burst in from the Portolan gallery. 'Please go down, madame,' says the first guard. The staircase keeps vomiting guards, five, ten, fifteen. They run past me and enter the Northern hallway. <% if (_.contains(s.fullHistory, '0-fishupstairsenter')) { %><% print("<p>I warned the fishermen and now it's happening.</p>"); %><% }; %><span class='high-emphasis'>A great racket sounds nearby</span>, somewhere in this floor. <% s.narration['Main Hallway'].push('0-fishermensoldierstopmain'); %><span class='high-emphasis'>From the Northern Hallway</span> come unsettling noises: a loud crash, muted screams. I won't go.<span class='high-emphasis'>A piercing scream</span> makes me turn my head to the palace. In the first floor, a woman is trying to jump through the window, then a guard drags her inside. The window pours more screams, and I glimpse silhouettes struggling in the room. 'What's happening?' people around ask. <% s.flag['knowAboutViolence'] = true; %><% if (_.contains(s.fullHistory, '0-bigdanceinterrupted')) { %><% print("<p>'Again?' someone asks. 'Does it ever end?'</p>"); %><% }; %><span class='high-emphasis'>Suddenly</span>, I hear a racket of muted, confusing sounds coming from the top floor. The noise lasts a minute, then stops. All the conversations get quiet. People look at the ceiling, softly asking what is happening. <% if (_.contains(s.fullHistory, '0-fishupstairsenter')) { %><% print("<p>I fear for the fishermen.</p>"); %><% }; %><% s.exitList["Northern Hallway"] = [ "Nursery exit", "no exit", "Main Hallway exit", "no exit", "no exit", "no exit"]; %> <% s.exitList["Main Hallway"] = [ "Harmonic Room exit", "Northern Hallway exit", "Southern Hallway exit", "Map Cabinet exit", "no exit", "Portolan Gallery exit" ]; %> <% s.narration['Northern Hallway'].push('500-fishermensoldiersblood'); %><% if ( _.contains( _.keys(s.interrupt), 'Northern Hallway' )) { s.interrupt['Northern Hallway'] = _.without( s.interrupt['Northern Hallway'], 'interrupt-soldiersnorthernhallway'); } %><% if (_.contains(s.fullHistory, '0-fishupstairsenter')) { %><% print("<p><span class='high-emphasis'>The door</span> to the Premier's apartments is locked again. There's a red stain on the door. Looking at it gives me goosebumps.</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>There is a red stain</span> on the locked door to the Premier's apartments. Looking at it gives me goosebumps.</p>"); %><% }; %><% s.narration['garden'].push('500-fishermenincidentgossip'); %><% s.narration['ground floor'].push('500-fishermenincidentgossip'); %><span class='high-emphasis'>Groups are gathering everywhere for gossip.</span> 'Do you know anything about the fight?' 'What fight?' No one seems to know much. The guards went to the top floor and arrested a few people, but people don't know who or why. <% s.narration['garden'] = _.without( s.narration['garden'] , '500-fishermenincidentgossip' ); %><% s.narration['ground floor'] = _.without( s.narration['ground floor'] , '500-fishermenincidentgossip' ); %><% s.flag['knowAboutViolence'] = true; %><% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% if (s.charLocationPriority['Clara'] < 1) { s.charLocationPriority['Clara'] = 1;s.characterList['Clara'] = 'Marble Gallery, West'; print(story.render('updateLocationList') );}; %> <% s.characterList["Clara"] = "Marble Gallery, West"; s.charLocationPriority["Clara"] = 1; %><% if (s.charLocationPriority['Laurentin'] < 1) { s.charLocationPriority['Laurentin'] = 1;s.characterList['Laurentin'] = 'Garden Stairs'; print(story.render('updateLocationList') );}; %> <% s.characterList["Laurentin"] = "Garden Stairs"; s.charLocationPriority["Laurentin"] = 1; %><% if (s.charLocationPriority['Father'] < 1) { s.charLocationPriority['Father'] = 1;s.characterList['Father'] = 'Garden Stairs'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Garden Stairs"; s.charLocationPriority["Father"] = 1; %><% if (s.charLocationPriority['Bishop Martiale'] < 1) { s.charLocationPriority['Bishop Martiale'] = 1;s.characterList['Bishop Martiale'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Bishop Martiale"] = "Marble Gallery, East"; s.charLocationPriority["Bishop Martiale"] = 1; %><% if (s.charLocationPriority['Iliopoulos'] < 1) { s.charLocationPriority['Iliopoulos'] = 1;s.characterList['Iliopoulos'] = 'Ionic Treasury'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iliopoulos"] = "Ionic Treasury"; s.charLocationPriority["Iliopoulos"] = 1; %><% if (s.charLocationPriority['Cousin de Nil'] < 1) { s.charLocationPriority['Cousin de Nil'] = 1;s.characterList['Cousin de Nil'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Cousin de Nil"] = "Nowhere"; s.charLocationPriority["Cousin de Nil"] = 1; %><% if (s.charLocationPriority['Dean Petre'] < 1) { s.charLocationPriority['Dean Petre'] = 1;s.characterList['Dean Petre'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Dean Petre"] = "Nowhere"; s.charLocationPriority["Dean Petre"] = 1; %><% if (s.charLocationPriority['Premier'] < 1) { s.charLocationPriority['Premier'] = 1;s.characterList['Premier'] = 'Grand Entrance Hall'; print(story.render('updateLocationList') );}; %> <% s.characterList["Premier"] = "Grand Entrance Hall"; s.charLocationPriority["Premier"] = 1; %><% if (s.charLocationPriority['Iuvens'] < 1) { s.charLocationPriority['Iuvens'] = 1;s.characterList['Iuvens'] = 'Library'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iuvens"] = "Library"; s.charLocationPriority["Iuvens"] = 1; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Crying First';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev butler announces music upstairs';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*2 );targetEvent = 'ev Franchiens Start';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Gloria first enters the palace';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Mayor appears in Palace';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if ( _.contains(s.opport['Clara'], 'op Clara Greetings') == false ) { s.opport['Clara'].push('op Clara Greetings'); }; %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Severin Complain Dust') == false ) { s.opport['Marble Gallery, West'].push('op Severin Complain Dust'); }; %><% if ( _.contains(s.opport['Outside tables'], 'op Crime Tables Blind') == false ) { s.opport['Outside tables'].push('op Crime Tables Blind'); }; %><% if ( _.contains(s.opport['myself'], 'op Mayor Ask Location') == false ) { s.opport['myself'].push('op Mayor Ask Location'); }; %> <% s.narration['myself'].push('500-its seven'); %> <% targetTurn = Math.floor( s.timeSpeed*6 );targetEvent = 'Schedule - Seven thirty';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'Schedule - time change (quarters)';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><span class='high-emphasis'>It's seven.</span> Now people will really start to arrive and I should start taking care of affairs. I need to see the Mayor of Marina, because his city has provided a few licenses to women who needed to wear trousers; and I need one of those. <% s.reminders['marinamayorpermit'] = "I want to get a permit to dress like a man from the Mayor of Marina."; %><% targetTurn = s.turn+1;targetEvent = 'ev little lady victor';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.charLocationPriority['Marina Mayor'] < 1) { s.charLocationPriority['Marina Mayor'] = 1;s.characterList['Marina Mayor'] = 'Library'; print(story.render('updateLocationList') );}; %> <% s.characterList["Marina Mayor"] = "Library"; s.charLocationPriority["Marina Mayor"] = 1; %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Severin Complain Dust' ); %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Notice Climbing Pole';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*_.random(1,3) ));targetEvent = 'ev men who attended classes with irene';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (s.charLocationPriority['Laurentin'] < 1) { s.charLocationPriority['Laurentin'] = 1;s.characterList['Laurentin'] = 'Fountain'; print(story.render('updateLocationList') );}; %> <% s.characterList["Laurentin"] = "Fountain"; s.charLocationPriority["Laurentin"] = 1; %><% if (s.charLocationPriority['Dean Petre'] < 1) { s.charLocationPriority['Dean Petre'] = 1;s.characterList['Dean Petre'] = 'Blue Pavilion'; print(story.render('updateLocationList') );}; %> <% s.characterList["Dean Petre"] = "Blue Pavilion"; s.charLocationPriority["Dean Petre"] = 1; %> <% targetTurn = Math.floor( s.timeSpeed*12 );targetEvent = 'Schedule - Eight';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'Schedule - time change (quarters)';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Efendi Ask Dance') == false ) { s.opport['Marble Gallery, West'].push('op Efendi Ask Dance'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*10 ));targetEvent = 'ev Proteo Ottoman Dance Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Proteo Ask Dance') == false ) { s.opport['Marble Gallery, West'].push('op Proteo Ask Dance'); }; %><% s.narration['Marble Gallery, West'].push('500-marblegrandballbegun'); %><% s.narration['myself'].push('500-the ball has started'); %> <% if ( _.contains(s.opport['Library'], 'op Republican Debate Listen') == false ) { s.opport['Library'].push('op Republican Debate Listen'); }; %><% s.narration['Library'].push('100-ourhouseisonfiredebate'); %><% targetTurn = s.turn+1;targetEvent = 'ev Republican Debate Noise';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*10 ));targetEvent = 'ev Republican Debate Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.narration['first floor'] = _.without( s.narration['first floor'] , '500-womensouthhallway' ); %><% targetTurn = s.turn+1;targetEvent = 'ev Franchiens Fight Start';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*6 ));targetEvent = 'ev Talk Greek Painter Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Blind Romance Start Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Bird Near Pavilion';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Dust Coughing Woman';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev clara is fuming about crissina rumours';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Marble Gallery, East'] = _.without( s.opport['Marble Gallery, East'] , 'op Initial Curiosity Gallery' ); %><% s.opport['Marble Gallery, East'] = _.without( s.opport['Marble Gallery, East'] , 'op Initial Curiosity Franchiens' ); %> <% s.narration['Outside tables'].push('500-children laughing at puppeteer'); %><% s.opport['Kitchen'] = _.without( s.opport['Kitchen'] , 'op Music in Kitchen Ask Mood' ); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Music in Kitchen Ask Fiddler' ); %> <% targetTurn = s.turn+1;targetEvent = 'ev this morning heat';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (_.contains(s.fullHistory, 'op Mayor Ask Location')) { %><% } else { %><% targetTurn = s.turn+1;targetEvent = 'ev Mayor Late Warning';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %> <% if (_.contains(s.fullHistory, '0-talkiliopoulos')) { %><% s.narration['Iliopoulos'].push('500-iliopoulos looking at the sky'); %><% }; %> <% if (s.charLocationPriority['Father'] < 1) { s.charLocationPriority['Father'] = 1;s.characterList['Father'] = 'Library'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Library"; s.charLocationPriority["Father"] = 1; %><% if (s.charLocationPriority['Clara'] < 1) { s.charLocationPriority['Clara'] = 1;s.characterList['Clara'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Clara"] = "Marble Gallery, East"; s.charLocationPriority["Clara"] = 1; %><% if (s.charLocationPriority['Premier'] < 1) { s.charLocationPriority['Premier'] = 1;s.characterList['Premier'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Premier"] = "Marble Gallery, East"; s.charLocationPriority["Premier"] = 1; %><% if (s.charLocationPriority['Iliopoulos'] < 1) { s.charLocationPriority['Iliopoulos'] = 1;s.characterList['Iliopoulos'] = 'Garden Stairs'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iliopoulos"] = "Garden Stairs"; s.charLocationPriority["Iliopoulos"] = 1; %> <% targetTurn = Math.floor( s.timeSpeed*18 );targetEvent = 'Schedule - Eight thirty';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'Schedule - time change (quarters)';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% if (s.currentLocation == 'Marble Gallery, West') { %><% } else { %><span class='high-emphasis'>Time for the great ball</span> in the Western part of the Marble Gallery! I am the great dancer, the winner of dancing contests. They expect me there. <% }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Wheel Previous';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Tables Tarantella Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Light Admire River';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+1;targetEvent = 'ev two burburum are fighting';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*_.random(2, 7) ));targetEvent = 'ev a girl with a pretty cat';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.narration['Marble Gallery, West'].push('100-marelfamilyinmarble'); %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Laurentin wants a dance') == false ) { s.opport['Marble Gallery, West'].push('op Laurentin wants a dance'); }; %> <% if ( _.contains( _.keys(s.interrupt), 'Portrait Room' )) { s.interrupt['Portrait Room'] = _.without( s.interrupt['Portrait Room'], 'interrupt-portraitwomenmars'); } %><% s.narration['Portrait Room'] = _.without( s.narration['Portrait Room'] , '100-portraitwomenmars' ); %> <% s.narration['myself'] = _.without( s.narration['myself'] , '500-the ball has started' ); %> <% if (s.charLocationPriority['Father'] < 1) { s.charLocationPriority['Father'] = 1;s.characterList['Father'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Marble Gallery, East"; s.charLocationPriority["Father"] = 1; %><% if (s.charLocationPriority['Iliopoulos'] < 1) { s.charLocationPriority['Iliopoulos'] = 1;s.characterList['Iliopoulos'] = 'Outside tables'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iliopoulos"] = "Outside tables"; s.charLocationPriority["Iliopoulos"] = 1; %><% targetTurn = Math.floor( s.timeSpeed*21 );targetEvent = 'ev authorities go to the wheel';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% targetTurn = Math.floor( s.timeSpeed*24 );targetEvent = 'Schedule - Nine';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'Schedule - time change (quarters)';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% if (s.charLocationPriority['Marina Mayor'] < 1) { s.charLocationPriority['Marina Mayor'] = 1;s.characterList['Marina Mayor'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Marina Mayor"] = "Nowhere"; s.charLocationPriority["Marina Mayor"] = 1; %><% if (s.charLocationPriority['Bishop Martiale'] < 1) { s.charLocationPriority['Bishop Martiale'] = 1;s.characterList['Bishop Martiale'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Bishop Martiale"] = "Nowhere"; s.charLocationPriority["Bishop Martiale"] = 1; %><% if (s.charLocationPriority['Cousin de Nil'] < 1) { s.charLocationPriority['Cousin de Nil'] = 1;s.characterList['Cousin de Nil'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Cousin de Nil"] = "Nowhere"; s.charLocationPriority["Cousin de Nil"] = 1; %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Mayor Ask Location Again' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Mayor Ask Location' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %><% targetTurn = Math.floor( s.timeSpeed*30 );targetEvent = 'Schedule - Nine thirty';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'Schedule - time change (quarters)';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.charLocationPriority['Father'] < 100) { s.charLocationPriority['Father'] = 100;s.characterList['Father'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Nowhere"; s.charLocationPriority["Father"] = 100; %><% if (s.charLocationPriority['Clara'] < 1) { s.charLocationPriority['Clara'] = 1;s.characterList['Clara'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Clara"] = "Nowhere"; s.charLocationPriority["Clara"] = 1; %><% if (s.charLocationPriority['Premier'] < 100) { s.charLocationPriority['Premier'] = 100;s.characterList['Premier'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Premier"] = "Nowhere"; s.charLocationPriority["Premier"] = 100; %><% if (s.charLocationPriority['Iuvens'] < 1) { s.charLocationPriority['Iuvens'] = 1;s.characterList['Iuvens'] = 'Fountain'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iuvens"] = "Fountain"; s.charLocationPriority["Iuvens"] = 1; %><% if (s.charLocationPriority['Iliopoulos'] < 1) { s.charLocationPriority['Iliopoulos'] = 1;s.characterList['Iliopoulos'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iliopoulos"] = "Nowhere"; s.charLocationPriority["Iliopoulos"] = 1; %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Ball Marel Dance' ); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Ball second dance with Marel' ); %><% s.opport['Harmonic Room'] = _.without( s.opport['Harmonic Room'] , 'op Piano Concert Listen' ); %> <% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '100-marelfamilyinmarble' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-marblegrandballbegun' ); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Laurentin wants a dance' ); %> <% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-children laughing at puppeteer' ); %><% s.narration['garden'] = _.without( s.narration['garden'] , '500-this morning heat' ); %><% s.narration['garden'] = _.without( s.narration['garden'] , '500-weather in the woods' ); %> <% s.narration['Gloria'] = _.without( s.narration['Gloria'] , '500-irene first sees gloria from a distance' ); %><% s.narration['ground floor'] = _.without( s.narration['ground floor'] , '500-gloria seems to be gossipping about irene' ); %><% s.narration['Gloria'] = _.without( s.narration['Gloria'] , '500-irene sees gloria from a distance again' ); %> <% s.narration['Iliopoulos'] = _.without( s.narration['Iliopoulos'] , '500-iliopoulos looking at the sky' ); %> <% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '10-treasury1st' ); %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Romani women talking in fountain';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Dancers cheer me';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Children singing about murder';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% targetTurn = Math.floor( s.timeSpeed*36 );targetEvent = 'Schedule - Ten';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'Schedule - time change (quarters)';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*36 );targetEvent = 'ev Dinner Immediate';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*34 );targetEvent = 'ev Dinner Soon Warning';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*46 );targetEvent = 'ev Cousin Arrive';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev evening star in the sky';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (s.charLocationPriority['Iliopoulos'] < 2) { s.charLocationPriority['Iliopoulos'] = 2;s.characterList['Iliopoulos'] = 'Fountain'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iliopoulos"] = "Fountain"; s.charLocationPriority["Iliopoulos"] = 2; %><% s.narration['Iliopoulos'] = _.without( s.narration['Iliopoulos'] , '500-iliopoulos looking at the sky' ); %> <% s.opport['Gloria'] = _.without( s.opport['Gloria'] , 'op Gloria Greet' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Father Initial Greet' ); %><% s.opport['Clara'] = _.without( s.opport['Clara'] , 'op Clara Greetings' ); %> <% s.narration['garden'] = _.without( s.narration['garden'] , '500-a gust of chilly wind' ); %><% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% s.narration['garden'] = _.without( s.narration['garden'] , '500-evening star in the sky' ); %> <% if (s.charLocationPriority['Bishop Martiale'] < 2) { s.charLocationPriority['Bishop Martiale'] = 2;s.characterList['Bishop Martiale'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Bishop Martiale"] = "Nowhere"; s.charLocationPriority["Bishop Martiale"] = 2; %><% if (s.charLocationPriority['Father'] < 2) { s.charLocationPriority['Father'] = 2;s.characterList['Father'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Nowhere"; s.charLocationPriority["Father"] = 2; %><% if (s.charLocationPriority['Marina Mayor'] < 2) { s.charLocationPriority['Marina Mayor'] = 2;s.characterList['Marina Mayor'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Marina Mayor"] = "Nowhere"; s.charLocationPriority["Marina Mayor"] = 2; %><% if (s.charLocationPriority['Iliopoulos'] < 2) { s.charLocationPriority['Iliopoulos'] = 2;s.characterList['Iliopoulos'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iliopoulos"] = "Nowhere"; s.charLocationPriority["Iliopoulos"] = 2; %><% if (s.charLocationPriority['Cousin de Nil'] < 2) { s.charLocationPriority['Cousin de Nil'] = 2;s.characterList['Cousin de Nil'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Cousin de Nil"] = "Nowhere"; s.charLocationPriority["Cousin de Nil"] = 2; %><% if (s.charLocationPriority['Dean Petre'] < 2) { s.charLocationPriority['Dean Petre'] = 2;s.characterList['Dean Petre'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Dean Petre"] = "Nowhere"; s.charLocationPriority["Dean Petre"] = 2; %> <% s.opport['Clara'] = _.without( s.opport['Clara'] , 'op clara is correcting rumours about them' ); %> <% targetTurn = Math.floor( s.timeSpeed*42 );targetEvent = 'Schedule - Ten thirty';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'Schedule - time change (quarters)';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Dinner Close Doors';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+1;targetEvent = 'ev faint stars behind the haze';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% targetTurn = Math.floor( s.timeSpeed*48 );targetEvent = 'Schedule - Eleven';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'Schedule - time change (quarters)';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% targetTurn = Math.floor( s.timeSpeed*47 );targetEvent = 'ev two dogs run through the hall';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev two women argue the weather';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.narration['Fountain'].push('500-still burbur with kids in fountain'); %> <% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '0-dinnertablesstarting' ); %><% s.narration['garden'] = _.without( s.narration['garden'] , '500-faint stars behind the haze' ); %> <% s.narration['Garden Stairs'].push('1000-gallery lights against the dark'); %><% s.narration['Fountain'].push('500-another cool breeze in the garden'); %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Dark now in garden';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*_.random(1, 12) ));targetEvent = 'evn a boy with a big centipede';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (_.contains( s.fullHistory, '10-Irene and Iul leave the secret passage') || _.contains( s.fullHistory, '0-andropoltrytalking')) { %><% } else { %><% targetTurn = Math.floor( s.timeSpeed*_.random(46, 50) );targetEvent = 'ev orchestra is playing le reve';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %> <% if (_.contains( s.fullHistory, '10-Irene insists to father about conspiracy') || s.flag.hasCellarCompanion == true || _.contains( s.fullHistory, '15-Proteo follows Father')) { %><% targetTurn = Math.floor( s.timeSpeed*_.random(46, 52) );targetEvent = 'ev orchestra is playing le reve';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %> <% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% targetTurn = Math.floor( s.timeSpeed*54 );targetEvent = 'Schedule - Eleven thirty';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'Schedule - time change (quarters)';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Fishermen Upstairs Generic';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Children singing about murder';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Children dance in the Marble Gallery';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev two men and a parrot';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*_.random(3,5) ));targetEvent = 'ev frog in the fountain';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*_.random(2,5) ));targetEvent = 'ev different birds at night';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+_.random(1,7);targetEvent = 'ev duchess selen is crying';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (_.contains(s.fullHistory, '500-dancers cheer me')) { %><% } else { %><% s.narration['Outside tables'].push('500-dancers cheer me'); %><% }; %> <% s.narration['garden'].push('500-donkey in the dark'); %><% if (_.contains(s.fullHistory, '0-talkiliopoulos')) { %><% s.narration['Iliopoulos'].push('500-iliopoulos astonished by burburum'); %><% }; %> <% if (s.charLocationPriority['Bishop Martiale'] < 2) { s.charLocationPriority['Bishop Martiale'] = 2;s.characterList['Bishop Martiale'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Bishop Martiale"] = "Marble Gallery, East"; s.charLocationPriority["Bishop Martiale"] = 2; %><% if (s.charLocationPriority['Father'] < 2) { s.charLocationPriority['Father'] = 2;s.characterList['Father'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Marble Gallery, East"; s.charLocationPriority["Father"] = 2; %><% if (s.charLocationPriority['Clara'] < 2) { s.charLocationPriority['Clara'] = 2;s.characterList['Clara'] = 'Marble Gallery, West'; print(story.render('updateLocationList') );}; %> <% s.characterList["Clara"] = "Marble Gallery, West"; s.charLocationPriority["Clara"] = 2; %><% if (s.charLocationPriority['Iuvens'] < 2) { s.charLocationPriority['Iuvens'] = 2;s.characterList['Iuvens'] = 'Library'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iuvens"] = "Library"; s.charLocationPriority["Iuvens"] = 2; %><% if (s.charLocationPriority['Iliopoulos'] < 2) { s.charLocationPriority['Iliopoulos'] = 2;s.characterList['Iliopoulos'] = 'Blue Pavilion'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iliopoulos"] = "Blue Pavilion"; s.charLocationPriority["Iliopoulos"] = 2; %> <% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% targetTurn = Math.floor( s.timeSpeed*60 );targetEvent = 'Schedule - Twelve';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'Schedule - time change (quarters)';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Fishermen Upstairs Generic Incident';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-two women argue the weather' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-another cool breeze in the garden' ); %> <% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Fountain Put Hand' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Fountain Hand Again' ); %> <% s.narration['garden'].push('500-a star shines and disappears'); %> <% if (s.charLocationPriority['Bishop Martiale'] < 2) { s.charLocationPriority['Bishop Martiale'] = 2;s.characterList['Bishop Martiale'] = 'Marble Gallery, West'; print(story.render('updateLocationList') );}; %> <% s.characterList["Bishop Martiale"] = "Marble Gallery, West"; s.charLocationPriority["Bishop Martiale"] = 2; %><% if (s.charLocationPriority['Father'] < 2) { s.charLocationPriority['Father'] = 2;s.characterList['Father'] = 'Garden Stairs'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Garden Stairs"; s.charLocationPriority["Father"] = 2; %><% if (s.charLocationPriority['Clara'] < 2) { s.charLocationPriority['Clara'] = 2;s.characterList['Clara'] = 'Grand Entrance Hall'; print(story.render('updateLocationList') );}; %> <% s.characterList["Clara"] = "Grand Entrance Hall"; s.charLocationPriority["Clara"] = 2; %><% if (s.charLocationPriority['Iuvens'] < 2) { s.charLocationPriority['Iuvens'] = 2;s.characterList['Iuvens'] = 'Outside tables'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iuvens"] = "Outside tables"; s.charLocationPriority["Iuvens"] = 2; %> <% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-orchestra is playing le reve' ); %><% s.narration['Library'] = _.without( s.narration['Library'] , '500-orchestra is playing le reve' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-orchestra is playing le reve' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-orchestra is playing le reve' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-orchestra is playing le reve' ); %> <% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% targetTurn = Math.floor( s.timeSpeed*66 );targetEvent = 'Schedule - Twelve thirty';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'Schedule - time change (quarters)';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+1;targetEvent = 'ev Fishermen Incident Gossip';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Midnight Ceremony Warning';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (s.charLocationPriority['Bishop Martiale'] < 100) { s.charLocationPriority['Bishop Martiale'] = 100;s.characterList['Bishop Martiale'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Bishop Martiale"] = "Nowhere"; s.charLocationPriority["Bishop Martiale"] = 100; %><% if (s.charLocationPriority['Father'] < 100) { s.charLocationPriority['Father'] = 100;s.characterList['Father'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Nowhere"; s.charLocationPriority["Father"] = 100; %><% if (s.charLocationPriority['Marina Mayor'] < 100) { s.charLocationPriority['Marina Mayor'] = 100;s.characterList['Marina Mayor'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Marina Mayor"] = "Nowhere"; s.charLocationPriority["Marina Mayor"] = 100; %><% if (s.charLocationPriority['Iliopoulos'] < 100) { s.charLocationPriority['Iliopoulos'] = 100;s.characterList['Iliopoulos'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iliopoulos"] = "Nowhere"; s.charLocationPriority["Iliopoulos"] = 100; %><% if (s.charLocationPriority['Cousin de Nil'] < 100) { s.charLocationPriority['Cousin de Nil'] = 100;s.characterList['Cousin de Nil'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Cousin de Nil"] = "Nowhere"; s.charLocationPriority["Cousin de Nil"] = 100; %><% if (s.charLocationPriority['Dean Petre'] < 100) { s.charLocationPriority['Dean Petre'] = 100;s.characterList['Dean Petre'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Dean Petre"] = "Nowhere"; s.charLocationPriority["Dean Petre"] = 100; %> <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-still burbur with kids in fountain' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-romani women in fountain' ); %> <% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '1000-gallery lights against the dark' ); %><% s.narration['garden'] = _.without( s.narration['garden'] , '500-donkey in the dark' ); %> <% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '5000-Children dance in the Marble Gallery' ); %> <% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-the blind singer again' ); %> <% s.opport['Premier'] = _.without( s.opport['Premier'] , 'op Irene tells premier about conspiracy' ); %><% s.opport['Bishop Martiale'] = _.without( s.opport['Bishop Martiale'] , 'op Irene tells bishop about conspiracy' ); %><% s.opport['Iuvens'] = _.without( s.opport['Iuvens'] , 'op Irene tells iuvens about conspiracy' ); %><% s.opport['Clara'] = _.without( s.opport['Clara'] , 'op Irene tells clara about conspiracy' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %> <% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-dancers cheer me' ); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Dance a Little in tables' ); %><% s.opport['Harmonic Room'] = _.without( s.opport['Harmonic Room'] , 'op Harmonic Try Piano' ); %> <% s.eventIgnore.push('ev Permit Mayor Victory'); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Permit Mayor Victory' ); %><% s.narration['myself'] = _.without( s.narration['myself'] , '100-mayor is there victory op' ); %> <% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% s.currentTimeIndex = s.currentTimeIndex+1; %> <% s.currentTime = s.timeNames[s.currentTimeIndex]; %><% s.narration['myself'].push('100-little lady victor'); %><span class='high-emphasis'>'Little Lady Victor,'</span> a strange voice says. 'You should stay in your forest. This is not the safest place.' When I turn, I see a Burbur with a necklace of keys, her voice made deep by the skull that masks her face. <% print( story.render( "mars mechanism") ); %> Before I can say anything, she runs away.<% if ( _.contains(s.opport['Pseudopassage'], 'op Portrait Mars Aggresive') == false ) { s.opport['Pseudopassage'].push('op Portrait Mars Aggresive'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Portrait Mars Concilatory') == false ) { s.opport['Pseudopassage'].push('op Portrait Mars Concilatory'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>Women's voices</span> creep from the South Hallway.<span class='high-emphasis'>Among the unsmiling portraits</span> and even more solemn marble busts, the noise of chatter and laughter and wine glasses. There are some noblewomen; mostly those I expected to find here. 'Lady Victor!' says Ana Verel. 'We were talking about Lady Mars.' Their laughter is like the small birds in the Blue Pavilion: tame, caged and resentful. Oh, Ana, is this all you want from me? My embarrassment? You're *not* getting it.<div id='opPortraitMarsAggresive' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Answer aggressively</div><div class='opdesc'>They don't have anything to say about Lady Mars that I'm interested in hearing.</div></div></div><% $(function () { $('#opPortraitMarsAggresive').click(function () { $('#opPortraitMarsAggresive').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPortraitMarsAggresive'); s.fullHistory.push('op Portrait Mars Aggresive');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Portrait Mars Aggresive';});}); %> <% s.narration['Portrait Room'].push('0-portraitmarsaggresive'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Portrait Mars Concilatory' ); %><% if ( _.contains(s.opport['Father'], 'op Father Mars Gossip') == false ) { s.opport['Father'].push('op Father Mars Gossip'); }; %><% if ( _.contains(s.opport['Clara'], 'op Clara Mars Gossip') == false ) { s.opport['Clara'].push('op Clara Mars Gossip'); }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I look at Mrs. Verel</span> and her companions, all silk and velvet and pearls. Some challenge me with their eyes; other look away. 'I've seen Lady Mars recently and she's still as formidable a woman as any that has ever lived in Aurora,' I say, failing to get a cutting tone of voice. 'Oh, certainly!' Ana says. 'That's why it's so unfortunate that your aunt can't be here tonight. I'm afraid she'll be confined to her home for long.' 'I know she will miss the Burburum and the dances,' I say. 'But she won't have to endure the company of some... duplicitous people. I'm sure you know who,' I say, and turn my back to them. 'I wonder,' she says, too quiet to be addressing me but loud enough for me to hear, 'if illnesses of the imagination run in families.' I keep my back towards them.<div id='opPortraitMarsConcilatory' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Answer in a conciliatory manner</div><div class='opdesc'>Picking up a fight so early isn't good behaviour.</div></div></div><% $(function () { $('#opPortraitMarsConcilatory').click(function () { $('#opPortraitMarsConcilatory').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPortraitMarsConcilatory'); s.fullHistory.push('op Portrait Mars Concilatory');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Portrait Mars Concilatory';});}); %> <% s.narration['Portrait Room'].push('0-portraitmarsconcil'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Portrait Mars Aggresive' ); %><% if ( _.contains(s.opport['Father'], 'op Father Mars Gossip') == false ) { s.opport['Father'].push('op Father Mars Gossip'); }; %><% if ( _.contains(s.opport['Clara'], 'op Clara Mars Gossip') == false ) { s.opport['Clara'].push('op Clara Mars Gossip'); }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I look at Mrs. Verel</span> and her companions, all silk and velvet and pearls. Some challenge me with their eyes; other look away. What can I say? 'My aunt told me to give her greetings to you,' I say. 'She will miss her friends tonight, but she's feeling better lately.' 'I hope she won't be confined to her home for long,' Ana says, 'but that's not the impression she gives to people who see her.' 'She'll be happy to know that your prayers are with her,' I say, and turn my back to them. 'I wonder,' she says, too quiet to be addressing me but loud enough for me to hear, 'if illnesses of the imagination run in families.' I keep my back towards them.<div id='opFatherMarsGossip' class='oport story char'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Tell Father that people are ridiculing my aunt</div><div class='opdesc'>Such talk is not good for his reputation, but maybe he can use his authority.</div></div></div><% $(function () { $('#opFatherMarsGossip').click(function () { $('#opFatherMarsGossip').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFatherMarsGossip'); s.fullHistory.push('op Father Mars Gossip');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Father Mars Gossip';});}); %> <% s.narration['myself'].push('0-fathermarsgossip'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Father is sad</span> when I tell him that some women ridiculed Lady Mars in front of me. 'I'll tell Martiale to talk about her.' Does he believe no one will slander my aunt if a Bishop supports her? 'Have you told Clara about this? Don't. She would start an insult war right here if she knew.' Really, Father? It's *me* who wants to do exactly that. Aunt Crissina dreamt she was falling ill and dying and then she fell ill and now she's in everybody's mouth.<div id='opClaraMarsGossip' class='oport story char'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Tell Clara that people are ridiculing our aunt</div><div class='opdesc'>We should think of something to prevent jokes and insinuations from ruining our evening.</div></div></div><% $(function () { $('#opClaraMarsGossip').click(function () { $('#opClaraMarsGossip').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opClaraMarsGossip'); s.fullHistory.push('op Clara Mars Gossip');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Clara Mars Gossip';});}); %> <% s.narration['myself'].push('0-claramarsgossip'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Clara is alarmed</span> when I say I'm going to punch Ana Verel in the face if she mentions Lady Mars, aunt Crissina, again. 'I know you won't do that,' she says, 'but whatever you do, do you think the aunt would want that? Whatever you do, don't tell Gloria. You know that,' she warns, before reassuring me that she can insinuate certain things to Mrs. Verel that will quietly solve this problem. Oh Clara, you coward can't talk straight even once in your life. The aunt's dying of an illness she dreamt and she doesn't care about reputation and propriety.<div id='opGloriaMarsGossip' class='oport story char'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Tell Gloria that people are insulting our aunt</div><div class='opdesc'>Perhaps she can tell her friends to show some respect.</div></div></div><% $(function () { $('#opGloriaMarsGossip').click(function () { $('#opGloriaMarsGossip').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opGloriaMarsGossip'); s.fullHistory.push('op Gloria Mars Gossip');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Gloria Mars Gossip';});}); %> <% s.narration['myself'].push('0-gloriamarsgossip'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Gloria isn't impressed</span> when I tell her that Ana Verel and other women insulted our aunt Crissina, Lady Mars. 'You should do something about it. Mrs. Verel is more of a friend of yours than a friend of mine.' 'She was,' I admit, 'until I started studying natural history and her husband said I was a disgrace to him and the other members of the Academy.' Gloria isn't interested. She merely warns me not to talk to Father about this. 'It'll make him sad and worried and he isn't too clever when he's worried,' she says. And that's it. Gloria doesn't care.<% s.narration['Marble Gallery, East'].push('5000-clara is fuming about crissina rumours'); %><% s.narration['Marble Gallery, West'].push('5000-clara is fuming about crissina rumours'); %><% s.narration['Grand Entrance Hall'].push('5000-clara is fuming about crissina rumours'); %><% s.narration['Garden Stairs'].push('5000-clara is fuming about crissina rumours'); %><% targetTurn = Math.floor( s.timeSpeed*24 );targetEvent = 'ev clara is fuming about crissina rumours remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '5000-clara is fuming about crissina rumours' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '5000-clara is fuming about crissina rumours' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '5000-clara is fuming about crissina rumours' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '5000-clara is fuming about crissina rumours' ); %><span class='high-emphasis'>Clara comes close.</span> She's fuming. 'I didn't expect it to be so bad,' she says. 'It's *everyone*. Everyone has visited her. One says she had donkey ears. Other is saying that her eyes have turned red and smoke comes out of her eyes. Another says that she has shrunk to the size of a five year old, another that her voice is green, yes he said exactly that.' 'And everyone feels the need to tell us,' I answer, taking her hand. 'Bah.' That's the end of the conversation. <% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '5000-clara is fuming about crissina rumours' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '5000-clara is fuming about crissina rumours' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '5000-clara is fuming about crissina rumours' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '5000-clara is fuming about crissina rumours' ); %><% s.narration['Fountain'].push('5000-two burburum are fighting'); %><% s.narration['Grand Entrance Hall'].push('5000-two burburum are fighting'); %><% targetTurn = Math.floor( s.timeSpeed*23 );targetEvent = 'ev two burburum are fighting remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '5000-two burburum are fighting' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '5000-two burburum are fighting' ); %><% if (s.region[passage.name] == "garden") { %><% print("<p><span class='high-emphasis'>'Stop!'</span> someone cries nearby. I look in that direction: two Burburum are engaged in a fight. One of them is pulling the other's mask, trying to rip it off. They roll on the ground and crush a flower bed.</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>'Stop!'</span> someone cries nearby. I look in that direction: two Burburum are engaged in a fight. One of them is pulling the other's mask, trying to rip it off. They roll on the floor and knock a pedestal down.</p>"); %><% }; %> <% s.narration['myself'].push('10-two burburum fighting but other people stop them'); %><% if ( _.contains(s.opport['myself'], 'op Two burburum fight and i stop them') == false ) { s.opport['myself'].push('op Two burburum fight and i stop them'); }; %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '5000-two burburum are fighting' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '5000-two burburum are fighting' ); %><span class='high-emphasis'>I ignore the fighting Burburum.</span> Taking a quick look, I see a few men are already intervening to stop the fight. The Burburum don't resist for long. One of them has a necklace of keys, the other is horned and wears a dark cloak. <% s.opport['myself'] = _.without( s.opport['myself'] , 'op Two burburum fight and i stop them' ); %><div id='opTwoburburumfightandistopthem' class='oport story'><img class='optimg' src='img/opts/burburum_woman.jpg'><div class='optext'><div class='optitle'>Stop the fight between the Burburum</div><div class='opdesc'>This can never happen.</div></div></div><% $(function () { $('#opTwoburburumfightandistopthem').click(function () { $('#opTwoburburumfightandistopthem').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opTwoburburumfightandistopthem'); s.fullHistory.push('op Two burburum fight and i stop them');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Two burburum fight and i stop them';});}); %> <% s.narration['myself'] = _.without( s.narration['myself'] , '10-two burburum fighting but other people stop them' ); %><% s.narration['myself'].push('5000-two burburum fight and i stop them'); %><% if ( _.contains(s.opport['myself'], 'op Two burburum fight and Iuvens comments') == false ) { s.opport['myself'].push('op Two burburum fight and Iuvens comments'); }; %><% if ( _.contains(s.opport['myself'], 'op Two burburum fight and Effendi comments') == false ) { s.opport['myself'].push('op Two burburum fight and Effendi comments'); }; %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Burburum always fight.</span> But the mask must remain in place. I have never seen anyone try to unmask a Burbur. I try to put myself in the middle of the two Burburum, crying 'Stop!' all the time. Then some men pull and separate them. A Burbur is a woman with a necklace of keys and her head covered by an ox skull, and she was being attacked by the other, a man masked with a horned skull and wearing a dark red cloak. He was the one trying to rip the other's mask off. As soon as he sees us, he flees. The woman stares at me for a long moment, then she bows and walks in the opposite direction. <% print( story.render( "mars mechanism") ); %> Men ask me if I'm fine. There are two known faces: <% if (_.contains(s.fullHistory, '0-25yearsprosperitydebate')) { %><% print("<p>One is Cesarel Iuvens, whom I've just seen at the Library.</p>"); %><% } else { %><% print("<p>One is Cesarel Iuvens, a deviously brilliant speaker that I met in the University, a regular of Clara's salon and one of my suitors, if I choose to believe in gossip instead of believing in facts.</p>"); %><% }; %> <% if (_.contains(s.fullHistory, '0-efendiaskdance')) { %><% print("<p>The other is Azmi Effendi, whom I've just danced with.</p>"); %><% } else { %><% print("<p>The other is Azmi Effendi, an envoy from the Ottoman Sultan that I met a couple of weeks ago.</p>"); %><% }; %> <% targetTurn = s.turn+1;targetEvent = 'ev Burburum fight and men comment remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Two burburum fight and Iuvens comments' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Two burburum fight and Effendi comments' ); %><div id='opTwoburburumfightandIuvenscomments' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Comment the fight with Iuvens</div><div class='opdesc'>He's one of the brightest thinkers in the Canton.</div></div></div><% $(function () { $('#opTwoburburumfightandIuvenscomments').click(function () { $('#opTwoburburumfightandIuvenscomments').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opTwoburburumfightandIuvenscomments'); s.fullHistory.push('op Two burburum fight and Iuvens comments');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Two burburum fight and Iuvens comments';});}); %> <% s.narration['myself'].push('10-Two burburum fight and Iuvens comments'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'It's very strange</span> that a Burbur was trying to unmask another,' I say. Because it's against what they do. They spend months on their dances and disguises. New dances every year. 'The humble, the poor, the workers... they prepare for today all year. I know how poor people dance. I have danced with them.' 'Today is their poetry, their theatre,' says Cesarel. 'Burburum costumes.' An unending parade of unearthly shapes and colours. 'They break everything and arrange it again, they change the things that are into the things that could be. It's their spark.' 'Their genius.' 'Our land's genius.' 'Precisely.' And then I have a sudden intuition. 'The Burbur dressed in red. He was not a real Burbur.' Cesarel is surprised. 'But I think you are right. Something is happening here. I feel a hidden current, but I can't see it.' He leaves, engrossed on the idea.<div id='opTwoburburumfightandEffendicomments' class='oport story'><img class='optimg' src='img/opts/burburum_woman.jpg'><div class='optext'><div class='optitle'>Comment the fight with Effendi</div><div class='opdesc'>As a foreigner, he probably hasn't understood anything.</div></div></div><% $(function () { $('#opTwoburburumfightandEffendicomments').click(function () { $('#opTwoburburumfightandEffendicomments').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opTwoburburumfightandEffendicomments'); s.fullHistory.push('op Two burburum fight and Effendi comments');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Two burburum fight and Effendi comments';});}); %> <% s.narration['myself'].push('10-Two burburum fight and Effendi comments'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'You were brave</span> to try to stop them,' says Effendi. 'It's very strange that a Burbur was trying to unmask another,' I explain to the Ottoman envoy. 'It's forbidden. Each Burburum Day, they dress and undress alone. I know some people who are Burburum: my coachman was one, and his sons are now. But I don't know how they are disguised.' 'But don't they know who the other Burburum are?' 'No. There are no meetings, no club. Perhaps not even their wives and husbands know. And everyone respects that. It's the first time I ever see...' And then I have a sudden intuition: the Burbur dressed in red was not a real Burbur. Effendi tells me how much he's enjoying the evening, and reminds me that he and his friends would appreciate my company. But I barely hear him: I'm engrossed on my thoughts.<% s.flagMars = s.flagMars+1 %> <% if (s.flagMars == 2) { %><% print("<p> She's the same Burbur I saw before. Again in peculiar circumstances. And now that I think of it... there is something about her... but I can't put my finger on it.</p>"); %><% }; %> <% if (s.flagMars == 3) { %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev irene remembers the burbur with keys';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% print("<p>That Burbur with keys... she's familiar. Somehow. How? </p>"); %><% }; %> <% if (s.flagMars == 4) { %><% print("<p>Yes, she can be my aunt Crissina. The Burbur. The aunt who's dying of an illness of the imagination.</p>"); %><% }; %><% s.narration['myself'].push('500-irene remembers the burbur with keys'); %><span class='high-emphasis'>A necklace of old keys.</span> A large skull that looks like an ox or a cow. The image nags me. I have seen that: a long time ago. *I look delightfully at a string of keys in my hands, surrounded by laughter, Father's laughter among others.* Is that a real memory? When did it happen? Perhaps Father can tell me. <% if ( _.contains(s.opport['Father'], 'op Ask father about burbur with keys') == false ) { s.opport['Father'].push('op Ask father about burbur with keys'); }; %><% targetTurn = Math.floor( s.timeSpeed*50 );targetEvent = 'ev Burbur Keys Gallery';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><div id='opAskfatheraboutburburwithkeys' class='oport story'><img class='optimg' src='img/opts/old_hand.jpg'><div class='optext'><div class='optitle'>Ask Father about the Burbur with a key necklace</div><div class='opdesc'>I had a memory. I know her. Perhaps Father does too.</div></div></div><% $(function () { $('#opAskfatheraboutburburwithkeys').click(function () { $('#opAskfatheraboutburburwithkeys').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAskfatheraboutburburwithkeys'); s.fullHistory.push('op Ask father about burbur with keys');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Ask father about burbur with keys';});}); %> <% s.narration['myself'].push('10-Ask father about burbur with keys'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I tell Father about the Burbur</span>. 'Keys, keys, keys.' He's thinking hard. 'So old. I can't endure this night until the last ceremony. The leg hurts and memory doesn't serve me anymore. Keys.' 'Keys and people laughing,' I say. 'Do you remember that your uncle Bastienel used to dress as a Burbur? He wore a key necklace.' Yes. My mind blazes with the image. I half hear what Father says. 'It was very unusual that a man of his position dressed as a Burbur, and the few people who knew lambasted him for it.' *The keys in my hands. Laughter: Father, Mother, Gloria, uncle Bastienel, aunt Crissina.* I grin, and Father smiles. Then I turn serious. 'Nothing.' I'm not going to tell him. The Burbur with the keys was a woman. Lady Crissina Mars, having dug up her late husband's disguise from some forgotten trunk? It makes no sense, but I feel it. I am right. And nothing about Crissina makes sense nowadays. <% s.reminders['I want to discover if the Burbur with a key necklace is aunt Crissina Mars.'] = ""; %><span class='high-emphasis'>She's sitting on the piano stool</span> when I enter the Harmonic Room. She has led me here but I don't want her to think the situation is under her control. I must make her feel trapped. I need to look imposing and ruthless: things that couldn't be further from me. I make sure the door is closed while I keep my eyes fixed on her.<div id='opIrenetellsBurbursheknowsshesCrissina' class='oport story'><img class='optimg' src='img/opts/burbur_face.jpg'><div class='optext'><div class='optitle'>Tell Crissina to take off the mask</div><div class='opdesc'>I know it's her.</div></div></div><% $(function () { $('#opIrenetellsBurbursheknowsshesCrissina').click(function () { $('#opIrenetellsBurbursheknowsshesCrissina').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenetellsBurbursheknowsshesCrissina'); s.fullHistory.push('op Irene tells Burbur she knows shes Crissina');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene tells Burbur she knows shes Crissina';});}); %> <% s.narration['Pseudopassage'].push('0-irene tells burbur shes crissina'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Mars Harmonic Beating') == false ) { s.opport['Pseudopassage'].push('op Mars Harmonic Beating'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Identity' ); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Burbur Follow Harmonic Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I know it's you,'</span> I say, and I know I'm sure and I hear a firm voice in my ears but I feel a trembling voice in my throat. 'I would prefer to speak to you face to face, Crissina.' To my surprise, she does it right away, removing the wig first, letting her own hair loose, and then taking off the skull. Aunt Crissina Mars stares at me with her characteristic irony: a sign of the intelligence that all the women in my family have but, in her case, an intelligence of a nature so different to Mother's, her most beloved sister. Aunt Crissina Mars, who is dying of an 'illness of the imagination'. A dream sickness. Each limb in pain, each new blemish in a bizarre colour, each strange click when moving a joint, appears first in her dreams, and only afterwards in her body. Out of a sudden whim, I kiss her. 'Be quick,' she says. 'I have places to be. Urgently.'<div id='opMarsHarmonicIdentity' class='oport story'><img class='optimg' src='img/opts/burburum_woman.jpg'><div class='optext'><div class='optitle'>Ask the Burbur her identity</div><div class='opdesc'>Tell her to remove the mask.</div></div></div><% $(function () { $('#opMarsHarmonicIdentity').click(function () { $('#opMarsHarmonicIdentity').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMarsHarmonicIdentity'); s.fullHistory.push('op Mars Harmonic Identity');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mars Harmonic Identity';});}); %> <% s.narration['Pseudopassage'].push('0-marsharmonicidentity'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Mars Harmonic Beating') == false ) { s.opport['Pseudopassage'].push('op Mars Harmonic Beating'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene tells Burbur she knows shes Crissina' ); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Burbur Follow Harmonic Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'That mask is a nuisance,'</span> I say. 'I would prefer to speak to you face to face.' To my surprise, she does it right away, removing the wig first, letting her own hair loose, and then taking off the skull. Aunt Crissina Mars stares at me with her characteristic irony: a sign of the intelligence that all the women in my family have but, in her case, an intelligence of a nature so different to Mother's, her most beloved sister. Aunt Crissina Mars, who is dying of an 'illness of the imagination'. A dream sickness. Each limb in pain, each new blemish in a bizarre colour, each strange click when moving a joint, appears first in her dreams, and only afterwards in her body. Out of a sudden whim, I kiss her. 'Be quick,' she says. 'I have places to be. Urgently.'<div id='opMarsHarmonicBeating' class='oport story'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>Ask about the butler</div><div class='opdesc'>Did I just kiss this woman? She almost killed the butler a minute ago.</div></div></div><% $(function () { $('#opMarsHarmonicBeating').click(function () { $('#opMarsHarmonicBeating').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMarsHarmonicBeating'); s.fullHistory.push('op Mars Harmonic Beating');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mars Harmonic Beating';});}); %> <% s.narration['Pseudopassage'].push('0-marsharmonicbeating'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Mars Harmonic Butler') == false ) { s.opport['Pseudopassage'].push('op Mars Harmonic Butler'); }; %> <% if (_.contains(s.fullHistory, '0-helpseverindanceburbur')) { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Mars Harmonic Severin') == false ) { s.opport['Pseudopassage'].push('op Mars Harmonic Severin'); }; %><% }; %><% if (_.contains(s.fullHistory, '10-ask children about murder song')) { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Mars Harmonic Children') == false ) { s.opport['Pseudopassage'].push('op Mars Harmonic Children'); }; %><% }; %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Mars Harmonic Following') == false ) { s.opport['Pseudopassage'].push('op Mars Harmonic Following'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Mars Harmonic Necklace') == false ) { s.opport['Pseudopassage'].push('op Mars Harmonic Necklace'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Mars Harmonic Illness') == false ) { s.opport['Pseudopassage'].push('op Mars Harmonic Illness'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Mars Harmonic Leave') == false ) { s.opport['Pseudopassage'].push('op Mars Harmonic Leave'); }; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Mars Harmonic Last';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><% targetTurn = s.turn+1;targetEvent = 'ev Mars Harmonic End';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Pseudopassage'].push('500-marsharmonicend'); %>After some moments of silence, Crissina says: 'I don't have time. One more question.'<% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Butler' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Severin' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Following' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Necklace' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Illness' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Children' ); %><span class='high-emphasis'>I must try to be tough on her.</span> 'What were you doing down in the basement?' 'This mask is heavier than it seems and it hinders breathing. I'm a sick old woman too. I'm enjoying myself, Irene. Do you realize that I'm not going to be in this world for next Burburum Day?' My heart sinks. 'You don't know that. And if it were true, why aren't you spending the night with us?' 'Two reasons,' says Crissina. 'First, I'm sick and all are afraid of me. Second, I've been watching you, and you haven't sat down to talk to your family since you came in. You are constantly engaging in business I don't understand. You are not *behaving* like a lady. You should wear this disguise more than me.' I'm not admitting that. 'But there's a lot you have to answer for,' I say defiantly. She laughs softly. 'Be quick,' she says.<div id='opMarsHarmonicButler' class='oport story'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>Ask her about the butler</div><div class='opdesc'></div></div></div><% $(function () { $('#opMarsHarmonicButler').click(function () { $('#opMarsHarmonicButler').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMarsHarmonicButler'); s.fullHistory.push('op Mars Harmonic Butler');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mars Harmonic Butler';});}); %> <% s.narration['Pseudopassage'].push('0-marsharmonicbutler'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Crissina...</span> I just can't,' I say, and I see nothing but a black wall. 'I've just seen you killing somebody.' 'Oh, no,' she says. But the tone is mocking. 'We didn't kill him. We need to know what he knows. He was in a secret meeting today. He had disguised to bring back a message, unnoticed. We need to know the message, because it was for the enemy.' 'Which enemy?' 'Ask the poor!' says Crissina with a note of exhaustion. 'They know about the Army and the secret societies! The Ring!' And I see her eyes *literally* dim for a moment, they change from brown to a lifeless gray and the white becomes dry and dull. And then they are normal again. 'But he wouldn't say,' she continues. 'The ring conspirators will do something very soon, tonight perhaps, and then annul the Covenant and make the Canton subject to the absolute King. Why are you looking at me like that?' I know I saw that in her eyes. Crissina has a sickness of the imagination.<div id='opMarsHarmonicSeverin' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Ask about the dance with Lady Severin</div><div class='opdesc'></div></div></div><% $(function () { $('#opMarsHarmonicSeverin').click(function () { $('#opMarsHarmonicSeverin').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMarsHarmonicSeverin'); s.fullHistory.push('op Mars Harmonic Severin');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mars Harmonic Severin';});}); %> <% s.narration['Pseudopassage'].push('0-marsharmonicseverin'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'And what about Lady Severin?'</span> I ask. 'Why did you bring her to me?' 'I'm not explaining everything I do to you' she curtly says. 'Ask your friend, Iuvens. Or his friends, the winemakers.' 'She was terrified.' Her smiling face gleams with malice. 'When I meet your mother again I'll tell her that. She will rejoice.' I stare at her open-mouthed. 'Sometimes she worried about your father a lot more than himself.' 'I don't even want to know what you mean with that.'<div id='opMarsHarmonicFollowing' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Ask her why she followed me</div><div class='opdesc'></div></div></div><% $(function () { $('#opMarsHarmonicFollowing').click(function () { $('#opMarsHarmonicFollowing').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMarsHarmonicFollowing'); s.fullHistory.push('op Mars Harmonic Following');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mars Harmonic Following';});}); %> <% s.narration['Pseudopassage'].push('0-marsharmonicfollowing'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Why have you been watching me?'</span> I ask. 'There's more important things you should be doing,' she says. 'What?' Now I see an irritating old woman. 'Watching my suitors? Other girl's dresses? What do you care? And who are you to say?' 'Because you are one of a kind,' she answers. 'Not really: you are the same kind that your mother was. Haven't you felt that tonight was different? Things are changing, history is changing. You are one of the few that could do something about it. Who could listen to everyone who will suffer those changes. But instead you want to retire to a forest! 'I don't know what changes you are talking about. Are you mad? What can I do about history? I just want the right to spend some time alone, Crissina.' 'To be honest, I wish you didn't have that luxury.'<div id='opMarsHarmonicNecklace' class='oport story'><img class='optimg' src='img/opts/key.jpg'><div class='optext'><div class='optitle'>Tell her I like her key necklace</div><div class='opdesc'></div></div></div><% $(function () { $('#opMarsHarmonicNecklace').click(function () { $('#opMarsHarmonicNecklace').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMarsHarmonicNecklace'); s.fullHistory.push('op Mars Harmonic Necklace');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mars Harmonic Necklace';});}); %> <% s.narration['Pseudopassage'].push('0-marsharmonicnecklace'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I didn't recognize the key necklace before.</span> I should have. Now I remember that I loved it when I was little,' I say, trying to smile, trying to be nostalgic. 'Uncle Bastienel wore that disguise too. I thought it was so droll. It didn't make me afraid like other Burburum. How could I not remember this?' Crissina crosses her arms. Her face is serious and judgemental. 'Did I say anything wrong?' I ask, a little frightened. 'I'm waiting for you to say something worthy', she answers. 'I don't have time to waste, not tonight, not for the rest of my life. Is there anything important that you have to ask?'<div id='opMarsHarmonicIllness' class='oport story'><img class='optimg' src='img/opts/old_hand.jpg'><div class='optext'><div class='optitle'>Ask about her illness</div><div class='opdesc'></div></div></div><% $(function () { $('#opMarsHarmonicIllness').click(function () { $('#opMarsHarmonicIllness').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMarsHarmonicIllness'); s.fullHistory.push('op Mars Harmonic Illness');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mars Harmonic Illness';});}); %> <% s.narration['Pseudopassage'].push('0-marsharmonicillness'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'How is your health?'</span> I ask. 'How would I know?' she says with a sneer. 'The skin in my belly is turning purple and it smells like a bakery. I would think that I'm going to die tomorrow, but it doesn't hurt. And I haven't dreamt that I'm going to die yet. I'm sure I will.' Her tone is unsettling. 'Your calm frightens me even more than your sickness.' 'I have lost two husbands. A twenty-three year old spinster wouldn't understand.' 'You aren't being too nice to me,' I say. 'Dead husbands and dream diseases. Everything about you is ridiculous.' 'Don't be mean to a moribund,' she says, and starts laughing.<div id='opMarsHarmonicChildren' class='oport story'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>And the song she taught to children?</div><div class='opdesc'>A song about murder. Today.</div></div></div><% $(function () { $('#opMarsHarmonicChildren').click(function () { $('#opMarsHarmonicChildren').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMarsHarmonicChildren'); s.fullHistory.push('op Mars Harmonic Children');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mars Harmonic Children';});}); %> <% s.narration['Pseudopassage'].push('10-mars harmonic children'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Why did you teach children</span> a song about a murder in Burburum Day?' I ask. 'Because everyone knows that something bad is going to happen soon, except those who don't know the city they live in. Like you and most of your friends from Clara's salon.' 'We know our city! We talk about it all the time.' 'And you come to the wrong conclusions, because you think that you are winning. You think that tyranny has been banished from here. You don't see it's everywhere, and you won't listen to anyone who tells you otherwise. Perhaps you'll listen to children.' 'But a murder! Who's murdering who?' 'I don't know,' she says.<div id='opMarsHarmonicLeave' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Finish the conversation and leave</div><div class='opdesc'></div></div></div><% $(function () { $('#opMarsHarmonicLeave').click(function () { $('#opMarsHarmonicLeave').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMarsHarmonicLeave'); s.fullHistory.push('op Mars Harmonic Leave');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mars Harmonic Leave';});}); %> <% s.narration['Harmonic Room'].push('0-marsharmonicleave'); %> <% if (_.contains(s.fullHistory, '0-marsharmonicbutler')) { %><% if ( _.contains(s.opport['Harmonic Room'], 'op Mars Harmonic Warning') == false ) { s.opport['Harmonic Room'].push('op Mars Harmonic Warning'); }; %><% if ( _.contains(s.opport['Harmonic Room'], 'op Mars Harmonic Threat') == false ) { s.opport['Harmonic Room'].push('op Mars Harmonic Threat'); }; %><% }; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Mars Dust Write Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Butler' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Severin' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Following' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Necklace' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Illness' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Mars Harmonic Children' ); %><% s.eventIgnore.push('ev Mars Harmonic Last'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I'm nervous and uncomfortable.</span> 'I don't think I have anything else to say.' 'Irene, you must be careful and watch out. I trust you. You are the most gifted woman since your mother. And I'm sure that some people are up to something. I've seen it before and I recognize the signs.' 'What are you talking about? A revolution?' 'No, silly! The other way round!' she laughs, and puts her mask on again. She leaves me pondering her warning alone. I see a table that hasn't been dusted. My finger leaves a clear trail on it. <% $('body').addClass('hideambientops'); %><% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><% s.opport['Harmonic Room'] = _.without( s.opport['Harmonic Room'] , 'op Mars Harmonic Warning' ); %><% s.opport['Harmonic Room'] = _.without( s.opport['Harmonic Room'] , 'op Mars Harmonic Threat' ); %><div id='opMarsHarmonicWarning' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Write a warning on the dust</div><div class='opdesc'>To anyone who needs to be aware of power.</div></div></div><% $(function () { $('#opMarsHarmonicWarning').click(function () { $('#opMarsHarmonicWarning').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMarsHarmonicWarning'); s.fullHistory.push('op Mars Harmonic Warning');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mars Harmonic Warning';});}); %> <% s.narration['Harmonic Room'].push('0-writedustwarning'); %><% s.opport['Harmonic Room'] = _.without( s.opport['Harmonic Room'] , 'op Mars Harmonic Threat' ); %><% function gotDelay() {story.show('Harmonic Room');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The dust is bright on the table</span> but dull on my finger. I slide my finger and write a message. *Be careful of the men of the Ring*<div id='opMarsHarmonicThreat' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Write a threat on the dust</div><div class='opdesc'>To the powerful.</div></div></div><% $(function () { $('#opMarsHarmonicThreat').click(function () { $('#opMarsHarmonicThreat').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMarsHarmonicThreat'); s.fullHistory.push('op Mars Harmonic Threat');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mars Harmonic Threat';});}); %> <% s.narration['Harmonic Room'].push('0-writedustthreat'); %><% s.opport['Harmonic Room'] = _.without( s.opport['Harmonic Room'] , 'op Mars Harmonic Warning' ); %><% function gotDelay() {story.show('Harmonic Room');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The dust is bright on the table</span> but dull on my finger. I slide my finger and write a message. 'Men of the Ring, be wary of us'<% if (passage.name != "Nursery" && passage.name != "Map Cabinet" && passage.name != "Covenant Office" && passage.name != "Ionic Treasury" && passage.name != "River pier" && passage.name != "Pantry" && passage.name != "Laundry" && passage.name != "Portolan Gallery" && passage.name != "Northern Hallway" && passage.name != "Portrait Room" && passage.name != "Council Room") { %> <div id='opMayorAskLocation' class='oport story ambient'><img class='optimg' src='img/opts/trousers.jpg'><div class='optext'><div class='optitle'>Ask a servant where the Marina Mayor is</div><div class='opdesc'>He is the most person I need to talk to. </div></div></div><% $(function () { $('#opMayorAskLocation').click(function () { $('#opMayorAskLocation').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMayorAskLocation'); s.fullHistory.push('op Mayor Ask Location');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mayor Ask Location';});}); %> <% s.narration['myself'].push('0-askservantmayorlocation'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*10 ));targetEvent = 'ev Mayor Ask Location Again';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %> <% }; %><span class='high-emphasis'>The Marina Mayor</span> won't be available for most of the night, since he has to attend to his obligations as an authority. I need to find him soon. I ask a passing servant. <% if (s.currentTime == "Seven") { %><% print("<p>'I am quite sure that he hasn't arrived yet, Madam,' he says. Disappointing.</p>"); %><% } else { %><% if (s.characterList["Marina Mayor"] == "Nowhere") { %><% print("<p>'I don't think he is available at the moment, Lady Victor,' he says.</p>"); %><% } else { %>'I saw him in the <%= s.characterList["Marina Mayor"] %> not long ago, Madam,' he says. <% }; %><% }; %><% s.narration['myself'].push('500-mayorlatewarning'); %><span class='high-emphasis'>It's getting late</span> and I still haven't spoken to the Marina Mayor!<% if (_.contains(s.fullHistory, '9999-marinamayorishere')) { %><% } else { %><% if ( _.contains(s.opport['myself'], 'op Mayor Ask Location Again') == false ) { s.opport['myself'].push('op Mayor Ask Location Again'); }; %><% s.narration['myself'].push('500-mayorlatewarning'); %><% }; %><% if (passage.name != "Nursery" && passage.name != "Map Cabinet" && passage.name != "Covenant Office" && passage.name != "Ionic Treasury" && passage.name != "River pier" && passage.name != "Pantry" && passage.name != "Laundry" && passage.name != "Portolan Gallery" && passage.name != "Northern Hallway" && passage.name != "Portrait Room" && passage.name != "Council Room") { %> <div id='opMayorAskLocationAgain' class='oport story ambient'><img class='optimg' src='img/opts/trousers.jpg'><div class='optext'><div class='optitle'>Ask a servant where the Marina Mayor is</div><div class='opdesc'>It's getting late. I need to find him a soon as possible. </div></div></div><% $(function () { $('#opMayorAskLocationAgain').click(function () { $('#opMayorAskLocationAgain').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMayorAskLocationAgain'); s.fullHistory.push('op Mayor Ask Location Again');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Mayor Ask Location Again';});}); %> <% s.narration['myself'].push('0-askservantmayorlocationagain'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %> <% }; %><span class='high-emphasis'>Speaking to the Marina Mayor is a serious matter</span> that could have important consequences for my life. Not a bit of dancing. 'I saw the Mayor at the <%= s.characterList["Marina Mayor"] %> not long ago, Madam,' the servant says, 'but I don't expect him to be there for long, he will be busy with the Wheel of Grievances.'<span class='high-emphasis'>And at last</span> I see the person I was most looking for today: the Marina Mayor. <% s.opport['myself'] = _.without( s.opport['myself'] , 'op Mayor Ask Location' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Mayor Ask Location Again' ); %><% if ( _.contains(s.opport['Marina Mayor'], 'op Permit Mayor Greet') == false ) { s.opport['Marina Mayor'].push('op Permit Mayor Greet'); }; %><div id='opPermitMayorGreet' class='oport story char'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>At last! The Mayor of Marina!</div><div class='opdesc'>Finally, the person I most need to talk to is there.</div></div></div><% $(function () { $('#opPermitMayorGreet').click(function () { $('#opPermitMayorGreet').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitMayorGreet'); s.fullHistory.push('op Permit Mayor Greet');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Mayor Greet';});}); %> <% s.narration['Pseudopassage'].push('0-marinamayorgreet'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Mayor Chat') == false ) { s.opport['Pseudopassage'].push('op Permit Mayor Chat'); }; %><% s.eventIgnore.push('ev Mayor Late Warning'); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'Mayor Proctor,'</span> I say while I bow. The old man kisses my hand and stares at me with an air of confusion. I must not let myself be deceived. '*Mademoiselle* Victor, you remind me of some young women who came in my youth, French women who fled their Revolution. Combative when important things are at stake. It is an admirable trait and it runs in the family, I think.'<div id='opPermitMayorChat' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Talk to the Mayor</div><div class='opdesc'>He's my father's friend. We can chat a little before I ask about my problem.</div></div></div><% $(function () { $('#opPermitMayorChat').click(function () { $('#opPermitMayorChat').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitMayorChat'); s.fullHistory.push('op Permit Mayor Chat');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Mayor Chat';});}); %> <% s.narration['Pseudopassage'].push('0-chattomarinamayor'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Mayor Cautious') == false ) { s.opport['Pseudopassage'].push('op Permit Mayor Cautious'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Mayor Direct') == false ) { s.opport['Pseudopassage'].push('op Permit Mayor Direct'); }; %><% s.flagRemainingSupporters = 3; %> <% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I remember the Mayor's cold, judgemental look</span> after his polite questions about my sewing or music lessons, when he was a guest at Victor House, for all my life. Then I changed the most common feminine activities for dancing and natural history, and he kept asking and never giving an opinion. 'You flatter me with that comparison, sir,' I say. 'Not at all,' he answers, 'I've been told about your current interest and I think that the comparison is suitable.' I stare at him in bewilderment, unable to think, at a loss for words. How does he know? And what do I do now? 'I gather you are surprised,' he continues. 'You should not. The well-being of your family is, after all, a matter of public interest for the Canton. And I'm not the only one who will defend it.'<div id='opPermitMayorCautious' class='oport story'><img class='optimg' src='img/opts/eyes.jpg'><div class='optext'><div class='optitle'>Be cautious</div><div class='opdesc'>What he's talking about is still unclear. I better sound him out before asking.</div></div></div><% $(function () { $('#opPermitMayorCautious').click(function () { $('#opPermitMayorCautious').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitMayorCautious'); s.fullHistory.push('op Permit Mayor Cautious');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Mayor Cautious';});}); %> <% s.narration['Pseudopassage'].push('0-talkcautiouslytomayor'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Mayor Escape') == false ) { s.opport['Pseudopassage'].push('op Permit Mayor Escape'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Mayor Advice') == false ) { s.opport['Pseudopassage'].push('op Permit Mayor Advice'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Permit Mayor Direct' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I don't believe I merit such kindness,'</span> I say. 'I don't value things so much for their past utility as for what they can do now,' the Mayor says. I decide to ignore his choice of words. 'Is there anything that should be done now?' I ask. 'You had a *warning*, didn't you? You should consider what to do regarding that.' I feel blood flowing away from my face, my hands, my whole body turning cold. Now I'm sure I don't know what he's talking about, but it sounds threatening in a vague way. Doesn't it?<div id='opPermitMayorEscape' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Escape</div><div class='opdesc'>Better say something vague and finish this conversation before it turns even more alarming.</div></div></div><% $(function () { $('#opPermitMayorEscape').click(function () { $('#opPermitMayorEscape').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitMayorEscape'); s.fullHistory.push('op Permit Mayor Escape');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Mayor Escape';});}); %> <% s.narration[s.returnRef].push('0-escapemayorconversation'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Permit Mayor Advice' ); %><% s.log.push("The Mayor of Marina gave me some vague warning, and I renounced to get a permit to wear trousers."); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>My voice shakes under his scrutiny</span>. 'Yes, I was warned in time, I believe, to do what is advisable.' He seems satisfied with this vague commitment. The conversation doesn't linger much after that; I hope I have really hidden how much he's scared me. What warning? There are very few who know about my interest in getting a permit to dress like a man, and I don't think any of them could betray me. But someone has. And now it seems like they are warning me not to try to get it. *Damn!* I expected it would be difficult to get, not that it would be denied before asking. So, the most simple and logical of expectations: wearing trousers when I'm in the woods is a hope I need to give up. I feel abused. Even worse: cheated. I thought I could at least say out loud what I need. Isn't this what our Canton is supposed to encourage? <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opPermitMayorAdvice' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Ask for advice</div><div class='opdesc'>I can try to get him to tell me more, without making it obvious that I don't understand.</div></div></div><% $(function () { $('#opPermitMayorAdvice').click(function () { $('#opPermitMayorAdvice').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitMayorAdvice'); s.fullHistory.push('op Permit Mayor Advice');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Mayor Advice';});}); %> <% s.narration['Pseudopassage'].push('0-requestmayoradvice'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Mayor Moment') == false ) { s.opport['Pseudopassage'].push('op Permit Mayor Moment'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Permit Mayor Escape' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Can I request your advice?'</span> I ask, trying not so sound scared. 'There's a lot of stubbornness in every side,' he says, 'but I think it's obvious which side is the weakest, the most probable loser,' he pauses, 'and that's Gloria.' My sister? So he was talking about the note I got today, and not about me! I sigh in relief, but fear comes after: how many people are concerned with my sister? And why? 'I assure you I will protect the name of my family,' I say, without knowing what that vague commitment could entail, and the mayor smiles.<div id='opPermitMayorMoment' class='oport story'><img class='optimg' src='img/opts/trousers.jpg'><div class='optext'><div class='optitle'>A good moment to ask</div><div class='opdesc'>I will tell him now about my permit to wear men's clothes.</div></div></div><% $(function () { $('#opPermitMayorMoment').click(function () { $('#opPermitMayorMoment').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitMayorMoment'); s.fullHistory.push('op Permit Mayor Moment');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Mayor Moment';});}); %> <% s.narration['Pseudopassage'].push('0-momentaskmayor'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Mayor Condition') == false ) { s.opport['Pseudopassage'].push('op Permit Mayor Condition'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Mayor,' I say</span>, 'do you know that one of the prides of our land, once magnificent Old Shipbuilders' Forest, is in a terrible state of neglect?' I tell him of the weeks I have spent in the forest, doing natural history studies. Unsurprisingly, he's already aware of it all. 'You have been a discussion partner for my father for years; you know his willingness to support the sciences. Don't you think that my activities are honouring my Father's teachings, and our Canton's glorious traditions?' I implore. *Let me wear trousers like a man.* 'All that is true. But a lady wearing male clothes is improper, you must admit,' he says. Not a very staunch resistance. 'Uncommon, yes, but improper? They are modest. They make it easier for me to defend my virtue. And my father approves, naturally.' The Mayor takes my hand and straightens up so that he stands slightly taller than me, as if talking to a child. He accepts. He will write a permit allowing me to wear man's clothes. But he has a condition.<div id='opPermitMayorCondition' class='oport story'><img class='optimg' src='img/opts/key.jpg'><div class='optext'><div class='optitle'>Ask what the condition is</div><div class='opdesc'></div></div></div><% $(function () { $('#opPermitMayorCondition').click(function () { $('#opPermitMayorCondition').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitMayorCondition'); s.fullHistory.push('op Permit Mayor Condition');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Mayor Condition';});}); %> <% s.narration[s.returnRef].push('0-mayorcondition'); %><% s.reminders['threeconditions'] = "I need to get support for my trousers permit from the Bishop, the Dean of Natural History or my Cousin de Nil."; %><% delete s.reminders['marinamayorpermit']; %><% targetTurn = s.turn+1;targetEvent = 'ev ask servants about three men first';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*10 ));targetEvent = 'ev Cousin Nowhere Ask';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Bishop Martiale'].push('100-bishoppermitprevious'); %><% s.narration['Dean Petre'].push('100-deanpermitprevious'); %><% s.narration['Cousin de Nil'].push('100-cousinpermitprevious'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'I have a Council to please,'</span> he says. He doesn't want to be my only supporter. 'But any of a few respectable men would suffice.' I cringe when I hear that. Who are those respectable and excellent men? *Bishop Martiale*. That will be hard. *The Dean of Natural History in the University of Aurora*. That swine. *Marquis De Nil*. The Forest is part of his estate. What a relief! Cousin de Nil! I can talk to all three here and get back to the Mayor. Hopefully I will get this done tonight! <% s.dogloriaperson = 'Mayor Proctor'; %> <% print( story.render( "gloria takes companion away") ); %> <% if (s.charLocationPriority['Bishop Martiale'] < 2) { s.charLocationPriority['Bishop Martiale'] = 2;s.characterList['Bishop Martiale'] = 'River pier'; print(story.render('updateLocationList') );}; %> <% s.characterList["Bishop Martiale"] = "River pier"; s.charLocationPriority["Bishop Martiale"] = 2; %><div id='opPermitMayorDirect' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Be direct</div><div class='opdesc'>I'll ask bluntly about my trousers permit. Audentes Fortuna iuvat!</div></div></div><% $(function () { $('#opPermitMayorDirect').click(function () { $('#opPermitMayorDirect').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitMayorDirect'); s.fullHistory.push('op Permit Mayor Direct');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Mayor Direct';});}); %> <% s.narration['Pseudopassage'].push('0-askmayorpermitdirect'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Mayor Direct Condition') == false ) { s.opport['Pseudopassage'].push('op Permit Mayor Direct Condition'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Permit Mayor Cautious' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'So, would you be willing</span> to give me your favour in matters for the good of the Canton?' I ask. 'Do you know that one of the prides of our land, once magnificent Old Shipbuilders' Forest, is in a terrible state of neglect?' I tell him of the weeks I have spent in the forest, doing natural history studies. Unsurprisingly, he's already aware of it all. 'You have been a discussion partner for my father for years. Don't you think that my activities are honouring my Father's teachings, and our Canton's glorious traditions?' I implore. *Let me wear trousers like a man.* 'All that is true. But a lady wearing male clothes is improper, you must admit,' he says. Not a very staunch resistance. 'Uncommon, yes, but improper? They are modest. They make it easier for me to defend my virtue. And my father approves, naturally.' The Mayor takes my hand and straightens up so that he stands slightly taller than me, as if talking to a child. He accepts. He will write a permit allowing me to wear men's clothes. But he has a condition.<div id='opPermitMayorDirectCondition' class='oport story'><img class='optimg' src='img/opts/key.jpg'><div class='optext'><div class='optitle'>Ask what the condition is</div><div class='opdesc'></div></div></div><% $(function () { $('#opPermitMayorDirectCondition').click(function () { $('#opPermitMayorDirectCondition').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitMayorDirectCondition'); s.fullHistory.push('op Permit Mayor Direct Condition');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Mayor Direct Condition';});}); %> <% s.narration['Pseudopassage'].push('0-askmayordirectwhatcondition'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Mayor Direct Sister') == false ) { s.opport['Pseudopassage'].push('op Permit Mayor Direct Sister'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I have a Council to please,'</span> he says. He doesn't want to be my only supporter. 'But any of a few respectable men would suffice.' I cringe when I hear that. Who are those respectable and excellent men? *Bishop Martiale*. That will be hard. *The Dean of Natural History in the University of Aurora*. The swine. *Marquis De Nil*. The Forest is part of his estate. What a relief! Cousin de Nil! I can talk to all three here and get back to the Mayor. Hopefully I will get this done tonight! 'And now,' he says, 'let's discuss the serious problem concerning your sister.' *What?* <% if (s.charLocationPriority['Bishop Martiale'] < 2) { s.charLocationPriority['Bishop Martiale'] = 2;s.characterList['Bishop Martiale'] = 'River pier'; print(story.render('updateLocationList') );}; %> <% s.characterList["Bishop Martiale"] = "River pier"; s.charLocationPriority["Bishop Martiale"] = 2; %><div id='opPermitMayorDirectSister' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>What is this about?</div><div class='opdesc'>I thought he was talking about me! Was it about my sister?</div></div></div><% $(function () { $('#opPermitMayorDirectSister').click(function () { $('#opPermitMayorDirectSister').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitMayorDirectSister'); s.fullHistory.push('op Permit Mayor Direct Sister');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Mayor Direct Sister';});}); %> <% s.narration[s.returnRef].push('0-marinamayordirectsister'); %><% s.reminders['threeconditions'] = "I need to get support for my trousers permit from the Bishop, the Dean of Natural History or my Cousin de Nil."; %><% delete s.reminders['marinamayorpermit']; %><% s.narration['Bishop Martiale'].push('100-bishoppermitprevious'); %><% s.narration['Dean Petre'].push('100-deanpermitprevious'); %><% s.narration['Cousin de Nil'].push('100-cousinpermitprevious'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*10 ));targetEvent = 'ev Cousin Nowhere Ask';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+1;targetEvent = 'ev ask servants about three men first';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'You had a *warning*, didn't you?'</span> he asks. 'You should consider what to do regarding that.' Is he talking about the note I got today? I don't understand. How many people are watching my sister's business? 'Can I request your advice?' I ask, trying not so sound scared. 'There's a lot of stubbornness in every side,' he says, 'but I think it's obvious which side is the weakest, the most probable loser,' he pauses, 'and that's Gloria.' 'I assure you I will protect the name of my family,' I say, without knowing what that vague commitment could entail, and the mayor smiles. <% s.dogloriaperson = 'Mayor Proctor'; %> <% print( story.render( "gloria takes companion away") ); %> <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><% if ( _.contains(s.opport['myself'], 'op Cousin Nowhere Ask') == false ) { s.opport['myself'].push('op Cousin Nowhere Ask'); }; %><% s.passTitle = "Garden Stairs"; %><% s.passDescription.push("<span class='high-emphasis'>I find this garden most beautiful in winter</span>. Only here, in the whole city, when all other trees are naked, you can find some furious drops of colour, in the form of bitter oranges."); %><% s.passDescription.push("<span class='high-emphasis'>From the garden stairs</span>, the Marble Gallery looks like a jewellery box."); %><% s.passDescription.push("<span class='high-emphasis'>A lot of people</span> move between the garden and the Gallery. The stairs are full of encounters."); %><% s.passDescription.push("<span class='high-emphasis'>On the stairs</span>, I nod to some people that I know but I don't want to talk to right now."); %><% s.passImage = 'img/opts/garden_stairs.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('stairs1st'); %><% }; %> <%= story.render(s.generator) %><span class='high-emphasis'>The Garden is lower than the ground floor</span>, at the same level as the basement. The stairs are splendid, as if going up to the Marble Gallery were like entering heaven; and the great ceremony, at midnight, will end here. The garden, stretching until the Castain river, is already bubbling with all kinds of people who prefer being in the open in this hot evening. From here I can see the door between the garden and the kitchen. Grigor, the chief cook, is there, and I can barely hold my laughter at his permanent airs of confusion. He returns into the kitchen. Talking to him would be amusing! <% s.narration['garden'].push('500-people greet the great dancer'); %><% s.passTitle = "Blue Pavilion"; %><% s.passDescription.push("<span class='high-emphasis'>The birds of the Pavilion</span> are singing melodiously."); %><% s.passDescription.push("<span class='high-emphasis'>The pavilion stands</span> like a toy house. Late in the day it's impossible to tell if it's really blue or white."); %><% s.passDescription.push("<span class='high-emphasis'>The pavilion is in a quieter</span> part of the garden and I'm silently grateful for that."); %><% s.passDescription.push("<span class='high-emphasis'>The pavilion is in a calmer</span> side of the garden. I enjoy being far from the noise for a minute."); %><% s.passImage = 'img/opts/pavilion.jpg'; %><% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('pavilion1st'); %><% }; %><%= story.render(s.generator) %><span class='high-emphasis'>The Blue Pavilion</span> is a very simple building, low and long and a pale blue. A small aviary is attached to one of the short sides.<% s.passTitle = "Ionic Treasury"; %><% s.passDescription.push("<span class='high-emphasis'>The Treasury is slightly detached</span> from the rest of the park, quiet even in a day like this, hidden among trees."); %><% s.passDescription.push("<span class='high-emphasis'>The trees around the Treasury</span> whisper softly. This is not like a real forest."); %><% s.passDescription.push("<span class='high-emphasis'>There's very few people</span> near the Treasury. I welcome this moment of calm."); %><% s.passDescription.push("<span class='high-emphasis'>As I walk near the Treasury</span> I hear a few children playing among the trees."); %><% s.passImage = 'img/opts/treasury.jpg'; %> <%= story.render(s.generator) %><span class='high-emphasis'>More than unfinished</span>, the Treasury is barely started. Only half a dozen columns and two walls were erected half a century ago, on top of a low mound which is inside a hollow itself. It's detached from the rest of the garden, hidden by dense trees and the slope. Few will come here, except for the Wheel of Grievances, at nine.The Wheel of Grievances is happening right now. Most guests in the Palace have gathered here to watch people address the Canton's authorities. <% $('body').addClass('hideambientops'); %><% s.passTitle = "River pier"; %><% s.passDescription.push("<span class='high-emphasis'>Near the river</span> I feel a sensation of emptiness."); %><% s.passDescription.push("<span class='high-emphasis'>There's very few people</span> by the pier. I welcome this moment of calm."); %><% s.passDescription.push("<span class='high-emphasis'>I stand by the river</span> and I study the dark waters for a minute."); %><% s.passDescription.push("<span class='high-emphasis'>Near the river</span>, I look at the houses on the other side, crammed together in a way that reminds me of a pinecone."); %><% s.passImage = 'img/opts/pier.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('river1st'); %><% }; %> <%= story.render(s.generator) %><span class='high-emphasis'>The far end of the garden</span> is an abrupt slope to the river Castain. A footpath leads to a small pier. They will have an important role in the night ceremony.<% s.passTitle = "Fountain"; %><% s.passDescription.push("<span class='high-emphasis'>The bustle never stops</span>. The fountain is the heart of the garden and the celebration."); %><% s.passDescription.push("<span class='high-emphasis'>Performers, Burburum and children</span> fill the air with the lively sound of tumult."); %><% s.passDescription.push("<span class='high-emphasis'>The merry sound of the fountain</span> is hard to hear under the racket of the people."); %><% s.passImage = 'img/opts/fountain.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('0-fountain1st'); %><% }; %> <%= story.render(s.generator) %><span class='high-emphasis'>A Burbur with a cowbell</span> hanging from their neck jumps in front of me, stares in my eye and brusquely runs away. The fountain is usually a peaceful place. But today! The rattling, the singing, the stomping dances! Noise and people everywhere, specially by the dining tables nearby. <% targetTurn = s.turn+1;targetEvent = 'ev gardens feel like a park';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.passTitle = "Outside tables"; %><% s.passDescription.push("<span class='high-emphasis'>This is the noisiest</span> place in all of Aurora today."); %><% s.passDescription.push("<span class='high-emphasis'>The table area</span> of the garden is noisy and cheerful."); %><% s.passDescription.push("<span class='high-emphasis'>The people near the tables</span> are noisy, poorly dressed and joyful. I envy them."); %><% s.passDescription.push("<span class='high-emphasis'>The noise here</span> is contagious, but it makes me feel a bit exhausted."); %><% s.passImage = 'img/opts/tables.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('0-tables1st'); %><% }; %> <%= story.render(s.generator) %><span class='high-emphasis'>I am assaulted from all directions</span>, on all senses, at the same time. This is a sensation I know from the forest, but there, it is the unrelenting calm encouraging me to enjoy everything until almost losing my mind. Here and now, it is the mind being forcibly taken over by the cries, the grill, the strumming, the hot breath, the clapping, the red clothes, the green clothes. A number of long tables have been laid for the disguised performers and people without notability: peasants, artisans, fishermen, merchants. The Burburum come and go all through the palace, but this is where they gather, with the lowly peoples that they represent.--- **BASIC DEBUG INFO** Actions: <%= s.actionslog.join(", ") %> Turn: <%= s.turn %> --- **Characters** Characters here: <%= s.locationList[passage.name].length %> (<%= s.locationList[passage.name] %>) All characters: <%= JSON.stringify(s.characterList) %> **Scheduled events: ** <%= JSON.stringify(s.timedEvent) %> **Interruptions: ** <%= JSON.stringify(s.interrupt) %> **Narration:** <%= JSON.stringify(s.narration) %> **Opportunities:** <%= JSON.stringify(s.opport) %> **Narration history:** <%= s.narrationHistory %><%= s.narrationHistory.length %> <% // We display the whole text of the playthrough, as archived in s.narrationHistory var step; for (step = 0; step < s.narrationHistory.length; step++) { print("<div class='predesc-item'>"); print(story.render(s.fullHistory[step])); print("</div>"); }; %><div class="game-title"> <div class="game-title-inner"> <% if (localStorage.getItem("master-autosave") != null) { %> <div>If you start a new game, your previous game will be deleted.</div></br> <% } %> <div>Your game will be saved automatically every turn. If you stop playing you can only resume from the last turn you played.</div> <div>There is no way of going back a turn or undoing a choice you make.</div> </br> <div>For the best experience, please play on fullscreen.</div> <div class="pre-separator"></div> <div class="main-menu-option"><a id="newgame">Start from the beginning</a></div> <div class="main-menu-option">[[Return to main menu->start]]</div> <% $(function () { $('#newgame').click(function () { $('html').removeClass('back-treelight'); $('body').removeClass('nosavegame'); story.render("init"); s.returnRef = "Home"; story.show("Pseudopassage"); }); }); %> </div> </div><div class="game-title"> <div class="game-title-inner"> <p>Are you sure you want to continue from turn <%= s.turn+19 %>?</p> <div class="pre-separator"></div> <div class="main-menu-option"><a id="loadgame">Yes</a></div><% $(function () { $('#loadgame').click(function () { $('html').removeClass('back-treelight'); $('body').removeClass('nosavegame'); story.show(s.currentLocation); }); }); %> <div class="main-menu-option">[[No->start]]</div> </div> </div><div class="fullscreen-bg"> <video loop muted autoplay class="fullscreen-bg__video"> <source src="img/candle.mp4" type="video/mp4"> </video> </div> <div class="game-title"> <div class="game-title-inner"> <h1>The master of the land</h1> <p>or</p> <div><em> <%= _.sample([ "An illusion", "Better wine for the fish", "The mystery of light", "We are the dancers", "I'll have to do all the dancing", "All things are exchanged for Fire", "A transformation", "Opinions are like children's toys", "They will build bigger houses for themselves", "A windowsill covered in golden dust", "Not me, my friends, not me!", "A distrust for my own people", "Almost a child", "A wave under a blanket", "This water-like light", "There's dancers everywhere", "So dark, they sound louder", "She remains unseen at all times", "Not totally unlike a human", "Or so I was told", "Poets deserve no trust", "Standing in splendid isolation" ]) %> </em></div> <div class="pre-separator"></div> <div class="main-menu-option">[[Start from the beginning->newgame]]</div> <div class="main-menu-option"><a id="loadgame">Continue where you left it</a></div> <div class="main-menu-option">[[Credits and content warnings->Credits]]</div> <div class="main-menu-option">[[Help]]</div> <img src="img/pseudavid.png" height="80px" width="80px"> </div> </div> <div class="img-preload-hide"> <%= story.render("image preload 1") %> </div> <% if (localStorage.getItem("master-autosave") === null) { $('body').addClass('nosavegame'); } $(function () { $('#newgame').click(function () { $('html').removeClass('back-treelight'); story.render("init"); s.returnRef = "Home"; story.show("Pseudopassage"); }); }); $(function () { $('#loadgame').click(function () { story.state = JSON.parse( localStorage.getItem( 'master-autosave' )); //story.show(s.currentLocation); story.show("load"); }); }); %> <!-- Opportunities --> <% s.opport = { "Noon Door": [], "Grand Entrance Hall": [], "Portolan Gallery": [], "Marble Gallery, East": [], "Marble Gallery, West": [], "Dining Hall": [], "Library": [], "Kitchen": [], "Laundry": [], "Pantry": [], "Main Hallway": [], "Northern Hallway": [], "Southern Hallway": [], "Portrait Room": [], "Harmonic Room": [], "Nursery": [], "Council Room": [], "Map Cabinet": [], "Covenant Office": [], "Garden Stairs": [], "Ionic Treasury": [], "River pier": [], "Fountain": [], "Blue Pavilion": [], "Outside tables": [], "Pseudopassage": [], "Nowhere": [], "myself": [], "Home": [], "High city": [], "Covenant Square": [], "The outer gate": [], "Gloria": [], "Clara": [], "Father": [], "Marina Mayor": [], "Laurentin": [], "Bishop Martiale": [], "Dean Petre": [], "Cousin de Nil": [], "Young poet": [], "Iliopoulos": [], "Premier": [], "Iuvens": [], "Iul": [], "Anx attack": [], }; %> <!-- Narration --> <% s.narration = { "Noon Door": [], "Grand Entrance Hall": [], "Portolan Gallery": [], "Marble Gallery, East": [], "Marble Gallery, West": [], "Dining Hall": [], "Library": [], "Kitchen": [], "Laundry": [], "Pantry": [], "Main Hallway": [], "Northern Hallway": [], "Southern Hallway": [], "Portrait Room": [], "Harmonic Room": [], "Nursery": [], "Council Room": [], "Map Cabinet": [], "Covenant Office": [], "Garden Stairs": [], "Ionic Treasury": [], "River pier": [], "Fountain": [], "Blue Pavilion": [], "Outside tables": [], "Pseudopassage": [], "Nowhere": [], "Home": [], "High city": [], "Covenant Square": [], "The outer gate": [], "ground floor": [], "first floor": [], "garden": [], "basement": [], "myself": [], "Gloria": [], "Clara": [], "Father": [], "Marina Mayor": [], "Laurentin": [], "Bishop Martiale": [], "Dean Petre": [], "Cousin de Nil": [], "Young poet": [], "Iliopoulos": [], "Premier": [], "Iuvens": [], "Iul": [], "Anx attack": [], }; s.preImg = { "Noon Door": "", "Grand Entrance Hall": "", "Portolan Gallery": "", "Marble Gallery, East": "", "Marble Gallery, West": "", "Dining Hall": "", "Library": "", "Kitchen": "", "Laundry": "", "Pantry": "", "Main Hallway": "", "Northern Hallway": "", "Southern Hallway": "", "Portrait Room": "", "Harmonic Room": "", "Nursery": "", "Council Room": "", "Map Cabinet": "", "Covenant Office": "", "Garden Stairs": "", "Ionic Treasury": "", "River pier": "", "Fountain": "", "Blue Pavilion": "", "Outside tables": "", "Pseudopassage": "", "Nowhere": "", "Home": "img/opts/victor_house.jpg", "High city": "img/opts/aurora.jpg", "Covenant Square": "img/opts/aurora_golden.jpg", "The outer gate": "", "ground floor": "", "first floor": "", "garden": "", "basement": "", "myself": "", "Gloria": "", "Clara": "", "Father": "", "Marina Mayor": "", "Laurentin": "", "Bishop Martiale": "", "Dean Petre": "", "Cousin de Nil": "", "Young poet": "", "Iliopoulos": "", "Premier": "", "Iuvens": "", "Iul": "", }; s.passDescription = []; %> <!-- Interruptions --> <% s.interrupt = { "Noon Door": [], "Grand Entrance Hall": [], "Portolan Gallery": [], "Marble Gallery, East": [], "Marble Gallery, West": [], "Dining Hall": [], "Library": [], "Kitchen": [], "Laundry": [], "Pantry": [], "Main Hallway": [], "Northern Hallway": [], "Southern Hallway": [], "Portrait Room": [], "Harmonic Room": [], "Nursery": [], "Council Room": [], "Map Cabinet": [], "Covenant Office": [], "Garden Stairs": [], "Ionic Treasury": [], "River pier": [], "Fountain": [], "Blue Pavilion": [], "Outside tables": [], "Pseudopassage": [], "Nowhere": [], "Home": [], "High city": [], "Covenant Square": [], "The outer gate": [], "Gloria": [], "Clara": [], "Father": [], "Marina Mayor": [], "Laurentin": [], "Bishop Martiale": [], "Dean Petre": [], "Cousin de Nil": [], "Young poet": [], "Iliopoulos": [], "Premier": [], "Iuvens": [], "Iul": [], "myself": [], "Anx attack": [], }; %> <!-- Time and events Re: This game has six hours. The total number of slots for scheduling events is 72. Time speed = 2 means that each slot lasts 2 turns and the total number of turns is 144. Each in-game hour has 12 slots. Each slot takes 5 minutes, each turn would be 2 minutes and 30 seconds. --> <% s.timeNames = { 0: "Quarter to seven", 1: "Seven", 2: "Quarter past seven", 3: "Half past seven", 4: "Quarter to eight", 5: "Eight", 6: "Quarter past eight", 7: "Half past eight", 8: "Quarter to nine", 9: "Nine", 10: "Quarter past nine", 11: "Half past nine", 12: "Quarter to ten", 13: "Ten", 14: "Quarter past ten", 15: "Half past ten", 16: "Quarter to eleven", 17: "Eleven", 18: "Quarter past eleven", 19: "Half past eleven", 20: "Quarter to midnight", 21: "Midnight", 22: "Quarter past midnight", 23: "Half past midnight", }; s.timeCSS = { "Seven": "<script>$('tw-story').addClass('evening-time')</script><script>$('body').addClass('evening-time')</script>", "Eight": "<script>$('tw-story').addClass('evening-time')</script><script>$('body').addClass('evening-time')</script>", "Nine": "<script>$('tw-story').addClass('dusk-time')</script><script>$('body').addClass('evening-time')</script>", "Ten": "<script>$('tw-story').addClass('dusk-time')</script><script>$('body').addClass('evening-time')</script>", "Eleven": "<script>$('tw-story').addClass('night-time')</script><script>$('body').addClass('evening-time')</script>", "Twelve": "<script>$('tw-story').addClass('night-time')</script><script>$('body').addClass('evening-time')</script>" }; s.currentTimeIndex = 0; s.currentTime = "Quarter to seven"; s.turn = -12; s.timeSpeed = 2.4; s.endTurn = Math.floor(72 * s.timeSpeed); s.turnsForTimeChange = Math.floor( s.endTurn / _.keys(s.timeNames).length ) s.timedEvent = {}; s.namedEvent = {}; s.eventIgnore = []; %> <!-- Locations --> <% s.region = { "Noon Door": "ground floor", "Grand Entrance Hall": "ground floor", "Portolan Gallery": "ground floor", "Marble Gallery, East": "ground floor", "Marble Gallery, West": "ground floor", "Dining Hall": "ground floor", "Library": "ground floor", "Kitchen": "basement", "Laundry": "basement", "Pantry": "basement", "Main Hallway": "first floor", "Northern Hallway": "first floor", "Southern Hallway": "first floor", "Portrait Room": "first floor", "Harmonic Room": "first floor", "Nursery": "first floor", "Council Room": "first floor", "Map Cabinet": "first floor", "Covenant Office": "first floor", "Garden Stairs": "garden", "Ionic Treasury": "garden", "River pier": "garden", "Fountain": "garden", "Blue Pavilion": "garden", "Outside tables": "garden", "Pseudopassage": "pseudoregion", "Nowhere": "pseudoregion", "Home": "pseudoregion", "High city": "pseudoregion", "Covenant Square": "pseudoregion", "The outer gate": "pseudoregion", }; s.exitList = { "Noon Door": [ "no exit", "no exit", "no exit", "no exit", "no exit", "no exit"], "Grand Entrance Hall": [ "Library exit", "Marble Gallery, West exit", "no exit", "Dining Hall exit", "Portolan Gallery exit", "no exit"], "Portolan Gallery": [ "no exit", "no exit", "no exit", "no exit", "Main Hallway exit", "Grand Entrance Hall exit"], "Marble Gallery, East": [ "Marble Gallery, West exit", "no exit", "Dining Hall exit", "no exit", "no exit", "no exit"], "Marble Gallery, West": [ "Library exit", "Garden Stairs exit", "Grand Entrance Hall exit", "Marble Gallery, East exit", "no exit", "no exit"], "Dining Hall": [ "Grand Entrance Hall exit", "Marble Gallery, East exit", "no exit", "no exit", "no exit", "Kitchen exit"], "Library": [ "no exit", "Marble Gallery, West exit", "no exit", "Grand Entrance Hall exit", "no exit", "no exit"], "Kitchen": [ "no exit", "Garden Stairs exit", "Pantry exit", "no exit", "Dining Hall exit", "no exit"], "Laundry": [ "no exit", "no exit", "no exit", "Kitchen exit", "no exit", "no exit"], "Pantry": [ "no exit", "Kitchen exit", "no exit", "no exit", "no exit", "no exit"], "Main Hallway": [ "Harmonic Room exit", "Northern Hallway exit", "Southern Hallway exit", "Map Cabinet exit", "no exit", "Portolan Gallery exit"], "Northern Hallway": [ "Nursery exit", "no exit", "Main Hallway exit", "no exit", "no exit", "no exit"], "Southern Hallway": [ "Portrait Room exit", "Main Hallway exit", "no exit", "no exit", "no exit", "no exit"], "Portrait Room": [ "no exit", "no exit", "no exit", "Southern Hallway exit", "no exit", "no exit"], "Harmonic Room": [ "no exit", "no exit", "no exit", "Main Hallway exit", "no exit", "no exit"], "Nursery": [ "no exit", "no exit", "no exit", "Northern Hallway exit", "no exit", "no exit"], "Council Room": [ "Southern Hallway exit", "no exit", "no exit", "no exit", "no exit", "no exit"], "Map Cabinet": [ "Main Hallway exit", "no exit", "Covenant Office exit", "no exit", "no exit", "no exit"], "Covenant Office": [ "no exit", "Map Cabinet exit", "no exit", "no exit", "no exit", "no exit"], "Garden Stairs": [ "no exit", "Fountain exit", "Kitchen exit", "no exit", "Marble Gallery, West exit", "no exit"], "Ionic Treasury": [ "Blue Pavilion exit", "no exit", "no exit", "no exit", "no exit", "no exit"], "River pier": [ "no exit", "no exit", "Fountain exit", "no exit", "no exit", "no exit"], "Fountain": [ "Outside tables exit", "River pier exit", "Garden Stairs exit", "Blue Pavilion exit", "no exit", "no exit"], "Blue Pavilion": [ "Fountain exit", "no exit", "no exit", "Ionic Treasury exit", "no exit", "no exit"], "Outside tables": [ "no exit", "no exit", "no exit", "Fountain exit", "no exit", "no exit"], "Home": [ "no exit", "no exit", "no exit", "no exit", "no exit", "no exit"], "High city": [ "no exit", "no exit", "no exit", "no exit", "no exit", "no exit"], "Covenant Square": [ "no exit", "no exit", "no exit", "no exit", "no exit", "no exit"], "The outer gate": [ "no exit", "no exit", "no exit", "no exit", "no exit", "no exit"], "Pseudopassage": [ "no exit", "no exit", "no exit", "no exit", "no exit", "no exit"], }; %> <!-- Characters --> <% s.locationList = { "Noon Door": [], "Grand Entrance Hall": [], "Portolan Gallery": [], "Marble Gallery, East": [], "Marble Gallery, West": [], "Dining Hall": [], "Library": [], "Kitchen": [], "Pantry": [], "Laundry": [], "Main Hallway": [], "Northern Hallway": [], "Southern Hallway": [], "Portrait Room": [], "Harmonic Room": [], "Nursery": [], "Council Room": [], "Map Cabinet": [], "Covenant Office": [], "Garden Stairs": [], "Ionic Treasury": [], "River pier": [], "Fountain": [], "Blue Pavilion": [], "Outside tables": [], "Home": [], "High city": [], "Covenant Square": [], "The outer gate": [], "Pseudopassage": [], "Nowhere": [], }; s.characterList = { "Gloria": "Nowhere", "Clara": "Nowhere", "Father": "Nowhere", "Marina Mayor": "Nowhere", "Laurentin": "Nowhere", "Bishop Martiale": "Nowhere", "Dean Petre": "Nowhere", "Cousin de Nil": "Nowhere", "Young poet": "Nowhere", "Iliopoulos": "Nowhere", "Premier": "Nowhere", "Iuvens": "Nowhere", "Iul": "Nowhere", }; s.charLocationPriority = { "Gloria": 0, "Clara": 0, "Father": 0, "Marina Mayor": 0, "Laurentin": 0, "Bishop Martiale": 0, "Dean Petre": 0, "Cousin de Nil": 0, "Young poet": 0, "Iliopoulos": 0, "Premier": 0, "Iuvens": 0, "Iul": 0, }; s.companion = ""; s.companionData = { }; %> <!-- History --> <% // History of actions that the player chooses s.actionslog = []; // History of visited passages s.passageHistory = []; // History of all the narration blocks displayed s.narrationHistory = []; // Total history: actions + narration; s.fullHistory = []; %> <!-- Misc --> <% s.anxietyThreshold = 90; s.flagMars = 0; s.dogloriacounter = 0; s.showSidebar = false; s.bg = ''; s.generator = 'genTextStart'; s.opReady = false; s.log = []; s.flag = []; s.reminders = { }; s.teasers = [ "Finding a secret passage!", "Wearing a Burbur costume.", "Discussing slavery.", "Attending the Wheel of Grievances.", "Spying on the secret meeting.", "Finding out about the missing butler.", ]; %><% s.narration['myself'].push('9999-firsthintofanoise'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Crying Second';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>Did I hear something?</span> It was... I pause for a moment to listen, but whatever it was, I can't hear it anymore. Strange. I move on.<% s.narration['myself'].push('9999-secondhintofnoise'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Crying Woman Makes Fun';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>That noise again?</span> A fleeting hint of a sound. But so inconceivably short that I'm surprised it got my attention. It's not there. What was it? I still can't say.<% if ( _.contains(s.opport['myself'], 'op Crying Woman Makes Fun') == false ) { s.opport['myself'].push('op Crying Woman Makes Fun'); }; %><% targetTurn = s.turn+1;targetEvent = 'ev Crying Woman Makes Fun Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Crying First Hear';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Crying Woman Makes Fun' ); %><div id='opCryingWomanMakesFun' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Pay attention to something peculiar</div><div class='opdesc'>I hear a little bit of strange conversation. Probably not that interesting, but...</div></div></div><% $(function () { $('#opCryingWomanMakesFun').click(function () { $('#opCryingWomanMakesFun').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingWomanMakesFun'); s.fullHistory.push('op Crying Woman Makes Fun');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying Woman Makes Fun';});}); %> <% s.narration['myself'].push('0-womanmakesfun'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I accidentally catch</span> a little bit of a conversation near me. '... so I kept talking to Mrs. Blivia,' a woman says, 'but I kept hearing soft sobs again and again. And the man looked perfectly composed all the time! And he wouldn't make a joke of himself in public.' 'But are you sure he was the one who cried?' another woman asks. 'Absolutely.' I don't hear more.<% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-cryingfirsthear'); } else { s.interrupt['myself'] = ['interrupt-cryingfirsthear']; }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Hear') == false ) { s.opport['Pseudopassage'].push('op Crying First Hear'); }; %><% s.narration['Pseudopassage'].push('9999-firsthearcrying'); %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %>And then I hear a sudden and totally distinct noise.<div id='opCryingFirstHear' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Pay attention to the noise</div><div class='opdesc'>I feel the vibration in my throat.</div></div></div><% $(function () { $('#opCryingFirstHear').click(function () { $('#opCryingFirstHear').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingFirstHear'); s.fullHistory.push('op Crying First Hear');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying First Hear';});}); %> <% s.narration['myself'].push('0-firstcryattention'); %><% s.preImg['s.returnRef'] = 'img/opts/tear.jpg'; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Crying Second Hear';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I suddenly hear a noise</span>, sharp but transparent, almost imperceptible but acutely unsettling. As I try to find where it comes from, it evades me like a dandelion and ultimately recedes. Only when it's gone I realize it was the same sound that has been bothering me for a while but I couldn't recognize. It was crying. *A crying man.*<% s.narration['myself'].push('9999-secondhearcrying'); %><span class='high-emphasis'>I stop dead.</span> To my right, and a little behind? Yes. It's there. It's the crying man I heard, again. <% if ( _.contains(s.opport['myself'], 'op Crying Look Right') == false ) { s.opport['myself'].push('op Crying Look Right'); }; %><% targetTurn = s.turn+1;targetEvent = 'ev Crying Look Right Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% $('body').addClass('hideambientops'); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Crying Look Right' ); %><% s.narration['myself'].push('9999-secondcryingignore'); %><span class='high-emphasis'>I remember for a moment the crying voice,</span> and I notice I can't hear it now, and for some reason I feel that I won't hear it again.<div id='opCryingLookRight' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Turn my head to see the crying man</div><div class='opdesc'>He's to my right. The noise is... unnerving. If I don't look right now, I have a feeling it will be gone.</div></div></div><% $(function () { $('#opCryingLookRight').click(function () { $('#opCryingLookRight').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingLookRight'); s.fullHistory.push('op Crying Look Right');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying Look Right';});}); %> <% s.narration['Pseudopassage'].push('0-cryingmanlookright'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying Observe Corners') == false ) { s.opport['Pseudopassage'].push('op Crying Observe Corners'); }; %><% s.eventIgnore.push('ev Crying Look Right Remove'); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>I try to see the crying man</span> out of the corner of my eye. The sobbing becomes a wail, clear and distant at the same time. I turn but I see no crying man to my right, to my bewilderment. But it was there. It has left something I can't fully grasp, like a tint in the air. Then I hear it again, *behind* me. Rising like a wave under a blanket.<div id='opCryingObserveCorners' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Look everywhere</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingObserveCorners').click(function () { $('#opCryingObserveCorners').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingObserveCorners'); s.fullHistory.push('op Crying Observe Corners');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying Observe Corners';});}); %> <% s.narration['myself'].push('0-cryingobservecorners'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Crying Chase Start';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I look in every direction</span> trying to find where the crying is coming from, seeing nothing, getting nervous. I don't understand why I'm feeling so nervous now. Out of the corner of my eye I notice a pair of eyes unflinchingly fixated on me. I turn to that direction and I get a quick glimpse of a confused face: agape, very young, dark-haired, but he immediately sees that I've noticed him and walks away. Was my confusion when hearing those cries so noticeable. I must be careful. I tell myself to remember that, and move on with my affairs.<% s.narration['myself'].push('10000-cryingchasestart'); %><span class='high-emphasis'>'Do you hear a child crying?',</span> says a man near me, a note of agitation in his voice, a shade of nervousness in his eyes, and for some reason I'm sure it's not a crying *child* he's really talking about. What's happening here? <% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-cryingchasestart'); } else { s.interrupt['myself'] = ['interrupt-cryingchasestart']; }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying Chase Start Pay') == false ) { s.opport['Pseudopassage'].push('op Crying Chase Start Pay'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying Chase Start Ignore') == false ) { s.opport['Pseudopassage'].push('op Crying Chase Start Ignore'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opCryingChaseStartIgnore' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Ignore the talk about a crying child</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingChaseStartIgnore').click(function () { $('#opCryingChaseStartIgnore').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingChaseStartIgnore'); s.fullHistory.push('op Crying Chase Start Ignore');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying Chase Start Ignore';});}); %> <% s.narration['myself'].push('0-cryingchasestartpay'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crying Chase Start Pay' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I ignore the man.</span> It's nothing but an idle chat. And for some reason I feel that I won't hear about it again.<div id='opCryingChaseStartPay' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Pay close attention</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingChaseStartPay').click(function () { $('#opCryingChaseStartPay').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingChaseStartPay'); s.fullHistory.push('op Crying Chase Start Pay');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying Chase Start Pay';});}); %> <% s.narration['Pseudopassage'].push('0-childandropolpay'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crying Chase Start Ignore' ); %><% if (s.region[s.returnRef] == "garden") { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Garden') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Garden'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Garden Ignore') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Garden Ignore'); }; %><% }; %><% if (s.region[s.returnRef] == "basement") { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Basement') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Basement'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Basement Ignore') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Basement Ignore'); }; %><% }; %><% if (s.region[s.returnRef] == "first floor") { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Top') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Top'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Top Ignore') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Top Ignore'); }; %><% }; %><% if (s.region[s.returnRef] == "ground floor") { %><% if (s.returnRef == "Grand Entrance Hall") { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Dining') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Dining'); }; %><% } else { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Ground') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Ground'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Ground Ignore') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Ground Ignore'); }; %><% }; %><% }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I listen with all my concentration.</span> And it's there. It's not a child, but a man, and the sound comes... ... from *above.* And somehow I feel that it's addressing me. But then it recedes. <% if (s.region[s.returnRef] == "garden") { %><% print("<p>The voice floats, or fades, or dissolves, towards the Palace.</p>"); %><% }; %><% if (s.region[s.returnRef] == "basement") { %><% print("<p>The voice floats, or fades, or dissolves, upwards to the ground floor.</p>"); %><% }; %><% if (s.region[s.returnRef] == "first floor") { %><% print("<p>The voice floats, or fades, or dissolves, downwards to the ground floor.</p>"); %><% }; %><% if (s.region[s.returnRef] == "ground floor") { %><% if (s.returnRef == "Grand Entrance Hall") { %><% print("<p>I can't hear it anymore, but I feel as if a string pulls me towards the Dining Hall. It will be there, I know.</p>"); %><% } else { %><% print("<p>The voice floats, or fades, or dissolves, towards the Grand Entrance Hall.</p>"); %><% }; %><% }; %><div id='opCryingFirstChaseGarden' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Chase the voice</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingFirstChaseGarden').click(function () { $('#opCryingFirstChaseGarden').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingFirstChaseGarden'); s.fullHistory.push('op Crying First Chase Garden');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying First Chase Garden';});}); %> <% s.returnRef = 'Marble Gallery, West'; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crying First Chase Garden Ignore' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Ground') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Ground'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Ground Ignore') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Ground Ignore'); }; %><% s.narration['Pseudopassage'].push('0-cryingchasegarden'); %><% s.preImg['Pseudopassage'] = 'img/opts/garden_stairs.jpg'; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I run through the garden,</span> following the floating voice that weeps unceasingly. I follow it upstairs, into the Gallery.<div id='opCryingFirstChaseBasement' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>The voice is leaving: follow it</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingFirstChaseBasement').click(function () { $('#opCryingFirstChaseBasement').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingFirstChaseBasement'); s.fullHistory.push('op Crying First Chase Basement');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying First Chase Basement';});}); %> <% s.returnRef = 'Garden Stairs'; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crying First Chase Basement Ignore' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Garden') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Garden'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Garden Ignore') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Garden Ignore'); }; %><% s.narration['Pseudopassage'].push('0-cryingchasebasement'); %><% s.preImg['Pseudopassage'] = 'img/opts/kitchen.jpg'; %><% s.log.push("I chased a ghostly voice."); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I cross the kitchen</span> and head out to the garden. The crying becomes thick but I still don't see who's doing it, as it moves upstairs into the gallery.<div id='opCryingFirstChaseTop' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Chase the voice</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingFirstChaseTop').click(function () { $('#opCryingFirstChaseTop').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingFirstChaseTop'); s.fullHistory.push('op Crying First Chase Top');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying First Chase Top';});}); %> <% s.returnRef = 'Portolan Gallery'; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crying First Chase Top Ignore' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Ground') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Ground'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Ground Ignore') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Ground Ignore'); }; %><% s.narration['Pseudopassage'].push('0-cryingchasetop'); %><% s.preImg['Pseudopassage'] = 'img/opts/mainhallway.jpg'; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I run through the whole floor,</span> following the floating voice that weeps unceasingly. I follow it downstairs.<div id='opCryingFirstChaseGround' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Follow the voice</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingFirstChaseGround').click(function () { $('#opCryingFirstChaseGround').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingFirstChaseGround'); s.fullHistory.push('op Crying First Chase Ground');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying First Chase Ground';});}); %> <% s.returnRef = 'Marble Gallery, East'; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crying First Chase Ground Ignore' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying First Chase Dining') == false ) { s.opport['Pseudopassage'].push('op Crying First Chase Dining'); }; %><% s.narration['Pseudopassage'].push('0-cryingchaseground'); %><% s.preImg['Pseudopassage'] = 'img/opts/east_gallery.jpg'; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Whoever is crying,</span> he moves among the crowd without drawing any attention. The Palace is packed, but no one else seems to feel any interest for the strange crying. But I can still distinctly hear the voice, even when a hundred people and music and tinkling cups everywhere should bury it. Even it it feels far from me. It finds its way, it avoids all obstacles, and it comes right to my ear. That's the most unsettling thing. Following the voice takes me to the entrance hall.<div id='opCryingFirstChaseDining' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>The voice is fading: be attentive</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingFirstChaseDining').click(function () { $('#opCryingFirstChaseDining').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingFirstChaseDining'); s.fullHistory.push('op Crying First Chase Dining');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying First Chase Dining';});}); %> <% s.returnRef = 'Grand Entrance Hall'; %><% s.returnRef = 'Grand Entrance Hall'; %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crying First Chase Dining Ignore' ); %><% s.narration['Grand Entrance Hall'].push('0-cryingchasedining'); %><% s.narration['Dining Hall'].push('0-cryingchaseenterdining'); %><% if (_.contains( _.keys(s.interrupt),'Dining Hall' )) { s.interrupt['Dining Hall'].push('interrupt-cryingchasedining'); } else { s.interrupt['Dining Hall'] = ['interrupt-cryingchasedining']; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><div id='opCryingFirstChaseGardenIgnore' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Ignore the voice</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingFirstChaseGardenIgnore').click(function () { $('#opCryingFirstChaseGardenIgnore').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingFirstChaseGardenIgnore'); s.fullHistory.push('op Crying First Chase Garden Ignore');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying First Chase Garden Ignore';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crying First Chase Garden' ); %><% s.narration['myself'].push('0-cryingchaseignoregarden'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>What am I doing?</span> This makes no sense. This has to be some curious echo effect, nothing more. There's no reason for it to make me uneasy. I stop following it, I let it go away.<div id='opCryingFirstChaseGroundIgnore' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Forget about the crying man</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingFirstChaseGroundIgnore').click(function () { $('#opCryingFirstChaseGroundIgnore').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingFirstChaseGroundIgnore'); s.fullHistory.push('op Crying First Chase Ground Ignore');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying First Chase Ground Ignore';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crying First Chase Ground' ); %><% s.narration['myself'].push('0-cryingchaseignoreground'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>What am I doing?</span> This makes no sense. This has to be some curious echo effect, nothing more. There's no reason for it to make me uneasy. I stop following it, I let it go away. I am at the Gallery now.<div id='opCryingFirstChaseTopIgnore' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Ignore the voice</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingFirstChaseTopIgnore').click(function () { $('#opCryingFirstChaseTopIgnore').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingFirstChaseTopIgnore'); s.fullHistory.push('op Crying First Chase Top Ignore');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying First Chase Top Ignore';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crying First Chase Top' ); %><% s.narration['myself'].push('0-cryingchaseignoretop'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>What am I doing?</span> This makes no sense. This has to be some curious echo effect, nothing more. There's no reason for it to make me uneasy. I stop following it, I let it go away. I am at the main hallway now.<div id='opCryingFirstChaseBasementIgnore' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Don't follow the voice</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingFirstChaseBasementIgnore').click(function () { $('#opCryingFirstChaseBasementIgnore').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingFirstChaseBasementIgnore'); s.fullHistory.push('op Crying First Chase Basement Ignore');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying First Chase Basement Ignore';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Crying First Chase Basement' ); %><% s.narration['myself'].push('0-cryingchaseignorebasement'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>What am I doing?</span> This makes no sense. This has to be some curious echo effect, nothing more. There's no reason for it to make me uneasy. I stop following it, I let it go away.<span class='high-emphasis'>In the Grand Entrance Hall,</span> I don't really hear the crying. But I feel as if a string pulls me towards the Dining Hall. It will be there, I know. <% targetTurn = s.turn+1;targetEvent = 'ev Crying Chase Hall Repeat';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Grand Entrance Hall'].push('1000-cryingchasehallrepeat'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Crying Chase Hall Repeat Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>I still have the feeling</span> that, if I go to the Dining Hall, I will hear the crying man again.<% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '1000-cryingchasehallrepeat' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Chase Dining Frantic') == false ) { s.opport['Pseudopassage'].push('op Chase Dining Frantic'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>The din of servants</span> setting the table is loud but a faint sound of crying reaches me. My eyes move towards a specific corner of the room, near the ceiling, and I see nothing: perhaps that part of the wall is coated in yellow haze; then a moment later I think that perhaps not, it's the yellow light from the candelabrum. I stand still and hear the cries flap and fade out.<div id='opChaseDiningFrantic' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>I can't let it fade like that</div><div class='opdesc'>I must keep looking for it. Things don't disappear</div></div></div><% $(function () { $('#opChaseDiningFrantic').click(function () { $('#opChaseDiningFrantic').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opChaseDiningFrantic'); s.fullHistory.push('op Chase Dining Frantic');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Chase Dining Frantic';});}); %> <% s.narration['Pseudopassage'].push('0-chasediningfrantic'); %><% s.preImg['Pseudopassage'] = 'img/opts/egg.jpg'; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Dining Answer') == false ) { s.opport['Pseudopassage'].push('op Andropol Dining Answer'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Dining Ignore') == false ) { s.opport['Pseudopassage'].push('op Andropol Dining Ignore'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Frantically,</span> I look everywhere. Around the tables, near the chimneys, through the firmly closed windows. All I see is some dust from the haze. Servants are discreet and avoid looking at me. How ridiculous I must appear, looking at nothing in the air. 'Lady Victor? Have you heard it too?' I turn around: a young dark-haired man, with good clothes but inexpertly put together. His face is in disarray, failing to conceal intense emotions. He looks ridiculous too, fidgeting with a white hen's egg. 'Please remember our friendship, Lady Victor,' says he. 'Will you...' he hesitates, 'will you hold this for a moment?' he asks And in all his crazed seriousness, he offers me the egg.<div id='opAndropolDiningIgnore' class='oport story '><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Refuse</div><div class='opdesc'>I am speechless. And people could be looking.</div></div></div><% $(function () { $('#opAndropolDiningIgnore').click(function () { $('#opAndropolDiningIgnore').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolDiningIgnore'); s.fullHistory.push('op Andropol Dining Ignore');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Dining Ignore';});}); %> <% s.narration['Grand Entrance Hall'].push('0-andropoldiningignore'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Dining Answer' ); %><% s.returnRef = 'Grand Entrance Hall'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I briefly consider</span> telling the expectant young man to stay away from me, but there's something intimidatory in his gaze, even though I feel it's unintentional. I just turn my back to him and walk away. I close and open my fists, open and close and open and close. I hope nobody was looking. And wasn't his face a bit familiar? But I can't remember. I'm back at the Great Entrance Hall and I determine not to think about this shameful nonsense anymore. Forget about the voice, forget about the young man. Forget about the unease that has taken hold of me.<div id='opAndropolDiningAnswer' class='oport story '><img class='optimg' src='img/opts/egg.jpg'><div class='optext'><div class='optitle'>Do what he says</div><div class='opdesc'>This is strange but he can do me no harm.</div></div></div><% $(function () { $('#opAndropolDiningAnswer').click(function () { $('#opAndropolDiningAnswer').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolDiningAnswer'); s.fullHistory.push('op Andropol Dining Answer');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Dining Answer';});}); %> <% s.narration['Dining Hall'].push('0-andropoldininganswer'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Dining Ignore' ); %><% s.log.push("I allowed a young man to put an egg in my hand."); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I let him lay the egg</span> on my hand. His own hand is shaking when he touches mine. He stares at the way I grab the egg. 'It doesn't fall!' he exclaims. He asks me to return it, and shakes again when I touch his own hand. 'I feel it,' he says, while an astonished smile cleans his face, and he passes the egg from one hand to another. 'It's solid. You see that I'm sane.' Now he's smiling, he looks like little more than a boy moved by a new discovery. He runs away. The voice left an unease when it faded. I'm not sure if the young man has relieved it or rather compounded it.<% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-andropolchasecovenant'); } else { s.interrupt['myself'] = ['interrupt-andropolchasecovenant']; }; %><% s.narration['Pseudopassage'].push('1000-andropolcomecovenant'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Chase Covenant Go') == false ) { s.opport['Pseudopassage'].push('op Andropol Chase Covenant Go'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Chase Covenant Ignore') == false ) { s.opport['Pseudopassage'].push('op Andropol Chase Covenant Ignore'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>Suddenly, the young man from the Dining Hall</span> appears to my side. 'Lady Victor,' he whispers, 'I know where the crying man is right now. Please come with me, quick.' This is unexpected. And unfortunate: the Wheel of Grievances is happening right now, and it's a wonderful ceremony.<div id='opAndropolChaseCovenantIgnore' class='oport story '><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Don't follow him.</div><div class='opdesc'>The egg was enough. I don't want to risk my good name.</div></div></div><% $(function () { $('#opAndropolChaseCovenantIgnore').click(function () { $('#opAndropolChaseCovenantIgnore').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolChaseCovenantIgnore'); s.fullHistory.push('op Andropol Chase Covenant Ignore');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Chase Covenant Ignore';});}); %> <% s.narration[s.returnRef].push('0-andropolchasecovenantignore'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Chase Covenant Go' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I briefly consider</span> telling the expectant young man to stay away from me, but there's something intimidatory in his gaze, even though I feel it's unintentional. I just turn my back to him and walk away. I close and open my fists, open and close and open and close. I hope nobody was looking. And wasn't his face a bit familiar? But I can't remember. I determine not to think about this shameful nonsense anymore. Forget about the voice, forget about the young man. Forget about the unease that has taken hold of me.<div id='opAndropolChaseCovenantGo' class='oport story '><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Go with him</div><div class='opdesc'>All this is strange. All this is uneasy. But he seems to know something.</div></div></div><% $(function () { $('#opAndropolChaseCovenantGo').click(function () { $('#opAndropolChaseCovenantGo').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolChaseCovenantGo'); s.fullHistory.push('op Andropol Chase Covenant Go');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Chase Covenant Go';});}); %> <% s.narration[s.returnRef].push('0-andropolchasecovenantgo'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Chase Covenant Ignore' ); %><% s.companion='Young poet';s.companionData={'destination':'Map Cabinet','destinationType':'location','turnParameter':2,'turnCounter':0,'walkingPreDesc':'1000-andropolcovcompanionwalk','abandonPreDesc':'1000-andropolcovcompanionabandon','okPreDesc':'1000-andropolcovmap','alertCount':0,'alertPreDesc':'1000-andropolcovcompanionalert','currentDistance':0,'abandonOport':'op Andropol Chase Abandon','okOport':'op Andropol Chase Ok'};print(story.render('genInitialCompanionDistance')); %><% s.narration['Main Hallway'].push('1000-andropolcovmainhall'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Andropol Chase Ops';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+1;targetEvent = 'ev Andropol Chase Who';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Where must we go?'</span> I ask. <% if (s.region[s.currentLocation] == "first floor") { %><% print("<p>'Near here, to the Covenant Office!', he says, making hasty gestures.</p>"); %><% } else { %><% print("<p>'Upstairs to the Covenant Office!', he says, making hasty gestures.</p>"); %><% }; %><%= _.sample( [ "<span class='high-emphasis'>We both hurry up.</span> The Covenant Office is on the top floor on the Palace, besides the Map Cabinet, and it's the most important room in our land.", "<span class='high-emphasis'>We keep walking quickly.</span> My companion is frighteningly nervous.", "<span class='high-emphasis'>We see almost nobody.</span> Everyone must be at Wheel of Grievances now, or heading there, and very few people are there to see us walk hastily.", "<span class='high-emphasis'>There is silence.</span> Both our silence, and the silence of the almost empty palace.", "<span class='high-emphasis'>The closer we get</span> to the Covenant Office, the more agitated my young companion becomes.", "<span class='high-emphasis'>I can't stop</span> paying attention to the sound of my footsteps. There is such silence everywhere.", "<span class='high-emphasis'>A couple of Burburum</span> watch us. They wear long, ragged capes and oxen skulls. I see nobody else, and I wonder why these two aren't at the Treasury for the Wheel.", "<span class='high-emphasis'>The young man</span> is walking fast, and he told me to go with him in an imperious tone; but, looking carefully, his countenance doesn't show resolve but fear.", "<span class='high-emphasis'>I remember</span> that I will miss the Wheel of Grievances if I stay with this young man. Perhaps I should let him go, forget about the voice I thought I heard, and go enjoy the Wheel.", ]) %> <% $('body').addClass('hideambientops'); %><span class='high-emphasis'>'It's not that way!'</span> says the young man. 'We must go immediately to the Covenant Office or the crying man will evade us. Quick, in heaven's name!'<span class='high-emphasis'>'Not that way!'</span> the young man says, and he runs away without waiting for me, leaving me alone and bewildered. <% s.narration['Main Hallway'] = _.without( s.narration['Main Hallway'] , '1000-andropolcovmainhall' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Andropol Chase Me' ); %><% s.eventIgnore.push('ev Andropol Chase Ops'); %><% s.eventIgnore.push('ev Andropol Chase Who'); %><% s.narration['myself'].push('0-andropolchasewho'); %><span class='high-emphasis'>'Who are you?'</span> I ask while we walk. The boy looks at me in disbelief. 'But I'm Octavien Andropol, Lady Victor. Is my anguish disfiguring me so much that you don't recognize me?' I take another look at him. I wouldn't say that anguish is *disfiguring* him, but I feel that perhaps I should recognize him. <% targetTurn = s.turn+1;targetEvent = 'ev Andropol Clara First Int';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['myself'], 'op Andropol Chase Me') == false ) { s.opport['myself'].push('op Andropol Chase Me'); }; %><div id='opAndropolChaseMe' class='oport story '><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Warn the young man</div><div class='opdesc'>This doesn't seem to be a mockery. But he should know that he can't mock me.</div></div></div><% $(function () { $('#opAndropolChaseMe').click(function () { $('#opAndropolChaseMe').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolChaseMe'); s.fullHistory.push('op Andropol Chase Me');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Chase Me';});}); %> <% s.narration['myself'].push('0-andropolchaseme'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'You know who I am,'</span> I tell him. 'You know who my father is. If this is a joke or a mockery you will regret it.' He remains silent, listening to the strange voice that moves away. But his face betrays a deep worry.<% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-andropolclarafirst'); } else { s.interrupt['myself'] = ['interrupt-andropolclarafirst']; }; %><% s.narration['Pseudopassage'].push('0-andropol calls irene clara for first time'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene responds to andropol calling clara first') == false ) { s.opport['Pseudopassage'].push('op irene responds to andropol calling clara first'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>'Have we met before?'</span> I ask, while we hurry towards the Covenant Office. He stares in disbelief. 'You know who I am, Clara, better than anybody!'<div id='opirenerespondstoandropolcallingclarafirst' class='oport story'><img class='optimg' src='img/opts/attack.jpg'><div class='optext'><div class='optitle'>He thinks I'm Clara.</div><div class='opdesc'></div></div></div><% $(function () { $('#opirenerespondstoandropolcallingclarafirst').click(function () { $('#opirenerespondstoandropolcallingclarafirst').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opirenerespondstoandropolcallingclarafirst'); s.fullHistory.push('op irene responds to andropol calling clara first');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene responds to andropol calling clara first';});}); %> <% s.narration['myself'].push('10-irene responds to andropol calling clara first'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>*'Clara?'*</span> He looks puzzled. 'I'm not Clara. I'm Irene. I'm Clara's sister.' His expression doesn't change, other than blinking. 'Yes, Clara. And I am Octavien Andropol, the poet. We both already know who we are,' he says, and keeps going forward. Now I vaguely remember him from Clara's salon.<span class='high-emphasis'>A door slams</span> and the wailing of the crying man rises again like a wave. 'You were right, that came from the Covenant Office,' I say, but then a piercing cry interrupts me. A cry from a second man. There's nobody except the trembling Andropol. Everyone is in the garden for the Wheel of Grievances. 'But he shouldn't hurt a man,' he mumbles, 'that wasn't written.'<span class='high-emphasis'>In the Map Cabinet,</span> I see that the door to the Covenant Office is closed, just as I thought. Behind the door it's pandemonium. There are two voices inside: one is the ghostly cry I've heard the whole night, but angrier and stronger than before. The other is a man, a *real* man, complaining in anguished tones. Then we hear a hit. <% s.opport['myself'] = _.without( s.opport['myself'] , 'op Andropol Chase Me' ); %><% s.narration['Covenant Office'].push('0-andropolchasereach'); %><% s.narration['Main Hallway'].push('0-andropolchaseback'); %><% s.eventIgnore.push('ev Andropol Chase Kiss Int'); %><% s.eventIgnore.push('ev Andropol Chase Ops'); %><% s.eventIgnore.push('ev Andropol Chase Who'); %><% if ( _.contains( _.keys(s.interrupt), 'myself' )) { s.interrupt['myself'] = _.without( s.interrupt['myself'], 'interrupt-andropolchasekiss'); } %> <% if (_.contains( _.keys(s.interrupt),'Map Cabinet' )) { s.interrupt['Map Cabinet'].push('interrupt-andropol and irene reach map cabinet'); } else { s.interrupt['Map Cabinet'] = ['interrupt-andropol and irene reach map cabinet']; }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene and Andropol try to enter Covenant') == false ) { s.opport['Pseudopassage'].push('op Irene and Andropol try to enter Covenant'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene and Andropol refuse to enter Covenant') == false ) { s.opport['Pseudopassage'].push('op Irene and Andropol refuse to enter Covenant'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opIreneandAndropoltrytoenterCovenant' class='oport story'><img class='optimg' src='img/opts/attack.jpg'><div class='optext'><div class='optitle'>Enter the Covenant Office</div><div class='opdesc'></div></div></div><% $(function () { $('#opIreneandAndropoltrytoenterCovenant').click(function () { $('#opIreneandAndropoltrytoenterCovenant').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneandAndropoltrytoenterCovenant'); s.fullHistory.push('op Irene and Andropol try to enter Covenant');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene and Andropol try to enter Covenant';});}); %> <% s.returnRef = 'Covenant Office'; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene and Andropol refuse to enter Covenant' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><div id='opIreneandAndropolrefusetoenterCovenant' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Turn my back and leave</div><div class='opdesc'></div></div></div><% $(function () { $('#opIreneandAndropolrefusetoenterCovenant').click(function () { $('#opIreneandAndropolrefusetoenterCovenant').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneandAndropolrefusetoenterCovenant'); s.fullHistory.push('op Irene and Andropol refuse to enter Covenant');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene and Andropol refuse to enter Covenant';});}); %> <% s.returnRef = 'Main Hallway'; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene and Andropol try to enter Covenant' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>As I exit the map room,</span> I hear Andropol shout. 'Where are you going? Are you leaving me alone?' Yes. Because I've been trembling since I heard the noises behind the closed door to the Covenant Office. <% s.narration['Map Cabinet'].push('0-andropolchasereturn'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Andropol Chase Covenant Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.currentLocation != "Covenant Office") { %> <% s.narration['Map Cabinet'] = _.without( s.narration['Map Cabinet'] , '0-andropolchasereturn' ); %><% s.narration['Covenant Office'] = _.without( s.narration['Covenant Office'] , '0-andropolchasereach' ); %><% s.narration['Main Hallway'] = _.without( s.narration['Main Hallway'] , '0-andropolchaseexitagain' ); %> <% s.narration['first floor'].push('50-andropolchasecovenantremove'); %><% s.narration['Map Cabinet'].push('100-andropolchaseabandonmap'); %><% s.narration['Covenant Office'].push('100-andropolchaseabandoncovenant'); %> <% targetTurn = s.turn+1;targetEvent = 'ev Andropol Chase Abandon Region Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% }; %><%= _.sample( [ "<span class='high-emphasis'>I walk back</span> into the Map Cabinet. Andropol looks at me imploringly. He doesn't dare enter the Covenant Office alone. The noises continue behind the door.", "<span class='high-emphasis'>Andropol stares at me</span> as soon as I enter the room. 'Please,' he whispers. In the Covenant Office, the din continues.", ]) %> <% s.narration['Main Hallway'].push('0-andropolchaseexitagain'); %><%= _.sample( [ "<span class='high-emphasis'>I abandon Andropol.</span> Again. I can't bring myself to go into the Covenant Office.", "<span class='high-emphasis'>The noises</span> scare me too much to go in. Instead, I leave again.", ]) %> <% s.narration['Map Cabinet'].push('0-andropolchasereturn'); %><% if (s.currentLocation != "Map Cabinet" & s.currentLocation != "Covenant Office") { %><% print("<p><span class='high-emphasis'>A loud bang</span> coming from the direction of the Map Cabinet startles me. I listen anxiously: nothing. All sounds are gone.</p>"); %><% }; %><% if (s.currentLocation == "Map Cabinet") { %><% print("<p><span class='high-emphasis'>Right before entering the Map Cabinet,</span> a loud bang startles me.</p>"); %><% print("<p>I am fearful as I open the door.</p>"); %><% print("<p>Andropol isn't in the room.</p>"); %><% }; %><span class='high-emphasis'>I see no sign</span> in the room of my previous coming, no sign of my companion and no sign of what we were after.<span class='high-emphasis'>Whatever was making</span> the horrible noises I heard here the last time, it left no trace.<% s.narration['first floor'] = _.without( s.narration['first floor'] , '50-andropolchasecovenantremove' ); %><span class='high-emphasis'>We try to enter the Covenant Office,</span> but the door is closed and doesn't surrender to our attempts. It feels as if the wailing is pushing it from inside, almost taking it off its hinges. The real man's voice loses strength, cracks like ice, stops fighting: only a patient drowning. He starts sounding like a prayer for his soul, then goes quiet. Meanwhile, a strong breathing replaces the crying, a difficult, sick breathing that sounds like walking on gravel. And now there's silence, and the door we couldn't move opens on its own. <% s.narration['Main Hallway'] = _.without( s.narration['Main Hallway'] , '0-andropolchaseback' ); %><% s.eventIgnore.push('ev Andropol Chase Covenant Remove'); %><% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-andropolchaseentercovenant'); } else { s.interrupt['myself'] = ['interrupt-andropolchaseentercovenant']; }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Covenant Wait') == false ) { s.opport['Pseudopassage'].push('op Andropol Covenant Wait'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Covenant First') == false ) { s.opport['Pseudopassage'].push('op Andropol Covenant First'); }; %><% s.returnRef = 'Map Cabinet'; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opAndropolCovenantWait' class='oport story'><img class='optimg' src='img/opts/wait.jpg'><div class='optext'><div class='optitle'>Wait for Andropol to go in</div><div class='opdesc'></div></div></div><% $(function () { $('#opAndropolCovenantWait').click(function () { $('#opAndropolCovenantWait').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolCovenantWait'); s.fullHistory.push('op Andropol Covenant Wait');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Covenant Wait';});}); %> <% s.narration['Pseudopassage'].push('0-andropolcovenantwait'); %><% s.narration['Pseudopassage'].push('1-andropolcovenantenter'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant First' ); %><% s.returnRef = 'Covenant Office'; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Covenant Explain') == false ) { s.opport['Pseudopassage'].push('op Andropol Covenant Explain'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Covenant Leave') == false ) { s.opport['Pseudopassage'].push('op Andropol Covenant Leave'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><div id='opAndropolCovenantFirst' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Go in first</div><div class='opdesc'></div></div></div><% $(function () { $('#opAndropolCovenantFirst').click(function () { $('#opAndropolCovenantFirst').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolCovenantFirst'); s.fullHistory.push('op Andropol Covenant First');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Covenant First';});}); %> <% s.narration['Pseudopassage'].push('0-andropolcovenantfirst'); %><% s.narration['Pseudopassage'].push('1-andropolcovenantenter'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Wait' ); %><% s.returnRef = 'Covenant Office'; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Covenant Explain') == false ) { s.opport['Pseudopassage'].push('op Andropol Covenant Explain'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Covenant Leave') == false ) { s.opport['Pseudopassage'].push('op Andropol Covenant Leave'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I look at Andropol.</span> He doesn't look back: his face is down and he leans on a bookcase, trying to stop shaking. He groans. This is useless. I'll have to swallow my fear and go in first.<span class='high-emphasis'>With my hand</span> I request Andropol to stand still, and I enter the room before him.Everything is tidy. I feel a residual vibration from something that was here before, like a dying note played on a piano. It makes me dizzy. There's a man sitting, silent, with an unfocused gaze, as if he's trying to hear the fading note too. I don't know him. His clothes are humble. I don't see any wound on him. He has to be the second man, the real man: not the crying man. Instead of talking to him, I wait to see what he does. I want to see what the crying man has done to him; it's more important than helping. Knowing is more important than helping: I do nothing. After a short while, the man stands up. 'I beg your pardon,' he says, and walks straight to the door. 'Can you tell me what happened here?' I ask. The man leaves. I stare at Andropol. 'Did you see how he looked at me?' he says. I don't think he has stopped shaking since we came in.<div id='opAndropolCovenantLeave' class='oport story '><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Leave Andropol</div><div class='opdesc'>This has become sinister and dangerous, but perhaps I can just walk away from it.</div></div></div><% $(function () { $('#opAndropolCovenantLeave').click(function () { $('#opAndropolCovenantLeave').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolCovenantLeave'); s.fullHistory.push('op Andropol Covenant Leave');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Covenant Leave';});}); %> <% s.narration['Map Cabinet'].push('0-andropolcovenantleave'); %><% s.returnRef = 'Map Cabinet'; %><% s.exitList["Map Cabinet"] = [ "Main Hallway exit", "no exit", "no exit", "no exit", "no exit", "no exit" ]; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Andropol Covenant Entry Restore';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Explain' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><% s.exitList["Map Cabinet"] = [ "Main Hallway exit", "no exit", "Covenant Office exit", "no exit", "no exit", "no exit" ]; %><span class='high-emphasis'>Perhaps if I leave</span> and Andropol doesn't come near me again, the crying voice will also stay away. I briefly consider what I should say to him. His nervous demeanor is unsettling, even though I feel it's unintentional. I don't know what to say and I suddenly feel the fear growing inside. I just turn my back and leave, wondering what this all means. I close and open my fists, open and close and open and close.<div id='opAndropolCovenantExplain' class='oport story '><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Demand a clear explanation, now</div><div class='opdesc'>Andropol must tell me everything he knows.</div></div></div><% $(function () { $('#opAndropolCovenantExplain').click(function () { $('#opAndropolCovenantExplain').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolCovenantExplain'); s.fullHistory.push('op Andropol Covenant Explain');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Covenant Explain';});}); %> <% s.narration['Pseudopassage'].push('0-andropolcovenantexplain'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Covenant More') == false ) { s.opport['Pseudopassage'].push('op Andropol Covenant More'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Covenant Clara') == false ) { s.opport['Pseudopassage'].push('op Andropol Covenant Clara'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Leave' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>We heard violent noises,</span> screams and hits here, but nothing is broken, nothing is upset. Even the dust from today's haze that settled on the floor is undisturbed, except for a few footsteps. Octavien Andropol has collapsed on a chair. 'What...' I say, and stop. 'Who...' I start again, and stop, because everything sounds so ridiculous. 'Why the egg?' I finally ask. Andropol examines his egg. 'It is true. I feel its weight,' he says, then he throws it against the wall. I gasp. The egg breaks against the portrait of our Canton's first Premier. Andropol's gaze has a sick intensity: for the first time, I find him repulsive. 'It's solid!' he says.<div id='opAndropolCovenantMore' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Ask him to explain more</div><div class='opdesc'></div></div></div><% $(function () { $('#opAndropolCovenantMore').click(function () { $('#opAndropolCovenantMore').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolCovenantMore'); s.fullHistory.push('op Andropol Covenant More');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Covenant More';});}); %> <% s.narration['Pseudopassage'].push('0-andropolcovenantmore'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Covenant Poem') == false ) { s.opport['Pseudopassage'].push('op Andropol Covenant Poem'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>What does this</span> have to do with the crying voice?' I ask. 'If the crying man is a shadow,' he says, not looking at me, 'perhaps those who hear it are shadows too? But you held the egg.' 'What do you mean when you say that he is a shadow?' 'That he doesn't exist,' he cries, 'except in the poem I wrote! Don't you remember? I read it to you! *The Master of the Land*.' This boy is absolutely crazy.<div id='opAndropolCovenantClara' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Insist I'm not Clara</div><div class='opdesc'></div></div></div><% $(function () { $('#opAndropolCovenantClara').click(function () { $('#opAndropolCovenantClara').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolCovenantClara'); s.fullHistory.push('op Andropol Covenant Clara');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Covenant Clara';});}); %> <% s.narration['Pseudopassage'].push('0-andropolcovenantclara'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Covenant Find Clara') == false ) { s.opport['Pseudopassage'].push('op Andropol Covenant Find Clara'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Didn't you hear?</span> I'm Irene Victor, not Clara, Irene!' 'Clara,' he says, and his adolescent features get more marked than ever, 'only the strength you give me lets me carry on.' 'I was only being polite,' I say, and I hesitate to press harder, but this boy is impossible. 'You are beneath me. And also you are beneath the real Clara, my sister. *I am Irene Victor*, do you understand?' 'You can't say that after listening to my poems in your house,' says he, unfazed. 'The way you listened to them.'<div id='opAndropolCovenantFindClara' class='oport story '><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Tell him to go find Clara</div><div class='opdesc'>I'm fed up with this.</div></div></div><% $(function () { $('#opAndropolCovenantFindClara').click(function () { $('#opAndropolCovenantFindClara').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolCovenantFindClara'); s.fullHistory.push('op Andropol Covenant Find Clara');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Covenant Find Clara';});}); %> <% s.narration['Covenant Office'].push('0-andropolcovenantfindclara'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Explain' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Before' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant More' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Clara' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Find Clara' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Poem' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Believe' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Never Believe' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Do' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem What' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Murderer' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Victim' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Will Go' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I try to change my face,</span> make a very serious face. 'If Clara is who you want to talk to, go and find her. I'm not her and I don't want more of this absurdity.' He isn't capable of concealing his emotions; I'm forced to see him flush, stare, look down, gape and inhale, cover his eyes with a hand. 'I'm surrounded by shadows,' he says. 'Reflections gather for dinner.' And he runs away.<div id='opAndropolCovenantPoem' class='oport story'><img class='optimg' src='img/opts/book.jpg'><div class='optext'><div class='optitle'>Ask about the poem</div><div class='opdesc'></div></div></div><% $(function () { $('#opAndropolCovenantPoem').click(function () { $('#opAndropolCovenantPoem').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolCovenantPoem'); s.fullHistory.push('op Andropol Covenant Poem');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Covenant Poem';});}); %> <% s.narration['Pseudopassage'].push('0-andropolcovenantpoem'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Poem Believe') == false ) { s.opport['Pseudopassage'].push('op Andropol Poem Believe'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Poem Do') == false ) { s.opport['Pseudopassage'].push('op Andropol Poem Do'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Poem What') == false ) { s.opport['Pseudopassage'].push('op Andropol Poem What'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Tell me about your poem,'</span> I say. 'Don't you remember?' he asks, and he looks truly heartbroken about it. 'The poem is about the crying man. He is doing exactly as I wrote. I imagined him and now he exists.' This is absurd, superstitious, unbelievable. But it sends a shiver up my spine. I have heard the crying, and any superstition would be better than hearing it again.<div id='opAndropolPoemBelieve' class='oport story'><img class='optimg' src='img/opts/thumb_down.jpg'><div class='optext'><div class='optitle'>Tell him I don't believe this</div><div class='opdesc'></div></div></div><% $(function () { $('#opAndropolPoemBelieve').click(function () { $('#opAndropolPoemBelieve').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolPoemBelieve'); s.fullHistory.push('op Andropol Poem Believe');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Poem Believe';});}); %> <% s.narration['Pseudopassage'].push('0-andropolpoembelieve'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Never Believe') == false ) { s.opport['Pseudopassage'].push('op Andropol Never Believe'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I won't admit</span> believing this fantastical nonsense from an almost hysterical young man who can't tell between my sister and me. 'But you saw it, Clara, here with me! And you saw it before, in the dining hall!' 'You don't even know who I am,' I answer. 'You held the egg,' he mutters to himself. 'You're not a shadow. I don't want to be surrounded by shadows.' He starts to shake. 'All the reflections gather for dinner,' he mumbles.<div id='opAndropolNeverBelieve' class='oport story '><img class='optimg' src='img/opts/thumb_down.jpg'><div class='optext'><div class='optitle'>Tell him I'll never believe this</div><div class='opdesc'>And leave no doubt that I'm done with this.</div></div></div><% $(function () { $('#opAndropolNeverBelieve').click(function () { $('#opAndropolNeverBelieve').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolNeverBelieve'); s.fullHistory.push('op Andropol Never Believe');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Never Believe';});}); %> <% s.narration['Covenant Office'].push('0-andropolneverbelieve'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Explain' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Before' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant More' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Clara' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Find Clara' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Poem' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Believe' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Never Believe' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Do' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem What' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Murderer' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Victim' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Will Go' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>He must understand</span> that I don't believe anything he's telling me. 'All this is a charade,' I tell him. 'A friend of yours is using some trick to make the noises. You want to make us look foolish.' He starts complaining but I demand silence. 'And listen, you pretend madman, *I am Irene*. I am not Clara. If you want a muse at least learn her correct name.' He isn't capable of concealing his emotions; I'm forced to see him flush, stare, look down, gape and inhale, cover his eyes with a hand. Then he walks away without a word. Not an apology, not another rambling speech... nothing!<div id='opAndropolPoemDo' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Ask him if he hasn't tried to do anything about the crying man</div><div class='opdesc'></div></div></div><% $(function () { $('#opAndropolPoemDo').click(function () { $('#opAndropolPoemDo').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolPoemDo'); s.fullHistory.push('op Andropol Poem Do');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Poem Do';});}); %> <% s.narration['Pseudopassage'].push('0-andropolpoemdo'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Haven't you tried</span> to do anything about him?' I say. 'This morning, when I started hearing him, I tried to write him away,' he says, almost weeping. 'I wrote a poem where he vanished, but I kept hearing the crying all the time. Then I burnt my manuscripts, Clara, all of them. I still could hear the crying. It keeps doing what I wrote first but nothing I do now changes anything.' Absurd and superstitious. But I *feel* it's true. <% if (_.contains(s.fullHistory, '0-andropolpoemwhat')) { %><% } else { %><% print("<p>'What will he do?'</p>"); %><% print("<p>'Scare the humble,' he recites, 'humiliate the powerful. And then... at midnight...'</p>"); %><% print("<p>Sobbing prevents him from talking.</p>"); %><% }; %><div id='opAndropolPoemWhat' class='oport story'><img class='optimg' src='img/opts/book.jpg'><div class='optext'><div class='optitle'>Ask him what the crying man does in his poem</div><div class='opdesc'></div></div></div><% $(function () { $('#opAndropolPoemWhat').click(function () { $('#opAndropolPoemWhat').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolPoemWhat'); s.fullHistory.push('op Andropol Poem What');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Poem What';});}); %> <% s.narration['Pseudopassage'].push('0-andropolpoemwhat'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Poem Murderer') == false ) { s.opport['Pseudopassage'].push('op Andropol Poem Murderer'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Poem Victim') == false ) { s.opport['Pseudopassage'].push('op Andropol Poem Victim'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'What does the poem tell?'</span> I ask. 'It starts with a man seeing haze in the sky. He recognizes it's a portent, and he starts crying. He roams the land, searching for a woman... the maid who dreams alone. He finds a party. He frightens the humble and shames the powerful. He only catches glimpses of the maid. And in the end the crying man goes underground. He buries himself. And there he meets a murderer.' Too much is piling on me. First the disembodied voice, then the claim that a poem created it, now a murder.<div id='opAndropolPoemMurderer' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Ask him about the murderer</div><div class='opdesc'></div></div></div><% $(function () { $('#opAndropolPoemMurderer').click(function () { $('#opAndropolPoemMurderer').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolPoemMurderer'); s.fullHistory.push('op Andropol Poem Murderer');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Poem Murderer';});}); %> <% s.narration['Pseudopassage'].push('0-andropolpoemmurder'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Poem Will Go') == false ) { s.opport['Pseudopassage'].push('op Andropol Poem Will Go'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Victim' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><div id='opAndropolPoemVictim' class='oport story'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>Ask him about the victim</div><div class='opdesc'></div></div></div><% $(function () { $('#opAndropolPoemVictim').click(function () { $('#opAndropolPoemVictim').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolPoemVictim'); s.fullHistory.push('op Andropol Poem Victim');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Poem Victim';});}); %> <% s.narration['Pseudopassage'].push('0-andropolpoemmurder'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Murderer' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Andropol Poem Will Go') == false ) { s.opport['Pseudopassage'].push('op Andropol Poem Will Go'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I don't know</span> the name of the murderer, neither the name of the victim,' says Andropol, 'but I know the victim will be just and the murder will be a terrible crime. *That's why the man is crying.*' He shivers. 'Will the murder happen before they both meet or after?' 'I don't know. I didn't write it. Clara, go,' he hisses, 'go to the dining hall, in the ground floor. The man will be there to humiliate the powerful. Watch the man. It's but a shadow. We'll think something before midnight.'<div id='opAndropolPoemWillGo' class='oport story '><img class='optimg' src='img/opts/dining.jpg'><div class='optext'><div class='optitle'>Tell him I will go to the dining hall</div><div class='opdesc'>This is what he wants and what I'm supposed to do anyway.</div></div></div><% $(function () { $('#opAndropolPoemWillGo').click(function () { $('#opAndropolPoemWillGo').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolPoemWillGo'); s.fullHistory.push('op Andropol Poem Will Go');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Poem Will Go';});}); %> <% s.narration['Covenant Office'].push('0-andropolpoemwillgo'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Explain' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Before' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant More' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Clara' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Find Clara' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Covenant Poem' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Believe' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Never Believe' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Do' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem What' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Murderer' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Victim' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Andropol Poem Will Go' ); %><% if ( _.contains(s.opport['Clara'], 'op Clara Andropol Ask') == false ) { s.opport['Clara'].push('op Clara Andropol Ask'); }; %><% targetTurn = Math.floor( s.timeSpeed*48 );targetEvent = 'ev Andropol Others Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.reminders['andropoldinner'] = "Andropol told me to watch the crying man in the Dining Hall of the ground floor, and then meet him near the garden tables after dinner."; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'I don't know if any of this is real,</span> I say, 'but I will be in the dining hall. If anything happens there, I'll know.' He sighs with open relief. 'Today I have come to doubt the solidity of everything,' he says. 'I thought that things were solid, because how else can you have poetry at all?' 'Stop talking nonsense,' I say. I'm too unsettled and too afraid to listen to drivel. 'I will dine there and if the voice appears I will find you later.' 'Look for me around the garden tables,' he says. 'I need to rest. I feel sick.' He leaves me looking at the broken egg, the footsteps on the dust.<% s.opport['Clara'] = _.without( s.opport['Clara'] , 'op Clara Andropol Ask' ); %><% s.opport['Iuvens'] = _.without( s.opport['Iuvens'] , 'op Iuvens Andropol Ask' ); %><% s.opport['Iuvens'] = _.without( s.opport['Iuvens'] , 'op Iuvens Superposition Ask' ); %><div id='opClaraAndropolAsk' class='oport story '><img class='optimg' src='img/opts/egg.jpg'><div class='optext'><div class='optitle'>Tell Clara about Octavien Andropol</div><div class='opdesc'>He thought my name was Clara. What does she know?</div></div></div><% $(function () { $('#opClaraAndropolAsk').click(function () { $('#opClaraAndropolAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opClaraAndropolAsk'); s.fullHistory.push('op Clara Andropol Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Clara Andropol Ask';});}); %> <% s.narration['myself'].push('0-claraandropolask'); %><% if ( _.contains(s.opport['Iuvens'], 'op Iuvens Andropol Ask') == false ) { s.opport['Iuvens'].push('op Iuvens Andropol Ask'); }; %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'He called you *Clara*?',</span> my sister asks with mock outrage. 'But he's in love with me.' Clara tells me he's a sixteen year old poet, that is, a very bad poet, who barely cares to hide his infatuation with her. 'Hearing unbearable pedantries week after week and knowing all of them are about me. Only a good syphilis could ever make him a decent poet.' We laugh. 'He was very worried about a crying specter,' I say, fearing my voice will crack. It does not. She says there was a crying ghost in a poem he read in her salon. 'Dung. Iuvens liked it, but it was dung.'<div id='opIuvensAndropolAsk' class='oport story '><img class='optimg' src='img/opts/egg.jpg'><div class='optext'><div class='optitle'>Tell Iuvens about Octavien Andropol</div><div class='opdesc'>He also knows him from Clara's salon, and he admires his poems.</div></div></div><% $(function () { $('#opIuvensAndropolAsk').click(function () { $('#opIuvensAndropolAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIuvensAndropolAsk'); s.fullHistory.push('op Iuvens Andropol Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iuvens Andropol Ask';});}); %> <% s.narration['myself'].push('0-iuvensandropolask'); %><% if ( _.contains(s.opport['Iuvens'], 'op Iuvens Superposition Ask') == false ) { s.opport['Iuvens'].push('op Iuvens Superposition Ask'); }; %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>No reason</span> to hide this story from Cesarel. I tell him that Andropol thinks I'm Clara, and ask him about the "crying ghost" poem. 'Octavien is a radical,' says Iuvens. 'A clumsy radical, he doesn't know, but he is. Have I ever told you my idea of superposition?' 'No.' 'Here in Aurora, our time is a strange superposition. You see our century on the front, but it's thin and translucent, and behind it you see the past, the middle ages, and only the past is solid. Our century is a ghost. And that's what his poem was about.'<div id='opIuvensSuperpositionAsk' class='oport story '><img class='optimg' src='img/opts/crown.jpg'><div class='optext'><div class='optitle'>Discuss ideas with Iuvens</div><div class='opdesc'>He's the best thinker in our Canton, I believe.</div></div></div><% $(function () { $('#opIuvensSuperpositionAsk').click(function () { $('#opIuvensSuperpositionAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIuvensSuperpositionAsk'); s.fullHistory.push('op Iuvens Superposition Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iuvens Superposition Ask';});}); %> <% s.narration['myself'].push('0-iuvenssuperposition'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'The present is just a veil</span> according to that superposition concept,' I tell Iuvens, 'but I heard you debating and what you were saying was essentially the opposite.' 'Sometimes you have to claim the opposite of what you really think,' says Iuvens, 'if you want to win.' 'Are you saying that progress can be built on top of lies?' 'We are fighting against tyrants who are more powerful than we are. So, yes.'<% s.narration['Dining Hall'].push('1000-dinnercryingmanambience'); %><% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-dinnercryingfirstambience'); } else { s.interrupt['myself'] = ['interrupt-dinnercryingfirstambience']; }; %><span class='high-emphasis'>Then something happens.</span> A sound happens.<% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Crying Interrupt Ambience') == false ) { s.opport['Pseudopassage'].push('op Dinner Crying Interrupt Ambience'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opDinnerCryingInterruptAmbience' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Pay attention to the sound</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerCryingInterruptAmbience').click(function () { $('#opDinnerCryingInterruptAmbience').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerCryingInterruptAmbience'); s.fullHistory.push('op Dinner Crying Interrupt Ambience');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Crying Interrupt Ambience';});}); %> <% s.narration['myself'].push('0-dinnercryinginterruptambience'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Dinner Crying Second Ambience';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>For a moment</span> everything else pauses. I stop hearing the chatter, the cutlery and the glasses. I hear tears. Moans. A crying man. He's crying *angrily*. And then everything is normal again. Quick as a blink. Polite people laugh. Nobody is looking at me or says anything about my lapse.<% if (_.contains( _.keys(s.interrupt),'Dining Hall' )) { s.interrupt['Dining Hall'].push('interrupt-dinnercryingsecondambience'); } else { s.interrupt['Dining Hall'] = ['interrupt-dinnercryingsecondambience']; }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Crying Wine Ambience') == false ) { s.opport['Pseudopassage'].push('op Dinner Crying Wine Ambience'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opDinnerCryingWineAmbience' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>What's that sound that's coming from everywhere?</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerCryingWineAmbience').click(function () { $('#opDinnerCryingWineAmbience').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerCryingWineAmbience'); s.fullHistory.push('op Dinner Crying Wine Ambience');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Crying Wine Ambience';});}); %> <% s.narration['myself'].push('0-dinnercryingwineambience'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Dinner Crying Third Ambience';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>It comes from everywhere</span> and it's like laughter and a wail at the same time, and it feels like the cold when a cloud hides the sun. And then lots of voices, from all parts of the room, complaining and apologising. 'You splashed all your wine on me,' Clara says. 'But I wasn't even touching the glass!' says the man next to her. I look left and right. Most wine glasses have fallen over and most guests are either amused, angry, or ashamed. I lower my head and I see a brilliant red stain on my chest. People around are all saying 'apologies' and 'how could this happen' and 'this is most strange'. 'An earthquake?' someone suggests.<% if (_.contains( _.keys(s.interrupt),'Dining Hall' )) { s.interrupt['Dining Hall'].push('interrupt-dinnercryingthirdambience'); } else { s.interrupt['Dining Hall'] = ['interrupt-dinnercryingthirdambience']; }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Crying Chaos Ambience') == false ) { s.opport['Pseudopassage'].push('op Dinner Crying Chaos Ambience'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opDinnerCryingChaosAmbience' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>And then I hear lots of tinkling noises</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerCryingChaosAmbience').click(function () { $('#opDinnerCryingChaosAmbience').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerCryingChaosAmbience'); s.fullHistory.push('op Dinner Crying Chaos Ambience');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Crying Chaos Ambience';});}); %> <% s.narration['myself'].push('0-dinnercryingchaosmbience'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Wine glasses fall over.</span> Some guests push theirs inadvertently; others, like Clara, shake them, splashing someone, and then drop them on the table. And now most people have wine stains on their clothes and faces. People notice their fallen glasses and stand them upright, methodically, without a word, and continue eating. And then lots of voices, from all parts of the room, resuming their previous conversations. I expect that someone will comment on this, but no one does. <% targetTurn = s.turn+1;targetEvent = 'ev Dinner Hall End';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+1;if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( s.namedEvent['dinner-end'] ); s.timedEvent[targetTurn] = _.flatten( s.timedEvent[targetTurn] ) } else { s.timedEvent[targetTurn] = _.flatten(s.namedEvent['dinner-end']); }; s.namedEvent['dinner-end'] = [ ]; %><% s.narration['Dining Hall'].push('1000-dinnercryingman'); %><% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-dinnercryingfirst'); } else { s.interrupt['myself'] = ['interrupt-dinnercryingfirst']; }; %><span class='high-emphasis'>Then something happens.</span> A sound happens.<% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Crying Interrupt') == false ) { s.opport['Pseudopassage'].push('op Dinner Crying Interrupt'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opDinnerCryingInterrupt' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Pay attention to the sound</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerCryingInterrupt').click(function () { $('#opDinnerCryingInterrupt').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerCryingInterrupt'); s.fullHistory.push('op Dinner Crying Interrupt');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Crying Interrupt';});}); %> <% s.narration['myself'].push('0-dinnercryinginterrupt'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Dinner Crying Second';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>For a moment</span> everything else pauses. I stop hearing the chatter, the cutlery and the glasses. I hear tears. Moans. A crying man. He's crying *angrily*. And then everything is normal again. Quick as a blink. Polite people laugh. Nobody is looking at me or says anything about my lapse. Andropol was right. The crying man is here.<% if (_.contains( _.keys(s.interrupt),'Dining Hall' )) { s.interrupt['Dining Hall'].push('interrupt-dinnercryingsecond'); } else { s.interrupt['Dining Hall'] = ['interrupt-dinnercryingsecond']; }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Crying Wine') == false ) { s.opport['Pseudopassage'].push('op Dinner Crying Wine'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opDinnerCryingWine' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>What's that sound that's coming from everywhere?</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerCryingWine').click(function () { $('#opDinnerCryingWine').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerCryingWine'); s.fullHistory.push('op Dinner Crying Wine');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Crying Wine';});}); %> <% s.narration['Pseudopassage'].push('0-dinnercryingwine'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Crying Leave') == false ) { s.opport['Pseudopassage'].push('op Dinner Crying Leave'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Crying Wait') == false ) { s.opport['Pseudopassage'].push('op Dinner Crying Wait'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>It comes from everywhere</span> and it's like laughter and a wail at the same time, and it feels like the cold when a cloud hides the sun. And then lots of voices, from all parts of the room, complaining and apologising. 'You splashed all your wine on me,' Clara says. 'But I wasn't even touching the glass!' says the man next to her. I look left and right. Most wine glasses have fallen over and most guests are either amused, angry, or ashamed. No one seems to feel the terror that is starting to grip my heart. Are we being haunted and no one notices? I lower my head and I see a brilliant red stain on my chest. At least *I* am being haunted.<div id='opDinnerCryingLeave' class='oport story '><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Leave</div><div class='opdesc'>I want to escape from whatever is inside here with me.</div></div></div><% $(function () { $('#opDinnerCryingLeave').click(function () { $('#opDinnerCryingLeave').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerCryingLeave'); s.fullHistory.push('op Dinner Crying Leave');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Crying Leave';});}); %> <% s.narration['Grand Entrance Hall'].push('0-dinnercryingleave'); %><% s.returnRef = 'Grand Entrance Hall'; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Crying Wait' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'I feel bad,'</span> I tell Clara. Before seeing her reaction, I stand and walk to the door. People everywhere are still complaining about the wine glasses and I don't think anyone notices me. I close the door behind me and then lean back. Only a few children and two guards look at me with curiosity. It got dark after dinner started and now there's only candlelight. I take it all in, the quiet, the softness. The terror I felt disappears all of a sudden. I laugh, mildly embarrassed. The children smile at me. I can't go back in until people finish dining.<div id='opDinnerCryingWait' class='oport story '><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Wait</div><div class='opdesc'>I will calm down. I have to.</div></div></div><% $(function () { $('#opDinnerCryingWait').click(function () { $('#opDinnerCryingWait').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerCryingWait'); s.fullHistory.push('op Dinner Crying Wait');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Crying Wait';});}); %> <% s.narration['Dining Hall'].push('0-dinnercryingwait'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Crying Leave' ); %><% targetTurn = s.turn+2;targetEvent = 'ev Dinner Crying Third';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'You're white,'</span> Clara whispers. I swallow and clench a fist under the table. Clara leans forward and murmurs into my ear. 'What's happening? You have no colour.' 'Not now.' 'Don't cause trouble,' she says, sounding annoyed. People around are all saying 'my apologies' and 'how could this happen' and 'this is most strange'. 'An earthquake?' someone suggests. The terror I felt disappears all of a sudden. I laugh, feeling mildly embarrassed, but I'm thinking of Andropol. Will this be over now? A different thought nags me now. 'Clara, did I just say something? Something important,' I ask. She mutters something and ignores me. I hate the feeling when I think that I've already forgotten something important one second after thinking it.<% if (_.contains( _.keys(s.interrupt),'Dining Hall' )) { s.interrupt['Dining Hall'].push('interrupt-dinnercryingthird'); } else { s.interrupt['Dining Hall'] = ['interrupt-dinnercryingthird']; }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Crying Chaos') == false ) { s.opport['Pseudopassage'].push('op Dinner Crying Chaos'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opDinnerCryingChaos' class='oport story '><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>And then my blood stops flowing</div><div class='opdesc'>And my breast stops breathing.</div></div></div><% $(function () { $('#opDinnerCryingChaos').click(function () { $('#opDinnerCryingChaos').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerCryingChaos'); s.fullHistory.push('op Dinner Crying Chaos');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Crying Chaos';});}); %> <% s.narration['Dining Hall'].push('0-dinnercryingchaos'); %><% if ( _.contains(s.opport['Outside tables'], 'op Andropol Outside Try') == false ) { s.opport['Outside tables'].push('op Andropol Outside Try'); }; %><% s.narration['Outside tables'].push('1000-andropoloutsidepathetic'); %><% targetTurn = Math.floor( s.timeSpeed*51 );targetEvent = 'ev Andropol Pathetic Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+1;targetEvent = 'ev Dinner Hall End';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+1;if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( s.namedEvent['dinner-end'] ); s.timedEvent[targetTurn] = _.flatten( s.timedEvent[targetTurn] ) } else { s.timedEvent[targetTurn] = _.flatten(s.namedEvent['dinner-end']); }; s.namedEvent['dinner-end'] = [ ]; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>The crying from above</span> is seething with hate. Wine glasses fall over. Some guests push theirs inadvertently; others, like Clara, shake them, splashing someone, and then drop them on the table. And now most people have wine stains on their clothes and faces. It lasts a moment and then the crying man leaves with a last, victorious grunt. People notice their fallen glasses and stand them upright, methodically, without a word, and continue eating. And then lots of voices, from all parts of the room, resuming their previous conversations. I hope that someone will comment on this, but no one does. We're all haunted.<% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Andropol Outside Try' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '1000-andropoloutsidepathetic' ); %><% delete s.reminders['andropoldinner']; %><span class='high-emphasis'>I see Andropol</span> pathetically lying his head on a table. <% if (_.contains(s.fullHistory, '0-dinnerhallsit')) { %><% print("<p>I need to tell him about the haunting. I need to relieve the terror.</p>"); %><% } else { %><% print("<p>Does he know I didn't have dinner in the great dining hall as he asked me and I have no news for his chase after a spirit?</p>"); %><% }; %> I don't see him raise his head. I can't understand how he knows that I am here. But he talks to me. 'You're not Clara,' he says. I am speechless for a few moments, and then he adds, 'you're nothing.' <% $('body').addClass('hideambientops'); %><div id='opAndropolOutsideTry' class='oport story '><img class='optimg' src='img/opts/egg.jpg'><div class='optext'><div class='optitle'>Try to talk to Octavien Andropol</div><div class='opdesc'>He's slumped onto a table.</div></div></div><% $(function () { $('#opAndropolOutsideTry').click(function () { $('#opAndropolOutsideTry').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAndropolOutsideTry'); s.fullHistory.push('op Andropol Outside Try');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Andropol Outside Try';});}); %> <% s.narration['Outside tables'].push('0-andropoltrytalking'); %><% delete s.reminders['andropoldinner']; %><% s.opport['Iuvens'] = _.without( s.opport['Iuvens'] , 'op Iuvens Andropol Ask' ); %><% s.opport['Clara'] = _.without( s.opport['Clara'] , 'op Clara Andropol Ask' ); %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'The crying man haunted the dinner,'</span> I tell Andropol, 'as you said.' 'Poets deserve no trust,' he says, still not looking at me. 'Clever people forget poetry the same they forget about seeing a flower or a bird. Poets take poetry seriously because we are afraid of the sun, humping over our papers in dark rooms. An older poet told me.' 'Octavien, listen...' I hold him by the arm and stare very, very seriously. He utters a cry that makes twenty eyes turn and pierce me with suspicion. He looks into my face, covering one eye with a hand, then the other, then both, then one and another, again and again looking into face, not a blink, mouth contracted, hand shaking, eyes full of fear. A scream dies in his lips and he stumbles away. People keep staring, but no one asks. <% targetTurn = s.turn+1;targetEvent = 'ev Crying Direct Attack';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-cryingdirectattack'); } else { s.interrupt['myself'] = ['interrupt-cryingdirectattack']; }; %><% s.narration['Pseudopassage'].push('1000-cryingdirectattack'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying Direct Attack') == false ) { s.opport['Pseudopassage'].push('op Crying Direct Attack'); }; %> <% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>I get a moment of pause.</span> I breathe deeply, trying to push thoughts out of my head. I'm starting to feel disturbed. What is happening? What...?<div id='opCryingDirectAttack' class='oport story '><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Pay attention</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingDirectAttack').click(function () { $('#opCryingDirectAttack').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingDirectAttack'); s.fullHistory.push('op Crying Direct Attack');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying Direct Attack';});}); %> <% s.narration['Pseudopassage'].push('0-cryingdirectattackafterdinner'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying Direct Calm') == false ) { s.opport['Pseudopassage'].push('op Crying Direct Calm'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>And then I notice it;</span> I must have been hearing it without realizing. It is a sob. I try to ignore it, but it feels like it's creeping out of the air itself and crawling into my ear. Nesting inside, coiled like a worm. A wet voice weeps and weeps and weeps and weeps and says 'You are not Clara.' from inside my ear and 'the master of the land knows no mercy, the master of the land always collects the toll' then he pours out of me and gets silent.<div id='opCryingDirectCalm' class='oport story '><img class='optimg' src='img/opts/ray.jpg'><div class='optext'><div class='optitle'>Return to calm</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingDirectCalm').click(function () { $('#opCryingDirectCalm').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingDirectCalm'); s.fullHistory.push('op Crying Direct Calm');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying Direct Calm';});}); %> <% s.narration['myself'].push('0-cryingdirectcalm'); %><% targetTurn = s.turn+1;targetEvent = 'ev add the options to ask people to go with irene to the cellar';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.reminders['companioncellar'] = "I want to convince a companion to chase the crying man in the cellar with me."; %><% s.reminders['cryingmanincellar'] = "The crying spirit will descend to the cellar after midnight, according to Andropol."; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><% if ( _.contains(s.opport['Clara'], 'op Cellar Ask Clara') == false ) { s.opport['Clara'].push('op Cellar Ask Clara'); }; %><% if (_.contains(s.fullHistory, '0-efendiaskhim')) { %><% s.narration['Fountain'].push('500-effendi is here to ask for cellar'); %><% }; %><% if (_.contains(s.fullHistory, '0-sayyestopainting')) { %><% if ( _.contains(s.opport['Garden Stairs'], 'op Cellar Ask Iliopoulos') == false ) { s.opport['Garden Stairs'].push('op Cellar Ask Iliopoulos'); }; %><% if (s.charLocationPriority['Iliopoulos'] < 10) { s.charLocationPriority['Iliopoulos'] = 10;s.characterList['Iliopoulos'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iliopoulos"] = "Nowhere"; s.charLocationPriority["Iliopoulos"] = 10; %><% }; %><% targetTurn = s.turn+1;targetEvent = 'ev Crying Obsession First';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*57 );targetEvent = 'ev Crying Man Midnight Warning';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% s.flag['hasCellarCompanion'] = false; %><% s.flag['AskedCellar'] = false; %><span class='high-emphasis'>It takes an heroic effort</span> to stop shaking and return to calm. It can't touch me. It can't touch me. It's but a ghost, a spirit... an aberration. It shouldn't exist. It doesn't. Then, why is it still there? How does it *dare?* Fear has receded. Now I feel anger. I'm surprised. According to Andropol, the crying man will go underground right after midnight. That must be the wine cellar: first I'd have to go to the kitchen, then to the pantry, then down. Everyone else will be watching the great Burburum ceremony. I think of the aberration moving unwatched, unchallenged. Tomorrow I won't be able to forget the disembodied voice, the haunting of the dinner, the red stain on my dress. It infuriates me. If I go, I could try to get a companion.<div id='opCellarAskClara' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Ask Clara to follow the crying man with me</div><div class='opdesc'>My sister may help me without questioning.</div></div></div><% $(function () { $('#opCellarAskClara').click(function () { $('#opCellarAskClara').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarAskClara'); s.fullHistory.push('op Cellar Ask Clara');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Ask Clara';});}); %> <% s.narration['Pseudopassage'].push('0-cellaraskclara'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Ask Clara Truth') == false ) { s.opport['Pseudopassage'].push('op Cellar Ask Clara Truth'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Ask Clara Prank') == false ) { s.opport['Pseudopassage'].push('op Cellar Ask Clara Prank'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><% if (s.flag.AskedCellar == false) { %><% print("<p><span class='high-emphasis'>The moment I decide</span> to ask Clara to help me follow the crying man I realise I don't know how to tell her.</p>"); %><% print("<p>I am so furious, so excited to go after him, that I haven't given a thought to the explanations. I despair; I'm laughable. How can I expect to convince Clara, or anyone else, with a story about floating spirits told by a babbling half-grown man.</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>Even if she's my sister,</span> telling Clara the crying man story wouldn't be any easier than telling anyone else.</p>"); %><% }; %> But perhaps there is some oblique way of persuading her. <% s.flag['AskedCellar'] = true; %><div id='opCellarAskClaraTruth' class='oport story'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>Tell her the truth</div><div class='opdesc'>And remind her of the falling glasses we witnessed during the dinner.</div></div></div><% $(function () { $('#opCellarAskClaraTruth').click(function () { $('#opCellarAskClaraTruth').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarAskClaraTruth'); s.fullHistory.push('op Cellar Ask Clara Truth');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Ask Clara Truth';});}); %> <% s.narration['myself'].push('0-cellaraskclaratruth'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Ask Clara Prank' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Do you think I'm insane?'</span> I ask Clara. I hold her hands between mine, and if she realises I'm not joking she doesn't show. 'More often than not,' she answers with a laugh. 'All of us find you hateful from time to time. Don't you ever think about us? Do you consider what your whims cost us?' 'That's not the question!' I complain. Her reaction has made me unable to give her a candid explanation. She's decided to be a sarcastic critic, and nothing I say will reach her now. I better leave her alone. Will I find someone else?<div id='opCellarAskClaraPrank' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Tell her that what happened during the dinner was a prank</div><div class='opdesc'>And I have discovered the culprit.</div></div></div><% $(function () { $('#opCellarAskClaraPrank').click(function () { $('#opCellarAskClaraPrank').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarAskClaraPrank'); s.fullHistory.push('op Cellar Ask Clara Prank');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Ask Clara Prank';});}); %> <% s.narration['myself'].push('0-cellaraskclaraprank'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Ask Clara Truth' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Cellar Ask Effendi' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-effendi is here to ask for cellar' ); %><% s.opport['Garden Stairs'] = _.without( s.opport['Garden Stairs'] , 'op Cellar Ask Iliopoulos' ); %><% delete s.reminders['companioncellar']; %><% s.flag['hasCellarCompanion'] = true; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Clara's face darkens</span> when I remind her of the falling glasses during the dinner. 'But it was a prank, as you must have guessed,' and I whisper into her ear, 'and I know who's responsible.' 'I hate being mocked,' says Clara. 'I'd rather be brutalized in private than mocked in public.' 'I think that brutalizing us in public is easy enough,' I say. I will go down to the cellar during the Burburum ceremony to prevent an even worse prank. 'Not on your own,' she says. 'Wait for me at the cellar door before you enter.' I have my companion! And now I think of the crying man and my blood boils.<span class='high-emphasis'>I'm desperate.</span> Who can help? Who will? Who could I convince of this tale of fantastic apparitions? Perhaps Effendi? There he is; and he'll be gone from the Canton in a few days. <% if ( _.contains(s.opport['Fountain'], 'op Cellar Ask Effendi') == false ) { s.opport['Fountain'].push('op Cellar Ask Effendi'); }; %><% $('body').addClass('hideambientops'); %><div id='opCellarAskEffendi' class='oport story'><img class='optimg' src='img/opts/egg.jpg'><div class='optext'><div class='optitle'>Ask Effendi to follow the crying man with me</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarAskEffendi').click(function () { $('#opCellarAskEffendi').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarAskEffendi'); s.fullHistory.push('op Cellar Ask Effendi');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Ask Effendi';});}); %> <% s.narration['Pseudopassage'].push('0-cellaraskeffendi'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene explains crying man to Effendi') == false ) { s.opport['Pseudopassage'].push('op Irene explains crying man to Effendi'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><% if (s.flag.AskedCellar == false) { %><% print("<p><span class='high-emphasis'>The moment I decide</span> to ask Effendi to help me follow the crying man I realise I don't know what to tell him.</p>"); %><% print("<p>I am so furious, so excited to go after the thing, that I haven't given a thought to the explanations. I despair; I'm laughable. How can I expect to convince anyone with a story about floating spirits told by a babbling half-grown man.</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>Telling Effendi</span> the crying man story wouldn't be any easier than telling anyone else. He isn't an illiterate ignorant.</p>"); %><% }; %> But he is gentlemanly, and his politeness doesn't hide a brutal interior, as it does with so many men. Effendi and Orlov came to the forest last month to hunt and found me there, gathering plants; and we became comrades for a couple of days. 'The admirable Lady Victor,' says Effendi to greet me. 'I'm impatient to see the spectacle with the Burburum.' He gives me a feeling of reassurance. 'I hate my sex,' I say. 'Why?' 'If I were a man I could say what I need to say and be heard respectfully. But I'm a woman. I will be derided. Even by you.' 'Nothing you could say would make me do that.' 'It will.' <% s.flag['AskedCellar'] = true; %><div id='opIreneexplainscryingmantoEffendi' class='oport story'><img class='optimg' src='img/opts/secret.jpg'><div class='optext'><div class='optitle'>Explain the story of the crying man to Effendi</div><div class='opdesc'>And appeal to his chivalry.</div></div></div><% $(function () { $('#opIreneexplainscryingmantoEffendi').click(function () { $('#opIreneexplainscryingmantoEffendi').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneexplainscryingmantoEffendi'); s.fullHistory.push('op Irene explains crying man to Effendi');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene explains crying man to Effendi';});}); %> <% s.narration['Pseudopassage'].push('10-Irene explains crying man to Effendi'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Effendi tells Irene his final word about cellar') == false ) { s.opport['Pseudopassage'].push('op Effendi tells Irene his final word about cellar'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'There have been some incredible events</span>,' I tell him. But, as I progress through the story of the crying man and Andropol, his face stiffens and I start stumbling, just a bit at first, then often, and the end at almost every word, and when I finish his face is made of stone and I hear him hiss. 'So, do you believe that only an Oriental savage like me would believe all that?' says Effendi. I blush. I fight to keep my voice firm. 'No. You are educated and lack the brutality most men have. And you are a foreigner who will be gone in a matter of days.' 'Still, what you told me is either an elaborate joke or a feverish invention.' I see his eyes. It's not possible. I try to hide my dismay, apologize and say goodbye, but then he speaks again. 'Please wait, there is something else I'd like to tell you,' he says.<div id='opEffenditellsIrenehisfinalwordaboutcellar' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Listen to Effendi</div><div class='opdesc'></div></div></div><% $(function () { $('#opEffenditellsIrenehisfinalwordaboutcellar').click(function () { $('#opEffenditellsIrenehisfinalwordaboutcellar').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEffenditellsIrenehisfinalwordaboutcellar'); s.fullHistory.push('op Effendi tells Irene his final word about cellar');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Effendi tells Irene his final word about cellar';});}); %> <% if (_.contains(s.fullHistory, '10-not talk in defense of effendi')) { %><% s.narration[s.returnRef].push('10-Effendi tells Irene his final word about cellar - no'); %><% } else { %><% if (_.contains(s.fullHistory, '10-talk in defense of effendi')) { %><% s.narration[s.returnRef].push('10-Effendi tells Irene his final word about cellar - yes'); %><% s.opport['Clara'] = _.without( s.opport['Clara'] , 'op Cellar Ask Clara' ); %><% s.opport['Garden Stairs'] = _.without( s.opport['Garden Stairs'] , 'op Cellar Ask Iliopoulos' ); %><% delete s.reminders['companioncellar']; %><% s.flag['hasCellarCompanion'] = true; %><% } else { %><% s.narration[s.returnRef].push('10-Effendi tells Irene his final word about cellar - no bis'); %><% }; %><% }; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'You probably think</span> that I didn't see you a while ago,' says Effendi, and my heart sinks. I don't need to ask when. 'After you passed without saying a word, there were some minutes of insulting, pushing and pulling.' 'I couldn't have prevented that,' I mumble. I don't sound convincing to myself. 'Of course. Who are you after all? A woman with unusual pastimes, nothing else.' I take my eyes away. 'Enough. Leave now.' 'I will, soon. I will visit the great chancelleries of Europe. While you stay in this backwater.' He doesn't accept apologies or justifications, and leaves.<span class='high-emphasis'>'I'm not safe</span> in this city anymore. I'm not welcome,' he says. And then he explains how he's just been harassed by some men who pushed and insulted him. 'They thought an Oriental couldn't be harmless and helpful.' 'I don't know what to say. I regret that.' 'Orlov thinks I should be loud,' he says, with concern in his eyes and amusement in his lips, 'I should make myself heard, make everyone notice me. That's not the way I am. Until I leave your small canton, I will be as quiet and inconspicuous as I can. I won't help you. Good night.'<span class='high-emphasis'>'You helped me,'</span> he says, 'when they thought an Oriental couldn't be harmless and helpful. I'm certain it was inconvenient to you.' I nod, remaining serious. 'I will do what you want,' he says coldly, his stare fixed on me. 'Be in the pantry right before midnight,' I say, and I turn my back to him. I relax a little, and I feel a sudden pressure on my chest, making it hard to breathe for a moment.<div id='opCellarAskIliopoulos' class='oport story'><img class='optimg' src='img/opts/egg.jpg'><div class='optext'><div class='optitle'>Ask Iliopoulos to go with me</div><div class='opdesc'>Perhaps he will aid me in my chase after the crying man.</div></div></div><% $(function () { $('#opCellarAskIliopoulos').click(function () { $('#opCellarAskIliopoulos').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarAskIliopoulos'); s.fullHistory.push('op Cellar Ask Iliopoulos');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Ask Iliopoulos';});}); %> <% s.narration['Pseudopassage'].push('0-cellaraskiliopoulos'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Ask Iliopoulos Tell') == false ) { s.opport['Pseudopassage'].push('op Cellar Ask Iliopoulos Tell'); }; %><% s.flag['AskedCellar'] = true; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><% if (s.flag.AskedCellar == false) { %><% print("<p><span class='high-emphasis'>The moment I decide</span> to ask Iliopoulos to help me follow the crying man I realise I don't know how to tell him.</p>"); %><% print("<p>I am so furious, so excited to go after thing, that I haven't given a thought to the explanations. I despair; I'm laughable. Can I expect to convince anyone with a story about floating spirits told by a babbling half-grown man?</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>The crying man story</span> isn't one that any slightly reasonable person would take seriously for a moment.</p>"); %><% }; %><% if (_.contains(s.fullHistory, '0-paintertelldream')) { %>But what Nikolaos Iliopoulos told me about giants in an island is even less reasonable than that. And he told it seriously. <% } else { %>I don't think I have any chance of convincing Iliopoulos. But at least he won't give me a reputation of insanity. <% }; %><div id='opCellarAskIliopoulosTell' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Tell him about the crying man</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarAskIliopoulosTell').click(function () { $('#opCellarAskIliopoulosTell').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarAskIliopoulosTell'); s.fullHistory.push('op Cellar Ask Iliopoulos Tell');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Ask Iliopoulos Tell';});}); %> <% s.narration['myself'].push('0-cellariliopoulostell'); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Cellar Ask Effendi' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-effendi is here to ask for cellar' ); %><% s.opport['Clara'] = _.without( s.opport['Clara'] , 'op Cellar Ask Clara' ); %><% delete s.reminders['companioncellar']; %><% s.flag['hasCellarCompanion'] = true; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I approach the painter.</span> 'I'm anxious to see your famed monster parade!' he says. 'What you said before about the giants,' I say. 'Was it true? Why do you trust me with such a confidence?' 'I tell everyone,' he answers, 'I don't mind if they think I'm mad.' 'This *is* a secret and I don't want people to think I'm mad,' I warn, 'but I think I may have found another one of your giants,' and then I tell him all I know about the crying man. 'So will you go down to the cellar at midnight, during the parade?' To his credit, I must say, he barely hesitates a moment. 'I will go with you, if you let me.' So it's set. I will meet Nikolaos Iliopoulos in the pantry right before midnight.<% s.narration['myself'].push('1000-cryingobsessionfirst'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Crying Obsession Second';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>It briefly crosses my mind:</span> the crying man, underground, midnight: a murderer. I shiver.<% s.narration['myself'].push('1000-cryingobsessionsecond'); %>Meanwhile, I keep thinking of the crying man. I can't think of anything else. I remember the other man in the Covenant Office. I remember the noises.<span class='high-emphasis'>I can't think of anyone else</span> whom I could ask to chase the crying man with me. But then I will do it alone. I don't need anyone. It will be like being at the forest and catching butterflies or collecting fungi. Except that... things at the forest don't make me livid.<% s.opport['Clara'] = _.without( s.opport['Clara'] , 'op Cellar Ask Clara' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Cellar Ask Effendi' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-effendi is here to ask for cellar' ); %><% s.opport['Garden Stairs'] = _.without( s.opport['Garden Stairs'] , 'op Cellar Ask Iliopoulos' ); %><% s.narration['myself'].push('1000-cryingmidnightwarning'); %><span class='high-emphasis'>The time is making me nervous.</span> It must be almost midnight. The crying man must be in the cellar already. I feel he is. I must go to the pantry now. <% if (_.contains(s.fullHistory, '0-cellaraskclaraprank')) { %><% print("<p>And Clara should be there, waiting for me.</p>"); %><% }; %><% if (_.contains(s.fullHistory, '10-Effendi tells Irene his final word about cellar - yes')) { %><% print("<p>And Effendi should be there, waiting for me.</p>"); %><% }; %><% if (_.contains(s.fullHistory, '0-cellariliopoulostell')) { %><% print("<p>And Iliopoulos should be there, waiting for me.</p>"); %><% }; %><% if (_.contains( _.keys(s.interrupt),'Pantry' )) { s.interrupt['Pantry'].push('interrupt-pantrycryingcellar'); } else { s.interrupt['Pantry'] = ['interrupt-pantrycryingcellar']; }; %><span class='high-emphasis'>As I enter the pantry,</span> I see Octavien Andropol in a corner, looking at the door. I gasp: he hears it, sees me, and covers his face with his arms, in pure fear. Trying to talk to him would be useless.<% s.narration['Pseudopassage'].push('0-pantrycryingcellar'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Crying Enter Cellar') == false ) { s.opport['Pseudopassage'].push('op Crying Enter Cellar'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><% if (_.contains(s.fullHistory, '0-cellaraskclaraprank')) { %><% print("<p><span class='high-emphasis'>As I enter the pantry,</span> I see that Clara is looking impatiently at the cellar door. 'This is all very annoying,' she says.</p>"); %><% print("<p>Time to go down.</p>"); %><% s.cryingEndCompanion = "Clara"; %> <% s.cryingEndCompanionPronoun = "She"; %> <% }; %><% if (_.contains(s.fullHistory, '10-Effendi tells Irene his final word about cellar - yes')) { %><% print("<p><span class='high-emphasis'>As I enter the pantry,</span> I see Effendi standing at a very dark corner. He doesn't move. He seems to be looking at me, but I can't be sure.</p>"); %><% print("<p>'It's time to go down,' I say.</p>"); %><% print("<p>He walks to the cellar door. When I see his eyes, I'm daunted by the intensity in them.</p>"); %><% s.cryingEndCompanion = "Effendi"; %> <% s.cryingEndCompanionPronoun = "He"; %> <% }; %><% if (_.contains(s.fullHistory, '0-cellariliopoulostell')) { %><% print("<p><span class='high-emphasis'>As I enter the pantry,</span> I see that Iliopoulos is pacing the room, a glint of obsession in his eyes. I understand that.</p>"); %><% print("<p>'Down there?' he asks. He looks impatient, even eager.</p>"); %><% print("<p>Time to go down.</p>"); %><% s.cryingEndCompanion = "Iliopoulos"; %> <% s.cryingEndCompanionPronoun = "He"; %> <% }; %><% if (s.flag.hasCellarCompanion == false) { %><% print("<p><span class='high-emphasis'>As I enter the pantry,</span> I see that Andropol is standing at a very dark corner. He doesn't move. He seems to be looking at me, but I can't be sure.</p>"); %><% print("<p>I didn't expect him, but I better not tell. 'It's time to go down,' I say.</p>"); %><% print("<p>He walks to the cellar door. </p>"); %><% s.cryingEndCompanion = "Andropol"; %> <% s.cryingEndCompanionPronoun = "He"; %> <% }; %><div id='opCryingEnterCellar' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Open the door</div><div class='opdesc'></div></div></div><% $(function () { $('#opCryingEnterCellar').click(function () { $('#opCryingEnterCellar').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCryingEnterCellar'); s.fullHistory.push('op Crying Enter Cellar');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Crying Enter Cellar';});}); %> <% s.log.push("I chased the ghosty voice to the cellar."); %><% s.narration['Pseudopassage'].push('0-cellaropendoor'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Go Down') == false ) { s.opport['Pseudopassage'].push('op Cellar Go Down'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I take a quick look behind,</span> hoping that no one will see us go down. We cross the threshold, we close the door, we look down the staircase. The cellar isn't as dark as we expected. Of course, servants have been going down and up for wine the whole night. Black shapes are outlined against the trembling light of many candles. 'What a chilling gust of air!', <%= s.cryingEndCompanion %> says. It's true. The cellar should be cool, not cold.<div id='opCellarGoDown' class='oport story'><img class='optimg' src='img/opts/candlestick.jpg'><div class='optext'><div class='optitle'>Go down</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarGoDown').click(function () { $('#opCellarGoDown').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarGoDown'); s.fullHistory.push('op Cellar Go Down');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Go Down';});}); %> <% s.narration['Pseudopassage'].push('0-cellargodown'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Examine Casks') == false ) { s.opport['Pseudopassage'].push('op Cellar Examine Casks'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Examine Bottles') == false ) { s.opport['Pseudopassage'].push('op Cellar Examine Bottles'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Companion Search') == false ) { s.opport['Pseudopassage'].push('op Cellar Companion Search'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I run down the stairs.</span> 'Careful!' I hear behind me. But I'm in a hurry. I'm not very familiar with obsession: it doesn't run in the family, other than some Mother's moments that I hardly remember. I know that sometimes she was driven in a way that Father, Gloria and Clara have never shown. I think of that drive. Where is the crying man? Nobody in the first room: a long vaulted space, with a line of casks and bottle racks along each wall. There are two chandeliers full of candles, but the light feels lazy and dubious. <% if (s.cryingEndCompanion == 'Andropol') { %>I run from one end to the other, looking everywhere. <% } else { %>I run from one end to the other, looking everywhere. 'What are you looking for?' asks <%= s.cryingEndCompanion %>. <% }; %> <% s.narration['Pseudopassage'].push('0-cellarignorequestion'); %><span class='high-emphasis'>I ignore the question</span> and keep looking.<div id='opCellarExamineCasks' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Examine the casks</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarExamineCasks').click(function () { $('#opCellarExamineCasks').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarExamineCasks'); s.fullHistory.push('op Cellar Examine Casks');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Examine Casks';});}); %> <% s.narration['Pseudopassage'].push('10-cellarexaminecasks'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Is he hiding</span> between a wall and a cask? Is he *inside* a cask? The brittle light barely allows seeing anything between the casks and the walls, but it's good for hearing. I squat in a very dark corner and hear with deep attention: nothing. <%= s.cryingEndCompanion %> remains silent.<div id='opCellarExamineBottles' class='oport story'><img class='optimg' src='img/opts/candlestick.jpg'><div class='optext'><div class='optitle'>Examine the bottles</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarExamineBottles').click(function () { $('#opCellarExamineBottles').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarExamineBottles'); s.fullHistory.push('op Cellar Examine Bottles');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Examine Bottles';});}); %> <% s.narration['Pseudopassage'].push('10-cellarexaminebottles'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>In this light,</span> the bottles look more like opaque shells, like the fantastic snails that are sometimes washed up on the beach. Is the crying man, perhaps, inside a bottle? Most of the racks are empty, anyway, and there's nothing to see between them, nothing to hear. <% if (s.cryingEndCompanion == 'Effendi') { %>I try not to look at Effendi. I'm hearing a voice telling me I've been hateful to him. Not my voice. <% }; %> <% if (s.cryingEndCompanion == 'Iliopoulos') { %>'Are you nervous?' asks Iliopoulos. That's not a question I feel like answering. <% }; %> <% if (s.cryingEndCompanion == 'Clara') { %>'How did you find out about the jesters?' asks Clara. 'Sshh! They can hear,' I whisper. <% }; %><div id='opCellarCompanionSearch' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Tell my companion to search</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarCompanionSearch').click(function () { $('#opCellarCompanionSearch').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarCompanionSearch'); s.fullHistory.push('op Cellar Companion Search');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Companion Search';});}); %> <% s.narration['Pseudopassage'].push('10-cellarcompanionsearch'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Question Answer') == false ) { s.opport['Pseudopassage'].push('op Cellar Question Answer'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Go search!'</span> I say. I turn my back on <%= s.cryingEndCompanion %> and keep looking everywhere. The light is different from usual. I get the impression that lights stay where they are, while shadows move and bounce, and it feels so unnatural. <% if (s.cryingEndCompanion == 'Andropol') { %>I soon hear some footsteps, and the word 'nothing', curtly pronounced. <% } else { %>I soon hear some footsteps, and the words 'Nothing that shouldn't be here, *madam*' pronounced with irony. <% }; %><div id='opCellarQuestionAnswer' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Answer</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarQuestionAnswer').click(function () { $('#opCellarQuestionAnswer').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarQuestionAnswer'); s.fullHistory.push('op Cellar Question Answer');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Question Answer';});}); %> <% s.narration['Pseudopassage'].push('0-cellaranswer'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Examine Casks' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Examine Bottles' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'If you search you will find something,'</span> I say. 'If you search you will find something.' And I repeat it a third time. 'This is ridiculous. And dangerous. In more than one way.' 'I think...' 'It's not important, not important! You and me and everyone here. Not important. Our choices. Not important.' <% if (s.cryingEndCompanion == 'Effendi') { %> 'No ghost, *madame la naturaliste*,' says Effendi. 'Don't mock me,' I reply, but my voice cracks. 'Do you really believe the ridiculous story you told me?' <% if ( _.contains(s.opport['Pseudopassage'], 'op basement irene tells effendi she needs him') == false ) { s.opport['Pseudopassage'].push('op basement irene tells effendi she needs him'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op basement irene tells effendi he can go') == false ) { s.opport['Pseudopassage'].push('op basement irene tells effendi he can go'); }; %><% }; %> <% if (s.cryingEndCompanion == 'Iliopoulos') { %>Ilioupoulos only stands, looking around, but he isn't eager to move around and search. He's distraught. <% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Next Room') == false ) { s.opport['Pseudopassage'].push('op Cellar Next Room'); }; %><% }; %> <% if (s.cryingEndCompanion == 'Andropol') { %>Andropol only stands, looking around, but he isn't eager to move around and search. He's distraught. <% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Next Room') == false ) { s.opport['Pseudopassage'].push('op Cellar Next Room'); }; %><% }; %> <% if (s.cryingEndCompanion == 'Clara') { %>'Why are we here?' asks Clara. 'This is absurd. Why would we find those people here, now?' 'Trust me,' I say. 'You should know better than asking me that,' she says, in a tone perhaps a bit *less* dismissive than usual. <% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Next Room') == false ) { s.opport['Pseudopassage'].push('op Cellar Next Room'); }; %><% }; %><div id='opbasementirenetellseffendisheneedshim' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Tell Effendi I need him</div><div class='opdesc'></div></div></div><% $(function () { $('#opbasementirenetellseffendisheneedshim').click(function () { $('#opbasementirenetellseffendisheneedshim').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opbasementirenetellseffendisheneedshim'); s.fullHistory.push('op basement irene tells effendi she needs him');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op basement irene tells effendi she needs him';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op basement irene tells effendi he can go' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Next Room') == false ) { s.opport['Pseudopassage'].push('op Cellar Next Room'); }; %><% s.narration['Pseudopassage'].push('10-basement irene tells effendi she needs him'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I try to produce a firm voice.</span> 'I am desperate. I need someone with me down here and I don't care how stupid or laughable I look.' 'Laughable and stupid. That's the sweetest reason anyone's ever offered to me,' Effendi says. His voice is full of venom.<div id='opbasementirenetellseffendihecango' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Tell Effendi I'm sorry, And he can go</div><div class='opdesc'></div></div></div><% $(function () { $('#opbasementirenetellseffendihecango').click(function () { $('#opbasementirenetellseffendihecango').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opbasementirenetellseffendihecango'); s.fullHistory.push('op basement irene tells effendi he can go');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op basement irene tells effendi he can go';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op basement irene tells effendi she needs him' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Next Room') == false ) { s.opport['Pseudopassage'].push('op Cellar Next Room'); }; %><% s.narration['Pseudopassage'].push('10-basement irene tells effendi he can go'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I try to produce a firm voice.</span> 'You can go. My apologies.' In the half light, I can't read Effendi's expression. His silence makes me even more tense. I should add something, more apologies. Effendi looks at me from the dark, but he says nothing and after a moment he resumes what he was doing.<div id='opCellarNextRoom' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Go to the next room</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarNextRoom').click(function () { $('#opCellarNextRoom').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarNextRoom'); s.fullHistory.push('op Cellar Next Room');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Next Room';});}); %> <% s.narration['Pseudopassage'].push('0-cellarnextroom'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Recover Breath') == false ) { s.opport['Pseudopassage'].push('op Cellar Recover Breath'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>As I approach the door,</span> I hear a faint noise. Somebody is hissing. Not here, but not far. 'Where is it?' I ask. <% if (s.cryingEndCompanion == 'Andropol') { %>'Not in this room,' <%= s.cryingEndCompanion %> says. 'Do you know who that is?' As if it's heard us, the hissing becomes louder, challenging me. And that is unacceptable. <% } else { %>'Not in this room,' <%= s.cryingEndCompanion %> says. As if it's heard us, the hissing becomes louder, challenging me. And that is unacceptable. <% }; %> The door is closed but not locked. When I open it. something hits my chest; I lose balance; I fall. 'Careful!' I breathe. Painfully. 'What was it?' I ask, my voice not sounding like me. 'There was nothing,' <%= s.cryingEndCompanion %> says.<div id='opCellarRecoverBreath' class='oport story'><img class='optimg' src='img/opts/eyes.jpg'><div class='optext'><div class='optitle'>Recover my breath</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarRecoverBreath').click(function () { $('#opCellarRecoverBreath').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarRecoverBreath'); s.fullHistory.push('op Cellar Recover Breath');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Recover Breath';});}); %> <% s.narration['Pseudopassage'].push('0-cellarrecoverbreath'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Find Crying') == false ) { s.opport['Pseudopassage'].push('op Cellar Find Crying'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Irene, are you feeling well?'</span> I hear while taking a moment to recover. Yes, I feel well. If there was nothing, then nothing hit me and I have no pain in my chest. It's only me keeping myself here. I finally answer, 'Yes,' and I get on my feet. Without help. 'We follow him.' The hiss has changed into the crying voice I've now heard so many times I doubt I'll ever forget it. It fills the second room, that is very similar to the first, perhaps smaller, certainly less tidy and darker, with another door on the far side. 'He's here!' I scream. 'Close the door and find him!'<div id='opCellarFindCrying' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Find the crying man and face him</div><div class='opdesc'>Even if it's only a spirit, there has to be something we can face.</div></div></div><% $(function () { $('#opCellarFindCrying').click(function () { $('#opCellarFindCrying').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarFindCrying'); s.fullHistory.push('op Cellar Find Crying');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Find Crying';});}); %> <% s.narration['Pseudopassage'].push('0-cellarfacecrying'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Keep Looking') == false ) { s.opport['Pseudopassage'].push('op Cellar Keep Looking'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Not Afraid') == false ) { s.opport['Pseudopassage'].push('op Cellar Not Afraid'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Show yourself!'</span> <%= s.cryingEndCompanion %> demands. The wailing continues, louder and louder, but I think I hear a laugh. 'There's nobody there!' I say. 'It's not a person.' But it is in this room, pounding the walls with noise, like cannons. Can nobody hear it from outside? Such a sound should break the Earth in two. Perhaps I will not stop it, but I will follow it and watch it until it disappears. <%= s.cryingEndCompanion %> looks terrified and numb at the same time. Expressionless but full of turmoil.<div id='opCellarKeepLooking' class='oport story'><img class='optimg' src='img/opts/candlestick.jpg'><div class='optext'><div class='optitle'>Keep looking</div><div class='opdesc'>What if I miss the man again?</div></div></div><% $(function () { $('#opCellarKeepLooking').click(function () { $('#opCellarKeepLooking').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarKeepLooking'); s.fullHistory.push('op Cellar Keep Looking');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Keep Looking';});}); %> <% s.narration['Pseudopassage'].push('0-cellarkeeplooking'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Recover Scream') == false ) { s.opport['Pseudopassage'].push('op Cellar Recover Scream'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Not Afraid' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The crying sound</span> flies from wall to wall, crawling into every space. Bottles clatter; a scratching noise rises from the casks' bases. Out of the corner of my eye, I see a candle flicker and go out. 'There!' I point. But I see nothing. A scream explodes inside the room, knocking us down. I start weeping.<div id='opCellarNotAfraid' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Tell <%= s.cryingEndCompanion %> not to be afraid</div><div class='opdesc'><%= s.cryingEndCompanionPronoun %> may break down.</div></div></div><% $(function () { $('#opCellarNotAfraid').click(function () { $('#opCellarNotAfraid').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarNotAfraid'); s.fullHistory.push('op Cellar Not Afraid');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Not Afraid';});}); %> <% s.narration['Pseudopassage'].push('0-cellarcompanionnotafraid'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Recover Scream') == false ) { s.opport['Pseudopassage'].push('op Cellar Recover Scream'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Keep Looking' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Don't be afraid,'</span> I say, 'I have not seen the spirit harm anyone so far.' How can I lie so easily? 'Irene?' 'Be strong!' A scream explodes inside the room, knocking us down. I start weeping.<div id='opCellarRecoverScream' class='oport story'><img class='optimg' src='img/opts/attack.jpg'><div class='optext'><div class='optitle'>Recover</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarRecoverScream').click(function () { $('#opCellarRecoverScream').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarRecoverScream'); s.fullHistory.push('op Cellar Recover Scream');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Recover Scream';});}); %> <% s.narration['Pseudopassage'].push('0-recoverfromscream'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Ask Identity') == false ) { s.opport['Pseudopassage'].push('op Cellar Ask Identity'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Waiting Man') == false ) { s.opport['Pseudopassage'].push('op Cellar Waiting Man'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Waiting Not') == false ) { s.opport['Pseudopassage'].push('op Cellar Waiting Not'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Is it attacking us?</span> The same way it attacked the man in the Covenant Office? Are we going to end up like him, eyes unfocused, oblivious to other people? Painstakingly, again, I get back on my feet. I lock eyes with <%= s.cryingEndCompanion %>, still looking confused and numb. The wailing stops abruptly. I hear nothing, I hear a silence thick as honey. 'Is it gone?' <%= s.cryingEndCompanion %>, asks. The door on the far side opens and a man comes quickly into the room. He doesn't look inside, and he gets startled when he sees us. All three of us stare at each other in bewilderment. It's too dark to see his face, but I don't think I know him. 'Are you waiting for me?' he asks with a shaky voice.<div id='opCellarAskIdentity' class='oport story'><img class='optimg' src='img/opts/serpent.jpg'><div class='optext'><div class='optitle'>Ask him who he is</div><div class='opdesc'>The crying man has terrified me. I need certainties.</div></div></div><% $(function () { $('#opCellarAskIdentity').click(function () { $('#opCellarAskIdentity').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarAskIdentity'); s.fullHistory.push('op Cellar Ask Identity');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Ask Identity';});}); %> <% s.narration['Pseudopassage'].push('0-cellaraskwho'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Man Leave') == false ) { s.opport['Pseudopassage'].push('op Cellar Man Leave'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Man Stay') == false ) { s.opport['Pseudopassage'].push('op Cellar Man Stay'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Waiting Man' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Waiting Not' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Who are you?'</span> I ask. He looks at us more intently, perhaps evaluating us. His clothes are old and worn out, he looks like some kind of poor labourer. 'I...' He hesitates, and the sentence dies in his lips. 'What are you looking for? Are you following us?' <%= s.cryingEndCompanion %> asks, overlooking the fact that the man didn't come through the same door as us. Idiot. 'I have an appointment,' the worker says, and the cellar's resonance only heightens the fragility of his voice. 'With a lady, an appointment with a lady,' he adds. 'My name is Clavul. But I may be lost. So dark here. Haven't you... seen anyone?' I don't know what to say. Is this encounter a coincidence? I stand in silence, while both men pace the room, the worker rubbing his hands as people do in winter, <%= s.cryingEndCompanion %> checking every corner. No other voices yet. Is the ghost gone? Does this man feel his invisible presence?<div id='opCellarWaitingMan' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Tell him we are waiting for him</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarWaitingMan').click(function () { $('#opCellarWaitingMan').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarWaitingMan'); s.fullHistory.push('op Cellar Waiting Man');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Waiting Man';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Reason Man') == false ) { s.opport['Pseudopassage'].push('op Cellar Reason Man'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Escape Man') == false ) { s.opport['Pseudopassage'].push('op Cellar Escape Man'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Ask Identity' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Waiting Not' ); %><% s.narration['Pseudopassage'].push('0-cellarwaitingman'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'We are waiting for you,'</span> I say, not giving it too much of a thought. The man sighs. He seems to raise an arm but I can't see it quite well until he steps into the light. <%= s.cryingEndCompanion %> gasps. The man is holding a gun. 'Are you helping me escape? A hundred guards must be looking for me now. I did what you told me. Take me out or I...' he says, and points the gun at me.<div id='opCellarWaitingNot' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Tell him we're not waiting for him</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarWaitingNot').click(function () { $('#opCellarWaitingNot').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarWaitingNot'); s.fullHistory.push('op Cellar Waiting Not');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Waiting Not';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Run') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Run'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Cover') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Cover'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Hide') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Hide'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Ask Identity' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Waiting Man' ); %><% s.narration['Pseudopassage'].push('0-cellarwaitingnot'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'This is a coincidence, I'm afraid'</span> I say. 'But we haven't seen anyone here who could be waiting for you.' 'I need to wait here,' the worker says with a firmer tone. 'I was told...' He stops when a very loud hiss reverberates in the vaults. <%= s.cryingEndCompanion %> can't help a brief, high-pitched squeal that immediately dies without an echo. I notice my heart accelerating and my forehead starting to sweat; but it's like detachedly watching someone else and getting angry about *her* panic.<div id='opCellarManLeave' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Try to make the man leave</div><div class='opdesc'>I need no eyes looking at me now.</div></div></div><% $(function () { $('#opCellarManLeave').click(function () { $('#opCellarManLeave').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarManLeave'); s.fullHistory.push('op Cellar Man Leave');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Man Leave';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Run') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Run'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Cover') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Cover'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Hide') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Hide'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Man Stay' ); %><% s.narration['Pseudopassage'].push('0-cellarmakemanleave'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Well, sir,' I say,</span> 'you have an appointment with a lady, you have come across us, best for everyone if you go and nobody will say nothing about nobody else, will we?' 'I need to wait here,' the worker says with a firmer tone. 'I was told...' He stops when a very loud hiss reverberates in the vaults. <%= s.cryingEndCompanion %> can't help a brief, high-pitched squeal that immediately dies without an echo. I notice my heart accelerating and my forehead starting to sweat; but it's like detachedly watching someone else and getting angry about *her* panic.<div id='opCellarManStay' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Try to make the man stay</div><div class='opdesc'>Nothing is making any sense. Perhaps he can be useful.</div></div></div><% $(function () { $('#opCellarManStay').click(function () { $('#opCellarManStay').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarManStay'); s.fullHistory.push('op Cellar Man Stay');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Man Stay';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Run') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Run'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Cover') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Cover'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Hide') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Hide'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Man Leave' ); %><% s.narration['Pseudopassage'].push('0-cellarmanstay'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'We are searching for something down here,'</span> I say. 'Perhaps you can help us find it? You seem to be a very observant man.' 'What...?' the worker says, his voice trembling. 'Why do you say that? And who are you?' I can't answer. A very loud hiss reverberates in the vaults. <%= s.cryingEndCompanion %> can't help a brief, high-pitched squeal that immediately dies without an echo. I notice my heart accelerating and my forehead starting to sweat; but it's like detachedly watching someone else and getting angry about *her* panic.<div id='opCellarReasonMan' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Try to convince the man</div><div class='opdesc'>Use reason. Reason is better than fear.</div></div></div><% $(function () { $('#opCellarReasonMan').click(function () { $('#opCellarReasonMan').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarReasonMan'); s.fullHistory.push('op Cellar Reason Man');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Reason Man';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Run') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Run'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Cover') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Cover'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Hide') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Hide'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Escape Man' ); %><% s.narration['Pseudopassage'].push('0-cellarreasonman'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I've faced furious wild beasts</span> in the forest. I didn't fear them. Not like the fear I feel now. 'Please,' I say, 'we don't know who you are. We are not your enemies. We will do as you want.' 'Take me out before they get me!' he says. But then, a very loud hiss reverberates in the vaults. <%= s.cryingEndCompanion %> can't help a brief, high-pitched squeal that immediately dies without an echo. I notice my heart accelerating and my forehead starting to sweat; but it's like detachedly watching someone else and getting angry about *her* panic.<div id='opCellarEscapeMan' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Escape</div><div class='opdesc'>Run run run!</div></div></div><% $(function () { $('#opCellarEscapeMan').click(function () { $('#opCellarEscapeMan').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarEscapeMan'); s.fullHistory.push('op Cellar Escape Man');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Escape Man';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Run') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Run'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Cover') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Cover'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Hiss Hide') == false ) { s.opport['Pseudopassage'].push('op Cellar Hiss Hide'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Reason Man' ); %><% s.narration['Pseudopassage'].push('0-cellarescapeman'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I jump.</span> I *notice* (I didn't decide it) that I'm jumping sideways towards (I haven't thought where) and now there's a bottle rack between me and the gun (I didn't plan it, did I?). 'Stop!' the man screams. 'Back here!' I hear his footsteps, and where can I go? Look for the dark. I look and look and look and then *a very loud hiss* reverberates in the vaults. <%= s.cryingEndCompanion %> can't help a brief, high-pitched squeal that immediately dies without an echo. I notice my heart accelerating and my forehead starting to sweat; but it's like detachedly watching someone else and getting angry about *her* panic.<div id='opCellarHissRun' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Run</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarHissRun').click(function () { $('#opCellarHissRun').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarHissRun'); s.fullHistory.push('op Cellar Hiss Run');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Hiss Run';});}); %> <% s.narration['Pseudopassage'].push('0-cellarhissrun'); %><% s.narration['Pseudopassage'].push('10-cellarhisscontinue'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Elefantino Ask') == false ) { s.opport['Pseudopassage'].push('op Cellar Elefantino Ask'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Hiss Cover' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Hiss Hide' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><div id='opCellarHissCover' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Cover my ears</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarHissCover').click(function () { $('#opCellarHissCover').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarHissCover'); s.fullHistory.push('op Cellar Hiss Cover');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Hiss Cover';});}); %> <% s.narration['Pseudopassage'].push('0-cellarhisscover'); %><% s.narration['Pseudopassage'].push('10-cellarhisscontinue'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Elefantino Ask') == false ) { s.opport['Pseudopassage'].push('op Cellar Elefantino Ask'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Hiss Run' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Hiss Hide' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><div id='opCellarHissHide' class='oport story'><img class='optimg' src='img/opts/candlestick.jpg'><div class='optext'><div class='optitle'>Crouch and hide</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarHissHide').click(function () { $('#opCellarHissHide').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarHissHide'); s.fullHistory.push('op Cellar Hiss Hide');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Hiss Hide';});}); %> <% s.narration['Pseudopassage'].push('0-cellarhisshide'); %><% s.narration['Pseudopassage'].push('10-cellarhisscontinue'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Elefantino Ask') == false ) { s.opport['Pseudopassage'].push('op Cellar Elefantino Ask'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Hiss Run' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Hiss Cover' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The hiss rises again</span> and it's like a blow to the head. My feet start running without direction. This is more than a voice in the air. I'm sure that if a deaf person were here, they would hear it, because it comes both from the air and from inside myself. It's screaming directly from my soul. It must be the same for <%= s.cryingEndCompanion %> and the other man.<span class='high-emphasis'>The hiss rises again</span> and it's like a blow to the head. I cover my ears because it's burning them with hate. But this is more than a voice in the air. I'm sure that if a deaf person were here, they would hear it, because it comes both from the air and from inside myself. It's screaming directly from my soul. It must be the same for <%= s.cryingEndCompanion %> and the other man.<span class='high-emphasis'>The hiss rises again</span> and it's unbearable. I crouch between two caskets. Is this what the man in the Covenant Office, the man with empty eyes, suffered? I'm sure that if a deaf person were here, they would hear it, because it comes both from the air and from inside myself. It's screaming directly from my soul. It's screaming directly from my soul. It must be the same for <%= s.cryingEndCompanion %> and the other man.From their looks, both are more shaken and incapable of reacting than myself. In fact, both are staring imploringly at me, demanding protection. What about the man? He seems strong enough, but when he came in I could see he was already upset by something. The hiss starts articulating words, with heightened loathing. 'Elefantino!' it says. The sound coils inside my ear and makes a nest. <%= s.cryingEndCompanion %> weeps. The worker cries in terror. 'Who's there? How does he know?'<div id='opCellarElefantinoAsk' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>The man knows something</div><div class='opdesc'>Get what he knows.</div></div></div><% $(function () { $('#opCellarElefantinoAsk').click(function () { $('#opCellarElefantinoAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarElefantinoAsk'); s.fullHistory.push('op Cellar Elefantino Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Elefantino Ask';});}); %> <% s.narration['Pseudopassage'].push('0-cellarelefantinoask'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Soldier Run') == false ) { s.opport['Pseudopassage'].push('op Cellar Soldier Run'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Soldier Answer') == false ) { s.opport['Pseudopassage'].push('op Cellar Soldier Answer'); }; %><% s.preImg['Pseudopassage'] = 'img/opts/scream.jpg'; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I raise my voice.</span> 'Do you know what that means?' My voice dies without reverberation. 'Elefantino!' Each syllable like a stab. 'What have you done? And for whom?' 'They called me Elefantino when I was a kid,' the man says. He's weeping too. 'I'm sorry. I had to do it.' 'What?' I ask, but the voice cries, 'Elefantino!' once again, and the man breaks down completely. 'Stop!' I scream. It is a fragile, childlike, too feminine voice that I can barely hear myself. 'They said someone would be here to help me escape!' The man runs for the same door he came in through. As he disappears from view, all the reverberations and echoes from the crying man fade in an unnatural way. In the perfect stillness, we hear gunshots in a nearby room. <%= s.cryingEndCompanion %> and I scream in unison. 'Who's there?' asks a new voice. A normal voice.<div id='opCellarSoldierRun' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Run away</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarSoldierRun').click(function () { $('#opCellarSoldierRun').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarSoldierRun'); s.fullHistory.push('op Cellar Soldier Run');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Soldier Run';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Soldier Answer' ); %><% s.narration['Pseudopassage'].push('0-cellarsoldierrun'); %><% s.narration['Pseudopassage'].push('10-cellarsoldierenter'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Slap Soldier') == false ) { s.opport['Pseudopassage'].push('op Cellar Slap Soldier'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Follow Soldier') == false ) { s.opport['Pseudopassage'].push('op Cellar Follow Soldier'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><div id='opCellarSoldierAnswer' class='oport story'><img class='optimg' src='img/opts/eyes.jpg'><div class='optext'><div class='optitle'>Answer calmly</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarSoldierAnswer').click(function () { $('#opCellarSoldierAnswer').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarSoldierAnswer'); s.fullHistory.push('op Cellar Soldier Answer');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Soldier Answer';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Soldier Run' ); %><% s.narration['Pseudopassage'].push('0-cellarsoldieranswer'); %><% s.narration['Pseudopassage'].push('10-cellarsoldierenter'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Slap Soldier') == false ) { s.opport['Pseudopassage'].push('op Cellar Slap Soldier'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Follow Soldier') == false ) { s.opport['Pseudopassage'].push('op Cellar Follow Soldier'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Before I can even move a finger,</span> an authoritarian voice stops me. 'Nobody move! Stay where you are!'<span class='high-emphasis'>Before I can even open my mouth,</span> an authoritarian voice mutes me. 'Nobody move! Stay where you are!'Shadows flicker in the doorway the man used. Figures enter our room and point rifles at us. 'Don't move.' 'Captain, there are two more here! Unarmed!' 'Caprinus, bring them here,' commands a stronger voice. 'The others, keep inspecting the cellar.' <% if (s.cryingEndCompanion == 'Clara') { %><% print("<p>One soldier points his gun at Clara. 'Come with us, both of you tarts.'</p>"); %><% } else { %>One soldier points his gun at <%= s.cryingEndCompanion %>. 'Get up and bring your tart with you.' <% }; %><div id='opCellarSlapSoldier' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Say nothing and follow them</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarSlapSoldier').click(function () { $('#opCellarSlapSoldier').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarSlapSoldier'); s.fullHistory.push('op Cellar Slap Soldier');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Slap Soldier';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Look Soldiers') == false ) { s.opport['Pseudopassage'].push('op Cellar Look Soldiers'); }; %><% s.narration['Pseudopassage'].push('0-cellarslapthesoldier'); %><% s.narration['Pseudopassage'].push('10-cellarsoldierroom'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Follow Soldier' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><div id='opCellarFollowSoldier' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Slap the soldier's face</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarFollowSoldier').click(function () { $('#opCellarFollowSoldier').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarFollowSoldier'); s.fullHistory.push('op Cellar Follow Soldier');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Follow Soldier';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Look Soldiers') == false ) { s.opport['Pseudopassage'].push('op Cellar Look Soldiers'); }; %><% s.narration['Pseudopassage'].push('0-cellarfollowsoldier'); %><% s.narration['Pseudopassage'].push('10-cellarsoldierroom'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Slap Soldier' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>This is something</span> I want to do calmly. I can't. 'You don't call me a tart!' I yell at the soldier. He laughs. I come near him and slap his face. He laughs again and he knocks me down. I fall to the ground. <%= s.cryingEndCompanion %> helps me get on my feet and we walk to the next room, followed by the giggling soldier. I feel something cutting my face. I touch it. There are tears.<span class='high-emphasis'>I must remain calm.</span> Sweep fear under the carpet and paint a smile over -*tart*- anger. We walk to the next room, followed by the giggling soldier. I feel something cutting my face. I touch it. There are tears.This room is too bright after the black cellar I come from. I groan and cover my eyes. Shuffling feet surround me. 'Who are you?' asks the commanding voice. 'Why have you killed him?' asks <%= s.cryingEndCompanion %>. 'If you ask another question without answering mine, I'll have you shot. Now tell me who you are.'<div id='opCellarLookSoldiers' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Look around</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarLookSoldiers').click(function () { $('#opCellarLookSoldiers').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarLookSoldiers'); s.fullHistory.push('op Cellar Look Soldiers');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Look Soldiers';});}); %> <% s.narration['Pseudopassage'].push('0-cellarlooksoldiers'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Ask Alive') == false ) { s.opport['Pseudopassage'].push('op Cellar Ask Alive'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I look again.</span> There are a dozen of soldiers perhaps, many with torches. The arrogant captain is standing in front of us. His foot rests on the chest of the man we met before, motionless and covered in blood. <% if (s.cryingEndCompanion == 'Clara') { %>'You are Irene Victor,' says the captain. I nod. 'And you are Clara Victor.' 'Yes,' says Clara, 'and my late husband was *your* superior. And your current superior is one of my friends.' 'I'm following his orders with utmost care,' he says. She's made him nervous. 'Did you know this man?' <% } else { %>'You are Irene Victor,' says the captain. I nod. 'Did you know this man?' <% }; %> 'No. I only saw him one minute, just before in the cellar.' 'Do you know what this man *has done?*' I shake my head. He sees how baffled I am; his face softens, revealing sympathy. 'Lady Victor... this man shot Lord David Victor a moment ago during the ceremony.' I stand speechless. I realise I'm looking at the corpse, but I wasn't really seeing it. Shot? Father?<div id='opCellarAskAlive' class='oport story'><img class='optimg' src='img/opts/old_hand.jpg'><div class='optext'><div class='optitle'>Ask about Father</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarAskAlive').click(function () { $('#opCellarAskAlive').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarAskAlive'); s.fullHistory.push('op Cellar Ask Alive');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Ask Alive';});}); %> <% s.narration['Pseudopassage'].push('0-cellaraskalive'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Exit Cellar') == false ) { s.opport['Pseudopassage'].push('op Cellar Exit Cellar'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Is he alive?'</span> 'I don't think so, Lady Victor. We ran after the killer until we caught him here.' 'I need to go see him,' I say. The captain rises a hand. 'What?' 'The killer entered this cellar through a secondary door behind the Treasury. Hidden. He *knew* where he was going. And he went right towards you.' For a few moments, the growing pressure in my chest prevents me from talking. 'Are you arresting me because someone has murdered my father?' 'Please,' he says, and for a moment he seems really dumbfounded. 'I'm just a poor soldier.'<div id='opCellarExitCellar' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Leave with them</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarExitCellar').click(function () { $('#opCellarExitCellar').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarExitCellar'); s.fullHistory.push('op Cellar Exit Cellar');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Exit Cellar';});}); %> <% s.narration['Pseudopassage'].push('0-cellarexitcellar'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Exit Soldiers') == false ) { s.opport['Pseudopassage'].push('op Cellar Exit Soldiers'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>We climb arduously</span> a small and very dark tunnel. My hands try to find something to hold on to but there's nothing; all is tenuous and imprecise, my thoughts particularly. And we are outside. More soldiers try to get some of the torches' light but there isn't enough for all, so they wiggle, barely visible to me. Some cracked tooth outlined against the sky show me that we are behind the Treasury. We proceed towards the Palace. <%= s.companion %> walks behind, but mostly out of my sight. Near the Blue Pavilion I start hearing cries, imprecations and low commanding voices. Soldiers are rounding up groups of people, including women and children. They cry. Men too. Others walk free and undisturbed, and some tell the soldiers to go after one or another and seize them. 'That's another seditious subject! He must be involved with the murder! Catch him!' All of this in the dim light of the torches. Most of the arrested are poor. Most of the free are noble.<div id='opCellarExitSoldiers' class='oport story'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>How can so many soldiers be here?</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarExitSoldiers').click(function () { $('#opCellarExitSoldiers').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarExitSoldiers'); s.fullHistory.push('op Cellar Exit Soldiers');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Exit Soldiers';});}); %> <% s.narration['Pseudopassage'].push('0-cellarexitsoldiers'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Premier Mercy') == false ) { s.opport['Pseudopassage'].push('op Cellar Premier Mercy'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Cellar Premier Curse') == false ) { s.opport['Pseudopassage'].push('op Cellar Premier Curse'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>More soldiers run by.</span> 'Where did all these soldiers come from?' I ask. Were they waiting? How could so many soldiers get to the Palace so far, unless they were already waiting nearby? Near the fountain, there are ten or a dozen Burburum with rifles pointing at them. The masks are on the ground, discarded and broken, and in the half light their faces are black with blood. I see a lot of dark stains everywhere. Black blood. The Palace looks like half its lights have been put out. It's made of a few flat pieces that could never fit together. It's something out of a nightmare. My hand looks for something to hold, again. It finds nothing, again. My thoughts float tenuous and imprecise, again. The Premier's face is grim. The soldier whispers fast. 'Where is my father?' I cry. 'Later,' says Severin. 'We need to settle this first.' 'Settle what?' 'Why you met your father's murderer,' he says in a cutting tone that admits no objection. 'Take them,' he adds before leaving.<div id='opCellarPremierMercy' class='oport story'><img class='optimg' src='img/opts/tear.jpg'><div class='optext'><div class='optitle'>Ask for mercy</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarPremierMercy').click(function () { $('#opCellarPremierMercy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarPremierMercy'); s.fullHistory.push('op Cellar Premier Mercy');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Premier Mercy';});}); %> <% s.narration['Pseudopassage'].push('0-cellarpremiermercy'); %><% s.narration['Pseudopassage'].push('10-cellarend'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Premier Curse' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><div id='opCellarPremierCurse' class='oport story'><img class='optimg' src='img/opts/attack.jpg'><div class='optext'><div class='optitle'>Curse him</div><div class='opdesc'></div></div></div><% $(function () { $('#opCellarPremierCurse').click(function () { $('#opCellarPremierCurse').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCellarPremierCurse'); s.fullHistory.push('op Cellar Premier Curse');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cellar Premier Curse';});}); %> <% s.narration['Pseudopassage'].push('0-cellarpremiercurse'); %><% s.narration['Pseudopassage'].push('10-cellarend'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Cellar Premier Mercy' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Damn you!'</span> I scream at Premier Severin's back. He neither stops nor turns.<span class='high-emphasis'>'My father is dead!'</span> I implore. 'How can you?' But Severin has turned his back on me, and he neither stops nor turns.And the soldier takes my hand with an iron grip. He drags me and I let him do it. I let go of my will to resist, and my will to obey, and I just let him drag me far from my dead father (whom I haven't seen), far from the screaming women and men, far from the armed soldiers taking control of everything. 'Conspiracy!' someone screams. 'People of sulphur! Rebellion! Finish them all!' They drag me into the Palace, through the Palace, out of the Palace and far from the Palace. People are looking at me all the way. 'Finish them all!' <% if ( _.contains(s.opport['Pseudopassage'], 'op finis') == false ) { s.opport['Pseudopassage'].push('op finis'); }; %><div id='opInitialCuriosityGallery' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Walk, greet and listen</div><div class='opdesc'>I have been away. I have curiosity about the new gossip and intrigues.</div></div></div><% $(function () { $('#opInitialCuriosityGallery').click(function () { $('#opInitialCuriosityGallery').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opInitialCuriosityGallery'); s.fullHistory.push('op Initial Curiosity Gallery');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Initial Curiosity Gallery';});}); %> <% s.narration['Marble Gallery, East'].push('1-initialcuriositylisten'); %><% if ( _.contains(s.opport['Marble Gallery, East'], 'op Initial Curiosity Franchiens') == false ) { s.opport['Marble Gallery, East'].push('op Initial Curiosity Franchiens'); }; %><% function gotDelay() {story.show('Marble Gallery, East');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Unsurprisingly</span>, nothing has changed too much. 'The King is quickly losing His Royal Patience with our Canton. And the Persians...' 'That Amaisa trial is going to bring us a lot of problems.' 'I hear that Laurentin plans to make some big announcement tonight...' I keep walking so nobody thinks I am listening. 'Free thinkers, they call themselves. At least they usually have good wine...' 'If you ask my opinion, I would rather sink that French ship in our port than the Ottoman one. With all our French-Cantonal inside, of course. I hope we have a chance to do something about that this evening...'<div id='opHallSmellFlowers' class='oport story ambient'><img class='optimg' src='img/opts/flower.jpg'><div class='optext'><div class='optitle'>Smell the flowers</div><div class='opdesc'>So many people, so much noise. Flowers! They can give me one precious soothing second.</div></div></div><% $(function () { $('#opHallSmellFlowers').click(function () { $('#opHallSmellFlowers').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opHallSmellFlowers'); s.fullHistory.push('op Hall Smell Flowers');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Hall Smell Flowers';});}); %> <% s.narration['Grand Entrance Hall'].push('1-entrancesmellflowers'); %><% if ( _.contains(s.opport['Grand Entrance Hall'], 'op Hall Smell Flowers Again') == false ) { s.opport['Grand Entrance Hall'].push('op Hall Smell Flowers Again'); }; %><% function gotDelay() {story.show('Grand Entrance Hall');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I never pay much attention to flowers</span>, however, they are a good excuse to turn my back to all these people. Hundreds of flowers line the walls, some pretty, some ugly. As I approach a big arrangement, all the guests' noises seem to recede into a soothing distance. But flowers in vases are still boring.<div id='opHallSmellFlowersAgain' class='oport story ambient'><img class='optimg' src='img/opts/flower.jpg'><div class='optext'><div class='optitle'>Smell the flowers, again</div><div class='opdesc'>A moment away from the rest of the world. Or the closest I can get tonight.</div></div></div><% $(function () { $('#opHallSmellFlowersAgain').click(function () { $('#opHallSmellFlowersAgain').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opHallSmellFlowersAgain'); s.fullHistory.push('op Hall Smell Flowers Again');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Hall Smell Flowers Again';});}); %> <% s.narration['Grand Entrance Hall'].push('1-entrancesmellflowersagain'); %><% if ( _.contains(s.opport['Grand Entrance Hall'], 'op Hall Smell Flowers Again') == false ) { s.opport['Grand Entrance Hall'].push('op Hall Smell Flowers Again'); }; %><% function gotDelay() {story.show('Grand Entrance Hall');};setTimeout(gotDelay,110);}); }); %><%= _.sample( [ "<span class='high-emphasis'>I walk to a corner</span> to study a particularly fine arrangement of flowers and enjoy a moment of not having to listen to anyone. And to think that I used to love gatherings like this one.", "<span class='high-emphasis'>For a moment</span>, I turn my eyes from people to flowers. They are quiet.", "<span class='high-emphasis'>Flowers in vases</span> are small, dead and, worst of all, boring.", ]) %><div id='opHallAdmireMap' class='oport story ambient'><img class='optimg' src='img/opts/map.jpg'><div class='optext'><div class='optitle'>Admire the map of our Canton</div><div class='opdesc'>A big, colorful, beautiful map hangs on a wall.</div></div></div><% $(function () { $('#opHallAdmireMap').click(function () { $('#opHallAdmireMap').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opHallAdmireMap'); s.fullHistory.push('op Hall Admire Map');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Hall Admire Map';});}); %> <% s.narration['Marble Gallery, East'].push('1-admirecantonmap'); %><% s.preImg['Marble Gallery, East'] = 'img/opts/cantonmap.jpg'; %><% function gotDelay() {story.show('Marble Gallery, East');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>When I look at the map</span> I realize we are so small, yet nature and history have given us so much. Our two cities grace both ends of the map: Aurora inland, Marina on the coast. Between them, you see nature both gentle and rough: the Castain river and the colossal rock of the Bur. Villages, estates and monasteries arise almost like parts of the land itself. South of Marina, Old Shipbuilder's Forest. To myself, I call it *my* forest. And to the East, the centre of history and civilization: the Mediterranean. At the bottom: 1811. The year I was born.<div id='opLibraryLookBooks' class='oport story ambient'><img class='optimg' src='img/opts/book.jpg'><div class='optext'><div class='optitle'>Take a look at the books</div><div class='opdesc'>Perhaps reading books in the middle of a celebration is not the most proper behaviour right now. But I'd really like to do it.</div></div></div><% $(function () { $('#opLibraryLookBooks').click(function () { $('#opLibraryLookBooks').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opLibraryLookBooks'); s.fullHistory.push('op Library Look Books');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Library Look Books';});}); %> <% s.narration['Library'].push('1-librarylookbooks'); %><% if ( _.contains(s.opport['Library'], 'op Library Look Books Again') == false ) { s.opport['Library'].push('op Library Look Books Again'); }; %><% function gotDelay() {story.show('Library');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The library is old</span> and so it reflects varied tastes. One Premier liked poetry, another preferred reading in Latin and Greek. It isn't the best library in Aurora for natural history, but it's the place where I first found Buffon's *Histoire Naturelle*, which, in time, led me to attend college. I'm surprised they haven't burnt it yet for being French.<% if (s.companion == "") { %><div id='opLibraryLookBooksAgain' class='oport story ambient'><img class='optimg' src='img/opts/book.jpg'><div class='optext'><div class='optitle'>Hide and read a book</div><div class='opdesc'>There's a natural history volume that I love. Would I lose much if I removed myself from this party to read it?</div></div></div><% $(function () { $('#opLibraryLookBooksAgain').click(function () { $('#opLibraryLookBooksAgain').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opLibraryLookBooksAgain'); s.fullHistory.push('op Library Look Books Again');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Library Look Books Again';});}); %> <% s.narration['Library'].push('1-librarylookbooksagain'); %><% function gotDelay() {story.show('Library');};setTimeout(gotDelay,110);}); }); %> <% }; %><span class='high-emphasis'>This library has hideouts</span>, and I know all of them. I hear voices nearby, but no one can see me bend over the book and slowly inhale its smell. Time to put it back and return.<div id='opFountainPutHand' class='oport story ambient'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Put a hand in the water</div><div class='opdesc'>I play with the water when I'm alone in the forest. </div></div></div><% $(function () { $('#opFountainPutHand').click(function () { $('#opFountainPutHand').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFountainPutHand'); s.fullHistory.push('op Fountain Put Hand');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fountain Put Hand';});}); %> <% s.narration['Fountain'].push('1-puthandinfountain'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*5 ));targetEvent = 'ev Fountain Hand Again';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Fountain');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I rest my hand on the fountain side</span> and slowly drag my fingers towards the water until... No. Auroran high society is watching. What was I thinking?<% if ( _.contains(s.opport['Fountain'], 'op Fountain Hand Again') == false ) { s.opport['Fountain'].push('op Fountain Hand Again'); }; %><div id='opFountainHandAgain' class='oport story ambient'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>What if I *really* put my hand in the water?</div><div class='opdesc'>Decorum is not what people are celebrating today.</div></div></div><% $(function () { $('#opFountainHandAgain').click(function () { $('#opFountainHandAgain').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFountainHandAgain'); s.fullHistory.push('op Fountain Hand Again');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Fountain Hand Again';});}); %> <% s.narration['Fountain'].push('1-fountainhandagain'); %><% function gotDelay() {story.show('Fountain');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>As I stand by the fountain</span>, a Burbur woman approaches me. She seems to wear several torn dresses at the same time, and her face is hidden by an animal skull I can't recognize. 'A lady should never get her hands wet in public,' she says. She puts her own hands in the water, and then she takes one of mine between hers. I don't know what to say. She leaves. My fingers drip and my cuffs are soaked.<div id='opHarmonicTryPiano' class='oport story ambient'><img class='optimg' src='img/opts/harmonic.jpg'><div class='optext'><div class='optitle'>Try the piano myself</div><div class='opdesc'>Wouldn't it be nice if I just sit in front of an instrument and start banging the keys?</div></div></div><% $(function () { $('#opHarmonicTryPiano').click(function () { $('#opHarmonicTryPiano').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opHarmonicTryPiano'); s.fullHistory.push('op Harmonic Try Piano');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Harmonic Try Piano';});}); %> <% s.narration['Harmonic Room'].push('1-harmonictrypianomyself'); %><% function gotDelay() {story.show('Harmonic Room');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Sometimes I think really outrageous things.</span> I play with ideas that serve no purpose other than pleasing desires I wasn't even aware of. Actions without any merit that in my imagination make me feel above others I'd prove to be less worthy than myself. But if I acted like that it would be myself who would be degraded. An idea like sitting in front of the free piano and start punching the keys as strong as I can, drowning any other music and conversation. No melody, no rhythm, just noise (the only thing I ever learned on that cursed keyboard). To prove what? That the others care about such things and I don't. I'd love that so much.<% if (s.currentLocation == 'Outside tables') { %><% s.narration['Outside tables'].push('0-outsidetablesboyclimgingpole'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*8 ));targetEvent = 'ev Girl Climbing Pole';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% } else { %><% s.narration['garden'].push('100-inoticeclimbingpole'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*10 ));targetEvent = 'ev Notice Climbing Pole Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %><span class='high-emphasis'>I turn my head</span> towards a burst of cries. A young man is climbing the greasy pole amid cheers. The pole is alarmingly tall and smooth. The crowd is shouting; he's already two thirds of the way. He cries and throws his hat to the people, just before giving up and sliding down to the ground amid laughter.<% s.narration['garden'] = _.without( s.narration['garden'] , '100-inoticeclimbingpole' ); %><span class='high-emphasis'>I turn my head</span> towards a burst of cries. Near the tables, a young man is climbing the greasy pole amid cheers. <% targetTurn = Math.floor( s.turn + (s.timeSpeed*8 ));targetEvent = 'ev Girl Climbing Pole';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Boy Climbing Pole Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Outside tables'].push('100-youngclimbingpole'); %><span class='high-emphasis'>The greasy pole</span> is alarmingly tall and smooth. The crowd is shouting to the youth who is climbing it; he's already two thirds of the way. He cries and throws his hat to the people, just before giving up and sliding down to the ground amid laughter.<% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '100-youngclimbingpole' ); %><% s.narration['Fountain'].push('100-seegirlclimbingpole'); %><% s.narration['Garden Stairs'].push('100-seegirlclimbingpole'); %><% s.narration['Blue Pavilion'].push('100-seegirlclimbingpole'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*8 ));targetEvent = 'ev Girl Climbing Pole Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '100-seegirlclimbingpole' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '100-seegirlclimbingpole' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '100-seegirlclimbingpole' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '100-girlclimbingpole' ); %><span class='high-emphasis'>Another round of applause</span> near the greasy pole! And this time it's a woman! <% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Girl Climbing Pole Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Outside tables'].push('100-girlclimbingpole'); %><span class='high-emphasis'>A young woman wearing pants</span> is climbing the greasy pole now. Some boys are shouting profanities at her, but those who cheer are louder. She's a slow climber, who often pauses to secure her grip. She doesn't get intoxicated with her ability. She's better than everyone looking at her. I root for her. And she gets her victory! She shouts as she slides down the pole, waving the pennant she grabbed at the top. I make my way among the enthusiastic crowd to congratulate her. She's delighted that a lady like me takes a moment to take her hand. Her name is Perla. <% targetTurn = Math.floor( s.timeSpeed*49 );targetEvent = 'ev Men threatening Perla';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Outside tables'].push('500-men threatening perla'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Men threatening Perla remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-men threatening perla' ); %><span class='high-emphasis'>I hear angry cries.</span> A few young men are mocking and teasing a young woman. 'I won it!' she complains. But they just laugh. I remember who she is: the girl who climbed the greasy pole to the top and won the prize that other boys had failed to reach. Perla. <% if ( _.contains(s.opport['Outside tables'], 'op Irene tells a Burbur to defend Perla') == false ) { s.opport['Outside tables'].push('op Irene tells a Burbur to defend Perla'); }; %><% targetTurn = s.turn+1;targetEvent = 'ev Men threatening Perla inaction';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Outside tables'].push('10-men threatening perla inaction'); %><% s.narration['Fountain'].push('10-men threatening perla inaction fountain'); %><% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Irene tells a Burbur to defend Perla' ); %><span class='high-emphasis'>'Leave me alone!'</span> Perla cries. A youth has grabbed her by the waist and his hands are moving inside her clothes. His friends laugh; the rest of us look expressionlessly. 'Ha!' He lets her go and she falls to her knees. In his hand, the pennant that she won by climbing the pole. The boys congratulate him. Perla, still on her knees, looks like she's fallen into a stupor. <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '10-men threatening perla inaction fountain' ); %><% if ( _.contains(s.opport['myself'], 'op Help Perla after attack') == false ) { s.opport['myself'].push('op Help Perla after attack'); }; %><% targetTurn = s.turn+1;targetEvent = 'ev Help Perla after attack remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>'Leave me alone!'</span> Perla cries as I walk towards the Fountain. Don't think about it. Look at the statues and the water and the lights. They laugh and cheer and I look back. Perla is on her knees. A laughing boy is showing everyone his prize: the pennant that she won by climbing the pole. <% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '10-men threatening perla inaction' ); %><% if ( _.contains(s.opport['myself'], 'op Help Perla after attack') == false ) { s.opport['myself'].push('op Help Perla after attack'); }; %><% targetTurn = s.turn+1;targetEvent = 'ev Help Perla after attack remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Help Perla after attack' ); %><div id='opHelpPerlaafterattack' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Help Perla</div><div class='opdesc'></div></div></div><% $(function () { $('#opHelpPerlaafterattack').click(function () { $('#opHelpPerlaafterattack').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opHelpPerlaafterattack'); s.fullHistory.push('op Help Perla after attack');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Help Perla after attack';});}); %> <% s.narration['Outside tables'].push('10-help perla after attack'); %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I remember</span> the way Perla looked at me when I complimented her. I crouch near her and offer my hand to help her stand again. She just stares and stands on her own, and leaves. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opIrenetellsaBurburtodefendPerla' class='oport story'><img class='optimg' src='img/opts/burburum_woman.jpg'><div class='optext'><div class='optitle'>Tell a Burbur</div><div class='opdesc'>Burburum often intervene, but who knows? They might be her friends, or the boys' friends.</div></div></div><% $(function () { $('#opIrenetellsaBurburtodefendPerla').click(function () { $('#opIrenetellsaBurburtodefendPerla').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenetellsaBurburtodefendPerla'); s.fullHistory.push('op Irene tells a Burbur to defend Perla');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene tells a Burbur to defend Perla';});}); %> <% s.narration['Outside tables'].push('10-irene tells burbur to defend perla'); %><% s.eventIgnore.push('ev Men threatening Perla inaction'); %><% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Who can help the girl?</span> Soldiers won't: Burburum are the only ones I can think of. Two of them are watching the scene: a woman and a man, both with the same disguise, a red featureless mask and black horns. 'You are the authority tonight,' I tell them. They turn towards me: bulbous masks with no obvious holes to see or breathe. 'Will you allow that?' The Burburum say nothing. They don't even look at each other, I think. But both start walking towards the girl and the boys. The kids flee the moment they see the Burburum <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><span class='high-emphasis'>A Burbur</span> has decided to stand still while kids tug at his disguise. The image: an ivory-white skull with large antlers swinging over children. It feels quietly menacing to me, but kids are unconcerned, tearing small strips off the Burbur's dress.<div id='opPianoConcertListen' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Enjoy the piano concert</div><div class='opdesc'>It's been some time since I last heard refined music.</div></div></div><% $(function () { $('#opPianoConcertListen').click(function () { $('#opPianoConcertListen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPianoConcertListen'); s.fullHistory.push('op Piano Concert Listen');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Piano Concert Listen';});}); %> <% s.narration['Harmonic Room'].push('0-pianoconcertlisten'); %><% function gotDelay() {story.show('Harmonic Room');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>This is music</span> that feels like a stroll in a well kempt garden, with straight lines of trees and trimmed hedges, fountains and caged birds. It's music that doesn't expect people to dance. Some dancers don't understand the reason for music like this existing at all. But I glimpse small flames in Lady Severin's fingers as she performs, golden sparks when she hits the keys.<span class='high-emphasis'>The noise</span> of children's laughter buries everything else. They are watching a puppeteer. He must be very good. But the laughter is mixed with some strange grunts. I look more closely and I realize that someone has released an angry dog against the puppeteer, who is trying to defend himself, quite pathetically.<% s.narration['Fountain'].push('500-romani women in fountain'); %><span class='high-emphasis'>Near the fountain,</span> my attention is drawn to a pair of romani women with brightly coloured dresses. 'It's different, this year,' one says. 'It only grows in the heat,' is the answer. I play with the sentence in my mind. It rolls in the tongue. *It only grows in the heat.*<% if (_.contains(s.fullHistory, '500-children sing about murder')) { %><% } else { %><% s.narration['Garden Stairs'].push('500-children sing about murder'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Children singing about murder remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-children sing about murder' ); %><span class='high-emphasis'>A few children</span> run past me. They're singing a song that sounds like a nursery rhyme. *'Some will be murdered on Burburum Day...'* What kind of nursery rhyme is that? *'And after the murder no one will complain'* *'Because everyone knew...'* The children are now too far to understand the rest of the song. <% if ( _.contains(s.opport['Garden Stairs'], 'op Ask children about murder song') == false ) { s.opport['Garden Stairs'].push('op Ask children about murder song'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Ask children about murder song remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Garden Stairs'] = _.without( s.opport['Garden Stairs'] , 'op Ask children about murder song' ); %><div id='opAskchildrenaboutmurdersong' class='oport story'><img class='optimg' src='img/opts/blood.jpg'><div class='optext'><div class='optitle'>Ask the children about the murder song</div><div class='opdesc'>This is disturbing. I should go after them and find out about the song.</div></div></div><% $(function () { $('#opAskchildrenaboutmurdersong').click(function () { $('#opAskchildrenaboutmurdersong').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opAskchildrenaboutmurdersong'); s.fullHistory.push('op Ask children about murder song');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Ask children about murder song';});}); %> <% s.narration['Garden Stairs'].push('10-ask children about murder song'); %><% function gotDelay() {story.show('Garden Stairs');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I run after the singing children.</span> They aren't moving fast, but I'm not comfortable running with this dress on. I try to be inconspicuous. Finally I grab a girl's hand. She looks at me and starts sobbing. I can't look at children that cry. I try to calm her down. But calming children down requires virtues I don't have. 'I'm letting you go after just one question,' I say. 'That song you were singing: what does it mean?' She doesn't know what the song means. I don't know if it's true or she's just too disturbed. 'I learnt the song today. They said it was for today.' 'Who said? Who taught you the song?' 'All the kids,' she says. I let her go and she flees running. But after a moment she comes back and adds something: 'That Burbur over there taught us the song.' She points: at a certain distance, a Burbur with a skull mask and keys in a necklace. <% print( story.render( "mars mechanism") ); %><% s.narration['garden'].push('500-this morning heat'); %><%= _.sample( [ "<span class='high-emphasis'>At noon</span> the sky was bright and hot like iron in a forge. Now the heat is descending and piling up on the ground.", "<span class='high-emphasis'>It feels like summer has lasted a year.</span> It feels like it will last forever. It's September, it shouldn't be so hot. It makes people lazy and irritable.", ]) %> This summer has been so hot. <% s.narration['garden'].push('500-weather in the woods'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev a gust of chilly wind';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['garden'].push('500-a gust of chilly wind'); %><%= _.sample( [ "<span class='high-emphasis'>The evening pulses</span> with the day's heat. I remember the last days I spent in the forest. I had to look for warm spots, because most places were cool all day. When I looked for plants far from the cabin, I found parts of the forest that were sunless at all times. ", "<span class='high-emphasis'>It's so hot,</span> and I think of the woods. The forest has the quality of preserving the night's cold air throughout the day. It's the other way here: the evening still has all the heat from the day.", ]) %><span class='high-emphasis'>A sudden gust</span> of chilly wind cuts through the heat. Women cover their shoulders with shawls, or take them off to wrap their children up warm. The breeze dies and the heat returns. But my skin is cold now.<% if (_.contains(s.fullHistory, '500-a gust of chilly wind')) { %><% print("<p><span class='high-emphasis'>Another gust</span> of chilly breeze suddenly steals all the heat from the air. I shrug. It will stop as quickly as it started.</p>"); %><% print("<p>But it doesn't. The air finally stops moving, but I feel the same chill.</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>A gust</span> of chilly breeze suddenly steals all the heat from the air. I shrug. It will stop as quickly as it started.</p>"); %><% print("<p>But it doesn't. The air finally stops moving, but I feel the same chill.</p>"); %><% }; %><% s.narration['garden'].push('500-it is dark now in the garden'); %><%= _.sample( [ "<span class='high-emphasis'>Night has fallen now.</span> The main areas of the garden are profusely lit with torches, but looking at the trees by the Castain's side, I feel that I could touch the dark. It would have the texture of warm velvet. And perhaps I could wrap myself with it and walk unseen.", "<span class='high-emphasis'>The sky is black now.</span> In the garden, there are fragiles spheres of light around the numerous torches. All is dark outside them: between the trees, behind the Pavilion, in the river bank. I wonder what secret things people are doing in the dark.", ]) %><% s.narration['garden'].push('500-evening star in the sky'); %><%= _.sample( [ "<span class='high-emphasis'>The sun</span> is behind the horizon now, and the Evening Star is blazing behind the last rags of haze, like a bonfire on a river bank. It's circled by a flickering halo.", "<span class='high-emphasis'>Now the sun</span> has sunk under the horizon, the sky has a colour I have never seen before. The waning reddish light of the day vibrates behind the veil of haze; the sky looks flat, painted in strange hues.", ]) %><% s.narration['garden'].push('500-faint stars behind the haze'); %><%= _.sample( [ "<span class='high-emphasis'>I look up.</span> The dusk sky looks thin and yellowish. Stars try to pierce what remains of the haze; I get only the faintest glimpse.", "<span class='high-emphasis'>I look up.</span> Dusk is strange today. Yellowish, more than red. It's disguised. It's a Burbur dusk.", ]) %><span class='high-emphasis'>Now that darkness has fallen,</span> the Marble Gallery, seen from outside, is a glowing heart with hundreds of palpitating candles, veins of wine-colored marble. If that is true, then its blood is music and its heartbeat is dance.<span class='high-emphasis'>A heehaw</span> startles me. I think it comes from the trees near the Castain bank, but I can't see the beast in the dark. I wish I could. Donkeys are so much better than horses. What is it doing here in the Palace anyway?<span class='high-emphasis'>I look at the sky.</span> A star flickers briefly, then disappears, veiled by the haze. Will this dust ever dissipate?<% s.narration['Fountain'].push('500-two women argue the weather'); %><span class='high-emphasis'>I hear voices</span> that pass near me. 'Grandma always said heat drives people crazy,' says a woman. 'She also said that a bunny with socks entered her room through the keyhole and laid and egg in her mouth,' another answers. 'It was summer when she said that.'<% s.narration['garden'] = _.without( s.narration['garden'] , '500-marel talks to black sailors' ); %><span class='high-emphasis'>I notice a group of black men.</span> People are staring at them with surprised faces. Well, isn't it the rule that no one is denied entry in the Palace today? I guess that they are sailors in some ship anchored in the port of Marina, perhaps from Malta or Egypt, and they are here to see the Burburum. And they are talking to Agustil! Perhaps they are *his* sailors? They all look relaxed and amiable.<% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '1000-burburum in tables during wheel' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-gathering of burburum during wheel' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-burburum run through gallery during wheel' ); %><span class='high-emphasis'>I notice</span> a lot of monstrous shapes outlined against the setting sun. They are Burburum, lots of them, gathered near the tables.<span class='high-emphasis'>A great number of Burburum</span> are taking some rest, sitting, lying on tables, and chatting. But they can't eat or drink, since the custom forbids taking the mask off in public. It's curious indeed to see so many, thirty or more, gathered together. <% if (s.flagMars > 0) { %><% print("<p>What are they doing? One of them is giving a speech. It's the Burbur that caught my attention before: the one with a necklace made of keys.</p>"); %><% } else { %><% print("<p>What are they doing? One of them is giving a speech. A Burbur with her head hidden by a large skull that looks like an ox or a cow to me, and a necklace of old keys.</p>"); %><% }; %> <% print( story.render( "mars mechanism") ); %> I am very curious. But it's only Burburum gathered there, I won't go near. <% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '1000-burburum in tables during wheel' ); %><span class='high-emphasis'>Sound of hasty footsteps!</span> I turn my head, barely in time to see three Burburum running towards me. But they pass me by with tinkling rings and keys dangling from their necks, with heavy breathing resonating inside the skulls that cover their heads, with the din of their red and orange and green clothes. They are running really fast, and they disappear through the door before I can even say a word.<% s.narration['Marble Gallery, East'].push('5000-Children dance in the Marble Gallery'); %><span class='high-emphasis'>Two children are dancing.</span> Barefoot peasant children in the richest, most impressive room in this part of Europe. A servant approaches them with a disgusted face, when a Burbur stands in his way. A wildly colourful Burbur, with long and thin horns and a red cloth hanging from the teeth. <% if (_.contains(s.fullHistory, '0-acceptanddanceontable')) { %><% print("<p>I danced with him.</p>"); %><% }; %> 'Leave them alone,' says the Burbur. The servant obeys.<% s.narration['ground floor'].push('100-two dogs run through the hall'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*5 ));targetEvent = 'ev two dogs run through the hall remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['ground floor'] = _.without( s.narration['ground floor'] , '100-two dogs run through the hall' ); %><span class='high-emphasis'>Two dogs run through the room,</span> barking and foaming, followed by two servants, followed by laughing children. A servant's wig falls and a girls grabs it, turns round and escapes. The wig's owner gives up the chase and runs after her. The other servant laughs; children laugh; we all laugh; even the dogs. <% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev family playing with a wig';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Outside tables'].push('500-family playing with a wig'); %><% targetTurn = Math.floor( s.timeSpeed*60 );targetEvent = 'ev family playing with a wig remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-family playing with a wig' ); %><span class='high-emphasis'>A peasant family</span> is laughing like madmen. They are poor: parents, grandparents, children, dog, and all are trying an expensive wig. They can't stop laughing.<% s.narration['Marble Gallery, East'].push('500-two men and a parrot'); %><% s.narration['Grand Entrance Hall'].push('500-two men and a parrot'); %><% s.narration['Garden Stairs'].push('500-two men and a parrot'); %><% s.narration['Fountain'].push('500-two men and a parrot'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev two men and a parrot remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-two men and a parrot' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-two men and a parrot' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-two men and a parrot' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-two men and a parrot' ); %><span class='high-emphasis'>'Bastards!'</span> Two men are taking a walk, followed by laughing children. One is black and wears floating, colourful garments whose origin I ignore. The other is white, bearded, wearing an even more garish captain's uniform, with his chest pompously puffed out and covered with unlikely medals. A parrot perched on his shoulder, crying 'Bastards!' again with its high voice. 'He's a ventriloquist,' says someone. 'No,' another answers. 'It's the bird. *Pagan* birds.' I'm fascinated by the parrot's unbelievable green plumage. I greet them bowing my head: I'm polite. The men smile and bow their heads in response. <% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-two men and a parrot' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-two men and a parrot' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-two men and a parrot' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-two men and a parrot' ); %><% s.narration['Grand Entrance Hall'].push('500-a butler announces music upstairs'); %><% s.narration['Marble Gallery, East'].push('500-a butler announces music upstairs'); %><% s.narration['Harmonic Room'].push('0-butler prevents peasants in harmonic room'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev butler announces music upstairs remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-a butler announces music upstairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-a butler announces music upstairs' ); %><span class='high-emphasis'>'Music in the Harmonic Room!'</span> announces a butler near me. 'There will be chamber music until the beginning of the Wheel of Grievances! The Harmonic Room is upstairs, in the West wing!' Yes, tonight there's music everywhere. A small orchestra in the Marble Gallery, for dancing in society; peasant musicians everywhere in the garden, playing endless jigs; the Harmonic Room, for educated listening. The birds at the edges of the garden, to forget that all these people are here. <% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-a butler announces music upstairs' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-a butler announces music upstairs' ); %><span class='high-emphasis'>'You can't go in,'</span> says a butler. Two peasant men are trying to enter the Harmonic Room. Shyly, they turn their backs, put their hats on and leave, while the servant opens the door for me to come in.<% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-music in the harmonic room after dinner' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-music in the harmonic room after dinner' ); %><% if ( _.contains( _.keys(s.interrupt), 'Harmonic Room' )) { s.interrupt['Harmonic Room'] = _.without( s.interrupt['Harmonic Room'], 'int music in the harmonic room after dinner'); } %><span class='high-emphasis'>'Music now in the Harmonic Room!'</span> cries a servant. <% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-music in the harmonic room after dinner' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-music in the harmonic room after dinner' ); %><% s.narration['Pseudopassage'].push('500-enter harmonic room after dinner'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op sit in harmonic room after dinner') == false ) { s.opport['Pseudopassage'].push('op sit in harmonic room after dinner'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op not sit in harmonic room after dinner') == false ) { s.opport['Pseudopassage'].push('op not sit in harmonic room after dinner'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>People stare at me</span> in the Harmonic Room. Barons, counts and dukes. Ladies and dames. Great men of industry. Priests. Council members. Landowners. <% if (_.contains(s.fullHistory, '0-askarboricolanovus')) { %><% print("<p>Young Novus. The Old Novus too.</p>"); %><% }; %> Laurentin. Some smile slightly. They all look down on me. Why? What is this? Even the notes coming from the piano sound unsettling.<div id='opsitinharmonicroomafterdinner' class='oport story'><img class='optimg' src='img/opts/violin.jpg'><div class='optext'><div class='optitle'>Sit down</div><div class='opdesc'>I'm here to listen to music.</div></div></div><% $(function () { $('#opsitinharmonicroomafterdinner').click(function () { $('#opsitinharmonicroomafterdinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opsitinharmonicroomafterdinner'); s.fullHistory.push('op sit in harmonic room after dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op sit in harmonic room after dinner';});}); %> <% s.narration['Main Hallway'].push('10-sit in harmonic room after dinner'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op not sit in harmonic room after dinner' ); %><% s.returnRef = 'Main Hallway'; %><% s.exitList["Main Hallway"] = [ "no exit", "Northern Hallway exit", "Southern Hallway exit", "Map Cabinet exit", "no exit", "Portolan Gallery exit" ]; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>All turn their eyes</span> towards the player as I sit, and the performance goes on. Now they avoid looking at me. Perhaps they are feeling awkward. What if... what if it was my entry what made them unsettled? What if they weren't looking down on me? It's absurd. *They* were attacking *me*. How can I even think of twisting that against me. It was their fault, not mine! But the idea keeps nagging me. I stand up and leave the room, with my eyes fixed on my feet. <% targetTurn = s.turn+1;targetEvent = 'ev anx roll after harmonic room harassment';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><div id='opnotsitinharmonicroomafterdinner' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Leave</div><div class='opdesc'>I'm not here to be looked at.</div></div></div><% $(function () { $('#opnotsitinharmonicroomafterdinner').click(function () { $('#opnotsitinharmonicroomafterdinner').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opnotsitinharmonicroomafterdinner'); s.fullHistory.push('op not sit in harmonic room after dinner');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op not sit in harmonic room after dinner';});}); %> <% s.narration['Main Hallway'].push('10-not sit in harmonic room after dinner'); %><% s.returnRef = 'Main Hallway'; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op sit in harmonic room after dinner' ); %><% s.exitList["Main Hallway"] = [ "no exit", "Northern Hallway exit", "Southern Hallway exit", "Map Cabinet exit", "no exit", "Portolan Gallery exit" ]; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>All turn their eyes</span> towards the player and the performance goes on. But I fear that it will only be a moment. I leave the room, with my eyes fixed on my feet. <% targetTurn = s.turn+1;targetEvent = 'ev anx roll after harmonic room harassment';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><% s.narration['Fountain'].push('500-a boy with a big centipede'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'evn a boy with a big centipede remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-a boy with a big centipede' ); %><span class='high-emphasis'>Cries all around!</span> Girls running... a boy in the middle, with a wicked smile... 'Don't touch me!' a girl screams, but other boys and men look nervous too. The boy laughs like crazy. What does he...? Oh. *I see.* While everyone runs away, I walk to him. Stately. His face changes. Other people watch. 'Can you show me that?' He raises his hand, with a wriggling centipede almost as long as his forearm, and smiles again. <% if ( _.contains(s.opport['Fountain'], 'op take centipede from boy') == false ) { s.opport['Fountain'].push('op take centipede from boy'); }; %><% targetTurn = s.turn+1;targetEvent = 'ev not take centipede from boy';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['myself'].push('10-not take centipede from boy'); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op take centipede from boy' ); %><span class='high-emphasis'>Seeing the centipede</span> is enough. 'Nasty little beast,' I say, without making clear if I refer to the bug or the boy, and I walk away.<div id='optakecentipedefromboy' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Ask the boy to give me the centipede</div><div class='opdesc'>No one is expecting that.</div></div></div><% $(function () { $('#optakecentipedefromboy').click(function () { $('#optakecentipedefromboy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('optakecentipedefromboy'); s.fullHistory.push('op take centipede from boy');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op take centipede from boy';});}); %> <% s.narration['myself'].push('10-take centipede from boy'); %><% s.eventIgnore.push('ev not take centipede from boy'); %><% function gotDelay() {story.show('Fountain');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Can I hold it?'</span> I say. Loud and clear, for everyone. The boy frowns and I think he understands that I'm spoiling his fun. But he can't refuse. The centipede twists around my hand and I hear shocked gasps. 'Nasty little beast,' I say, looking at the boy, not the animal. It crawls up my arm. But I can easily hide my trepidation. I finally catch its head with the other hand and put it in front of my eyes. Pincers, antennae, mandibles. Then I toss it near the boy's feet, who leaps back. Everyone laughs. The boy catches the centipede again and walks away. <% if (_.contains(s.fullHistory, '200-notaccompanynovusarboricola')) { %><% } else { %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Arboricola asks about centipede';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %><% s.narration['Marble Gallery, East'].push('10-arboricola asks about centipede'); %><% s.narration['Marble Gallery, West'].push('10-arboricola asks about centipede'); %><% s.narration['Grand Entrance Hall'].push('10-arboricola asks about centipede'); %><% s.narration['Garden Stairs'].push('10-arboricola asks about centipede'); %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*5 ));targetEvent = 'ev Arboricola asks about centipede remove rel';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*58 );targetEvent = 'ev Arboricola asks about centipede remove abs';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '10-arboricola asks about centipede' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '10-arboricola asks about centipede' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '10-arboricola asks about centipede' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '10-arboricola asks about centipede' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '10-arboricola asks about centipede' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '10-arboricola asks about centipede' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '10-arboricola asks about centipede' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '10-arboricola asks about centipede' ); %><% if (_.contains(s.fullHistory, '0-askarboricolanovus')) { %><% print("<p><span class='high-emphasis'>And here comes Arboricola.</span></p>"); %><% } else { %><% print("<p><span class='high-emphasis'>And here comes Arboricola.</span> A fellow student of natural history and one of the few men who listen to me when I speak.</p>"); %><% }; %> 'What kind of centipede was it?' he asks with a snicker. 'A scolopendra,' I answer. 'I haven't seen one for years,' he sighs. 'People say you are a madwoman like your aunt and your sister.' Let them talk. Let them watch. Like dancing, I don't care if they see me doing that. <% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '10-arboricola asks about centipede' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '10-arboricola asks about centipede' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '10-arboricola asks about centipede' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '10-arboricola asks about centipede' ); %><% s.narration['Outside tables'].push('500-a girl with a pretty cat'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev a girl with a pretty cat remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-a girl with a pretty cat' ); %><span class='high-emphasis'>'Would you show me</span> that pretty cat?' A girl hugs her cat tighter in front of the noble woman who bends over her. The little beast bares its teeth.<% s.narration['Garden Stairs'].push('500-the staircase at night'); %><% s.narration['Fountain'].push('500-the fountain at night'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*8 ));targetEvent = 'ev the staircase at night remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-the staircase at night' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-the staircase at night 2' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-the fountain at night' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-the fountain at night 2' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-the fountain at night 3' ); %><span class='high-emphasis'>The top of the staircase</span> is bathed in light from the Gallery, and people standing there have shining faces. Below, I can only guess some shapes out of the dark. There are scattered torches, but not all of them have been lit. <% s.narration['Garden Stairs'].push('500-the staircase at night 2'); %><span class='high-emphasis'>Not many people</span> stay on the staircase, due to the darkness. The few who are there move carefully, afraid of a tripping.<span class='high-emphasis'>There's less people</span> here now, and the sound of water is more prominent <% s.narration['Fountain'].push('500-the fountain at night 2'); %><span class='high-emphasis'>People are tired</span> and less noisy. Many sit on benches or lie on the grass. Some sleep: most of the children I think. And drunkards. Their parents and friends will wake them up when the ceremony is about to start, when the Master shows up. <% s.narration['Fountain'].push('500-the fountain at night 3'); %><span class='high-emphasis'>People are tired,</span> and they are mostly waiting for the last ceremony to start.<% s.narration['Fountain'].push('1000-a frog in the fountain'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev frog in the fountain remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '1000-a frog in the fountain' ); %><span class='high-emphasis'>My gaze</span> rests on the fountain water for a moment, and right then, a toad suddenly leaps out of it. Two boys come to catch the animal, but they can't find it. That makes me happy.<% s.narration['Blue Pavilion'].push('1000-different birds at night'); %><% s.narration['River pier'].push('1000-different birds at night'); %><% s.narration['Ionic Treasury'].push('1000-different birds at night'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev different birds at night remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '1000-different birds at night' ); %><% s.narration['River pier'] = _.without( s.narration['River pier'] , '1000-different birds at night' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '1000-different birds at night' ); %><span class='high-emphasis'>I hear birdsong.</span> Deep, slowly undulating. It feels like the bird is singing for her own pleasure, not for attention. I love how different birdsong is during the day and during the night. <% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '1000-different birds at night' ); %><% s.narration['River pier'] = _.without( s.narration['River pier'] , '1000-different birds at night' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '1000-different birds at night' ); %><% s.narration['ground floor'].push('500-men who attended classes with irene'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev men who attended classes with irene remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['ground floor'] = _.without( s.narration['ground floor'] , '500-men who attended classes with irene' ); %><span class='high-emphasis'>I look around me.</span> Two men are looking at me: Valer Invictu and Pietro Contessa, who were in the natural history lessons I attended. Pietro was respectful and sometimes even appreciative, while Valer never hid his contempt for a woman who studied the sciences. They were fairly representative of the other men in the lectures. I bow my head to them. Ostentatiously, Valer turns his face to the opposite direction. After a moment of hesitation, Pietro does the same and they continue their talk. 'Even damned Napoleon had more respect for knowledge!' I mumble.<% s.narration['Garden Stairs'].push('500-duchess selen is crying'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev duchess selen is crying remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-duchess selen is crying' ); %><span class='high-emphasis'>Yelling.</span> Duchess Selen is crying, screaming and addressing people. Her face is covered in something red. 'Who did it?' she screams. Instead of helping, her maid weeps on her knees. Everyone around is watching. Some are serious, some are enjoying themselves. 'Why is nobody doing anything?' I ask. 'The Duchess was beating her maid,' a young man says, 'and somebody hit her with a tomato.' <% if ( _.contains(s.opport['Garden Stairs'], 'op irene helps duchess selen') == false ) { s.opport['Garden Stairs'].push('op irene helps duchess selen'); }; %><% if ( _.contains(s.opport['Garden Stairs'], 'op irene helps duchess maid') == false ) { s.opport['Garden Stairs'].push('op irene helps duchess maid'); }; %><% targetTurn = s.turn+1;targetEvent = 'ev irene helps duchess remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Garden Stairs'] = _.without( s.opport['Garden Stairs'] , 'op irene helps duchess maid' ); %><% s.opport['Garden Stairs'] = _.without( s.opport['Garden Stairs'] , 'op irene helps duchess selen' ); %><div id='opirenehelpsduchessselen' class='oport story'><img class='optimg' src='img/opts/ring.jpg'><div class='optext'><div class='optitle'>Help the Duchess</div><div class='opdesc'>No matter what happened, she needs help now.</div></div></div><% $(function () { $('#opirenehelpsduchessselen').click(function () { $('#opirenehelpsduchessselen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opirenehelpsduchessselen'); s.fullHistory.push('op irene helps duchess selen');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene helps duchess selen';});}); %> <% s.narration['Garden Stairs'].push('10-irene helps duchess selen'); %><% s.opport['Garden Stairs'] = _.without( s.opport['Garden Stairs'] , 'op irene helps duchess maid' ); %><% function gotDelay() {story.show('Garden Stairs');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I better try</span> to help the Duchess without appearing sorry for her. Make it look like I'm removing a nuisance. I take Selen by her arm and start walking towards the stairs, while I produce a handkerchief and rub her face. 'Please calm,' I whisper, 'we won't find out who did it until you calm.' Her expression relaxes a little and I think she's going to answer normally... I hear a thud and she pulls me down. A moment later, her yelling lacerates my ears. Another tomato has impacted on her chest. I quickly get away from her without raising my eyes. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opirenehelpsduchessmaid' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Help the maid</div><div class='opdesc'>People seem inflamed today. This isn't just fairer, it's</div></div></div><% $(function () { $('#opirenehelpsduchessmaid').click(function () { $('#opirenehelpsduchessmaid').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opirenehelpsduchessmaid'); s.fullHistory.push('op irene helps duchess maid');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene helps duchess maid';});}); %> <% s.opport['Garden Stairs'] = _.without( s.opport['Garden Stairs'] , 'op irene helps duchess selen' ); %><% s.narration['Garden Stairs'].push('10-irene helps duchess maid'); %><% function gotDelay() {story.show('Garden Stairs');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>If I'm going to help the poor</span> instead of my own class, at least I should make sure that all these people see it. *The great dancer is compassionate,* they should say. I kneel next to the maid and ask her if she is hurt. 'Leave her alone!' cries some man that I don't see. That's absurd. Don't they see that I'm helping? And then I hear a thud and I see that another tomato has burst just near my feet. It was thrown to hit me. Quickly, without thinking, I stand up and get away from her. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><span class='high-emphasis'>And here, the grand ball</span> has begun! The small orchestra is playing, fast of course, because nobody anywhere dances better than us Aurorans. People nod at me. Of course, the great dancer is expected to participate.<% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Proteo Ask Dance' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , 'marblegrandballbegun' ); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Efendi Ask Dance' ); %><div id='opProteoAskDance' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>A stranger is asking me to dance</div><div class='opdesc'>Well, I guess. He merely lowers his head and says nothing. What if I accept?</div></div></div><% $(function () { $('#opProteoAskDance').click(function () { $('#opProteoAskDance').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opProteoAskDance'); s.fullHistory.push('op Proteo Ask Dance');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Proteo Ask Dance';});}); %> <% s.narration['Marble Gallery, West'].push('0-grandballdancewithproteo'); %><% s.preImg['Marble Gallery, West'] = 'img/opts/dance.jpg'; %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Proteo Women Ask') == false ) { s.opport['Marble Gallery, West'].push('op Proteo Women Ask'); }; %><% targetTurn = Math.floor( s.timeSpeed*23 );targetEvent = 'ev Proteo Women Ask Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.log.push("I danced with a silent partner."); %><% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>And this has been the strangest dance</span> I can remember. The Burbur Polonaise is complicated and few men can dance it right. My partner executes it flawlessly, but in a strange manner, whose precise strangeness I cannot really pinpoint. He keeps me a bit too far with his dry and a cold hands, and he seems to meet my eye only by pure chance. He is for sure a dapper man... but unfocused. After the dance, I realise that the man has not only forgot to tell me his name; in fact, he has not said a single word.<% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Proteo Women Ask' ); %><div id='opProteoWomenAsk' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Who was that strange dance partner?</div><div class='opdesc'>Surely some woman here has danced with the same man as I.</div></div></div><% $(function () { $('#opProteoWomenAsk').click(function () { $('#opProteoWomenAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opProteoWomenAsk'); s.fullHistory.push('op Proteo Women Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Proteo Women Ask';});}); %> <% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Proteo Women Ask' ); %><% s.narration['Marble Gallery, West'].push('0-askwomenproteusafterdance'); %><% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I search</span> for the nearest flock of big floating sleeves and corkscrew curls. They corner me for harsh interrogation! These women, even two who have also danced with the strange partner, know nothing more than I do. *Name?* Unknown. *Wife?* None that we know of. *Voice?* No one has heard it. Some gaze at him while he dances with another. I am more fazed than interested myself.<% if (_.contains( _.keys(s.interrupt),'Dining Hall' )) { s.interrupt['Dining Hall'].push('int Dinner Proteo Start'); } else { s.interrupt['Dining Hall'] = ['int Dinner Proteo Start']; }; %><% s.narration['Pseudopassage'].push('1000-dinnerproteostart'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Proteo Start') == false ) { s.opport['Pseudopassage'].push('op Dinner Proteo Start'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>'Attention, please, friends!'</span> I suddenly hear. It's Laurentin.<div id='opDinnerProteoStart' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Listen</div><div class='opdesc'>Everyone has become quiet. Laurentin has that.</div></div></div><% $(function () { $('#opDinnerProteoStart').click(function () { $('#opDinnerProteoStart').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerProteoStart'); s.fullHistory.push('op Dinner Proteo Start');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Proteo Start';});}); %> <% s.narration['Pseudopassage'].push('0-dinnerproteolaurentinpresent'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Buzzatti Watch') == false ) { s.opport['Pseudopassage'].push('op Dinner Buzzatti Watch'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I have something astonishing</span> to share,' Laurentin says. My brother-in-law makes one of his typical long pauses, and then goes on, 'worth even interrupting your dinner.' Murmurs follow. This is unconventional and some are upset, but I know Laurentin expects that. 'Some of you have met my guest, *signor Buzzatti* from Milan. May I ask you to give him a minute of your attention?' 'Thank you,' says a voice behind me with a heavy accent. 'You are people of the Nineteenth century...' I miss some words as he moves, 'new factories driven by steam and clockwork are extraordinary. But I don't want to bore you with the known. It's the new I'm humbly showing you.' According to Gloria, Laurentin has ruined or enriched more people with his ideas only than most armies have with their weapons. Ideas and weapons are almost the same to him. A new kind of man.<div id='opDinnerBuzzattiWatch' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Look at him</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerBuzzattiWatch').click(function () { $('#opDinnerBuzzattiWatch').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBuzzattiWatch'); s.fullHistory.push('op Dinner Buzzatti Watch');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Buzzatti Watch';});}); %> <% s.narration['Pseudopassage'].push('0-dinnerbuzzattiwatch'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Buzzatti Look') == false ) { s.opport['Pseudopassage'].push('op Dinner Buzzatti Look'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>My gaze follows Buzzatti</span> as he walks to a door and opens it, in front of a confused servant. 'Many of you have already met my companion, and I hope it doesn't bother you if let him in.' <% if (_.contains(s.fullHistory, '0-grandballdancewithproteo')) { %><% print("<p>A figure enters the hall. It's that silent, nameless man I danced a Burbur Polonaise with! He still moves in a strange manner, and his face is curiously expressionless.</p>"); %><% } else { %><% print("<p>A figure enters the hall. It's a man I don't know, a dapper one for sure, although there's something... *unfocused* about his expression and his movements.</p>"); %><% }; %> 'Come with me, my friend.' They walk towards Laurentin, who is on the small stand for musicians, that is unoccupied tonight. The man doesn't meet the gaze of anyone, or acknowledge greetings. 'Tonight you are the first who will see the future of the Canton and all of Europe,' says Laurentin. All three of them are now together on the stand. 'Look!'<div id='opDinnerBuzzattiLook' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Pay attention</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerBuzzattiLook').click(function () { $('#opDinnerBuzzattiLook').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBuzzattiLook'); s.fullHistory.push('op Dinner Buzzatti Look');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Buzzatti Look';});}); %> <% s.narration['Pseudopassage'].push('0-dinnerbuzzattilook'); %><% s.preImg['Pseudopassage'] = 'img/opts/clockwork.jpg'; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Buzzatti Ignore') == false ) { s.opport['Pseudopassage'].push('op Dinner Buzzatti Ignore'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Buzzatti Clara') == false ) { s.opport['Pseudopassage'].push('op Dinner Buzzatti Clara'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Buzzatti Go') == false ) { s.opport['Pseudopassage'].push('op Dinner Buzzatti Go'); }; %><% s.log.push("I saw an automaton."); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'See Proteo, the artificial man!'</span> Buzzatti cries, and with one movement, he tears his friend's head away. Some people scream. 'No reason to worry, ladies! He is a machine!' Buzzatti roars in triumph. The man, beheaded, stands perfectly still. People point that there is no blood, others call the Italian a murderer. Meanwhile, he's unbuttoned the man's suit. 'No indecency here, father! No skin under those clothes!' Laurentin is laughing and *holding the head*. Good Lord. <% if (_.contains(s.fullHistory, '0-grandballdancewithproteo')) { %><% print("<p>'Now!' Buzzatti screams, as if suffering a seizure. He opens the chest. The man I danced with is full of gears, springs and small metal pieces.</p>"); %><% } else { %><% print("<p>'Now!' Buzzatti screams, as if suffering a seizure. He opens the chest. The man is full of gears, springs and small metal pieces.</p>"); %><% }; %> A few scream at the top of their lungs. 'As you have seen today, a dancer, but also an unbeatable fighter that protects me from any attack,' the inventor says, while producing a small metal disc and showing it, 'and can protect any other person. Proteo will remain here, open, for you to come see the workings.'<div id='opDinnerBuzzattiIgnore' class='oport story'><img class='optimg' src='img/opts/food.jpg'><div class='optext'><div class='optitle'>Keep dining and ignore it</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerBuzzattiIgnore').click(function () { $('#opDinnerBuzzattiIgnore').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBuzzattiIgnore'); s.fullHistory.push('op Dinner Buzzatti Ignore');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Buzzatti Ignore';});}); %> <% s.narration['Dining Hall'].push('0-dinnerbuzzattiignore'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Buzzatti Clara' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Buzzatti Go' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I turn my attention</span> to my plate. Not that I'm indifferent. Not Laurentin, though I'm very suspicious of whatever reasons he has. Not that I'm afraid of the thing that stands there, headless (oh God, they have detached one of his hands now), or the possessed man that made it. It is a hunch I cannot explain, telling me I better stay away. 'One wonders how we are going to tell real men from automatons from now on,' someone says. I silently thank her.<div id='opDinnerBuzzattiClara' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Stay sat and ask Clara what she thinks about the mechanical man</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerBuzzattiClara').click(function () { $('#opDinnerBuzzattiClara').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBuzzattiClara'); s.fullHistory.push('op Dinner Buzzatti Clara');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Buzzatti Clara';});}); %> <% s.narration['Dining Hall'].push('0-dinnerbuzzatticlara'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Buzzatti Ignore' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Buzzatti Go' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'What do you think, Clara?'</span> I ask. She doesn't acknowledge the question. She's looking at Laurentin, Buzzatti, Proteo and Gloria. 'Clara?' I say again, gently. She doesn't move a muscle. 'Clara, please,' I insist, a little bit louder, to no avail. The headless thing, now missing a hand too, stands at the limit of my ease. It doesn't make me afraid. But I feel threatened. Clara, expressionless, absent, keeps staring.<div id='opDinnerBuzzattiGo' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Go take a look</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerBuzzattiGo').click(function () { $('#opDinnerBuzzattiGo').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBuzzattiGo'); s.fullHistory.push('op Dinner Buzzatti Go');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Buzzatti Go';});}); %> <% s.narration['Pseudopassage'].push('0-dinnerbuzzattigo'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Buzzatti Ignore' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Buzzatti Clara' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Buzzatti Why') == false ) { s.opport['Pseudopassage'].push('op Dinner Buzzatti Why'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Buzzatti How') == false ) { s.opport['Pseudopassage'].push('op Dinner Buzzatti How'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I cringe</span> as I walk towards the stand. 'My sister-in-law is a brilliant woman,' says Laurentin when introducing me to the Italian inventor. 'She won't be afraid of touching it.' He's handing me the head. I don't want to fail on whatever test Laurentin is putting on me. It isn't heavy. The skin and the hair look real, but they don't feel human to the touch. *I'm holding a head.* Should this feel like holding an animal? Like a dream or a nightmare? It feels new.<div id='opDinnerBuzzattiWhy' class='oport story'><img class='optimg' src='img/opts/weight.jpg'><div class='optext'><div class='optitle'>Ask Buzzatti why he built it</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerBuzzattiWhy').click(function () { $('#opDinnerBuzzattiWhy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBuzzattiWhy'); s.fullHistory.push('op Dinner Buzzatti Why');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Buzzatti Why';});}); %> <% s.narration['Pseudopassage'].push('0-dinnerbuzzattiwhy'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Buzzatti Leave') == false ) { s.opport['Pseudopassage'].push('op Dinner Buzzatti Leave'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'A perfect soldier</span> for our armies. What else?' Buzzatti says when I ask him why he has built this man. 'Never tired, never longing for home, women or family.' I point that he's from Lombardy. Whose armies is he referring to as 'ours'? 'The free nations of Europe,' he says, to Laurentin's obvious satisfaction. To me, this sounds like he's willing to sell it to the best bidder.<div id='opDinnerBuzzattiHow' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Ask Buzzatti how he expects to keep it</div><div class='opdesc'></div></div></div><% $(function () { $('#opDinnerBuzzattiHow').click(function () { $('#opDinnerBuzzattiHow').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBuzzattiHow'); s.fullHistory.push('op Dinner Buzzatti How');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Buzzatti How';});}); %> <% s.narration['Pseudopassage'].push('0-dinnerbuzzattihow'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dinner Buzzatti Leave') == false ) { s.opport['Pseudopassage'].push('op Dinner Buzzatti Leave'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'What if they steal it?'</span> I ask. 'Aren't you worried about it? Perhaps even tonight?' <% if (_.contains(s.fullHistory, '0-grandballdancewithproteo')) { %><% print("<p>Buzzatti laughs. 'You have experienced how skillfully my Proteo dances. Be sure that he's a better fighter than dancer.'</p>"); %><% } else { %><% print("<p>Buzzatti laughs. 'Ladies have praised Proteo's dancing skills. Be sure that he's a better fighter than dancer.'</p>"); %><% }; %> Then he produces a small brass case, disc-shaped, the same he showed before. 'Regarding myself, as long as I have this disc in my possession, he will defend me and himself with a brutality you can't imagine.' He hides the disc again in his clothes.<div id='opDinnerBuzzattiLeave' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Return to my seat</div><div class='opdesc'>Other people are waiting for their turn to touch this marvel.</div></div></div><% $(function () { $('#opDinnerBuzzattiLeave').click(function () { $('#opDinnerBuzzattiLeave').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDinnerBuzzattiLeave'); s.fullHistory.push('op Dinner Buzzatti Leave');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dinner Buzzatti Leave';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Buzzatti Why' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dinner Buzzatti How' ); %><% s.narration['Dining Hall'].push('0-dinnerbuzzattileave'); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I give the head back to Laurentin.</span> 'This is something worthy of attention you have brought,' I tell him. 'That's all I ever try to do, Irene,' he says, smiling. 'Both to our Canton and to your family.' <% if (_.contains(s.fullHistory, '100-clara in dinner asks about conversation with gloria')) { %><% print("<p>I whisper: 'You're responsible for Gloria. Don't let her hurt anyone.'</p>"); %><% }; %> As I return to my seat, I consider the wonders I have just touched. But I don't have any worthy idea about them. Two Burburum stand in a far corner of the room, near the door to the kitchen staircase. Have they seen everything?<div id='opIrenetriestogethelpfromBuzzatti' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Ask Buzzatti to help Father</div><div class='opdesc'>He said his automaton protects him. Could it protect Father instead?</div></div></div><% $(function () { $('#opIrenetriestogethelpfromBuzzatti').click(function () { $('#opIrenetriestogethelpfromBuzzatti').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenetriestogethelpfromBuzzatti'); s.fullHistory.push('op Irene tries to get help from Buzzatti');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene tries to get help from Buzzatti';});}); %> <% s.narration['Pseudopassage'].push('10-Irene tries to get help from Buzzatti'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene demands the disc from Buzzatti') == false ) { s.opport['Pseudopassage'].push('op Irene demands the disc from Buzzatti'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene kindly asks the disc from Buzzatti') == false ) { s.opport['Pseudopassage'].push('op Irene kindly asks the disc from Buzzatti'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>If I want to discuss this with Buzzatti,</span> we should go to some very private place. And I know exactly where: the small chamber behind a false bookcase, where they keep the *scandalous* books. I approach Buzzatti. Fortunately, there are only three persons talking to him now. <% if (_.contains(s.fullHistory, '1-proteobetfinal')) { %>'Signor Buzzatti, do you remember me?' I ask. 'Please, Lady, don't be so mean to me,' he answers, genuinely concerned. 'How can I forget?' <% } else { %>'Signor Buzzatti, my greetings,' I say, and I introduce myself as the daughter of the principal magistrate in the Canton who is also a friend to the King. He's gentle and perhaps a bit flirtatious. <% }; %> He agrees to come with me, leaving his public displeased. The automaton ominously follows us. I open the latch and the three of us enter the very small space, dark and full of books. I realize someone may find it indecent that I come to this place alone with a man, but I don't care a bit.<div id='opIrenedemandsthediscfromBuzzatti' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Demand his help</div><div class='opdesc'>Don't let him believe that he can leave this room without yielding to me.</div></div></div><% $(function () { $('#opIrenedemandsthediscfromBuzzatti').click(function () { $('#opIrenedemandsthediscfromBuzzatti').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenedemandsthediscfromBuzzatti'); s.fullHistory.push('op Irene demands the disc from Buzzatti');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene demands the disc from Buzzatti';});}); %> <% s.narration['Pseudopassage'].push('10-Irene demands the disc from Buzzatti'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene kindly asks the disc from Buzzatti' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene takes the disc from Buzzatti') == false ) { s.opport['Pseudopassage'].push('op Irene takes the disc from Buzzatti'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I face the inventor.</span> 'I am going to take that disc you have and keep it for the rest of the night,' I say. 'My reasons are none of your concern, but rest assured that they are noble. You can give the disc to me without resistance; or you can fight.' I make a pause to look at his contorted face. 'Am I wrong to think that, if we fight, Proteo will tear me apart? But that's not your advantage. You can't allow your machine to hurt the daughter of one of the most important men in the Canton.' I look at the machine: a featureless silhouette against the dark. It's pacing left and right, not looking at us. Buzzatti starts talking, but I shush him. 'If you let Proteo hurt me, you've lost everything. If you try to stop me yourself, I will accuse you and you'll be damned all the same. There's nothing you can do except trusting me.'<div id='opIrenekindlyasksthediscfromBuzzatti' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Kindly ask for his help</div><div class='opdesc'>Be easy on him. At least at the beginning.</div></div></div><% $(function () { $('#opIrenekindlyasksthediscfromBuzzatti').click(function () { $('#opIrenekindlyasksthediscfromBuzzatti').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenekindlyasksthediscfromBuzzatti'); s.fullHistory.push('op Irene kindly asks the disc from Buzzatti');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene kindly asks the disc from Buzzatti';});}); %> <% s.narration['Pseudopassage'].push('10-Irene kindly asks the disc from Buzzatti'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene demands the disc from Buzzatti' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene takes the disc from Buzzatti') == false ) { s.opport['Pseudopassage'].push('op Irene takes the disc from Buzzatti'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I face the inventor.</span> 'You have built an unbelievable machine,' I say. 'I am in desperate need, in my darkest hour. Would you allow your automaton to help me?' He nods, but there's an obvious hesitation. 'You said your machine protects you. I have discovered a conspiracy against a good man. Please let your machine protect that man,' I say, and I take his hand. He recoils with a distorted expression. 'No.' 'No?' 'There have been attempts against my life,' he says. 'A lot of people want to steal my automaton. I need him to watch over me at all times.' If kindness doesn't work, time to be inflexible. 'You have good reasons, but I can't allow you to leave this chamber before giving me your machine, and if you hurt me to prevent it you will lose a lot more than the machine.'<div id='opIrenetakesthediscfromBuzzatti' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Hold out my hand</div><div class='opdesc'></div></div></div><% $(function () { $('#opIrenetakesthediscfromBuzzatti').click(function () { $('#opIrenetakesthediscfromBuzzatti').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenetakesthediscfromBuzzatti'); s.fullHistory.push('op Irene takes the disc from Buzzatti');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene takes the disc from Buzzatti';});}); %> <% s.narration['myself'].push('10-Irene takes the disc from Buzzatti'); %><% s.narration['Father'].push('500-Irene finds Father after getting Buzzatti disc'); %><% targetTurn = Math.floor( s.timeSpeed*60 );targetEvent = 'evn Remove option to give Buzzatti disc to Father';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.log.push("I took the disc that made the artificial man protect its creator."); %><% s.reminders['disctofather'] = "I need to find Father and give him Buzzatti's disc."; %><% if (s.charLocationPriority['Father'] < 500) { s.charLocationPriority['Father'] = 500;s.characterList['Father'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Marble Gallery, East"; s.charLocationPriority["Father"] = 500; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I extend my hand,</span> palm up. Buzzatti stares at me. I stare back. Half a minute passes, a full minute. Finally he places the disc on my hand. 'If you do this,' he says, 'an army of mechanical men will raze this city before your next disguise party for children. It's useless here. Nobody will understand, nobody will buy.' 'You will have him back tomorrow.' I put the disc inside my dress, and the automaton seems to notice it. Buzzatti leaves the chamber, but Proteo stays. I put a hand on its chest. I feel a faint vibration inside, not really humanlike but not totally unlike a human. I leave, and Proteo comes behind me. Now I must find Father. I'm sure he's near, in the Gallery or the Entrance Hall. <% s.narration['myself'].push('1000-proteo still with irene after getting disc'); %><% $('body').addClass('hideambientops'); %><span class='high-emphasis'>I look behind</span> and Proteo is there, not that different from a real man, walking and looking and even nodding at people. I wonder what it really is. I wonder if it has some kind of spirit... created from metal or stolen from nature. These thoughts are like vertigo. I want Proteo to be with Father as soon as possible, and not only for Father's safety.<% s.opport['Father'] = _.without( s.opport['Father'] , 'op Irene secretly gives Buzzatti disc to Father' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Irene asks Father to keep Buzzatti disc' ); %><% delete s.reminders['disctofather']; %><% s.narration['Father'] = _.without( s.narration['Father'] , '500-Irene finds Father after getting Buzzatti disc' ); %><span class='high-emphasis'>Father is here.</span> A great fear and a great relief grip me at the same time. I check that Proteo is still behind me. I need to give him the disc. But I don't think he should know why. <% if ( _.contains(s.opport['Father'], 'op Irene secretly gives Buzzatti disc to Father') == false ) { s.opport['Father'].push('op Irene secretly gives Buzzatti disc to Father'); }; %><% if ( _.contains(s.opport['Father'], 'op Irene asks Father to keep Buzzatti disc') == false ) { s.opport['Father'].push('op Irene asks Father to keep Buzzatti disc'); }; %><% $('body').addClass('hideambientops'); %><div id='opIrenesecretlygivesBuzzattidisctoFather' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Hide the disc in Father's clothes</div><div class='opdesc'></div></div></div><% $(function () { $('#opIrenesecretlygivesBuzzattidisctoFather').click(function () { $('#opIrenesecretlygivesBuzzattidisctoFather').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenesecretlygivesBuzzattidisctoFather'); s.fullHistory.push('op Irene secretly gives Buzzatti disc to Father');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene secretly gives Buzzatti disc to Father';});}); %> <% s.narration['Marble Gallery, East'].push('10-Irene secretly gives Buzzatti disc to Father'); %><% s.narration['Marble Gallery, East'].push('15-Proteo follows Father'); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Irene insists to father about conspiracy' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Irene warns father about the conspiracy' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Irene asks Father to keep Buzzatti disc' ); %><% delete s.reminders['disctofather']; %><% s.log.push("I made sure that the automaton would protect my father."); %><% s.charLocationPriority['Father'] = 0; %><% function gotDelay() {story.show('Marble Gallery, East');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Father's war wounds are an advantage</span> that I've used since childhood. I approach him from behind, staying to his right side, where he has worse hearing and the leg that hurts, the posture betrays it. My right hand on his right shoulder surprises him. He turns with a bit of pain. I extend my left arm, waiting. He sees me, straightens. *Now.* 'Are you enjoying the night?' Father asks. I smile. The disc is already in his pocket. 'I confess I'm not. I wish I could leave for home right now...' I could never convince him that he's in danger here. I try to hold back tears. 'I wanted to see if you are feeling well,' I say, and I leave him.I look back. Proteo no longer follows me, it stays near him.<div id='opIreneasksFathertokeepBuzzattidisc' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Ask Father to keep the disc</div><div class='opdesc'></div></div></div><% $(function () { $('#opIreneasksFathertokeepBuzzattidisc').click(function () { $('#opIreneasksFathertokeepBuzzattidisc').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneasksFathertokeepBuzzattidisc'); s.fullHistory.push('op Irene asks Father to keep Buzzatti disc');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene asks Father to keep Buzzatti disc';});}); %> <% s.narration['Marble Gallery, East'].push('10-Irene asks Father to keep Buzzatti disc'); %><% s.narration['Marble Gallery, East'].push('15-Proteo follows Father'); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Irene secretly gives Buzzatti disc to Father' ); %><% delete s.reminders['disctofather']; %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Irene insists to father about conspiracy' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Irene warns father about the conspiracy' ); %><% s.log.push("I made sure that the automaton would protect my father."); %><% s.charLocationPriority['Father'] = 0; %><% function gotDelay() {story.show('Marble Gallery, East');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Father,'</span> I say, before making the kind of pause that actors make in plays, 'would you agree to a very small desire I have, even if it makes no sense to you?' <% if (s.flag.knowAboutViolence == true) { %><% print("<p>'I have no need for senseless things,' he says. His eyes are tired. 'I've spent my life trying to get things to make sense, but tonight we've seen what happens when they don't. I thought the Lord would spare me witnessing things like these again. I feel I'm back at my youth, when the world was all noise, danger and war, but at the same time I have aged ten years tonight.'</p>"); %><% print("<p>I produce Buzzatti's disc. 'Would you please carry this in one of your pockets? Consider it a superstition. My amulet for you.'</p>"); %><% print("<p>'You are less superstitious than anybody else,' he says. He reluctantly takes the disc, feels its weight, then he puts it into his pocket. 'If you believe in it, it must be worth believing.'</p>"); %><% print("<p>I wish I weren't crying. When was the last time he saw me cry? He seems bemused but not upset or uneasy. However, he does and says nothing until I stop myself from shaking. He mumbles an apology and leaves.</p>"); %><% } else { %><% print("<p>'I have no need for senseless things,' he says. His eyes are tired. 'I've spent my life trying to get things to make sense and lately I doubt that I have succeeded. Like tonight.'</p>"); %><% print("<p>'Tonight?' I ask.</p>"); %><% print("<p>'My child,' he says with great affection, 'you often are like a sleepwalker, never hearing about things that happen around you.'</p>"); %><% print("<p>I produce Buzzatti's disc. 'Would you please carry this in one of your pockets? Consider it a superstition. My amulet for you.'</p>"); %><% print("<p>'You are less superstitious than anybody else,' he says. He reluctantly takes the disc, feels its weight, then he puts it into his pocket. 'If you believe in it, it must be worth believing.' He mumbles an apology and leaves.</p>"); %><% }; %><span class='high-emphasis'>Buzzatti is here,</span> showing his automaton to a few men. <% if ( _.contains(s.opport['Library'], 'op Irene tries to get help from Buzzatti') == false ) { s.opport['Library'].push('op Irene tries to get help from Buzzatti'); }; %><% s.opport['Library'] = _.without( s.opport['Library'] , 'op Irene tries to get help from Buzzatti' ); %><% s.narration['Library'] = _.without( s.narration['Library'] , '1000-buzzatti is in the library to request help' ); %><% s.narration['Library'].push('500-buzzatti is showing proteo in the library'); %><% targetTurn = Math.floor( s.timeSpeed*58 );targetEvent = 'ev buzzatti is showing proteo in the library remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Library'] = _.without( s.narration['Library'] , '500-buzzatti is showing proteo in the library' ); %><% s.opport['Library'] = _.without( s.opport['Library'] , 'op challenge proteo to dance' ); %><span class='high-emphasis'>I hear applause.</span> The Italian inventor is here, exhibiting his creation. A mechanical man? But a person, by definition, can't be mechanical, so Proteo has to be *something else*. Definitions break when confronted with this thing (which is standing still but moving its head towards whoever is speaking at each moment, as if speaking and understanding). Buzzatti could teach me all his secrets and I still wouldn't know what this thing is. A malicious mischief rings in my mind. <% if ( _.contains(s.opport['Library'], 'op challenge proteo to dance') == false ) { s.opport['Library'].push('op challenge proteo to dance'); }; %><div id='opchallengeproteotodance' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Challenge Buzzatti</div><div class='opdesc'>Just a bit of fun.</div></div></div><% $(function () { $('#opchallengeproteotodance').click(function () { $('#opchallengeproteotodance').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opchallengeproteotodance'); s.fullHistory.push('op challenge proteo to dance');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op challenge proteo to dance';});}); %> <% s.narration['Pseudopassage'].push('10-challenge proteo to dance'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op start dance challenge with proteo') == false ) { s.opport['Pseudopassage'].push('op start dance challenge with proteo'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'I have a challenge,'</span> I say. Buzzatti, very politely (and then I understand that he is *selling*), asks what it is. 'I bet I can beat and dismantle that automaton,' say I. I raise a hand to stop the polite laughs. 'Not fighting, of course. Dancing.' 'Dance as a war method?' says Buzzatti, still laughing. 'Will he follow me on every move?' I ask, and he nods. 'Then I can.' I address a fiddler. 'Fast, then slow, then faster.' Proteo is behaving again like a man, or almost: the way it cocks its head, the way it crosses its arms. 'Sir!' I call him. The public laughs; except for Buzzatti himself, who is serious now. I go to Proteo, bow slightly and take his hands. The fiddler attacks *First mate's jig* fast, very fast.<div id='opstartdancechallengewithproteo' class='oport story'><img class='optimg' src='img/opts/burbur_dance.jpg'><div class='optext'><div class='optitle'>Start dancing</div><div class='opdesc'></div></div></div><% $(function () { $('#opstartdancechallengewithproteo').click(function () { $('#opstartdancechallengewithproteo').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opstartdancechallengewithproteo'); s.fullHistory.push('op start dance challenge with proteo');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op start dance challenge with proteo';});}); %> <% s.narration['Pseudopassage'].push('10-start dance challenge with proteo'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op proteo dance challenge hard') == false ) { s.opport['Pseudopassage'].push('op proteo dance challenge hard'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op proteo dance challenge smart') == false ) { s.opport['Pseudopassage'].push('op proteo dance challenge smart'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Unceremoniously</span> I pull Proteo's hands and start dancing *twice as fast* as the song is supposed to. I don't understand the arts that make this machine man work, but somehow it notices what I am doing and tries to keep pace. But it's not as flexible as me. It can't stretch as far as me or bend as sharp, at least not as quick as me. But it's strong. When I stretch or bend it retains me; I can't force it past its limits. However, I think I'm hearing a grating sound coming from inside him. Proteo's face still does a good impersonation of a man, like the first time I danced with... it. Come on, first mate! Help me win this bet. A little more to go...<div id='opproteodancechallengehard' class='oport story'><img class='optimg' src='img/opts/attack.jpg'><div class='optext'><div class='optitle'>Play hard</div><div class='opdesc'>I'm a strong, flexible, technical dancer, and I can push this machine to its limits.</div></div></div><% $(function () { $('#opproteodancechallengehard').click(function () { $('#opproteodancechallengehard').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opproteodancechallengehard'); s.fullHistory.push('op proteo dance challenge hard');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op proteo dance challenge hard';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op proteo dance challenge smart' ); %><% s.narration['Pseudopassage'].push('10-proteo dance challenge smart'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op accept help after proteo challente') == false ) { s.opport['Pseudopassage'].push('op accept help after proteo challente'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op refuse help after proteo challente') == false ) { s.opport['Pseudopassage'].push('op refuse help after proteo challente'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><div id='opproteodancechallengesmart' class='oport story'><img class='optimg' src='img/opts/serpent.jpg'><div class='optext'><div class='optitle'>Be smart</div><div class='opdesc'>Well thought movements, in the precise moment, will be too much for this doll. </div></div></div><% $(function () { $('#opproteodancechallengesmart').click(function () { $('#opproteodancechallengesmart').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opproteodancechallengesmart'); s.fullHistory.push('op proteo dance challenge smart');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op proteo dance challenge smart';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op proteo dance challenge hard' ); %><% s.narration['Pseudopassage'].push('10-proteo dance challenge smart'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op accept help after proteo challente') == false ) { s.opport['Pseudopassage'].push('op accept help after proteo challente'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op refuse help after proteo challente') == false ) { s.opport['Pseudopassage'].push('op refuse help after proteo challente'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I hope</span> I will catch him by surprise with the change of rhythm. Now! A change from a very fast four part rhythm to a parsimonious three part. I bend as much as I can, and then I stretch slow but as strong as I can... The scrape intensifies! I feel a strong and fast pull in the opposite direction. My feet slip... When I gather myself and look up, I am kneeling on the floor, three metres away from Proteo. The music has stopped and some people in the public are coming to help me.<div id='opaccepthelpafterproteochallente' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Accept their help</div><div class='opdesc'>That's what a lady would do.</div></div></div><% $(function () { $('#opaccepthelpafterproteochallente').click(function () { $('#opaccepthelpafterproteochallente').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opaccepthelpafterproteochallente'); s.fullHistory.push('op accept help after proteo challente');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op accept help after proteo challente';});}); %> <% s.narration['Library'].push('10-accept help after proteo challente'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op refuse help after proteo challente' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><div id='oprefusehelpafterproteochallente' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Raise a hand to refuse help</div><div class='opdesc'>And get to my feet on my own. That's what I want.</div></div></div><% $(function () { $('#oprefusehelpafterproteochallente').click(function () { $('#oprefusehelpafterproteochallente').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('oprefusehelpafterproteochallente'); s.fullHistory.push('op refuse help after proteo challente');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op refuse help after proteo challente';});}); %> <% s.narration['Library'].push('10-refuse help after proteo challente'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op accept help after proteo challente' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'I am perfectly well!'</span> I say, while I make gestures for everyone to keep their distance. I get back on my feet slowly. I feel someone lift my arms from behind. 'No help, I said,' I protest again, and I shake them off. Whoever it is, they leave. I face Buzzatti. He seems both smug and a bit ashamed. 'Don't apologize, please. Your machine can't be defeated and I congratulate you for that. But let me tell you that you have a lot of work to do until you build a machine that can dance!' People around us laugh. Buzzatti leaves with Proteo, after thanking me and inviting me to visit him in Florence. 'So you help me build a better dancer,' he says.<span class='high-emphasis'>I don't move</span> until two men and a woman come near. I expect them to offer me their hands but, instead, one of the men, saying nothing, grabs my armpits and lifts me up. I feel somewhat uncomfortable about his shaking hands. 'Thanks,' I coldly say. I face Buzzatti. He seems both smug and a bit ashamed. 'Don't apologize, please. Your machine can't be defeated and I congratulate you for that. But let me tell you that you have a lot of work to do until you build a machine that can dance!' People around us laugh. Buzzatti leaves with Proteo, after thanking me and inviting me to visit him in Florence. 'So you help me build a better dancer,' he says.<span class='high-emphasis'>There he is!</span> Father is greeting some men with a distracted look. He sure feels tired, trapped in that uniform in such a hot day. <% if ( _.contains(s.opport['Father'], 'op Father Initial Greet') == false ) { s.opport['Father'].push('op Father Initial Greet'); }; %><div id='opFatherInitialGreet' class='oport story char'><img class='optimg' src='img/opts/old_hand.jpg'><div class='optext'><div class='optitle'>Make small talk with Father</div><div class='opdesc'>I must keep an eye on him. Help him enjoy the evening. </div></div></div><% $(function () { $('#opFatherInitialGreet').click(function () { $('#opFatherInitialGreet').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opFatherInitialGreet'); s.fullHistory.push('op Father Initial Greet');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Father Initial Greet';});}); %> <% if ( _.contains(s.opport['Father'], 'op father initial conversation discuss uneasiness') == false ) { s.opport['Father'].push('op father initial conversation discuss uneasiness'); }; %><% targetTurn = s.turn+1;targetEvent = 'ev father initial conversation uneasiness remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.eventIgnore.push('ev irene wonders avoiding people'); %><% s.narration['myself'] = _.without( s.narration['myself'] , '500-irene wonders avoiding people' ); %><% s.narration['myself'].push('0-fatherinitialgreet'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I confess I'd rather be home,'</span> Father says. 'The leg is asking for more brandy than I can drink in public. Don't remind me of your mother.' 'I wouldn't,' I swear. I remind him of Clara, my naturalist colleagues, the dancers, the Burburum, the Marel brothers. 'Almost like I were a child again!' I laugh. <% if (s.companion == "Clara") { %><% print("<p>'You will always be a child to us, my parrot,' says Clara. I don't like it, but what am I to do.</p>"); %><% }; %> His medals shine proudly on the deep maroon of his shirt. But I notice an uneasiness in him.<% s.opport['Father'] = _.without( s.opport['Father'] , 'op father initial conversation discuss uneasiness' ); %><% s.narration['myself'].push('5-father initial conversation uneasiness remove'); %><span class='high-emphasis'>It's better</span> that I don't discuss worrisome affairs with Father tonight, and I leave him.<div id='opfatherinitialconversationdiscussuneasiness' class='oport story'><img class='optimg' src='img/opts/old_hand.jpg'><div class='optext'><div class='optitle'>Ask about his uneasiness</div><div class='opdesc'>I want him to enjoy the festival, be quiet and not interfere with my goals.</div></div></div><% $(function () { $('#opfatherinitialconversationdiscussuneasiness').click(function () { $('#opfatherinitialconversationdiscussuneasiness').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opfatherinitialconversationdiscussuneasiness'); s.fullHistory.push('op father initial conversation discuss uneasiness');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op father initial conversation discuss uneasiness';});}); %> <% s.narration['myself'].push('10-father initial conversation discuss uneasiness'); %><% s.eventIgnore.push('ev father initial conversation uneasiness remove'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I ask Father if anything worries him.</span> 'Don't deny it,' I command, 'you can't hide that from me.' <% if (s.companion == "Clara") { %><% print("<p>'The little parrot is right,' Clara says. So kind.</p>"); %><% }; %> 'I get scared of shadows. These days I feel an uneasiness in Aurora. Matters unsettled for too long. Also, the rumours about Lady Mars,' he says. 'She has been giving everyone reasons for gossip since your mother was a little child.' 'Aunt Crissina has been dealing with hearsay since the last century,' I answer, 'and she's done well.' 'Dreams giving her unknown illnesses,' he says. 'How can we defend from that?' 'Do you want me to talk to someone?,' I say. 'A silk manoeuvre?' 'I won't request your services tonight.' And that's a relief. I don't want to play politics for Father anymore. But there's something else that he hasn't told me. He's also worried about *me* and my intention of bothering the Mayor of Marina until he gives me a license to wear trousers.<% s.narration['myself'].push('100-midnightceremonywarning'); %><% targetTurn = s.turn+1;targetEvent = 'ev Midnight Ceremony Warning 2';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['River pier'].push('100-midnightceremonypier'); %><% if ( _.contains(s.opport['River pier'], 'op Midnight Pier Watch') == false ) { s.opport['River pier'].push('op Midnight Pier Watch'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Midnight Ceremony Warning Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Midnight Sequence 10';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.flagMidnightSeenMaster = false; %><% s.narration['River pier'] = _.without( s.narration['River pier'] , '100-midnightceremonypier' ); %><span class='high-emphasis'>A bell strikes.</span> Finally! People warn each other that the sea ceremony will start soon, and suddenly I'm the only one who isn't hurrying towards the pier. How can people be so enthusiastic? After all that has happened today? How can they be so easily distracted? 'Being easily distracted is a great virtue that makes life easier for people.' The quote comes to mind fully formed, but where from? <% if (s.currentLocation == 'River pier') { %><% print("<p>And I happen to be on the right spot to see the beginning of the ceremony. I should wait here a little and look for lights on the river.</p>"); %><% } else { %><% print("<p>I shouldn't be different. I should be easily distracted. The ceremony! I must run to the pier if I want to see the beginning of everything!</p>"); %><% }; %><% if (_.contains(s.fullHistory, '10-Irene looks at Tavia passing the ring in the secret meeting')) { %><% print("<p>Father will be at the top of the staircase that descends from the Marble Gallery to the garden, with all the other authorities, where they will be addressed. I wonder, with a shiver, if he will be attacked. But there are too many people near him, people more powerful than him. Tomorrow. Tomorrow I'll make him understand I tell the truth.</p>"); %><% print("<p>The top of the staircase is reserved for the authorities. They won't let me be near him.</p>"); %><% if (_.contains(s.fullHistory, '100-fathertakebuzzatidisk')) { %><% print("<p>I hope that the mechanical man can so something to keep him safe. </p>"); %><% }; %><% }; %> <% if (( _.contains(s.fullHistory, '0-mayorcondition') || _.contains(s.fullHistory, '0-askmayordirectwhatcondition') ) && !_.contains(s.fullHistory, '0-permitmayorvictory') && s.flagRemainingSupporters>0 && !_.contains(s.fullHistory, '10-Irene looks at Tavia passing the ring in the secret meeting')) { %><% print("<p>And midnight means that I have lost my chance to secure my permit to wear man's clothes tonight. I won't be able to speak to anyone. How could I let that go?</p>"); %><% }; %> <% s.bg = 'bg-midnight-active'; %><% s.narration['River pier'].push('10-midnightceremonycoming'); %><% s.preImg['River pier'] = 'img/opts/torch.jpg'; %><% s.narration['Fountain'].push('500-seaceremonyfountainbefore'); %><% s.narration['Garden Stairs'].push('500-seaceremonystairsbefore'); %><% s.narration['Blue Pavilion'].push('500-seaceremonygardenpavilion'); %><% s.narration['Ionic Treasury'].push('500-seaceremonygardentreasury'); %><% s.narration['Outside tables'].push('500-seaceremonygardentables'); %><% s.narration['Marble Gallery, East'].push('500-seaceremonyfromgallery'); %><% s.narration['Marble Gallery, West'].push('500-seaceremonyfromgallery'); %><% s.narration['Grand Entrance Hall'].push('500-seaceremonyground'); %><% s.narration['Portolan Gallery'].push('500-seaceremonyground'); %><% s.narration['Library'].push('500-seaceremonyground'); %><% s.narration['Dining Hall'].push('500-seaceremonyground'); %><% s.narration['Kitchen'].push('500-seaceremonybasement'); %><% s.narration['Pantry'].push('500-seaceremonybasement'); %><% s.narration['Laundry'].push('500-seaceremonybasement'); %><% s.narration['Main Hallway'].push('500-seaceremonytop'); %><% s.narration['Northern Hallway'].push('500-seaceremonytop'); %><% s.narration['Southern Hallway'].push('500-seaceremonytop'); %><% s.narration['Harmonic Room'].push('500-seaceremonytop'); %><% s.narration['Portrait Room'].push('500-seaceremonytop'); %><% s.narration['Map Cabinet'].push('500-seaceremonytop'); %><% s.narration['Nursery'].push('500-seaceremonytop'); %><% s.opport['River pier'] = _.without( s.opport['River pier'] , 'op Midnight Pier Watch' ); %><% if ( _.contains(s.opport['River pier'], 'op Midnight Coming Watch') == false ) { s.opport['River pier'].push('op Midnight Coming Watch'); }; %> <% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Fountain Put Hand' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Fountain Hand Again' ); %><% s.opport['Harmonic Room'] = _.without( s.opport['Harmonic Room'] , 'op Harmonic Try Piano' ); %> <% targetTurn = s.turn+1;targetEvent = 'ev Midnight Sequence 20';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['River pier'].push('10-midnightceremonycoming'); %><% s.preImg['River pier'] = 'img/opts/torch.jpg'; %><% s.narration['Garden Stairs'].push('500-seaceremonystairsbefore'); %><% s.narration['Blue Pavilion'].push('500-seaceremonygardenpavilion'); %><% s.narration['Ionic Treasury'].push('500-seaceremonygardentreasury'); %><% s.narration['Outside tables'].push('500-seaceremonygardentables'); %><% s.narration['Marble Gallery, East'].push('500-seaceremonyfromgallery'); %><% s.narration['Marble Gallery, West'].push('500-seaceremonyfromgallery'); %><% s.narration['Grand Entrance Hall'].push('500-seaceremonyground'); %><% s.narration['Portolan Gallery'].push('500-seaceremonyground'); %><% s.narration['Library'].push('500-seaceremonyground'); %><% s.narration['Dining Hall'].push('500-seaceremonyground'); %><% s.narration['Kitchen'].push('500-seaceremonybasement'); %><% s.narration['Pantry'].push('500-seaceremonybasement'); %><% s.narration['Laundry'].push('500-seaceremonybasement'); %><% s.narration['Main Hallway'].push('500-seaceremonytop'); %><% s.narration['Northern Hallway'].push('500-seaceremonytop'); %><% s.narration['Southern Hallway'].push('500-seaceremonytop'); %><% s.narration['Harmonic Room'].push('500-seaceremonytop'); %><% s.narration['Portrait Room'].push('500-seaceremonytop'); %><% s.narration['Map Cabinet'].push('500-seaceremonytop'); %><% s.narration['Nursery'].push('500-seaceremonytop'); %><% s.opport['River pier'] = _.without( s.opport['River pier'] , 'op Midnight Pier Watch' ); %><% if ( _.contains(s.opport['River pier'], 'op Midnight Coming Watch') == false ) { s.opport['River pier'].push('op Midnight Coming Watch'); }; %> <% targetTurn = s.turn+1;targetEvent = 'ev Midnight Sequence 20';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['River pier'] = _.without( s.narration['River pier'] , '10-midnightceremonycoming' ); %><% s.narration['River pier'].push('10-midnightceremonydock'); %><% s.preImg['River pier'] = 'img/opts/torch.jpg'; %> <% s.opport['River pier'] = _.without( s.opport['River pier'] , 'op Midnight Coming Watch' ); %><% if ( _.contains(s.opport['River pier'], 'op Midnight Dock Watch') == false ) { s.opport['River pier'].push('op Midnight Dock Watch'); }; %><% targetTurn = s.turn+1;targetEvent = 'ev Midnight Sequence 30';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['River pier'] = _.without( s.narration['River pier'] , '10-midnightceremonydock' ); %><% s.narration['River pier'].push('100-midnightpierleft'); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-seaceremonyfountainbefore' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-seaceremonyfountainbefore2' ); %><% s.narration['Fountain'].push('10-midnightceremonyfountain'); %> <% s.opport['River pier'] = _.without( s.opport['River pier'] , 'op Midnight Dock Watch' ); %><% if ( _.contains(s.opport['Fountain'], 'op Midnight Fountain Watch') == false ) { s.opport['Fountain'].push('op Midnight Fountain Watch'); }; %> <% targetTurn = s.turn+1;targetEvent = 'ev Midnight Sequence 40';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '10-midnightceremonyfountain' ); %><% s.narration['Fountain'].push('10-midnightfountainkeepwatching'); %><% s.preImg['Fountain'] = 'img/opts/candles.jpg'; %> <% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Midnight Fountain Watch' ); %><% if ( _.contains(s.opport['Fountain'], 'op Midnight Fountain Keep') == false ) { s.opport['Fountain'].push('op Midnight Fountain Keep'); }; %> <% targetTurn = s.turn+1;targetEvent = 'ev Midnight Sequence 50';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '10-midnightfountainkeepwatching' ); %><% s.narration['Fountain'].push('500-midnightfountainleft'); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-seaceremonystairsbefore' ); %><% s.narration['Garden Stairs'].push('10-midnighttowardsstairs'); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '5-midnightceremonylatefirstmasterdescription' ); %><% s.narration['Outside tables'].push('600-seaceremonytablesdark'); %> <% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Midnight Fountain Keep' ); %><% if ( _.contains(s.opport['Garden Stairs'], 'op Midnight Stairs Watch') == false ) { s.opport['Garden Stairs'].push('op Midnight Stairs Watch'); }; %><% targetTurn = s.turn+1;targetEvent = 'ev Midnight Sequence 60';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '10-midnighttowardsstairs' ); %><% s.narration['Garden Stairs'].push('10-midnightstairsreveal'); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '600-seaceremonytablesdark' ); %><% s.narration['Outside tables'].push('600-seaceremonytablesdark2'); %> <% s.opport['Garden Stairs'] = _.without( s.opport['Garden Stairs'] , 'op Midnight Stairs Watch' ); %><% if ( _.contains(s.opport['Garden Stairs'], 'op Midnight Stairs Reveal') == false ) { s.opport['Garden Stairs'].push('op Midnight Stairs Reveal'); }; %> <% targetTurn = s.turn+1;targetEvent = 'ev Midnight Sequence 70';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '10-midnightstairsreveal' ); %><% s.narration['Garden Stairs'].push('10-midnightblowcandles'); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '600-seaceremonytablesdark2' ); %> <% s.opport['Garden Stairs'] = _.without( s.opport['Garden Stairs'] , 'op Midnight Stairs Reveal' ); %><% if ( _.contains(s.opport['Garden Stairs'], 'op Midnight Stairs Blow') == false ) { s.opport['Garden Stairs'].push('op Midnight Stairs Blow'); }; %> <% targetTurn = s.turn+1;targetEvent = 'ev Midnight Sequence 80';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '10-midnightblowcandles' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-midnightfountainleft' ); %><% s.narration['River pier'] = _.without( s.narration['River pier'] , '100-midnightpierleft' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-seaceremonygardenpavilion' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '500-seaceremonyfarnoises' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '500-seaceremonygardentreasury' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '500-seaceremonyfarnoises' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-seaceremonygardentables' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '500-seaceremonygardentables2' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-seaceremonyfromgallery' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-seaceremonyfromgallery2' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-seaceremonyfromgallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-seaceremonyfromgallery2' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '5-midnightceremonylatefirstmasterdescription' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-seaceremonyground' ); %><% s.narration['Portolan Gallery'] = _.without( s.narration['Portolan Gallery'] , '500-seaceremonyground' ); %><% s.narration['Library'] = _.without( s.narration['Library'] , '500-seaceremonyground' ); %><% s.narration['Dining Hall'] = _.without( s.narration['Dining Hall'] , '500-seaceremonyground' ); %><% s.narration['Kitchen'] = _.without( s.narration['Kitchen'] , '500-seaceremonybasement' ); %><% s.narration['Pantry'] = _.without( s.narration['Pantry'] , '500-seaceremonybasement' ); %><% s.narration['Laundry'] = _.without( s.narration['Laundry'] , '500-seaceremonybasement' ); %><% s.narration['Main Hallway'] = _.without( s.narration['Main Hallway'] , '500-seaceremonytop' ); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '500-seaceremonytop' ); %><% s.narration['Southern Hallway'] = _.without( s.narration['Southern Hallway'] , '500-seaceremonytop' ); %><% s.narration['Harmonic Room'] = _.without( s.narration['Harmonic Room'] , '500-seaceremonytop' ); %><% s.narration['Portrait Room'] = _.without( s.narration['Portrait Room'] , '500-seaceremonytop' ); %><% s.narration['Map Cabinet'] = _.without( s.narration['Map Cabinet'] , '500-seaceremonytop' ); %><% s.narration['Nursery'] = _.without( s.narration['Nursery'] , '500-seaceremonytop' ); %><% s.narration['Garden Stairs'].push('10-midnightceremonybang'); %><% s.narration['Outside tables'].push('10-midnighttablesbang'); %><% s.narration['Fountain'].push('10-midnightfountainbang'); %><% s.narration['River pier'].push('10-midnightgardenbang'); %><% s.narration['Blue Pavilion'].push('10-midnightgardenbang'); %><% s.narration['Ionic Treasury'].push('10-midnightgardenbang'); %><% s.narration['first floor'].push('10-midnightinsidebang'); %><% s.narration['basement'].push('10-midnightinsidebang'); %><% s.narration['Grand Entrance Hall'].push('10-midnightinsidebang'); %><% s.narration['Library'].push('10-midnightinsidebang'); %><% s.narration['Portolan Gallery'].push('10-midnightinsidebang'); %><% s.narration['Dining Hall'].push('10-midnightinsidebang'); %><% s.narration['Marble Gallery, East'].push('10-midnightgallerybang'); %><% s.narration['Marble Gallery, West'].push('10-midnightgallerybang'); %><% s.opport['Garden Stairs'] = _.without( s.opport['Garden Stairs'] , 'op Midnight Stairs Blow' ); %> <% if (_.contains(s.fullHistory, '15-Proteo follows Father')) { %><% if (_.contains( _.keys(s.interrupt),'Garden Stairs' )) { s.interrupt['Garden Stairs'].push('interrupt-Irene sees Proteo running for the killer'); } else { s.interrupt['Garden Stairs'] = ['interrupt-Irene sees Proteo running for the killer']; }; %><% if (_.contains( _.keys(s.interrupt),'Fountain' )) { s.interrupt['Fountain'].push('interrupt-Irene sees Proteo running for the killer'); } else { s.interrupt['Fountain'] = ['interrupt-Irene sees Proteo running for the killer']; }; %><% if (_.contains( _.keys(s.interrupt),'Outside tables' )) { s.interrupt['Outside tables'].push('interrupt-Irene sees Proteo running for the killer'); } else { s.interrupt['Outside tables'] = ['interrupt-Irene sees Proteo running for the killer']; }; %><% } else { %><% if (_.contains( _.keys(s.interrupt),'Garden Stairs' )) { s.interrupt['Garden Stairs'].push('interrupt-midnightceremonybang'); } else { s.interrupt['Garden Stairs'] = ['interrupt-midnightceremonybang']; }; %><% if (_.contains( _.keys(s.interrupt),'Marble Gallery, East' )) { s.interrupt['Marble Gallery, East'].push('interrupt-midnightceremonybanginside'); } else { s.interrupt['Marble Gallery, East'] = ['interrupt-midnightceremonybanginside']; }; %><% if (_.contains( _.keys(s.interrupt),'Marble Gallery, West' )) { s.interrupt['Marble Gallery, West'].push('interrupt-midnightceremonybanginside'); } else { s.interrupt['Marble Gallery, West'] = ['interrupt-midnightceremonybanginside']; }; %><% }; %> <% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Midnight Murder Request';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = s.turn+1;targetEvent = 'ev Midnight Sequence 90';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '10-midnightceremonybang' ); %><% s.narration['Outside tables'] = _.without( s.narration['Outside tables'] , '10-midnighttablesbang' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '10-midnightfountainbang' ); %><% s.narration['River pier'] = _.without( s.narration['River pier'] , '10-midnightgardenbang' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '10-midnightgardenbang' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '10-midnightgardenbang' ); %><% s.narration['first floor'] = _.without( s.narration['first floor'] , '10-midnightinsidebang' ); %><% s.narration['basement'] = _.without( s.narration['basement'] , '10-midnightinsidebang' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '10-midnightinsidebang' ); %><% s.narration['Library'] = _.without( s.narration['Library'] , '10-midnightinsidebang' ); %><% s.narration['Portolan Gallery'] = _.without( s.narration['Portolan Gallery'] , '10-midnightinsidebang' ); %><% s.narration['Dining Hall'] = _.without( s.narration['Dining Hall'] , '10-midnightinsidebang' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '10-midnightgallerybang' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '10-midnightgallerybang' ); %><% s.narration['Garden Stairs'].push('10-midnightceremonybangafter'); %><% s.narration['Outside tables'].push('10-midnighttablesbang2'); %><% s.narration['Fountain'].push('10-midnightfountainbang2'); %><% s.narration['River pier'].push('10-midnightgardenbang2'); %><% s.narration['Blue Pavilion'].push('10-midnightgardenbang2'); %><% s.narration['Ionic Treasury'].push('10-midnightgardenbang2'); %><% s.narration['Main Hallway'].push('10-midnighttopbang2'); %><% s.narration['Northern Hallway'].push('10-midnighttopbang2'); %><% s.narration['Southern Hallway'].push('10-midnighttopbang2'); %><% s.narration['Harmonic Room'].push('10-midnighttopbang2'); %><% s.narration['Portrait Room'].push('10-midnighttopbang2'); %><% s.narration['Map Cabinet'].push('10-midnighttopbang2'); %><% s.narration['Nursery'].push('10-midnighttopbang2'); %><% s.narration['Grand Entrance Hall'].push('10-midnightgroundbang2'); %><% s.narration['Library'].push('10-midnightgroundbang2'); %><% s.narration['Portolan Gallery'].push('10-midnightgroundbang2'); %><% s.narration['Dining Hall'].push('10-midnightgroundbang2'); %><% s.narration['Grand Entrance Hall'].push('10-midnightgroundbang2'); %><% s.narration['basement'].push('10-midnightbasementbang2'); %><% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-midnightmurderrequest'); } else { s.interrupt['myself'] = ['interrupt-midnightmurderrequest']; }; %><span class='high-emphasis'>I see the garden</span> through the windows: an amazing festival of lights and expectant people. Everyone is here to watch the sea ceremony! On top of the staircase, Father waits with the rest of the notables for their turn. The parade must go from the river to the staircase. It's difficult to see details so I don't know where the parade is. <% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-seaceremonyfromgallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-seaceremonyfromgallery' ); %><% s.narration['Marble Gallery, West'].push('500-seaceremonyfromgallery2'); %><% s.narration['Marble Gallery, East'].push('500-seaceremonyfromgallery2'); %><%= _.sample( [ "<span class='high-emphasis'>Through the windows,</span> the wonderful festival of torches and ceremonies continues. I'm still unclear about how much it has advanced.", "<span class='high-emphasis'>The ceremony:</span> torches, cheers, singing, dancing, marching. Here, inside the Palace, I get only a glimpse of all that, something like a half-remembered scent that makes my heart long for happy times.", ]) %> <% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-seaceremonyfromgallery2' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-seaceremonyfromgallery2' ); %><% s.narration['Marble Gallery, West'].push('500-seaceremonyfromgallery2'); %><% s.narration['Marble Gallery, East'].push('500-seaceremonyfromgallery2'); %><span class='high-emphasis'>This part of the garden</span> is almost deserted now. Everyone is near the path from the pier to the staircase. <% s.narration['Blue Pavilion'].push('500-seaceremonyfarnoises'); %><span class='high-emphasis'>Everyone</span> is watching the ceremony, between the pier and the staircase. The Treasury stands deserted. <% s.narration['Blue Pavilion'].push('500-seaceremonyfarnoises'); %><%= _.sample( [ "<span class='high-emphasis'>I see no person here,</span> and I hear only the distant rumour of the people who watch the ceremony. But they are mostly respectful and silent, so I hear almost nothing.", "<span class='high-emphasis'>It's very quiet</span> and lonely here, while everyone is attending the ceremony.", ]) %> <% s.narration['Blue Pavilion'].push('500-seaceremonyfarnoises'); %><span class='high-emphasis'>Everyone</span> is watching the ceremony, between the pier and the staircase. There are only a few drunkards, too drunk to stand up. The people have gathered along the path that goes from the river pier to the staircase leading into the Marble Gallery. <% s.narration['Outside tables'].push('500-seaceremonygardentables2'); %><%= _.sample( [ "<span class='high-emphasis'>The tables</span> are deserted, except for a few men slumbering on them. From here, I only see the backs and napes of the crowd.", "<span class='high-emphasis'>There is almost nobody here.</span> Everyone is watching the ceremony.", ]) %> <% s.narration['Outside tables'].push('500-seaceremonygardentables2'); %><span class='high-emphasis'>I notice a light going out</span> near me. A servant is covering a torchlight with a metal lid. After a few moments, he lifts it, having put the light out. He goes on to another torch. 'Why are you doing that?' I ask. 'I was told to.'<% if (_.contains(s.fullHistory, '600-seaceremonytablesdark')) { %><% print("<p>The servant finishes, and suddenly the tables are in complete darkness. It's odd that they are doing this.</p>"); %><% } else { %><% print("<p>I notice that a servant is putting out the lights in this part of the garden, covering each torchlight with a metal lid until the fire extinguishes. He finishes: suddenly the tables are in complete darkness. It's odd.</p>"); %><% }; %> There's some agitation on top of the staircase, where the authorities are. Some heads move; or perhaps not. It's hard to tell. No one there should move now. It's one of the most solemn moments of the year.<span class='high-emphasis'>There's a lot of people here,</span> filling the air with soft laughs and nervous comments, waiting for the Burburum parade to come from the pier. The path is lined with torches and all the Burburum are waiting on its sides. <% s.narration['Fountain'].push('500-seaceremonyfountainbefore2'); %><span class='high-emphasis'>The people here</span> are still waiting for the Burburum parade, looking nervously towards the river. <% s.narration['Fountain'].push('500-seaceremonyfountainbefore2'); %><span class='high-emphasis'>There are dozens of people</span> gathered on the staircase. I can plow my way through them, but there are too many to see what's happenning elsewhere, or where the Burburum parade is. <% s.narration['Garden Stairs'].push('500-seaceremonystairsbefore'); %><%= _.sample( [ "<span class='high-emphasis'>Since the bell</span> warned of the beginning of the ceremony, the palace seems almost empty. I find only the servants who must stay and the exhausted who can't leave. I hear only a distant rumour coming from the garden.", "<span class='high-emphasis'>I'd swear</span> I can almost hear the echo of my footsteps. That's how empty the palace is now, with almost everyone outside, watching the ceremony.", "<span class='high-emphasis'>Guests have left the Palace</span> to watch the ceremony outside, and the air itself is changed: drier, cooler, easier to inhale. I can extend my arms and not touch anybody. ", ]) %> <% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-seaceremonyground' ); %><% s.narration['Portolan Gallery'] = _.without( s.narration['Portolan Gallery'] , '500-seaceremonyground' ); %><% s.narration['Library'] = _.without( s.narration['Library'] , '500-seaceremonyground' ); %><% s.narration['Dining Hall'] = _.without( s.narration['Dining Hall'] , '500-seaceremonyground' ); %><% s.narration['Grand Entrance Hall'].push('500-seaceremonyground'); %><% s.narration['Portolan Gallery'].push('500-seaceremonyground'); %><% s.narration['Library'].push('500-seaceremonyground'); %><% s.narration['Dining Hall'].push('500-seaceremonyground'); %><%= _.sample( [ "<span class='high-emphasis'>The sea ceremony</span> is the culmination of the night's festivities and everyone is gone to watch it.", "<span class='high-emphasis'>Most cooks and servants</span> have left the kitchen and must be watching the ceremony outside. Now I'm almost the only person wandering here. ", ]) %> <% s.narration['Kitchen'] = _.without( s.narration['Kitchen'] , '500-seaceremonybasement' ); %><% s.narration['Pantry'] = _.without( s.narration['Pantry'] , '500-seaceremonybasement' ); %><% s.narration['Laundry'] = _.without( s.narration['Laundry'] , '500-seaceremonybasement' ); %><% s.narration['Kitchen'].push('500-seaceremonybasement'); %><% s.narration['Pantry'].push('500-seaceremonybasement'); %><% s.narration['Laundry'].push('500-seaceremonybasement'); %><%= _.sample( [ "<span class='high-emphasis'>Here in the top floor</span> I hear nothing from outside. The palace is deserted, except for a few servants, and the ceremony has started in the garden.", "<span class='high-emphasis'>The top floor</span> is silent.", "<span class='high-emphasis'>In this quiet</span> room, while everybody is at the ceremony, I notice the moonlight entering through a window.", ]) %> <% s.narration['Main Hallway'] = _.without( s.narration['Main Hallway'] , '500-seaceremonytop' ); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '500-seaceremonytop' ); %><% s.narration['Southern Hallway'] = _.without( s.narration['Southern Hallway'] , '500-seaceremonytop' ); %><% s.narration['Harmonic Room'] = _.without( s.narration['Harmonic Room'] , '500-seaceremonytop' ); %><% s.narration['Portrait Room'] = _.without( s.narration['Portrait Room'] , '500-seaceremonytop' ); %><% s.narration['Map Cabinet'] = _.without( s.narration['Map Cabinet'] , '500-seaceremonytop' ); %><% s.narration['Nursery'] = _.without( s.narration['Nursery'] , '500-seaceremonytop' ); %><% s.narration['Main Hallway'].push('500-seaceremonytop'); %><% s.narration['Northern Hallway'].push('500-seaceremonytop'); %><% s.narration['Southern Hallway'].push('500-seaceremonytop'); %><% s.narration['Harmonic Room'].push('500-seaceremonytop'); %><% s.narration['Portrait Room'].push('500-seaceremonytop'); %><% s.narration['Map Cabinet'].push('500-seaceremonytop'); %><% s.narration['Nursery'].push('500-seaceremonytop'); %><span class='high-emphasis'>I see</span> people I know but I prefer not to join any of them... all but Father, who must wait with the authorities. I hope he is fine. There's plenty of space on the slopes of the river bank to watch the beginning, and a line of torches from the pier to the fountain. All classes mingle there. The search for distraction is universal. Spectators are hardly visible, all colours lost to the hour. Burburum hour. So dark, they sound louder. The air vibrates with their excitement. Theirs is the vibration of the land. Like the dance. 'They come dancing through the sea!' cries the voice of the watcher. And so it begins. I must stay here and watch. <% s.eventIgnore.push('ev Midnight Sequence 10'); %><% targetTurn = s.turn+1;targetEvent = 'ev Midnight Sequence 10 alt';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><span class='high-emphasis'>Swirling lights</span> glide across the river towards us. Spiky, amorphous figures gather near the pier and the path leading to the fountain. The Burburum are waiting for their Master. 'What is that, mother? Those lights?' 'It's the black boat of the master. The lights are the fire fishes. The sailors are the sea slaves.' The boat approaches the pier with the four black-clad Sea Slaves making circles with their torches. Black sky, black river, black land, and the black sheet that covers an object on the boat. Children cry and jump: they want to go near the dancing fires. <% if (_.contains(s.fullHistory, '10-Irene looks at Tavia passing the ring in the secret meeting')) { %><% s.narration['myself'].push('500-Irene thinks about conspiracy during ceremony'); %><% }; %><span class='high-emphasis'>'The Master of the Sea</span> doesn't need your permission to disembark here!' cries a Slave. Burburum have come to welcome the Master. The four slaves take the ropes tied to the black sheet and drag it forward. Hidden underneath, the object moves forward too. They jump to the pier and start walking towards the palace. The shape under the dark sheet is impossible to see. A moment it seems to crawl, the next it stands tall and extends what could be arms or horns. 'Where is the master, mother? Where does she go?' 'She's wearing the black sea like a cape and she wants to eat Saint Filiv.' 'And the Burburum won't stop her?' 'Not at all! They are her servants!' The Burburum procession is near the fountain now, followed by the delighted public. There is a spark in these people. I can see it flickering, walking with the Master, fluttering between the Burburum. And each time the spark touches one of them, their feet tremble like they are starting to dance. <% s.flagMidnightSeenMaster = true; %> <% s.log.push("I saw the Master of the Sea."); %><span class='high-emphasis'>The Burburum parade is gone,</span> and the river bank is almost deserted now. <% if (_.contains(s.fullHistory, '100-midnightpierleft')) { %><% } else { %><% print("<p>Some shadows move in the dark, probably young people. I feel envious, though I'm not sure why.</p>"); %><% }; %><% if (s.flagMidnightSeenMaster == false) { %><% s.flagMidnightSeenMaster = true; %> <% s.log.push("I saw the Master of the Sea."); %><% print("<p><span class='high-emphasis'>I finally see</span> the protagonists of the night.</p>"); %><% print("<p>The four black-clad Sea Slaves, with a torch in one hand and the end of a rope in the other. They drag a large black sheet. Hidden underneath, something that moves. </p>"); %><% print("<p>The Master. She's wearing the black sea like a cape and she's going with her Burburum servants to eat Saint Filiv.</p>"); %><% print("<p>They are walking from the pier on the Castain to the palace stairs, where the authorities wait.</p>"); %><% }; %><% print( story.render( "5-midnightceremonylatefirstmasterdescription") ); %> <span class='high-emphasis'>I run to take a place near the fountain.</span> The slaves walk slowly, dragging the black sheet, while the Master shakes under it, making waves and ripples, unseen at all times. The Burburum: masks, bone, rags, teeth, horns, set alight by the reddish light of their torches. They join the procession as it passes. 'Mother, where is Saint Filiv?' 'He's there on top of the stairs, don't you see him?' 'I see nothing but the candles!' The parade slowly approaches the fountain.<span class='high-emphasis'>I look at the stairs.</span> Father is there, among the other authorities, but it's hard to tell one from another, surrounded with candles, all the candles we brought, all the candles we gave to the Flame Burbur at the door. <% if (_.contains(s.fullHistory, '0-talkiliopoulos')) { %><% print("<p>I see one man scribbling fast on a notebook. It's Iliopoulos. *'Ta chromata, ta chromata,'* he repeats. </p>"); %><% }; %> The watchers cry warnings. 'Beware the Master of the Sea!', or 'Saint Filiv have mercy on us!', or 'The Burburum are waging war on us!', or 'The sea is rising!' Some Burbur responds with a deep inarticulate bellow, and the Master stands up and extends her arms in threat. But she remains unseen at all times, under the sheet. I have to come closer to the stairs now.<span class='high-emphasis'>The Burburum parade</span> has arrived to the staircase and the ceremony continues there, but I can't see or hear anything. There's too many people in between.<span class='high-emphasis'>I make my way</span> towards the stairs. <% print( story.render( "5-midnightceremonylatefirstmasterdescription") ); %> <% if (_.contains(s.fullHistory, '100-fathertakebuzzatidisk')) { %><% print("<p>From here I can see Father clearly, and I notice, with great relief, that Proteo is standing near him. In the central place, I see Bishop Martiale, who's holding Saint Filiv's cane.</p>"); %><% } else { %><% print("<p>From here I can see Father clearly. In the central place, I see Bishop Martiale, holding Saint Filiv's cane.</p>"); %><% }; %> The black sheet has come almost to the foot of the stairs and, under it, the Master is dancing furiously. And now people start crying 'Saint Filiv, Saint Filiv!', feigning terror, while the Burburum roar. 'Dance, dance, dance!' the Burburum scream. Some start dancing, the only dance without music, the fire fish dance.<span class='high-emphasis'>The master's dagger!</span> Its point cuts the black sheet. Burburum come near with their candles. She rips the cloth, jumps and pierces the air with her scream and she's emerged from the sea. Her disguise has everything I could imagine. Gills, fins, antennae, horns, dangling globes that shine faintly, every colour in the world. Her mascot looks like a cat but I can't be sure. And the bishop says, 'In the name of Christ, I, Filiv, banish you and your demons from this land!' The master roars in defiance. 'My kin won't be expelled from their land,' she says, and resumes her dance. 'People of sulphur!', the bishop says. Sometimes I wish that the master could win. He starts chanting, 'Pater noster qui es in caelo...' Once in a while, he intersperses a dry shout: 'Submit!'<span class='high-emphasis'>Burburum</span> start blowing the candles. She still dances and answers Saint Filiv's prayers with inarticulate screams, but each is fainter than the previous. The final candle goes out. 'Pray!' The master stands, tall and magnificent. And the bishop takes a torch, descends the staircase and gives it to her. 'Our Father who art in heaven,' she says. 'Return to the sea,' the bishop says. Under the light of the torch, the master is beautiful. I wish I could see those colours in daylight, the turquoise arms, the emerald face, the crimson hand. She starts walking towards the pier again, followed by the slaves and watched by immobile Burburum.<div id='opMidnightPierWatch' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Stay and watch</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightPierWatch').click(function () { $('#opMidnightPierWatch').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightPierWatch'); s.fullHistory.push('op Midnight Pier Watch');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Pier Watch';});}); %> <% function gotDelay() {story.show('River pier');};setTimeout(gotDelay,110);}); }); %><div id='opMidnightComingWatch' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Stay and watch</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightComingWatch').click(function () { $('#opMidnightComingWatch').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightComingWatch'); s.fullHistory.push('op Midnight Coming Watch');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Coming Watch';});}); %> <% function gotDelay() {story.show('River pier');};setTimeout(gotDelay,110);}); }); %><div id='opMidnightDockWatch' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Follow the parade to the fountain</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightDockWatch').click(function () { $('#opMidnightDockWatch').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightDockWatch'); s.fullHistory.push('op Midnight Dock Watch');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Dock Watch';});}); %> <% function gotDelay() {story.show('Fountain');};setTimeout(gotDelay,110);}); }); %><div id='opMidnightFountainWatch' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Stay and watch</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightFountainWatch').click(function () { $('#opMidnightFountainWatch').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightFountainWatch'); s.fullHistory.push('op Midnight Fountain Watch');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Fountain Watch';});}); %> <% function gotDelay() {story.show('Fountain');};setTimeout(gotDelay,110);}); }); %><div id='opMidnightFountainKeep' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Follow the parade to the staircase</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightFountainKeep').click(function () { $('#opMidnightFountainKeep').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightFountainKeep'); s.fullHistory.push('op Midnight Fountain Keep');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Fountain Keep';});}); %> <% function gotDelay() {story.show('Garden Stairs');};setTimeout(gotDelay,110);}); }); %><div id='opMidnightStairsWatch' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Stay and watch</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightStairsWatch').click(function () { $('#opMidnightStairsWatch').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightStairsWatch'); s.fullHistory.push('op Midnight Stairs Watch');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Stairs Watch';});}); %> <% function gotDelay() {story.show('Garden Stairs');};setTimeout(gotDelay,110);}); }); %><div id='opMidnightStairsReveal' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Stay and watch</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightStairsReveal').click(function () { $('#opMidnightStairsReveal').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightStairsReveal'); s.fullHistory.push('op Midnight Stairs Reveal');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Stairs Reveal';});}); %> <% function gotDelay() {story.show('Garden Stairs');};setTimeout(gotDelay,110);}); }); %><div id='opMidnightStairsBlow' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Stay and watch</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightStairsBlow').click(function () { $('#opMidnightStairsBlow').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightStairsBlow'); s.fullHistory.push('op Midnight Stairs Blow');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Stairs Blow';});}); %> <% function gotDelay() {story.show('Garden Stairs');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>People around me burst,</span> shouting hallelujahs. I watch closely the master as she... *BANG*. The noise rips through the songs and cheers, through the faint light of the torches, through the murmurs of the night. Screams start shortly after. Are we under attack? I see no soldiers, no army, no guns, only the people of Aurora, looking in all directions as confused as myself. 'Victor!' I hear someone cry, somebody else repeats it. 'Victor!' cries rise like a tide. 'Victor!', I hear, and I finally understand and look towards Father. On top of the stairs it's all too dark and messy.<span class='high-emphasis'>People near the stairs</span> start shouting hallelujahs, and then... *BANG*. The noise rips through my ears. It sounded very, very close. Screams start shortly after. Are we under attack? I see no soldiers, no army, no guns, only the people of Aurora, looking in all directions as confused as myself. 'Victor!' I hear someone cry, somebody else repeats it. 'Victor!' cries rise like a tide. 'Victor!', I hear, and I finally understand and look towards Father. On top of the stairs it's all too dark and messy.<span class='high-emphasis'>People near the stairs</span> start shouting hallelujahs, and then... *BANG*. Screams start shortly after. Are we under attack? I see no soldiers, no army, no guns, only the people of Aurora, looking in all directions as confused as myself. 'Victor!' I hear someone cry, somebody else repeats it. 'Victor!' cries rise like a tide. 'Victor!', I hear, and I finally understand and look towards Father. On top of the stairs it's all too dark and messy.<span class='high-emphasis'>I'm far from the ceremony</span> and I hear only faint noises. People have started singing. And then something louder rips through the song. ... A shot? ... And then the screams start. I can't understand the words, but I understand the panic.<span class='high-emphasis'>People near the staircase</span> are running and crying without purpose or direction.<%= _.sample( [ "<span class='high-emphasis'>People in a panic</span> come running away from the staircase.", "<span class='high-emphasis'>The table area is very dark,</span> with no light from torches. Running people skim me without noticing.", ]) %> <% s.narration['Outside tables'].push('10-midnighttablesbang2'); %><%= _.sample( [ "<span class='high-emphasis'>There's screaming</span> everywhere around me. ", "<span class='high-emphasis'>Panic is spreading</span> from the staircase. Fleeing people pass me by but no one looks at me or recognizes me.", ]) %> <% s.narration['Fountain'].push('10-midnightfountainbang2'); %><%= _.sample( [ "<span class='high-emphasis'>A few come running</span> from the palace, fleeing from something. They look distressed. A lot of noise comes from the center of the garden and the Palace.", "<span class='high-emphasis'>I'm too far</span> to see or hear what's happening near the staircase, but there are faint, indistinct cries.", ]) %> <% s.narration['River pier'] = _.without( s.narration['River pier'] , '10-midnightgardenbang2' ); %><% s.narration['Blue Pavilion'] = _.without( s.narration['Blue Pavilion'] , '10-midnightgardenbang2' ); %><% s.narration['Ionic Treasury'] = _.without( s.narration['Ionic Treasury'] , '10-midnightgardenbang2' ); %><% s.narration['River pier'].push('10-midnightgardenbang2'); %><% s.narration['Blue Pavilion'].push('10-midnightgardenbang2'); %><% s.narration['Ionic Treasury'].push('10-midnightgardenbang2'); %><span class='high-emphasis'>A noise resonates in the empty halls.</span> What was it? It sounded far, but it must have been very loud wherever it came from. Perhaps it was a gunshot? With a sudden anxiety, I stand still and listen with all my attention... ... and I think the far noises from the garden sound a bit different now.<span class='high-emphasis'>People near the stairs</span> start shouting hallelujahs, and then... *BANG*. What was that noise outside? I couldn't hear it very well. Screams start shortly after. I can hardly see anything through the windows, but there is a great deal of movement, a mess. People run: some, into the Gallery. 'Murder!' they cry. 'Victor!' they cry. 'Victor!', I hear, and I finally understand.<%= _.sample( [ "<span class='high-emphasis'>A confusing roar:</span> noises and cries, impossible to understand, come from outside.", "<span class='high-emphasis'>I'm too far</span> to hear what's happening in the garden, but there are faint, indistinct cries.", ]) %> <% s.narration['Main Hallway'] = _.without( s.narration['Main Hallway'] , '10-midnighttopbang2' ); %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '10-midnighttopbang2' ); %><% s.narration['Southern Hallway'] = _.without( s.narration['Southern Hallway'] , '10-midnighttopbang2' ); %><% s.narration['Harmonic Room'] = _.without( s.narration['Harmonic Room'] , '10-midnighttopbang2' ); %><% s.narration['Portrait Room'] = _.without( s.narration['Portrait Room'] , '10-midnighttopbang2' ); %><% s.narration['Map Cabinet'] = _.without( s.narration['Map Cabinet'] , '10-midnighttopbang2' ); %><% s.narration['Nursery'] = _.without( s.narration['Nursery'] , '10-midnighttopbang2' ); %><% s.narration['Main Hallway'].push('10-midnighttopbang2'); %><% s.narration['Northern Hallway'].push('10-midnighttopbang2'); %><% s.narration['Southern Hallway'].push('10-midnighttopbang2'); %><% s.narration['Harmonic Room'].push('10-midnighttopbang2'); %><% s.narration['Portrait Room'].push('10-midnighttopbang2'); %><% s.narration['Map Cabinet'].push('10-midnighttopbang2'); %><% s.narration['Nursery'].push('10-midnighttopbang2'); %><%= _.sample( [ "<span class='high-emphasis'>People</span> come running away from the gallery. They look very distressed, and they ignore me. A confusing roar comes behind them.", "<span class='high-emphasis'>Whatever has happened</span> outside, it must have caused a panic.", "<span class='high-emphasis'>I hear lots of screams</span> and running from outside, but the sounds reach me as a solid, uniform mass.", ]) %> <% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '10-midnightgroundbang2' ); %><% s.narration['Library'] = _.without( s.narration['Library'] , '10-midnightgroundbang2' ); %><% s.narration['Portolan Gallery'] = _.without( s.narration['Portolan Gallery'] , '10-midnightgroundbang2' ); %><% s.narration['Dining Hall'] = _.without( s.narration['Dining Hall'] , '10-midnightgroundbang2' ); %><% s.narration['Grand Entrance Hall'].push('10-midnightgroundbang2'); %><% s.narration['Library'].push('10-midnightgroundbang2'); %><% s.narration['Portolan Gallery'].push('10-midnightgroundbang2'); %><% s.narration['Dining Hall'].push('10-midnightgroundbang2'); %><%= _.sample( [ "<span class='high-emphasis'>People</span> come running away from the gallery. They look very distressed, and they ignore me. A confusing roar comes behind them.", "<span class='high-emphasis'>Whatever has happened</span> outside, it must have caused a panic.", "<span class='high-emphasis'>I hear lots of screams</span> and running from outside, but the sounds reach me as a solid, uniform mass.", ]) %> <% s.narration['basement'] = _.without( s.narration['basement'] , '10-midnightbasementbang2' ); %><% s.narration['basement'].push('10-midnightbasementbang2'); %><span class='high-emphasis'>The staircase was the center of the ceremony,</span> and now it's the center of the chaos.<% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Republicans Murderers') == false ) { s.opport['Pseudopassage'].push('op Midnight Republicans Murderers'); }; %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '5-midnightceremonylatefirstmasterdescription' ); %><% s.narration['Pseudopassage'].push('500-midnightmurderrequest'); %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>'Lady Victor?'</span> I turn towards the voice: a servant, trying to recover his breath. 'You must go to the Marble Gallery quick,' he says. 'The Premier sent me for you. It's your father, Lady Victor. Go there at once!' Father? <% if (s.region[s.returnRef] == "garden") { %><% print("<p>I run to the staircase, directly into the crowd.</p>"); %><% } else { %><% print("<p>I run through the deserted palace, looking for the Gallery.</p>"); %><% }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Republicans Murderers') == false ) { s.opport['Pseudopassage'].push('op Midnight Republicans Murderers'); }; %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '5-midnightceremonylatefirstmasterdescription' ); %><% s.eventIgnore.push('ev Midnight Murder Request'); %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Republicans Murderers') == false ) { s.opport['Pseudopassage'].push('op Midnight Republicans Murderers'); }; %><% s.eventIgnore.push('ev Midnight Murder Request'); %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opMidnightRepublicansMurderers' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Run to Father</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightRepublicansMurderers').click(function () { $('#opMidnightRepublicansMurderers').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightRepublicansMurderers'); s.fullHistory.push('op Midnight Republicans Murderers');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Republicans Murderers';});}); %> <% s.narration['Pseudopassage'].push('10-midnightrepublicansmurderers'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Catch Republican Murderer') == false ) { s.opport['Pseudopassage'].push('op Midnight Catch Republican Murderer'); }; %><% s.returnRef = 'Garden Stairs'; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Republicans have murdered Lord Victor!'</span> I try to make my way to the gallery. It's as if everyone is walking in the opposite direction. A new wave of cries rises, cries that now sound angry and defiant. Two words get repeated again and again. 'Murderers!' 'Republicans!'<div id='opMidnightCatchRepublicanMurderer' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Push my way to Father</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightCatchRepublicanMurderer').click(function () { $('#opMidnightCatchRepublicanMurderer').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightCatchRepublicanMurderer'); s.fullHistory.push('op Midnight Catch Republican Murderer');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Catch Republican Murderer';});}); %> <% s.narration['Pseudopassage'].push('10-midnightcatchrepublicanmurderer'); %><% if (_.contains(s.fullHistory, '5-tell iuvens about conspiracy') || _.contains(s.fullHistory, '0-hailingthekingdebate') || _.contains(s.fullHistory, '0-iuvensandropolask') || _.contains(s.fullHistory, '10-iuvenstellrumour') || _.contains(s.fullHistory, '10-Two burburum fight and Iuvens comments')) { %><% s.narration['Pseudopassage'].push('10-midnightcesarelarrest'); %><% s.preImg['Pseudopassage'] = 'img/opts/scream.jpg'; %><% }; %> <% if (_.contains(s.fullHistory, '10-midnightgallerybang')) { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Gallery Father') == false ) { s.opport['Pseudopassage'].push('op Midnight Gallery Father'); }; %><% } else { %><% if (_.contains(s.fullHistory, '10-midnightinsidebang')) { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Gallery Father') == false ) { s.opport['Pseudopassage'].push('op Midnight Gallery Father'); }; %><% } else { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Stairs Father') == false ) { s.opport['Pseudopassage'].push('op Midnight Stairs Father'); }; %><% }; %><% }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>People are shouting</span> in anger now. Catch the republican murderer. Jail all the republicans. Oh Father, what have they done to you? Where are my sisters?Cesarel comes running and holds my hand, his face contorted with fear. 'Irene, you know we didn't do this! There's no one we trusted more than your father!' Another man pulls him away from me. 'You murderers!' they cry. Nobody notices my shout as they prey upon Cesarel, punching and kicking him. Soldiers come and free Cesarel from his attackers, only to point their guns at him. 'You are under arrest!' Cesarel, bloodied and hurt, manages to erase fear from his face. 'On whose orders?' he asks. 'The Premier,' a soldier answers. Cesarel nods and leaves with them. People shout insults and spit at him.<div id='opMidnightStairsFather' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>To the top of the stairs</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightStairsFather').click(function () { $('#opMidnightStairsFather').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightStairsFather'); s.fullHistory.push('op Midnight Stairs Father');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Stairs Father';});}); %> <% s.narration['Pseudopassage'].push('10-midnightfathernotinstairs'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Father Gallery') == false ) { s.opport['Pseudopassage'].push('op Midnight Father Gallery'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I don't see Father</span> at the top of the stairs. They must have taken him inside. Is he going to give his soul to our Lord like this?<div id='opMidnightFatherGallery' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>To the top of the stairs</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightFatherGallery').click(function () { $('#opMidnightFatherGallery').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightFatherGallery'); s.fullHistory.push('op Midnight Father Gallery');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Father Gallery';});}); %> <% s.narration['Pseudopassage'].push('10-midnightfatheringallery'); %><% s.narration['Pseudopassage'].push('50-midnightfatheringallerycont'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Gibberish Ask') == false ) { s.opport['Pseudopassage'].push('op Midnight Gibberish Ask'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><div id='opMidnightGalleryFather' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Out to the stairs</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightGalleryFather').click(function () { $('#opMidnightGalleryFather').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightGalleryFather'); s.fullHistory.push('op Midnight Gallery Father');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Gallery Father';});}); %> <% s.narration['Pseudopassage'].push('10-midnightfatheringalleryinside'); %><% s.narration['Pseudopassage'].push('50-midnightfatheringallerycont'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Gibberish Ask') == false ) { s.opport['Pseudopassage'].push('op Midnight Gibberish Ask'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Inside,</span> I frantically look left and right, left and right and there's nobody... Yes. In the East end of the gallery, men and women and soldiers and the bishop. I run.<span class='high-emphasis'>And then I see him.</span> Soldiers are carrying Father inside.'How is my father,' I shout. I realize my face is wet. How long can someone cry without noticing? 'How is my father!' I scream again, almost a howl. Severin comes. 'Lord Victor has gone ahead of us on his way to meet our noble predecessors, the ones who made our Canton great, like him.'<div id='opMidnightGibberishAsk' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>What's this gibberish?</div><div class='opdesc'>Does this mean anything at all?</div></div></div><% $(function () { $('#opMidnightGibberishAsk').click(function () { $('#opMidnightGibberishAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightGibberishAsk'); s.fullHistory.push('op Midnight Gibberish Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Gibberish Ask';});}); %> <% s.narration['Pseudopassage'].push('0-midnightgibberishask'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Dead Look') == false ) { s.opport['Pseudopassage'].push('op Midnight Dead Look'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Dead Sit') == false ) { s.opport['Pseudopassage'].push('op Midnight Dead Sit'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Dead Leave') == false ) { s.opport['Pseudopassage'].push('op Midnight Dead Leave'); }; %><% s.log.push("I saw my Father, murdered."); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Is he dead or alive?'</span> I cry. He frowns. 'He died a moment ago,' he says. 'The doctor said nothing could have been done. Do you want to sit down?' No, *I want to be at your height,* I don't want to be treated like a delicate woman. 'I will tell you what I will do,' he says, leaning forward and lowering his voice. 'I will crush the murderers and their supporters.' He brusquely moves back, turns to the people who are around, oh Lord my dead father and he screams, 'Everyone who is stained with a single drop of blood of this man will have his blood spilled by buckets! The king will have no mercy for the conspirators!' And now I do want to sit down, to collapse.<div id='opMidnightDeadLook' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Look at Father</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightDeadLook').click(function () { $('#opMidnightDeadLook').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightDeadLook'); s.fullHistory.push('op Midnight Dead Look');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Dead Look';});}); %> <% s.narration['Pseudopassage'].push('0-midnightdeadlook'); %><% s.narration['Pseudopassage'].push('10-midnighthearshots'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Midnight Dead Sit' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Midnight Dead Leave' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Dead Time') == false ) { s.opport['Pseudopassage'].push('op Midnight Dead Time'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I tell myself</span> to look at Father. I don't obey.<div id='opMidnightDeadSit' class='oport story'><img class='optimg' src='img/opts/old_hand.jpg'><div class='optext'><div class='optitle'>Sit</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightDeadSit').click(function () { $('#opMidnightDeadSit').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightDeadSit'); s.fullHistory.push('op Midnight Dead Sit');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Dead Sit';});}); %> <% s.narration['Pseudopassage'].push('0-midnightdeadsit'); %><% s.narration['Pseudopassage'].push('10-midnighthearshots'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Midnight Dead Look' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Midnight Dead Leave' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Dead Time') == false ) { s.opport['Pseudopassage'].push('op Midnight Dead Time'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I sit</span> on the floor. My body and my mind do nothing but breathe.<div id='opMidnightDeadLeave' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Leave</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightDeadLeave').click(function () { $('#opMidnightDeadLeave').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightDeadLeave'); s.fullHistory.push('op Midnight Dead Leave');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Dead Leave';});}); %> <% s.narration['Pseudopassage'].push('0-midnightdeadleave'); %><% s.narration['Pseudopassage'].push('10-midnighthearshots'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Midnight Dead Look' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Midnight Dead Sit' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Dead Time') == false ) { s.opport['Pseudopassage'].push('op Midnight Dead Time'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I run towards the garden.</span><% if (_.contains(s.fullHistory, '15-Proteo follows Father')) { %><% } else { %>I hear a few distant shots. They are soft, almost homely, but all conversations stop and all faces turn towards the direction of the noise, somewhere beyond the Treasury. <% }; %> It's as if silence is its own being, an angel hovering above us and watching our behaviour. We hear a far voice. Some seconds pass and they cry again, closer and louder. <% if (_.contains(s.fullHistory, '10-Irene sees Proteo running for the killer')) { %><% print("<p>'The automaton has torn the murderer into pieces!'</p>"); %><% } else { %><% print("<p>'The murderer is dead!'</p>"); %><% }; %> Some people around me ask what they said. Others cheer feebly. I'm feeble, too feeble to cheer, to be happy or to be worried. *None of my damn sisters are near to help me.* I look down. I think nothing. Time passes.<div id='opMidnightDeadTime' class='oport story'><img class='optimg' src='img/opts/wait.jpg'><div class='optext'><div class='optitle'>More time passes</div><div class='opdesc'></div></div></div><% $(function () { $('#opMidnightDeadTime').click(function () { $('#opMidnightDeadTime').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightDeadTime'); s.fullHistory.push('op Midnight Dead Time');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Dead Time';});}); %> <% s.narration['Pseudopassage'].push('0-midnightdeadtime'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Candle Keep') == false ) { s.opport['Pseudopassage'].push('op Midnight Candle Keep'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Candle Break') == false ) { s.opport['Pseudopassage'].push('op Midnight Candle Break'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>A hand</span> on my shoulder startles me. How long has passed? Fiery red rags, a mask made of wood with embedded pieces of bone and teeth. 'You can do nothing here,' he says. 'We will find out who did this. Go home and trust us.' 'I'm never trusting anyone but myself,' I say, but I extend my hand. The Burbur takes it and offers me a candle. 'They are crying that republicans murdered my father! That makes no sense, it's a lie.' 'That's why you can trust us.' 'I don't.' 'We will help anyway.' 'I don't need it.' 'We will because it's not about you.'<div id='opMidnightCandleKeep' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Take the candle he gives me</div><div class='opdesc'>It's a gift.</div></div></div><% $(function () { $('#opMidnightCandleKeep').click(function () { $('#opMidnightCandleKeep').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightCandleKeep'); s.fullHistory.push('op Midnight Candle Keep');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Candle Keep';});}); %> <% s.narration['Pseudopassage'].push('0-midnightbreaktake'); %><% s.narration['Pseudopassage'].push('10-midnightleavepalace'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Midnight Candle Break' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><div id='opMidnightCandleBreak' class='oport story'><img class='optimg' src='img/opts/attack.jpg'><div class='optext'><div class='optitle'>Break the candle he gives me</div><div class='opdesc'>It's a symbol.</div></div></div><% $(function () { $('#opMidnightCandleBreak').click(function () { $('#opMidnightCandleBreak').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMidnightCandleBreak'); s.fullHistory.push('op Midnight Candle Break');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Midnight Candle Break';});}); %> <% s.narration['Pseudopassage'].push('0-midnightbreakcandle'); %><% s.narration['Pseudopassage'].push('10-midnightleavepalace'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Midnight Candle Keep' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I take the candle</span> from his hand, raise it in front of my face, close my eyes. Then I turn towards the Noon Door, where my coachman must be waiting to pick me up.<span class='high-emphasis'>I take the candle</span> from his hand, break it in two, and throw it away. Then I turn towards the Noon Door, where my coachman must be waiting to pick me up.Soldiers with torches run around questioning people who look too frightened to be questioned. Burburum have removed their masks, at the soldiers' command I guess: their faces are bright with sweat and all too commonplace. Small groups are watching with expressions that betray amusement, enjoyment, satisfaction. The ones who are safe to watch it without being involved. And I'm part of that audience myself. It feels like one of those plays where the army terrifies the populace of an occupied land. Arrested men and women walk in front of soldiers. Will I see those faces again? In a play, I would: they would be free again for the last act. I see the young Novus from a distance. He is laughing on his own. <% if ( _.contains(s.opport['Pseudopassage'], 'op finis') == false ) { s.opport['Pseudopassage'].push('op finis'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene sees Proteo running for the killer') == false ) { s.opport['Pseudopassage'].push('op Irene sees Proteo running for the killer'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><div id='opIreneseesProteorunningforthekiller' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Run to Father</div><div class='opdesc'></div></div></div><% $(function () { $('#opIreneseesProteorunningforthekiller').click(function () { $('#opIreneseesProteorunningforthekiller').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneseesProteorunningforthekiller'); s.fullHistory.push('op Irene sees Proteo running for the killer');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene sees Proteo running for the killer';});}); %> <% s.narration['Pseudopassage'].push('10-Irene sees Proteo running for the killer'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>A memory:</span> I am a child carelessly turning the crank on Father's orrery. I don't look at the little moving balls, I just listen. Those curious metallic pieces rattling as if they were on the cusp of breaking. *That noise is now.* I hear an orrery charging forward. Someone in front of me is pushed with a clanking sound. He knocks me down. I scream and kick until I can stand up again. I see people on the ground, trying to get on their feet or twisting in pain. Proteo runs. A woman is on his way and it knocks her down with a brutal push. <% if ( _.contains(s.opport['Pseudopassage'], 'op Irene runs after Proteo') == false ) { s.opport['Pseudopassage'].push('op Irene runs after Proteo'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene ignores Proteo and looks for Father') == false ) { s.opport['Pseudopassage'].push('op Irene ignores Proteo and looks for Father'); }; %><div id='opIreneignoresProteoandlooksforFather' class='oport story'><img class='optimg' src='img/opts/old_hand.jpg'><div class='optext'><div class='optitle'>Ignore Proteo, go with Father</div><div class='opdesc'></div></div></div><% $(function () { $('#opIreneignoresProteoandlooksforFather').click(function () { $('#opIreneignoresProteoandlooksforFather').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneignoresProteoandlooksforFather'); s.fullHistory.push('op Irene ignores Proteo and looks for Father');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene ignores Proteo and looks for Father';});}); %> <% s.narration['Pseudopassage'].push('5-Irene ignores Proteo and looks for Father'); %><% s.narration['Pseudopassage'].push('10-midnightrepublicansmurderers'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Catch Republican Murderer') == false ) { s.opport['Pseudopassage'].push('op Midnight Catch Republican Murderer'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene runs after Proteo' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Forget about the automaton.</span> I need to see Father.<div id='opIrenerunsafterProteo' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Run after Proteo</div><div class='opdesc'></div></div></div><% $(function () { $('#opIrenerunsafterProteo').click(function () { $('#opIrenerunsafterProteo').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenerunsafterProteo'); s.fullHistory.push('op Irene runs after Proteo');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene runs after Proteo';});}); %> <% s.narration['Pseudopassage'].push('10-Irene runs after Proteo'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene ignores Proteo and looks for Father' ); %><% s.log.push("I saw an automaton tear my father's murderer to pieces."); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I run after Proteo</span> until I almost catch up. We pass the tables and run towards the trees, where it's very dark. I see the shape of a man falling, or jumping from a tree. It seems to see us. Proteo raises his arms. Another shot thunders. I throw myself on the ground. A hundred tiny metallic things rain on me. Proteo's head is spilling brass and copper. But it reaches the man: it hits with its fist. The shape falls down, and then Proteo hits again. And again and again. <% if ( _.contains(s.opport['Pseudopassage'], 'op Irene tries to stop Proteo beating the killer') == false ) { s.opport['Pseudopassage'].push('op Irene tries to stop Proteo beating the killer'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene does nothing while Proteo beats the killer') == false ) { s.opport['Pseudopassage'].push('op Irene does nothing while Proteo beats the killer'); }; %><div id='opIrenedoesnothingwhileProteobeatsthekiller' class='oport story'><img class='optimg' src='img/opts/hide.jpg'><div class='optext'><div class='optitle'>Do nothing</div><div class='opdesc'>Proteo is too fearful.</div></div></div><% $(function () { $('#opIrenedoesnothingwhileProteobeatsthekiller').click(function () { $('#opIrenedoesnothingwhileProteobeatsthekiller').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenedoesnothingwhileProteobeatsthekiller'); s.fullHistory.push('op Irene does nothing while Proteo beats the killer');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene does nothing while Proteo beats the killer';});}); %> <% s.narration['Pseudopassage'].push('10-Irene does nothing while Proteo beats the killer'); %><% s.narration['Pseudopassage'].push('15-Irene sees that Proteo has killed the killer'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene tries to stop Proteo beating the killer' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The fist keeps falling down</span> and perhaps... *Perhaps this man has shot Father.* I watch the blows, wanting to do something but too afraid to do so. I just see two shadows faintly outlined against the dark. 'The murderer is here!' I scream.<div id='opIrenetriestostopProteobeatingthekiller' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Try to stop the beating</div><div class='opdesc'>Proteo is killing the killer.</div></div></div><% $(function () { $('#opIrenetriestostopProteobeatingthekiller').click(function () { $('#opIrenetriestostopProteobeatingthekiller').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenetriestostopProteobeatingthekiller'); s.fullHistory.push('op Irene tries to stop Proteo beating the killer');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene tries to stop Proteo beating the killer';});}); %> <% s.narration['Pseudopassage'].push('10-Irene tries to stop Proteo beating the killer'); %><% s.narration['Pseudopassage'].push('15-Irene sees that Proteo has killed the killer'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene does nothing while Proteo beats the killer' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The fist keeps falling down</span> and perhaps... *Perhaps this man has shot Father.* I run to them, stumbling in the dark, and grab Proteo's arm. I feel a blow, and a push, and suddenly I'm lying on the ground and my chest hurts and I see nothing. 'The murderer is here!' I scream. I sit up: sharp pain. I must endure.Red light: people with torches approaching. Did they hear me? I look again. The light of the torches finally lets me see the man Proteo is hitting. He doesn't move. His face is all red. A very long rifle lies near. As the people finally get here, Proteo stops beating the murderer. The automaton stands up, walks a few steps towards the palace staircase, with its head spilling silvery metal droplets, it falls and stops moving. <% if ( _.contains(s.opport['Pseudopassage'], 'op Irene talks to killer after Proteo beating') == false ) { s.opport['Pseudopassage'].push('op Irene talks to killer after Proteo beating'); }; %><div id='opIrenetalkstokillerafterProteobeating' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Talk to the murderer</div><div class='opdesc'></div></div></div><% $(function () { $('#opIrenetalkstokillerafterProteobeating').click(function () { $('#opIrenetalkstokillerafterProteobeating').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenetalkstokillerafterProteobeating'); s.fullHistory.push('op Irene talks to killer after Proteo beating');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene talks to killer after Proteo beating';});}); %> <% s.narration['Pseudopassage'].push('10-Irene talks to killer after Proteo beating'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Can he talk?'</span> I ask. Three men are kneeling near the lying killer. 'Only God will ever talk to him again,' says one. And it's my fault. I gave Proteo the disc. 'Who is he?' The man's voice breaks. 'It's impossible to tell.' *The fist, falling down.* 'Lady Victor?' I turn towards the voice: a servant, trying to recover his breath. 'You must go to the Marble Gallery at once,' he says. 'The Premier sent me for you. It's your father, Lady Victor.' I run. <% if ( _.contains(s.opport['Pseudopassage'], 'op Midnight Republicans Murderers') == false ) { s.opport['Pseudopassage'].push('op Midnight Republicans Murderers'); }; %>*The conspiracy against Father.* Would they try an attack now? I can't believe it. Half the people in Aurora are here now, and Father is in the centre of everyone, with all the authorities. He's safe, I conclude. He must. <% s.narration['myself'].push('500-Irene thinks about hidden murderer'); %>But what if they really want to attack Father tonight? What could they do? Perhaps there is a murderer hiding here, this very minute. Where? How? How? <% if ( _.contains(s.opport['myself'], 'op Irene searches hiding murderer') == false ) { s.opport['myself'].push('op Irene searches hiding murderer'); }; %><% s.narration['myself'].push('500-Irene pushes thought of murder away'); %>I can't keep thinking of a murderer or I will go mad. I push the thought away and close my mind to it. I breathe and it's gone. <% s.opport['myself'] = _.without( s.opport['myself'] , 'op Irene searches hiding murderer' ); %><div id='opIrenesearcheshidingmurderer' class='oport story'><img class='optimg' src='img/opts/torch.jpg'><div class='optext'><div class='optitle'>Inspect the place</div><div class='opdesc'>Look for anything suspicious.</div></div></div><% $(function () { $('#opIrenesearcheshidingmurderer').click(function () { $('#opIrenesearcheshidingmurderer').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenesearcheshidingmurderer'); s.fullHistory.push('op Irene searches hiding murderer');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene searches hiding murderer';});}); %> <% s.narration['myself'].push('0-Irene searches hiding murderer'); %><% s.narration['myself'] = _.without( s.narration['myself'] , '500-Irene pushes thought of murder away' ); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>It's all so dark.</span> Many lights have been put out, except the torches near the central path. The rest of the garden has sunk in blackness. Anyone could move unseen among the trees. But Father is at the exact centre of the light. This is useless. I won't see anything. <% s.narration['myself'].push('500-Irene anxious about darkness in ceremony'); %><span class='high-emphasis'>I'm still anxious</span> about the darkness. But there's nothing I can do, nothing at all.<% // Scroll to top $('html, body').animate({scrollTop: '0px'}, 200); if (passage.name != "start") { // Automatic savegames. // There is no manual saving option and only one slot is provided. s.currentLocation = passage.name; localStorage.setItem( 'master-autosave', JSON.stringify( story.state )); } // First we add the correct initial classes to body and tw-story, and clean possible remaining classes from the previous passage. $('body').addClass('hidemap hidereminders hidedebug page1map').removeClass('showmap showreminders showdebug evening-time dusk-time night-time page2map hidecompass hideambientops'); // We initialize other variables. s.compassCount = 0; // Before printing anything we check if there are events in this turn and a companion. We call: GENEVENT, GENCOMPANY --> if ( passage.name !== "Pseudopassage" ) { print(story.render("genCompany")); }; print(story.render("genEvent")); // We also run updateLocationList, in case an event or the previous choice has moved a character print(story.render("updateLocationList")); // Now we print the visible elements of the interface. We start with the narration. %> <script> setTimeout(function() { $('#bg').attr( 'class', window.story.state.bg ); }, 1000); </script> <div id="bg" class="<%= s.bg %>"> <div class="bg-entrance"></div> <div class="bg-day"></div> <div class="bg-midnight"></div> <div class="bg-night"></div> </div> <div class="main" lang="en"> <!-- This is the main narrative text. We call: PREDESC --> <div class="passage-narration"> <%= story.render("preDesc") %> </div><!-- passage-narration --> <% // After printing narration, we check interruptions for the current passage and the NPCs. if (!_.isEmpty(s.interrupt) != {} && passage.name !== "Pseudopassage") { s.interruptTmp = ""; s.interruptBlockAfterFirst = false; // We check if there are interruptions for the current passage. if ( _.contains( _.keys(s.interrupt), passage.name )) { if ( _.isEmpty(s.interrupt[passage.name]) ) { delete s.interrupt[passage.name]; } else { s.interruptTmp = s.interrupt[passage.name][0]; s.interrupt[passage.name] = _.without( s.interrupt[passage.name], s.interruptTmp ); s.interruptBlockAfterFirst = true; print(story.render( s.interruptTmp )); }; }; // We loop through the NPCs in the room and check if there are interruptions for them. loopIterations = s.locationList[passage.name].length; if (loopIterations>0 && s.interruptBlockAfterFirst === false) { var step; for (step = 0; step < loopIterations; step++) { // No entiendo bien por qué está este if. ¿Es para interrumpir el bucle y que sólo se ejecute una interrupción? Pero no modifico la variable a true dentro del bucle, no creo que esto pueda estar bien. if (s.interruptBlockAfterFirst === false) { charExtract = s.locationList[s.currentLocation][step]; if (_.contains( _.keys(s.interrupt), charExtract)) { if ( _.isEmpty(s.interrupt[charExtract]) ) { delete s.interrupt[charExtract]; } else { s.interruptTmp = s.interrupt[charExtract][0]; s.interrupt[charExtract] = _.without( s.interrupt[charExtract], s.interruptTmp); print(story.render( s.interruptTmp )); }; }; }; }; }; // We check if there are interruptions for myself. if (s.interruptBlockAfterFirst === false) { if ( _.contains( _.keys(s.interrupt), 'myself' )) { if ( _.isEmpty(s.interrupt['myself']) ) { delete s.interrupt['myself']; } else { s.interruptTmp = s.interrupt['myself'][0]; s.interrupt['myself'] = _.without( s.interrupt['myself'], s.interruptTmp ); s.interruptBlockAfterFirst = true; print(story.render( s.interruptTmp )); }; }; }; }; %> <div class="pre-separator"></div> <div class="opport-block"> <% // Now we get the opportunity array for the location. s.printOpportunities = s.opport[s.currentLocation]; // Character loop. This loop iterates through the list of characters present in the location. It gets the opportunity array from each character and adds it to the global opportunity array. if (s.locationList[s.currentLocation].length > 0) { var step; for (step = 0; step < s.locationList[s.currentLocation].length; step++) { charExtract = s.locationList[s.currentLocation][step]; if (_.contains( _.keys(s.opport), charExtract)) { s.printOpportunities = _.union( s.printOpportunities, s.opport[charExtract] ); }; }; }; // Last we get the opportunity array for myself. This has to be explicitly prevented in Pseudopassage. if ( _.contains( _.keys(s.opport), "myself") && s.currentLocation != "Pseudopassage" ) { s.printOpportunities = _.union( s.printOpportunities, s.opport["myself"] ); }; // Now we render the passages in the opportunity array. IMPORTANTE: PENDIENTE DE ORDENAR STORY Y MOVEMENT, MIRAR UNDERSCORE loopIterations = s.printOpportunities.length; if (loopIterations > 0) { var step; for (step = 0; step < loopIterations; step++) { print(story.render(s.printOpportunities[step])); }; }; %> <!-- The Do Nothing button lets the player stay without choosing any other option. --> <div class="oport wait compass-block"> <span class="optitle" id="waitbutton">Do nothing and stay here</span> </div> <% $(function () { $('#waitbutton').click(function () { s.actionslog.push("wait"); story.show(passage.name); }); }); %> </div><!--- opport-block --> <!-- We print the debug options --> <div class="debug"><% story.render("debug") %></div> </div> <!--- main --> <!-- Now we print the sidebar. --> <% if (s.showSidebar) { %> <div class="sidebar" id="sidebar" lang="en"> <div class="passage-description"> <img class='passage-image' src='<%= s.passImage %>' > <div class="passage-title"><%= s.passTitle %></div> <div class="passage-region"><%= s.region[s.passTitle] %></div> <div class="current-time"><%= s.currentTime %></div> <% // if ( !_.isEmpty(s.locationList[passage.name]) ) { // print("<div>I see:" + s.locationList[passage.name].join(", ") + "</div>"); // }; %> </div><!-- passage-description --> <div class="pre-separator"></div> <div class="game-menu"> <!-- Game options menu. --> <a id="reminderbutton">Reminders</a><% $(function () { $('#reminderbutton').click(function () { $( "body" ).toggleClass( "hidereminders showreminders" ) }); }); %> <a id="mapbutton">Map</a><% $(function () { $('#mapbutton').click(function () { $( "body" ).toggleClass( "hidemap showmap" ) }); }); %> <div class="reminders"><%= _.values(s.reminders).join("<hr>") %></div> </div><!-- game-menu --> <!-- Now we print the movements. First, directions. --> <div class="hedera compass-icon">❂</div> <div class="compass-block"> <div class="oport compass north"> <%= story.render(s.exitList[s.currentLocation][1]) %> </div> <div class="oport compass west"> <%= story.render(s.exitList[s.currentLocation][0]) %> </div> <div class="oport compass east"> <%= story.render(s.exitList[s.currentLocation][3]) %> </div> <div class="oport compass south"> <%= story.render(s.exitList[s.currentLocation][2]) %> </div> </div><!-- compass-block --> <div class="vertical-block"> <div class="oport vertical up"> <%= story.render(s.exitList[s.currentLocation][4]) %> </div> <div class="oport vertical down"> <%= story.render(s.exitList[s.currentLocation][5]) %> </div> </div><!-- vertical-block --> <!-- game-menu --> </div><!-- sidebar--> <% }; %> <!-- After rendering the sidebar, if there was an interruption, we animate its hiding --> <% if (s.interruptTmp != "") { function gotDelay() {$( '#sidebar' ).css( 'transform', 'scale(.75)' ).css( 'opacity', '0' );s.showSidebar = false;};setTimeout(gotDelay,150);} %> <!-- Now we empty the temporary variables. ¿ES NECESARIO TODO ESTO? --> <% s.printOpportunities = []; s.passDescription = []; s.passImage = ""; s.interruptTmp = ""; // If there are no compass movement options, prevent the empty block from appearing. if (s.compassCount === 0) { $('body').addClass('hidecompass'); } %> <!-- Toggleable map overlay. --> <div class="map"> <div class="mapclose"> <a id="mapclosebutton">Close</a> <% $(function () { $('#mapclosebutton').click(function () { $( "body" ).toggleClass( "showmap hidemap" ) }); }); %> </div> <div class="mapturn"> Click map to see the other page </div> <div class="map1"> <a id="map1"> <img src='img/map1.jpg' /> </a><% $(function () { $('#map1').click(function () { $('body').toggleClass('page2map page1map') }); }); %> </div> <div class="map2"> <a id="map2"> <img src='img/map2.jpg' /> </a><% $(function () { $('#map2').click(function () { $('body').toggleClass('page1map page2map') }); }); %> </div> </div> <!-- Pass the turn. --> <% s.turn = s.turn+1; %> <!-- Fill history. --> <% s.passageHistory.push(s.currentLocation); // story.checkpoint(); %><span class='high-emphasis'>I see a man I was looking for. </span> More royal than royalty. More imposing than Napoleon himself. Not a saint, not much of a sinner either, more like a real heretic. He is Martiale, the bishop of Aurora, and he may open or close the door to my future. <% if ( _.contains(s.opport['Bishop Martiale'], 'op Bishop Permit Start') == false ) { s.opport['Bishop Martiale'].push('op Bishop Permit Start'); }; %><div id='opBishopPermitStart' class='oport story'><img class='optimg' src='img/opts/clergy.jpg'><div class='optext'><div class='optitle'>Talk to the Bishop</div><div class='opdesc'>His support would convince Mayor Proctor to give me the permit I want.</div></div></div><% $(function () { $('#opBishopPermitStart').click(function () { $('#opBishopPermitStart').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBishopPermitStart'); s.fullHistory.push('op Bishop Permit Start');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bishop Permit Start';});}); %> <% s.narration['Pseudopassage'].push('0-bishoppermitstart'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Bishop Permit Convince') == false ) { s.opport['Pseudopassage'].push('op Bishop Permit Convince'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Bishop Permit Price') == false ) { s.opport['Pseudopassage'].push('op Bishop Permit Price'); }; %><% s.flagRemainingSupporters = s.flagRemainingSupporters-1; %> <% if (s.flagRemainingSupporters == 0) { %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %><% }; %> <% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>Patiently, I explain to Martiale</span> how man's clothes will help me defend my purity. I tell him about the Mayor's support. I remind him of other women who studied Nature to the greater glory of God. He listens with a fatherly smile. 'Irene, you know that I am honest. I don't bargain over political favours, rents or properties. Women don't interest me, today I woke up next to my beloved Miss Aspis, like every morning since 1819. The only thing that I want is money for the bishopric's charities.' He's lying about the political favours. *At least.* But I know it's going to be about money. Which means that I'll have to involve Father.<div id='opBishopPermitConvince' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Try to convince him</div><div class='opdesc'>It's unfair. I have the right to do this whether they admit it or not.</div></div></div><% $(function () { $('#opBishopPermitConvince').click(function () { $('#opBishopPermitConvince').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBishopPermitConvince'); s.fullHistory.push('op Bishop Permit Convince');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bishop Permit Convince';});}); %> <% s.narration['Pseudopassage'].push('0-bishoppermitconvince'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>My blood is boiling.</span> I need trousers: wearing them shouldn't depend on my father's money. The least I can do is trying to change Martiale's mind. I start talking about the glory of God's creation, but the bishop quickly demands silence with an impatient gesture. 'Our Catholic church is doing God's work on earth, making the poor less poor and the hungry less hungry. How *much* can you help?' He's outrageously direct about it. 'What if I were a different woman without wealth to help? Wouldn't it be unjust?' 'No. It wouldn't be unjust at all,' he answers, looking genuinely bewildered. There's no way I can convince him.<div id='opBishopPermitPrice' class='oport story'><img class='optimg' src='img/opts/money.jpg'><div class='optext'><div class='optitle'>Discuss the price</div><div class='opdesc'>I better not argue. Let's ask him directly how much he wants.</div></div></div><% $(function () { $('#opBishopPermitPrice').click(function () { $('#opBishopPermitPrice').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBishopPermitPrice'); s.fullHistory.push('op Bishop Permit Price');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bishop Permit Price';});}); %> <% s.narration['Pseudopassage'].push('0-bishoppermitprice'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Bishop Permit Convince' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Bishop Permit Pay') == false ) { s.opport['Pseudopassage'].push('op Bishop Permit Pay'); }; %> <% s.bishopResponses = []; %> <% if (_.contains(s.fullHistory, '0-tablesdancetarantella')) { %><% s.bishopResponses.push("'You always dance too much with the lower people,' he says. 'You did tonight. It gives the lower people a wrong impression. Dance is a beautiful tradition in Aurora, but the dedication you devoted to it when you were young was always a bit excessive.'"); %> <% s.narration['Pseudopassage'].push('1-bishoppermitconsider'); %><% }; %> <% if (_.contains(s.fullHistory, '0-acceptanddanceontable')) { %><% s.bishopResponses.push("'You always dance too much with the lower people,' he says. 'You did tonight. It gives the lower people a wrong impression. Dance is a beautiful tradition in Aurora, but the dedication you devoted to it when you were young was always a bit excessive.'"); %> <% s.narration['Pseudopassage'].push('1-bishoppermitconsider'); %><% }; %> <% if (_.contains(s.fullHistory, '0-efendiaskdance')) { %><% s.bishopResponses.push("'No matter what, it's inadmissible that a Saracen feels comfortable with Christian women,' he hisses. 'In front of older, married women.' So am I a sinner for dancing with Effendi?"); %> <% s.narration['Pseudopassage'].push('1-bishoppermitconsider'); %><% }; %> <% if (_.contains(s.fullHistory, '0-portraitmarsaggresive')) { %><% s.bishopResponses.push("'Mrs. Verel told me you were rude and violent to her earlier tonight,' he says. 'Of course a bishop shouldn't care too much about rudeness, but violent defense of Lady Mars, who publicly revels in not being a good Catholic, is a sin, Irene.' I blush. I'm not ashamed of telling Ana Verel what I did, but I'm ashamed of not expecting the coward philistine to run to the bishop with her ridiculous complaint. I must control myself better."); %> <% s.narration['Pseudopassage'].push('1-bishoppermitconsider'); %><% }; %> <% if (_.contains(s.fullHistory, '0-wheelreprehendnovus')) { %><% s.bishopResponses.push("'You caused a bit of a scandal during the Wheel,' says Martiale. 'Not that you were entirely wrong, but...' He smiles as if offering an apology, the cynical bastard."); %> <% s.narration['Pseudopassage'].push('1-bishoppermitconsider'); %><% }; %> <% if (_.contains(s.fullHistory, '0-franchiensreproachiuvens')) { %><% s.bishopResponses.push("'You questioned one a priest in public, just a moment ago,' says Martiale. He smiles as if offering an apology."); %> <% s.narration['Pseudopassage'].push('1-bishoppermitconsider'); %><% }; %> <% if (_.contains(s.fullHistory, '0-hailkingprotectordebate')) { %><% s.bishopResponses.push("'People noticed that you were not very enthusiastic about our good king in the Library before,' says Martiale. How can he know that? 'But the Church, with the Pope himself at its head, is very fond of him.' He smiles as if offering an apology."); %> <% s.narration['Pseudopassage'].push('1-bishoppermitconsider'); %><% }; %> <% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Better not to avoid the subject anymore.</span> 'I understand you always need contributions. Please tell me how to prove my family's commitment.''There are things to consider,' says Martiale. 'Which ones?' <%= _.sample(s.bishopResponses) %> I brace myself. He's going to ask too much: he always does, and he doesn't bargain. At least he's clear.<div id='opBishopPermitPay' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>How much?</div><div class='opdesc'></div></div></div><% $(function () { $('#opBishopPermitPay').click(function () { $('#opBishopPermitPay').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBishopPermitPay'); s.fullHistory.push('op Bishop Permit Pay');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bishop Permit Pay';});}); %> <% s.narration[s.returnRef].push('0-bishoppermitpay'); %><% s.narration['Father'].push('500-fatherafterbishop'); %><% targetTurn = s.turn+1;targetEvent = 'ev Bishop Permit Price';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (_.contains(s.fullHistory, '1-bishoppermitconsider')) { %><% if ( _.contains(s.opport['Father'], 'op Bishop Father Expensive') == false ) { s.opport['Father'].push('op Bishop Father Expensive'); }; %><% } else { %><% if (_.contains(s.fullHistory, '0-bishoppermitconvince')) { %><% if ( _.contains(s.opport['Father'], 'op Bishop Father Cheap') == false ) { s.opport['Father'].push('op Bishop Father Cheap'); }; %><% } else { %><% if ( _.contains(s.opport['Father'], 'op Bishop Father Medium') == false ) { s.opport['Father'].push('op Bishop Father Medium'); }; %><% }; %><% }; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><% if (_.contains(s.fullHistory, '1-bishoppermitconsider')) { %><% print("<p>'<span class='high-emphasis'>I expect</span> we can settle this with a modest amount of five hundred silver ducats,' the Bishop says. I try to hide my utter dismay while I murmur some excuses and say goodbye. There is no way I am ever going to ask Father to pay so much money.</p>"); %><% print("<p>Is there no way?</p>"); %><% } else { %><% if (_.contains(s.fullHistory, '0-bishoppermitconvince')) { %><% print("<p>'<span class='high-emphasis'>I expect</span> we can settle this with a modest amount of two hundred silver ducats,' the Bishop says. Father will complain.</p>"); %><% print("<p>I say goodbye to Martiale. I drag my feet, just a little.</p>"); %><% } else { %><% print("<p>'<span class='high-emphasis'>I expect</span> we can settle this with a modest amount of one hundred silver ducats,' the Bishop says, and I can't suppress a relieved sigh. Father will pay for that.</p>"); %><% print("<p>I say goodbye to Martiale. I will have to be relentlessly convincing.</p>"); %><% }; %><% }; %><% s.narration['myself'].push('500-permitnotwantpay'); %>(I can't help a passing thought, brief and bright, like lightning: don't pay for Martiale's support. Don't ask money from Father. Don't buy what everyone should have free. Don't.)<span class='high-emphasis'>I see that Father is here.</span> I should tell him about my conversation with Bishop Martiale. <% if ( _.contains(s.opport['Father'], 'op Bishop Father Refuse') == false ) { s.opport['Father'].push('op Bishop Father Refuse'); }; %><% $('body').addClass('hideambientops'); %><div id='opBishopFatherRefuse' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Tell Father I don't want him to pay the Bishop's bribe</div><div class='opdesc'>Martiale wants money in exchange for his support. I want that permit. But I don't want to pay what everyone should have free.</div></div></div><% $(function () { $('#opBishopFatherRefuse').click(function () { $('#opBishopFatherRefuse').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBishopFatherRefuse'); s.fullHistory.push('op Bishop Father Refuse');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bishop Father Refuse';});}); %> <% s.narration['myself'].push('0-bishopfatherrefuse'); %><% s.narration['myself'].push('10-permitsupporterfail'); %><% s.narration['myself'].push('30-bishopfatherrefuse2'); %><% if ( _.contains(s.opport['Outside tables'], 'op Bishop Anger Dance') == false ) { s.opport['Outside tables'].push('op Bishop Anger Dance'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*3 ));targetEvent = 'ev Bishop Anger Dance Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Bishop Father Medium' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Bishop Father Cheap' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Bishop Father Expensive' ); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I get a moment with Father</span> by ourselves, and briefly remind him about my trousers idea. 'Are you really going after that?' he asks. I chuckle. 'Actually...' I have to admit that watching his face change is amusing as I tell him about the Mayor (embarrassment), then the Bishop (apprehension) and then that he's asking money. 'But I'm not begging you. That's not why I'm telling you. It's the contrary,' I say, cutting fast through words. 'The Bishop ever tells you about it, please ignore him. I refuse to buy his support with your money.' I leave Father bewildered. So I won't get the Bishop's support.My body feels light and willing to dance, even though the thought of not securing the permit makes me angry and fearful. I should go dance this anger.<% s.opport['Outside tables'] = _.without( s.opport['Outside tables'] , 'op Bishop Anger Dance' ); %><div id='opBishopAngerDance' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Dance alone because I'm angry and elated</div><div class='opdesc'>I still have the mixed feelings since I spoke to Father about the Bishop.</div></div></div><% $(function () { $('#opBishopAngerDance').click(function () { $('#opBishopAngerDance').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBishopAngerDance'); s.fullHistory.push('op Bishop Anger Dance');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bishop Anger Dance';});}); %> <% s.narration['Outside tables'].push('0-bishopangerdance'); %><% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %> <% function gotDelay() {story.show('Outside tables');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>There's dancers everywhere</span> but not the kind I need. But I see an old man with a fiddle, resting on his own. 'Play for me, I beg you,' I say. The musician smiles and starts playing... *The lady with new shoes!* Does he want mischief? I close my eyes and rock back and forth; then the hands and the arms, but I won't move a foot yet, while he plays the slow part of the song. 'Lady Victor!' cries someone. Do I have an audience already? I keep my eyes shut. I hope the Bishop is watching. And now the challenge. The fiddler starts the fast part of the song and he's very, very quick. So my feet roll just as fast. I hear him laugh as he attacks the melody, then repeats it one tone higher, and again and again and do I worry about it? No! Do I worry about the people who clap hands? Not while I can dance with precision. The fiddler ends suddenly with a wrong chord, as traditional. I hear applause, smile and bow, eyes shut all the time, and then I run away.<div id='opBishopFatherExpensive' class='oport story'><img class='optimg' src='img/opts/money.jpg'><div class='optext'><div class='optitle'>Tell Father about the bishop's price</div><div class='opdesc'>Father can buy my license to wear man's clothes if he wants. But it's expensive.</div></div></div><% $(function () { $('#opBishopFatherExpensive').click(function () { $('#opBishopFatherExpensive').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBishopFatherExpensive'); s.fullHistory.push('op Bishop Father Expensive');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bishop Father Expensive';});}); %> <% s.opport['Father'] = _.without( s.opport['Father'] , 'op Bishop Father Refuse' ); %><% s.narration['Pseudopassage'].push('0-bishoppermitfatherask'); %><% s.narration['Pseudopassage'].push('1-bishoppermitfatherexpensive'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Bishop Father Justice') == false ) { s.opport['Pseudopassage'].push('op Bishop Father Justice'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Bishop Father Radical') == false ) { s.opport['Pseudopassage'].push('op Bishop Father Radical'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>I get a moment with Father</span> by ourselves, and briefly remind him about my trousers idea. 'Are you really going after that?' he asks. I chuckle. 'Actually...' I have to admit that watching his face change is amusing as I tell him about the Mayor (embarrassment), then the Bishop (apprehension) and finally the price. I have two different arguments to convince him, but I have to be very careful with what I say next.'Don't ask me anything like that ever again,' Father says.<div id='opBishopFatherMedium' class='oport story'><img class='optimg' src='img/opts/money.jpg'><div class='optext'><div class='optitle'>Ask Father about the bishop's price</div><div class='opdesc'>Father can buy my license to wear man's clothes if he wants.</div></div></div><% $(function () { $('#opBishopFatherMedium').click(function () { $('#opBishopFatherMedium').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBishopFatherMedium'); s.fullHistory.push('op Bishop Father Medium');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bishop Father Medium';});}); %> <% s.opport['Father'] = _.without( s.opport['Father'] , 'op Bishop Father Refuse' ); %><% s.narration['Pseudopassage'].push('0-bishoppermitfatherask'); %><% s.narration['Pseudopassage'].push('1-bishoppermitfathermedium'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Bishop Father Justice') == false ) { s.opport['Pseudopassage'].push('op Bishop Father Justice'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Bishop Father Radical') == false ) { s.opport['Pseudopassage'].push('op Bishop Father Radical'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %>'Too expensive,' he says. He sounds leaden.<div id='opBishopFatherCheap' class='oport story'><img class='optimg' src='img/opts/money.jpg'><div class='optext'><div class='optitle'>Ask Father about the bishop's price</div><div class='opdesc'>Father can buy my license to wear man's clothes if he wants.</div></div></div><% $(function () { $('#opBishopFatherCheap').click(function () { $('#opBishopFatherCheap').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBishopFatherCheap'); s.fullHistory.push('op Bishop Father Cheap');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bishop Father Cheap';});}); %> <% s.opport['Father'] = _.without( s.opport['Father'] , 'op Bishop Father Refuse' ); %><% s.narration['Pseudopassage'].push('0-bishoppermitfatherask'); %><% s.narration['Pseudopassage'].push('1-bishoppermitfathercheap'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Bishop Father Justice') == false ) { s.opport['Pseudopassage'].push('op Bishop Father Justice'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Bishop Father Radical') == false ) { s.opport['Pseudopassage'].push('op Bishop Father Radical'); }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %>'Too expensive,' he says. But his tone is just not the right one.<div id='opBishopFatherJustice' class='oport story'><img class='optimg' src='img/opts/treasury.jpg'><div class='optext'><div class='optitle'>Tell Father about justice</div><div class='opdesc'>It's unfair that I even have to request this license, and he knows.</div></div></div><% $(function () { $('#opBishopFatherJustice').click(function () { $('#opBishopFatherJustice').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBishopFatherJustice'); s.fullHistory.push('op Bishop Father Justice');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bishop Father Justice';});}); %> <% s.narration[s.returnRef].push('0-bishopfatherjustice'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Bishop Father Radical' ); %> <% if (_.contains(s.fullHistory, '1-bishoppermitfathercheap')) { %><% s.narration[s.returnRef].push('1-bishopfatherjusticeyes'); %><% s.opport['Dean Petre'] = _.without( s.opport['Dean Petre'] , 'op Dean Permit Start' ); %><% s.opport['Cousin de Nil'] = _.without( s.opport['Cousin de Nil'] , 'op Cousin Permit Start' ); %><% targetTurn = s.turn+3;targetEvent = 'ev Permit Mayor Victory';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %> <% if (_.contains(s.fullHistory, '1-bishoppermitfathermedium')) { %><% s.narration[s.returnRef].push('1-bishopfatherjusticeno'); %><% s.narration['myself'].push('10-permitsupporterfail'); %><% }; %> <% if (_.contains(s.fullHistory, '1-bishoppermitfatherexpensive')) { %><% s.narration[s.returnRef].push('1-bishopfatherjusticeno'); %><% s.narration['myself'].push('10-permitsupporterfail'); %><% }; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Do you want to be fair, Father?'</span> I say, careful not to raise my voice enough for other people to hear. 'You always say that justice is your only call. You know that the only reason women aren't allowed the thing's we aren't allowed is that men think we are without reason or morals. And you know I have both.''You have no right to say that to me,' he answers, with a voice that's both tired and disappointed. 'I won't hear another word about this tonight, and if you want to talk about it tomorrow, you better behave with more respect.' He wanders away. His bad leg is making him limp. Some people greet him, but he rejects them and disappears from view, alone. So I won't be able to get the Bishop's support. <% if (s.charLocationPriority['Father'] < 3) { s.charLocationPriority['Father'] = 3;s.characterList['Father'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Nowhere"; s.charLocationPriority["Father"] = 3; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Bishop Father Return';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if (s.charLocationPriority['Father'] < 1) { s.charLocationPriority['Father'] = 1;s.characterList['Father'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Marble Gallery, East"; s.charLocationPriority["Father"] = 1; %>'You don't need to be insolent,' he says, 'I thought I had taught you to believe in the force of your arguments.' I laugh softly, with affection. 'You did well. But Mother taught me more things.' 'But if it is a matter of fairness, isn't it unfair to settle it with money?' he says, ever the polemist. 'Is it unfair if I do the only thing I'm allowed to?' And Father happily agrees to pay the Bishop. Now I can tell Mayor Proctor.<div id='opBishopFatherRadical' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Offer Father an unexpected proposition</div><div class='opdesc'>I have an idea about paying the Bishop's money.</div></div></div><% $(function () { $('#opBishopFatherRadical').click(function () { $('#opBishopFatherRadical').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opBishopFatherRadical'); s.fullHistory.push('op Bishop Father Radical');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Bishop Father Radical';});}); %> <% s.narration[s.returnRef].push('0-bishopfatherradical'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Bishop Father Justice' ); %> <% if (_.contains(s.fullHistory, '1-bishoppermitfathercheap')) { %><% s.narration[s.returnRef].push('1-bishopfatherradicalyes'); %><% s.opport['Dean Petre'] = _.without( s.opport['Dean Petre'] , 'op Dean Permit Start' ); %><% s.opport['Cousin de Nil'] = _.without( s.opport['Cousin de Nil'] , 'op Cousin Permit Start' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %><% targetTurn = s.turn+3;targetEvent = 'ev Permit Mayor Victory';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %> <% if (_.contains(s.fullHistory, '1-bishoppermitfathermedium')) { %><% s.narration[s.returnRef].push('1-bishopfatherradicalyes'); %><% s.opport['Dean Petre'] = _.without( s.opport['Dean Petre'] , 'op Dean Permit Start' ); %><% s.opport['Cousin de Nil'] = _.without( s.opport['Cousin de Nil'] , 'op Cousin Permit Start' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %><% targetTurn = s.turn+3;targetEvent = 'ev Permit Mayor Victory';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %> <% if (_.contains(s.fullHistory, '1-bishoppermitfatherexpensive')) { %><% s.narration[s.returnRef].push('1-bishopfatherradicalno'); %><% s.narration['myself'].push('10-permitsupporterfail'); %><% }; %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Take it from my dowry,'</span> I answer. 'It doesn't matter. No man will ever my marry for my dowry. I won't let them.' I struggle to keep my voice firm while his face turns harder.'No.' 'Is that all?' I ask. He merely sighs, turns his back to me and leaves. So I won't be able to get the Bishop's support. <% if (s.charLocationPriority['Father'] < 3) { s.charLocationPriority['Father'] = 3;s.characterList['Father'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Father"] = "Nowhere"; s.charLocationPriority["Father"] = 3; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Bishop Father Return';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %>'You shouldn't say that lightly,' warns Father. 'You should know I don't.' 'All would have been better if I hadn't promised your mother that I wouldn't force you to marry,' he says. I know he's not thinking about me, and I know he's right, but I can't let him believe he's allowed to think that. 'You're so wrong Mother would have stopped talking to you for a week,' I say. And Father agrees to pay the Bishop. Now I can tell Mayor Proctor.<span class='high-emphasis'>I see a disgusting piece of humanity</span> that I was looking for. A frightened man, aghast at curiosity, hostile to intelligence. He confuses knowledge and scholarship, classrooms and prisons. He is Caiul Petre, Dean in the Academy for Natural History in the University of Aurora. <% if ( _.contains(s.opport['Dean Petre'], 'op Dean Permit Start') == false ) { s.opport['Dean Petre'].push('op Dean Permit Start'); }; %><div id='opDeanPermitStart' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Begin a conversation with Dean Petre</div><div class='opdesc'>If I somehow convince him to support my request, the Mayor of Marina will sign my license.</div></div></div><% $(function () { $('#opDeanPermitStart').click(function () { $('#opDeanPermitStart').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDeanPermitStart'); s.fullHistory.push('op Dean Permit Start');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dean Permit Start';});}); %> <% s.narration['Pseudopassage'].push('0-deanpermitstart'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dean Permit Himself') == false ) { s.opport['Pseudopassage'].push('op Dean Permit Himself'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dean Permit Progress') == false ) { s.opport['Pseudopassage'].push('op Dean Permit Progress'); }; %><% s.flagRemainingSupporters = s.flagRemainingSupporters-1; %> <% if (s.flagRemainingSupporters == 0) { %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %><% }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'How are you, Dean?'</span> I ask with the sickly-sweet attitude he likes. 'Tired, my pupil, very tired,' he answers in a very dry tone. *Pupil?* That's the most appreciative thing he has ever said to me. 'Would you like to sit down?' I say. He doesn't answer and looks away from me. 'Sir?' I say after a few very long moments. 'I'm tired of questions, conversation and people. Young people, particularly,' he spurts, and keeps looking away. 'Pupils. Scholars. Children, each and all of us.' How can I respond to this?<div id='opDeanPermitHimself' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Ask Petre about himself</div><div class='opdesc'>What does he mean with that remark? It doesn't sound like his typical invective, specially the invective he would spit at me.</div></div></div><% $(function () { $('#opDeanPermitHimself').click(function () { $('#opDeanPermitHimself').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDeanPermitHimself'); s.fullHistory.push('op Dean Permit Himself');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dean Permit Himself';});}); %> <% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dean Permit Progress' ); %><% s.narration['Pseudopassage'].push('0-deanpermithimself'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dean Permit Ask') == false ) { s.opport['Pseudopassage'].push('op Dean Permit Ask'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I better become a great liar really quick.</span> 'You have been a most excellent Dean in an academy that this canton needs,' I say, 'and that's something I know from my own experience. I believe you can be proud of that.' I wait for a response, but all he does is look around sullenly. He stares at me with the same disdain he did the first day I went to the academy. Looks away. Then stares again. He sighs, and I feel relieved that he seems about to talk. But he says nothing. There's no way to know what he's thinking. He's thinking nothing I want to know. He's thinking small, sad, angry thoughts. I wish I could slap his face or kick his lame leg.<div id='opDeanPermitProgress' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Ignore his words and say what I came to say</div><div class='opdesc'>I have a line of argument and it's better that I don't deviate from it.</div></div></div><% $(function () { $('#opDeanPermitProgress').click(function () { $('#opDeanPermitProgress').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDeanPermitProgress'); s.fullHistory.push('op Dean Permit Progress');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dean Permit Progress';});}); %> <% s.narration['Pseudopassage'].push('0-deanpermitprogress'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dean Permit Himself' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dean Permit Ask') == false ) { s.opport['Pseudopassage'].push('op Dean Permit Ask'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I begin pondering the amazing progresses</span> in knowledge that could be achieved if more men and, yes, more women undertook the work of science. Isn't he a scholar after all? 'We shouldn't pursue progress,' he says, interrupting me. 'Knowledge shouldn't advance faster than humbleness, and that means very slowly indeed. I have already seen more than enough progress for a single life.' And after a pause he adds, 'I have failed to teach humbleness.' My whole argument lies in defeat.<div id='opDeanPermitAsk' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Tell the Dean about the permit to wear men's clothes</div><div class='opdesc'>I always knew this wasn't going to work. Let's finish it now.</div></div></div><% $(function () { $('#opDeanPermitAsk').click(function () { $('#opDeanPermitAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDeanPermitAsk'); s.fullHistory.push('op Dean Permit Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dean Permit Ask';});}); %> <% s.narration['Pseudopassage'].push('0-deanpermitask'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dean Permit Nod') == false ) { s.opport['Pseudopassage'].push('op Dean Permit Nod'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dean Permit Interrupt') == false ) { s.opport['Pseudopassage'].push('op Dean Permit Interrupt'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Petre interrupts me</span> just a moment after I start talking. 'These days you enter a cafe and the tables are full of country bumpkins, drinking coffee like people. You listen to them as they pretend to read the newspaper and explain how to fix all the problems of Europe. Then they go back home, taking a load of hay on their donkeys, and what do these wise ministers do? Slap their wives, spank their children and get drunk.'<div id='opDeanPermitNod' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Nod</div><div class='opdesc'></div></div></div><% $(function () { $('#opDeanPermitNod').click(function () { $('#opDeanPermitNod').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDeanPermitNod'); s.fullHistory.push('op Dean Permit Nod');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dean Permit Nod';});}); %> <% s.narration['Pseudopassage'].push('0-deanpermitnod'); %><% s.narration['Pseudopassage'].push('1-deanpermitspeech'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dean Permit Interrupt' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dean Permit Nod 2') == false ) { s.opport['Pseudopassage'].push('op Dean Permit Nod 2'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dean Permit Interrupt 2') == false ) { s.opport['Pseudopassage'].push('op Dean Permit Interrupt 2'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><div id='opDeanPermitInterrupt' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Interrupt</div><div class='opdesc'></div></div></div><% $(function () { $('#opDeanPermitInterrupt').click(function () { $('#opDeanPermitInterrupt').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDeanPermitInterrupt'); s.fullHistory.push('op Dean Permit Interrupt');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dean Permit Interrupt';});}); %> <% s.narration['Pseudopassage'].push('0-deanpermitinterrupt'); %><% s.narration['Pseudopassage'].push('1-deanpermitspeech'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dean Permit Nod' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dean Permit Nod 2') == false ) { s.opport['Pseudopassage'].push('op Dean Permit Nod 2'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Dean Permit Interrupt 2') == false ) { s.opport['Pseudopassage'].push('op Dean Permit Interrupt 2'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I nod.</span><span class='high-emphasis'>I try to raise an objection</span>, but he doesn't leave any room for me to speak.'All because of men like that friend of yours, Mr. Iuvens. An articulate speaker indeed!' he says. He wants to keep his sarcasm hidden for a later blow, but he can't. 'A talented man who could get very far in the right circumstances. Our own *petit* Robespierre, don't you think?' I start a protest but he merely raises his voice to drown mine. 'Robespierre surely didn't intend to have all those people killed. He just found out that his natural tendencies went further than he expected, in circumstances he didn't predict. What I mean, Lady Victor, is that you're friends with the man who may end up beheading you and your family, if our Canton were so stupid to let him. But fortunately we are not, neither your Father, nor your sisters.'<div id='opDeanPermitNod2' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Nod</div><div class='opdesc'></div></div></div><% $(function () { $('#opDeanPermitNod2').click(function () { $('#opDeanPermitNod2').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDeanPermitNod2'); s.fullHistory.push('op Dean Permit Nod 2');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dean Permit Nod 2';});}); %> <% s.narration['myself'].push('0-deanpermitnod2'); %><% s.narration['myself'].push('1-deanpermitspeech2'); %><% s.narration['myself'].push('10-permitsupporterfail'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dean Permit Interrupt 2' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><div id='opDeanPermitInterrupt2' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Interrupt</div><div class='opdesc'></div></div></div><% $(function () { $('#opDeanPermitInterrupt2').click(function () { $('#opDeanPermitInterrupt2').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDeanPermitInterrupt2'); s.fullHistory.push('op Dean Permit Interrupt 2');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Dean Permit Interrupt 2';});}); %> <% s.narration['myself'].push('0-deanpermitinterrupt2'); %><% s.narration['myself'].push('1-deanpermitspeech2'); %><% s.narration['myself'].push('10-permitsupporterfail'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Dean Permit Nod 2' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Again I nod</span> and stay silent.<span class='high-emphasis'>He's too authoritarian to allow interruptions.</span>.'It's only *you*,' he says at his most venomous, then he softens his tone, 'I am worried about.' <% if (_.contains(s.fullHistory, '0-singorangeblossomend')) { %><% print("<p>'I saw your exquisite figure a while ago, in the garden,' he says. 'You were soft to the enemies of our Canton, that half-French rabble that poisons our spirit.'</p>"); %><% }; %><% if (_.contains(s.fullHistory, '0-dinnerpavilionenter')) { %><% print("<p>With a sneer, he adds, 'And you didn't even show up for the formal dinner!'</p>"); %><% }; %> 'And your mother's sister, with her illness of the imagination. At this stage, I doubt there's any chance for you to reform. Humbleness is natural in women, and I led you out of it with my lessons. I wish I weren't guilty of that. All I can do now is pray.' And that's all. He's finished and further talk from me is, in his eyes, undeserved. So I say nothing. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><% s.narration['myself'].push('200-cousinnowhereask'); %><span class='high-emphasis'>I still need to convince</span> one of the supporters the Mayor told me. <% if (_.contains(s.fullHistory, '0-cousinnowhereaskfalse')) { %><% if ( _.contains(s.opport['myself'], 'op Cousin Nowhere Ask') == false ) { s.opport['myself'].push('op Cousin Nowhere Ask'); }; %><% }; %><% if (passage.name != "Nursery" && passage.name != "Map Cabinet" && passage.name != "Covenant Office" && passage.name != "Ionic Treasury" && passage.name != "River pier" && passage.name != "Pantry" && passage.name != "Laundry" && passage.name != "Portolan Gallery" && passage.name != "Northern Hallway" && passage.name != "Portrait Room" && passage.name != "Council Room") { %> <div id='opCousinNowhereAsk' class='oport story'><img class='optimg' src='img/opts/trousers.jpg'><div class='optext'><div class='optitle'>Ask a servant about the three men the Mayor told me about</div><div class='opdesc'>I need to talk to them about my permit to wear men's clothes.</div></div></div><% $(function () { $('#opCousinNowhereAsk').click(function () { $('#opCousinNowhereAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCousinNowhereAsk'); s.fullHistory.push('op Cousin Nowhere Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cousin Nowhere Ask';});}); %> <% s.narration['myself'].push('0-cousinnowhereaskfalse'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %> <% }; %><span class='high-emphasis'>I ask a couple of passing servants.</span> <% if (s.flagRemainingSupporters == 1) { %><% print("<p>There's one more man to ask for help. I'm not allowed to do things myself, so I need support from men. This tastes sour.</p>"); %><% }; %><% if (s.flagRemainingSupporters > 1) { %><% print("<p>There's some men to ask for help. I'm not allowed to do things myself, so I need support from men. This tastes sour.</p>"); %><% }; %><% if (_.contains(s.fullHistory, '0-permitcousinstart')) { %><% } else { %><% if (s.flag['flagcousinarrived'] == true) { %> What about my cousin, Marquis de Nil? <% if (s.characterList["Cousin de Nil"] == "Nowhere") { %>'I don't think he's available at the moment, madam,' he says. <% } else { %>'He arrived quite late. I don't know where he is now, I last saw him at...' he thinks a bit, '<%= s.characterList["Cousin de Nil"] %>.' <% }; %><% } else { %> What about my cousin, Marquis de Nil? They haven't seen him all night. This is inconvenient and strange. People of his status never miss tonight's dinner, unless they are travelling abroad. <% }; %><% }; %><% if (_.contains(s.fullHistory, '0-deanpermitstart')) { %><% } else { %> <% if (s.characterList["Dean Petre"] == "Nowhere") { %>And the hateful Petre, the Dean? 'I don't know where he may be now.' <% } else { %>And the hateful Petre, the Dean? 'Near the <%= s.characterList["Dean Petre"] %>, madam.' <% }; %><% }; %><% if (_.contains(s.fullHistory, '0-bishoppermitstart')) { %><% } else { %> <% if (s.characterList["Bishop Martiale"] == "Nowhere") { %>The Bishop. Perhaps the least difficult to convince. 'I don't think he's available at the moment, madam,' he says. <% } else { %>The Bishop. Perhaps the least difficult to convince. 'He must be now at the <%= s.characterList["Bishop Martiale"] %>' <% }; %><% }; %> <% if (_.contains(s.fullHistory, '0-cousinnowhereaskfalse')) { %><% } else { %>I try to fight the feeling of disgust that this whole permit affair gives me. Right now it's useless to be angry about men giving or denying me permission to wear clothes that I've been wearing anyway. Perhaps they could be right, after all? What would happen if poorer women could dress in men's attire? But it doesn't feel right that I should have the right but not them. <% }; %><% if (s.charLocationPriority['Cousin de Nil'] < 1000) { s.charLocationPriority['Cousin de Nil'] = 1000;s.characterList['Cousin de Nil'] = 'Grand Entrance Hall'; print(story.render('updateLocationList') );}; %> <% s.characterList["Cousin de Nil"] = "Grand Entrance Hall"; s.charLocationPriority["Cousin de Nil"] = 1000; %><% s.eventIgnore.push('ev Cousin Nowhere Ask'); %><% s.flag['flagcousinarrived'] = true; %><% if (_.contains(s.fullHistory, '0-cousinnowhereaskfalse')) { %><% s.narration['myself'].push('500-cousinarrivalwarning'); %><% }; %><% if (s.currentLocation == 'Grand Entrance Hall') { %><% print("<p><span class='high-emphasis'>The Grand Entrance Hall</span> is full of people and noise.</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>A servant comes up to me.</span> 'I think you were looking for Marquis de Nil. He's just arrived at the Palace. He's in the Entrance Hall now.'</p>"); %><% print("<p>Finally!</p>"); %><% }; %><span class='high-emphasis'>One moment!</span> Finally, there he is! One of the people I needed to see tonight: my cousin Fulgen, Marquis de Nil. One of the men whose support will convince the Mayor of Marina to issue the permit I need. And probably, the easiest to get. <% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %><% if ( _.contains(s.opport['Cousin de Nil'], 'op Cousin Permit Start') == false ) { s.opport['Cousin de Nil'].push('op Cousin Permit Start'); }; %><div id='opCousinPermitStart' class='oport story char'><img class='optimg' src='img/opts/trousers.jpg'><div class='optext'><div class='optitle'>Greet Cousin de Nil</div><div class='opdesc'>I have to tell him about the Mayor's condition.</div></div></div><% $(function () { $('#opCousinPermitStart').click(function () { $('#opCousinPermitStart').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opCousinPermitStart'); s.fullHistory.push('op Cousin Permit Start');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Cousin Permit Start';});}); %> <% s.flagRemainingSupporters = s.flagRemainingSupporters-1; %> <% if (s.flagRemainingSupporters == 0) { %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %><% }; %><% if ( _.contains(s.opport['Cousin de Nil'], 'op Permit Cousin Follow') == false ) { s.opport['Cousin de Nil'].push('op Permit Cousin Follow'); }; %><% s.narration['myself'].push('0-permitcousinstart'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Fulgen is a little older than Clara</span> and a little younger than Gloria. He's the oldest son of my mother's oldest brother and he inherited the title. He remains unmarried. When I was fourteen, he told me we would marry when I were old enough. Sometimes I remind him of that to tease him. But I don't think telling him that we are now old enough to marry would make him more sympathetic to my goal. As I come close to him, he suddenly walks away. Did he see me? I don't think so... but I'm not sure. <% s.charLocationPriority['Cousin de Nil'] = 0; %><div id='opPermitCousinFollow' class='oport story char'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Follow Fulgen and talk to him</div><div class='opdesc'>Avoiding me? Why could that be? </div></div></div><% $(function () { $('#opPermitCousinFollow').click(function () { $('#opPermitCousinFollow').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitCousinFollow'); s.fullHistory.push('op Permit Cousin Follow');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Cousin Follow';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Cousin Polite') == false ) { s.opport['Pseudopassage'].push('op Permit Cousin Polite'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Cousin Direct') == false ) { s.opport['Pseudopassage'].push('op Permit Cousin Direct'); }; %><% s.narration['Pseudopassage'].push('0-permitcousinfollow'); %> <% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>Why could cousin de Nil avoid me?</span> I have a sudden hunch. I sense strings, unseen and unheard, through the rooms in this Palace, drawing some people together to share whispers. Invisible leashes. I think of the hand that holds them. It is, I see, a man's hand, with rings in his fingers. But whose hand is it? Father is a man who pulls strings, but he always tries to do it in the open, out of principle, as he once said to Cesarel Iuvens. And Iuvens answered: visible power are not how real power is. 'Fulgen!' I say, 'what string is pulling you?' 'Dear cousin,' he says, turning to give me a proper greeting. But then he says nothing else.<div id='opPermitCousinPolite' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Be patient</div><div class='opdesc'>Make polite conversation.</div></div></div><% $(function () { $('#opPermitCousinPolite').click(function () { $('#opPermitCousinPolite').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitCousinPolite'); s.fullHistory.push('op Permit Cousin Polite');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Cousin Polite';});}); %> <% s.narration['Pseudopassage'].push('0-permitcousinpolite'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>What about his estate,</span> I ask Fulgen. Nothing of note. And his plan of travelling to Rome and get an audience with the Pope? The plan is progressing and he expects to do the trip next year. He's dry, serious and not talkative. Not the regular Fulgen. What's happening? What does he think about this Burburum Day? Same as all. He's restless. I better stop wasting time.<div id='opPermitCousinDirect' class='oport story'><img class='optimg' src='img/opts/trousers.jpg'><div class='optext'><div class='optitle'>Be direct</div><div class='opdesc'>Tell him about the Mayor's condition.</div></div></div><% $(function () { $('#opPermitCousinDirect').click(function () { $('#opPermitCousinDirect').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitCousinDirect'); s.fullHistory.push('op Permit Cousin Direct');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Cousin Direct';});}); %> <% s.narration['Pseudopassage'].push('0-permitcousindirect'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Permit Cousin Polite' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Cousin Let Go') == false ) { s.opport['Pseudopassage'].push('op Permit Cousin Let Go'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Cousin Insist') == false ) { s.opport['Pseudopassage'].push('op Permit Cousin Insist'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>With Fulgen,</span> better be flowery. 'Dear cousin,' I say, 'there's an affair in which your support could be most beneficial to me, besides being noble and valuable for the cause of knowledge in our Canton, and for the conservation of your beautiful estate.' If this is not grandiloquent enough to catch his attention, then nothing will be. 'I will do anything in my power to help you,' says Fulgen, 'but can we speak about it some other moment? There are some affairs I must take care of.'<div id='opPermitCousinInsist' class='oport story'><img class='optimg' src='img/opts/eyes.jpg'><div class='optext'><div class='optitle'>Insist</div><div class='opdesc'>Neither is mine.</div></div></div><% $(function () { $('#opPermitCousinInsist').click(function () { $('#opPermitCousinInsist').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitCousinInsist'); s.fullHistory.push('op Permit Cousin Insist');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Cousin Insist';});}); %> <% s.narration['Pseudopassage'].push('0-permitcousinsist'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Permit Cousin Let Go' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Cousin Run') == false ) { s.opport['Pseudopassage'].push('op Permit Cousin Run'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Cousin Admit') == false ) { s.opport['Pseudopassage'].push('op Permit Cousin Admit'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Don't I have the right</span> to be heard? They turn their backs even on noble women like me. This is infuriating. I won't have it. 'I need to talk to you now,' I say, raising my chin, hardening my voice, looking without blinking. I try to think of some reason that sounds really pressing. 'My distress is piercing and it won't wait.' His face changes. 'Are you worried about your distress? I'm worried about hundreds. Let's discuss it on Sunday,' he says, and moves away.<div id='opPermitCousinRun' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Follow him</div><div class='opdesc'>Neither is mine.</div></div></div><% $(function () { $('#opPermitCousinRun').click(function () { $('#opPermitCousinRun').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitCousinRun'); s.fullHistory.push('op Permit Cousin Run');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Cousin Run';});}); %> <% s.narration['myself'].push('0-permitcousinrun'); %><% s.narration['Pseudopassage'].push('1-permitcousinfailure'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Permit Cousin Admit' ); %><% s.narration['myself'].push('10-permitsupporterfail'); %><% if ( _.contains(s.opport['Clara'], 'op Clara Talk Currents') == false ) { s.opport['Clara'].push('op Clara Talk Currents'); }; %><% if ( _.contains(s.opport['Father'], 'op Father Talk Currents') == false ) { s.opport['Father'].push('op Father Talk Currents'); }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I run after Fulgen.</span> What else can I do? Swallow his authoritarian contempt? How can anyone? 'Wait!' I cry. 'Stay in your place!' he says, barely turning his head to me.'You are nothing but a spinster without real nobility!' I stop and watch as Fulgen disappears from sight. My loving cousin. Shy, gentle and unconcerned. And my best chance of convincing the Mayor.I think about the first time I wore trousers at the forest: the immediate freedom for the legs, the gradual realization that I didn't need to worry so much about ripping or staining the clothes, the peculiar change of feelings towards my surroundings, becoming more and more confident. I don't want to return to the forest with a dress. Ever.<div id='opPermitCousinAdmit' class='oport story'><img class='optimg' src='img/opts/thumb_down.jpg'><div class='optext'><div class='optitle'>Admit defeat</div><div class='opdesc'></div></div></div><% $(function () { $('#opPermitCousinAdmit').click(function () { $('#opPermitCousinAdmit').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitCousinAdmit'); s.fullHistory.push('op Permit Cousin Admit');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Cousin Admit';});}); %> <% s.narration[s.returnRef].push('0-permitcousinadmitdefeat'); %><% s.narration['Pseudopassage'].push('1-permitcousinfailure'); %><% s.narration['myself'].push('10-permitsupporterfail'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Permit Cousin Run' ); %><% if ( _.contains(s.opport['Clara'], 'op Clara Talk Currents') == false ) { s.opport['Clara'].push('op Clara Talk Currents'); }; %><% if ( _.contains(s.opport['Father'], 'op Father Talk Currents') == false ) { s.opport['Father'].push('op Father Talk Currents'); }; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I better not pressure Fulgen now.</span> I stop and watch as Fulgen disappears from sight. My loving cousin. Shy, gentle and unconcerned. He's not himself tonight... and I don't think it's because of me. Again I sense a current. Perhaps I should tell Father about this, or Clara.<div id='opPermitCousinLetGo' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Let him go</div><div class='opdesc'>Patience isn't one of Fulgen's virtues. He won't listen.</div></div></div><% $(function () { $('#opPermitCousinLetGo').click(function () { $('#opPermitCousinLetGo').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitCousinLetGo'); s.fullHistory.push('op Permit Cousin Let Go');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Cousin Let Go';});}); %> <% s.narration['Pseudopassage'].push('0-permitcousinletgo'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Permit Cousin Insist' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Permit Cousin Thanks') == false ) { s.opport['Pseudopassage'].push('op Permit Cousin Thanks'); }; %><% delete s.reminders['threeconditions']; %><% s.log.push("I got support for wearing trousers."); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>If he is in a hurry,</span> he'll be nervous, distracted and irritable. He won't listen. I bow discreetly and affect a soft, feminine tone of voice. 'Promise me you will talk to me about this later.' Glimmers of disparate expressions cross his face but none settles. 'What is your worry?' His voice is leaden. This lack of expressiveness and this haste are nothing like the usual Fulgen. He already knows I've been spending time in Old Shipbuilder's Forest to study natural history. 'In one sentence, I want to be allowed to wear trousers when I am in the woods.' I explain how I could take better care of the forest, which is a part of his estate. He's restless at first, but after a while he sighs and laughs quietly. 'What?' I ask, but he gestures me to continue. He looks more at ease now. Finally I tell him about the Mayor and the support he wants. 'You have my support,' he says, and my heart soars.<div id='opPermitCousinThanks' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Thank Fulgen</div><div class='opdesc'></div></div></div><% $(function () { $('#opPermitCousinThanks').click(function () { $('#opPermitCousinThanks').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitCousinThanks'); s.fullHistory.push('op Permit Cousin Thanks');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Cousin Thanks';});}); %> <% s.narration[s.returnRef].push('0-permitcousinthanks'); %><% targetTurn = s.turn+3;targetEvent = 'ev Permit Mayor Victory';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Bishop Martiale'] = _.without( s.opport['Bishop Martiale'] , 'op Bishop Permit Start' ); %><% s.opport['Dean Petre'] = _.without( s.opport['Dean Petre'] , 'op Dean Permit Start' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %> <% s.narration['Father'] = _.without( s.narration['Father'] , '500-fatherafterbishop' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Bishop Father Refuse' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Bishop Father Medium' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Bishop Father Cheap' ); %><% s.opport['Father'] = _.without( s.opport['Father'] , 'op Bishop Father Expensive' ); %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I start to thank Fulgen,</span> but it's obvious he isn't listening. I'm missing things he's saying. '... Clara should do the same as you and find something to stay out of politics.' 'She *is* out,' I answer. 'She shouldn't be doing her salon. And you would do well to stay out of it, if you want the Marina council to lend their ears to those forest investigations of yours,' he threatens, and it freezes me. I don't know what's happening. I sense the invisible leash, but I can't see it. I can warn Clara, but I must ensure my permit above all else. 'You know I always follow your advice.' 'I'm glad about that. You can tell the Mayor that you have my support,' he says, and after a few more platitudes he's gone.<% s.narration['myself'].push('100-mayor is there victory op'); %><span class='high-emphasis'>The Marina Mayor</span> is there! <% if (s.currentLocation == 'Grand Entrance Hall') { %><% if ( _.contains(s.opport['Grand Entrance Hall'], 'op Permit Mayor Victory') == false ) { s.opport['Grand Entrance Hall'].push('op Permit Mayor Victory'); }; %><% }; %> <% if (s.currentLocation == 'Marble Gallery, West') { %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Permit Mayor Victory') == false ) { s.opport['Marble Gallery, West'].push('op Permit Mayor Victory'); }; %><% }; %> <% if (s.currentLocation == 'Marble Gallery, East') { %><% if ( _.contains(s.opport['Marble Gallery, East'], 'op Permit Mayor Victory') == false ) { s.opport['Marble Gallery, East'].push('op Permit Mayor Victory'); }; %><% }; %> <% if (s.currentLocation == 'Garden Stairs') { %><% if ( _.contains(s.opport['Garden Stairs'], 'op Permit Mayor Victory') == false ) { s.opport['Garden Stairs'].push('op Permit Mayor Victory'); }; %><% }; %> <% if (s.currentLocation == 'Fountain') { %><% if ( _.contains(s.opport['Fountain'], 'op Permit Mayor Victory') == false ) { s.opport['Fountain'].push('op Permit Mayor Victory'); }; %><% }; %> <% if (s.currentLocation == 'Library') { %><% if ( _.contains(s.opport['Library'], 'op Permit Mayor Victory') == false ) { s.opport['Library'].push('op Permit Mayor Victory'); }; %><% }; %> <% if (s.currentLocation == 'Main Hallway') { %><% if ( _.contains(s.opport['Main Hallway'], 'op Permit Mayor Victory') == false ) { s.opport['Main Hallway'].push('op Permit Mayor Victory'); }; %><% }; %> <% if (s.currentLocation == 'Blue Pavilion') { %><% if ( _.contains(s.opport['Blue Pavilion'], 'op Permit Mayor Victory') == false ) { s.opport['Blue Pavilion'].push('op Permit Mayor Victory'); }; %><% }; %><div id='opPermitMayorVictory' class='oport story'><img class='optimg' src='img/opts/trousers.jpg'><div class='optext'><div class='optitle'>Tell Mayor Proctor that I have the support he requested</div><div class='opdesc'>I better speed this up as much as I can.</div></div></div><% $(function () { $('#opPermitMayorVictory').click(function () { $('#opPermitMayorVictory').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPermitMayorVictory'); s.fullHistory.push('op Permit Mayor Victory');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Permit Mayor Victory';});}); %> <% s.narration['myself'].push('0-permitmayorvictory'); %><% s.narration['Bishop Martiale'] = _.without( s.narration['Bishop Martiale'] , '100-bishoppermitprevious' ); %><% s.narration['Dean Petre'] = _.without( s.narration['Dean Petre'] , '100-deanpermitprevious' ); %><% s.narration['Cousin de Nil'] = _.without( s.narration['Cousin de Nil'] , '100-cousinpermitprevious' ); %><% s.opport['Bishop Martiale'] = _.without( s.opport['Bishop Martiale'] , 'op Bishop Permit Start' ); %><% s.opport['Dean Petre'] = _.without( s.opport['Dean Petre'] , 'op Dean Permit Start' ); %><% s.opport['Cousin de Nil'] = _.without( s.opport['Cousin de Nil'] , 'op Cousin Permit Start' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %><% s.eventIgnore.push('ev Cousin Nowhere Ask'); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %><% delete s.reminders['threeconditions']; %><% s.log.push("I got support for wearing trousers."); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The Mayor greets me with surprise</span> and a confused look. Perhaps he didn't expect me to take care of this affair right away? Perhaps he didn't take me seriously? 'I'm glad that you have such notable support for your goal,' he says. 'I will consider this matter most seriously in two or three weeks,' he adds, taking my hand between his, while something like a fist tightens behind my ribs. Three weeks? *Consider?* I watch him leave, repeating to myself: 'Consider.' I still depend on his *consideration*. Then suddenly, behind the disappointment, some thoughts click together and an idea emerges, an idea that, I realize, I had been thinking all the time, I just wasn't hearing myself. I will wear the clothes I want with or without permission.<% if (s.flagRemainingSupporters == 2) { %><% print("<p><span class='high-emphasis'>So one man</span> has denied his help with my permit. But he isn't the last man I can ask for help. The Mayor gave me three names. Approval from just one of them will be enough to secure his support.</p>"); %><% } else { %><% if (s.flagRemainingSupporters == 1) { %><% print("<p><span class='high-emphasis'>Another man</span> doesn't want me to wear trousers. There's still one last man the Mayor named. His approval would be enough to secure the Mayor's support.</p>"); %><% } else { %><% if (s.flagRemainingSupporters == 0) { %><% print("<p><span class='high-emphasis'>So this is the end.</span> Any of three men were enough for my petition, but not even one will support me. What else can I do? I feel like I'm sinking. Permissions, it's always permissions.</p>"); %><% print("<p>And then my heart soars.</p>"); %><% print("<p>I'll do it without permission. Without a permit.</p>"); %><% print("<p>Let's see what happens when they come after me.</p>"); %><% print("<p>I will do what I want to do and what I need to do.</p>"); %><% delete s.reminders['threeconditions']; %><% s.log.push("I didn't get support to wear trousers, and I decided that I would wear them anyway."); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Cousin Nowhere Ask' ); %><% if ( _.contains(s.opport['Clara'], 'op tell clara that irene will wear trousers without a permit') == false ) { s.opport['Clara'].push('op tell clara that irene will wear trousers without a permit'); }; %><% }; %><% }; %><% }; %><% s.charLocationPriority['Bishop Martiale'] = 0; %><% s.charLocationPriority['Cousin de Nil'] = 0; %><% s.charLocationPriority['Dean Petre'] = 0; %> <% if (s.charLocationPriority['Bishop Martiale'] < 1) { s.charLocationPriority['Bishop Martiale'] = 1;s.characterList['Bishop Martiale'] = 'Marble Gallery, East'; print(story.render('updateLocationList') );}; %> <% s.characterList["Bishop Martiale"] = "Marble Gallery, East"; s.charLocationPriority["Bishop Martiale"] = 1; %><% if (s.charLocationPriority['Dean Petre'] < 1) { s.charLocationPriority['Dean Petre'] = 1;s.characterList['Dean Petre'] = 'River pier'; print(story.render('updateLocationList') );}; %> <% s.characterList["Dean Petre"] = "River pier"; s.charLocationPriority["Dean Petre"] = 1; %> <% if (_.contains(s.fullHistory, '0-mayorcondition')) { %><% if ( _.contains(s.opport['myself'], 'op Cousin Nowhere Ask') == false ) { s.opport['myself'].push('op Cousin Nowhere Ask'); }; %><% }; %><% if (_.contains(s.fullHistory, '0-marinamayordirectsister')) { %><% if ( _.contains(s.opport['myself'], 'op Cousin Nowhere Ask') == false ) { s.opport['myself'].push('op Cousin Nowhere Ask'); }; %><% }; %><div id='optellclarathatirenewillweartrouserswithoutapermit' class='oport story ambient'><img class='optimg' src='img/opts/fight.jpg'><div class='optext'><div class='optitle'>Tell Clara that I will wear trousers without a permit</div><div class='opdesc'>I will challenge the rules.</div></div></div><% $(function () { $('#optellclarathatirenewillweartrouserswithoutapermit').click(function () { $('#optellclarathatirenewillweartrouserswithoutapermit').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('optellclarathatirenewillweartrouserswithoutapermit'); s.fullHistory.push('op tell clara that irene will wear trousers without a permit');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op tell clara that irene will wear trousers without a permit';});}); %> <% s.narration[passage.name].push('10-tell clara that irene will wear trousers without a permit'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I have taken a decision,'</span> I tell my sister. 'They won't give me a permit to wear trousers and I'm not concerned. I will wear the clothes I choose, either if I have the permit or not.' Clara looks at me angrily, but then she sees something. Fire in my eyes? She shrinks a little. 'Please don't put us in risk,' she says, softly. 'Until when must I put everyone else before me?' I say. I didn't expect her hostility. 'As if you've ever done that,' Clara answers. 'What makes a person is action, not thoughts. You are your ugly actions.'<div id='opDiningtoKitchen' class='oport movement'><img class='optimg' src='img/opts/kitchen.jpg'><div class='optext'><div class='optitle'> Down to the kitchen</div><div class='opdesc'>A small and unassuming door leads to the realm of the basement.</div></div></div><% $(function () { $('#opDiningtoKitchen').click(function () { $('#opDiningtoKitchen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDiningtoKitchen'); s.fullHistory.push('op Dining to Kitchen'); %> <% function gotDelay() {story.show('Kitchen');};setTimeout(gotDelay,110);}); }); %><div id='opEntrancetoPortolan' class='oport movement'><img class='optimg' src='img/opts/portolan.jpg'><div class='optext'><div class='optitle'> Climb the stairs</div><div class='opdesc'>To the Portolan Gallery, and further upstairs, to the first floor.</div></div></div><% $(function () { $('#opEntrancetoPortolan').click(function () { $('#opEntrancetoPortolan').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opEntrancetoPortolan'); s.fullHistory.push('op Entrance to Portolan'); %> <% function gotDelay() {story.show('Portolan Gallery');};setTimeout(gotDelay,110);}); }); %><div id='opGardentoGallery' class='oport movement'><img class='optimg' src='img/opts/west_gallery.jpg'><div class='optext'><div class='optitle'> Upstairs to the Marble Gallery</div><div class='opdesc'>Return inside.</div></div></div><% $(function () { $('#opGardentoGallery').click(function () { $('#opGardentoGallery').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opGardentoGallery'); s.fullHistory.push('op Garden to Gallery'); %> <% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><div id='opKitchentoDining' class='oport movement'><img class='optimg' src='img/opts/dining.jpg'><div class='optext'><div class='optitle'> Upstairs</div><div class='opdesc'>The Dining Hall is directly above the kitchen.</div></div></div><% $(function () { $('#opKitchentoDining').click(function () { $('#opKitchentoDining').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opKitchentoDining'); s.fullHistory.push('op Kitchen to Dining'); %> <% function gotDelay() {story.show('Dining Hall');};setTimeout(gotDelay,110);}); }); %><div id='opPortolantoEntrance' class='oport movement'><img class='optimg' src='img/opts/entrance.jpg'><div class='optext'><div class='optitle'> Downstairs</div><div class='opdesc'>Go back to the Grand Entrance Hall.</div></div></div><% $(function () { $('#opPortolantoEntrance').click(function () { $('#opPortolantoEntrance').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPortolantoEntrance'); s.fullHistory.push('op Portolan to Entrance'); %> <% function gotDelay() {story.show('Grand Entrance Hall');};setTimeout(gotDelay,110);}); }); %><div id='opPortolantoMain' class='oport movement'><img class='optimg' src='img/opts/mainhallway.jpg'><div class='optext'><div class='optitle'> Upstairs</div><div class='opdesc'>To the first floor.</div></div></div><% $(function () { $('#opPortolantoMain').click(function () { $('#opPortolantoMain').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opPortolantoMain'); s.fullHistory.push('op Portolan to Main'); %> <% function gotDelay() {story.show('Main Hallway');};setTimeout(gotDelay,110);}); }); %><div id='opMaintoPortolan' class='oport movement'><img class='optimg' src='img/opts/portolan.jpg'><div class='optext'><div class='optitle'> Downstairs</div><div class='opdesc'>Down to the Portolan Gallery.</div></div></div><% $(function () { $('#opMaintoPortolan').click(function () { $('#opMaintoPortolan').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMaintoPortolan'); s.fullHistory.push('op Main to Portolan'); %> <% function gotDelay() {story.show('Portolan Gallery');};setTimeout(gotDelay,110);}); }); %><div id='opMusicinKitchenAskMood' class='oport story'><img class='optimg' src='img/opts/laugh.jpg'><div class='optext'><div class='optitle'>Talk to one of the cooks</div><div class='opdesc'>I know Grigor. He is so... Grigorian. Enjoyably.</div></div></div><% $(function () { $('#opMusicinKitchenAskMood').click(function () { $('#opMusicinKitchenAskMood').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMusicinKitchenAskMood'); s.fullHistory.push('op Music in Kitchen Ask Mood');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Music in Kitchen Ask Mood';});}); %> <% s.narration['Kitchen'].push('1-kitchenaskmood'); %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Music in Kitchen Ask Fiddler') == false ) { s.opport['Marble Gallery, West'].push('op Music in Kitchen Ask Fiddler'); }; %><% s.eventIgnore.push('ev irene wonders avoiding people'); %><% s.narration['myself'] = _.without( s.narration['myself'] , '500-irene wonders avoiding people' ); %><% s.opport['Kitchen'] = _.without( s.opport['Kitchen'] , 'op Music in Kitchen Ask Mood' ); %><% function gotDelay() {story.show('Kitchen');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'A lighter mood?,'</span> Grigor asks me. 'Should we light more candles? I am not sure that would fulfil your request.' I suggest that some music could make the kitchen merrier, and that I could ask one of the musicians in the Gallery to come down. 'Well, that is an odd idea. How can a fiddler make light with his violin?' He is so genuinely puzzled that it is difficult to repress a chuckle. In fact, I do not repress it. <% s.dogloriaperson = 'Grigor'; %> <% print( story.render( "gloria takes companion away") ); %><div id='opMusicinKitchenAskFiddler' class='oport story'><img class='optimg' src='img/opts/kitchen.jpg'><div class='optext'><div class='optitle'>Ask a fiddler to go to the kitchen</div><div class='opdesc'>I think this would be an improvement and they would work better.</div></div></div><% $(function () { $('#opMusicinKitchenAskFiddler').click(function () { $('#opMusicinKitchenAskFiddler').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMusicinKitchenAskFiddler'); s.fullHistory.push('op Music in Kitchen Ask Fiddler');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Music in Kitchen Ask Fiddler';});}); %> <% s.narration['Marble Gallery, West'].push('0-sendfiddlertokitchen'); %><% s.narration['Kitchen'].push('0-fightinkitchenmusic'); %><% if ( _.contains(s.opport['Kitchen'], 'op Music in Kitchen Fight Ask') == false ) { s.opport['Kitchen'].push('op Music in Kitchen Fight Ask'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*7 ));targetEvent = 'ev Music in Kitchen Fight Replace';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Dealing with spiritless people</span> is exhausting. And when the spiritless is a player who is in charge of lifting our spirits and making our feet light, dealing with him becomes worse than annoying. He has a ridiculous fear of punishment. It's hard to convince him to go down to the kitchen and play a couple of tunes. But there he goes. With my promise of payment, and yet he seems to shake. Spiritless! I have to look in the kitchen later.<span class='high-emphasis'>As I enter the kitchen</span>, riot surrounds me! 'You have ruined me!,' I hear just before a plate crashes. A wave of laughter is the first answer to that, and then another voice: 'You said it was for us. What was I expected to do with it? Serve it raw?' That is Grigor. What is happening here. Then I see the neck of a violin sticking out of a pot. A steaming pot, on a stove.<% s.narration['Kitchen'] = _.without( s.narration['Kitchen'] , '0-fightinkitchenmusic' ); %><% s.opport['Kitchen'] = _.without( s.opport['Kitchen'] , 'op Music in Kitchen Fight Ask' ); %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op musician in gallery tells about fiddler situation') == false ) { s.opport['Marble Gallery, West'].push('op musician in gallery tells about fiddler situation'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*7 ));targetEvent = 'evn musician in gallery tells about fiddler remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op musician in gallery tells about fiddler situation' ); %><div id='opMusicinKitchenFightAsk' class='oport story'><img class='optimg' src='img/opts/kitchen.jpg'><div class='optext'><div class='optitle'>Try to solve the fiddler situation</div><div class='opdesc'>So Grigor boiled his violin. Maybe I should ask what I can do.</div></div></div><% $(function () { $('#opMusicinKitchenFightAsk').click(function () { $('#opMusicinKitchenFightAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMusicinKitchenFightAsk'); s.fullHistory.push('op Music in Kitchen Fight Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Music in Kitchen Fight Ask';});}); %> <% if ( _.contains(s.opport['Marble Gallery, West'], 'op Truth about Fiddler') == false ) { s.opport['Marble Gallery, West'].push('op Truth about Fiddler'); }; %><% if ( _.contains(s.opport['Nursery'], 'op Music in Kitchen Iul Violin') == false ) { s.opport['Nursery'].push('op Music in Kitchen Iul Violin'); }; %><% s.narration['Kitchen'].push('0-fightinkitchenask'); %><% s.reminders['fiddler'] = "I have been asked to get a new violin for the fiddler."; %><% s.log.push("I got a fiddler into a big trouble."); %><% targetTurn = Math.floor( s.timeSpeed*35 );targetEvent = 'ev Remove the opportunity to fix the fiddler problem';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.eventIgnore.push('ev Music in Kitchen Fight Replace'); %><% function gotDelay() {story.show('Kitchen');};setTimeout(gotDelay,110);}); }); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Truth about Fiddler' ); %><% s.opport['Nursery'] = _.without( s.opport['Nursery'] , 'op Music in Kitchen Iul Violin' ); %><span class='high-emphasis'>'Madam, it was you</span> who told me to go down! I am ruined without your help!' Grigor is talking at the same time. 'First light. Then music. Cooking, that I know. Why not ask me to cook?' I burst into laughter. And then I promise to get another violin. Now, who can have a violin here? I remember that Eva Severin, a daughter of the Premier, is studying it. She must be upstairs in the Nursery.<div id='opmusicianingallerytellsaboutfiddlersituation' class='oport story'><img class='optimg' src='img/opts/violin.jpg'><div class='optext'><div class='optitle'>Talk to a fiddler</div><div class='opdesc'>He seems desolate. The one I sent to the kitchen.</div></div></div><% $(function () { $('#opmusicianingallerytellsaboutfiddlersituation').click(function () { $('#opmusicianingallerytellsaboutfiddlersituation').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opmusicianingallerytellsaboutfiddlersituation'); s.fullHistory.push('op musician in gallery tells about fiddler situation');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op musician in gallery tells about fiddler situation';});}); %> <% s.narration['Marble Gallery, West'].push('10-musician in gallery tells about fiddler situation'); %><% if ( _.contains(s.opport['Nursery'], 'op Music in Kitchen Iul Violin') == false ) { s.opport['Nursery'].push('op Music in Kitchen Iul Violin'); }; %><% s.reminders['fiddler'] = "I have been asked to get a new violin for the fiddler."; %><% targetTurn = Math.floor( s.timeSpeed*35 );targetEvent = 'ev Remove the opportunity to fix the fiddler problem';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The violin player</span> is on the verge of tears. 'Madam, it was you!' he cries when he sees me. 'I am ruined without your help!' 'Ssshh!' I don't want anyone to hear him. 'What's the reason?' The reason, he tells me, is that Grigor boiled his violin the moment he appeared in the kitchen. A violin in a steaming pot. I try to suppress a giggle. And then I promise to get another violin. Now, who can have a violin here? I remember that Eva Severin, a daughter of the Premier, is studying it. She must be upstairs in the Nursery. <% targetTurn = s.turn+1;targetEvent = 'ev add fiddler truth opport';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Truth about Fiddler') == false ) { s.opport['Marble Gallery, West'].push('op Truth about Fiddler'); }; %><div id='opTruthaboutFiddler' class='oport story ambient'><img class='optimg' src='img/opts/violin.jpg'><div class='optext'><div class='optitle'>One of the musicians is trying to draw my attention</div><div class='opdesc'>His face is serious. What if I find out what he wants?</div></div></div><% $(function () { $('#opTruthaboutFiddler').click(function () { $('#opTruthaboutFiddler').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opTruthaboutFiddler'); s.fullHistory.push('op Truth about Fiddler');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Truth about Fiddler';});}); %> <% s.narration['Marble Gallery, West'].push('0-musiciantalksaboutfiddler'); %><% s.log.push("I was told the truth about the fiddler."); %><% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Madam, you have to get my friend a violin</span>. I know you, you are good, not like others no.' I feel worried and angry. 'Why is it my business?' 'He can do nothing but play the violin no. Without violin he dies. Or has to leave the Canton. Out of the Canton he is not *safe*.' My heart sinks as I feel that I know what he is going to say next. 'Why is that?,' I whisper. 'We not from here. If he ever goes back... When French came, his family did not have the right sympathies. He came here for refuge when we kicked the French out. Understand?' Yes, I *understand.* <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opMusicinKitchenIulViolin' class='oport story'><img class='optimg' src='img/opts/violin.jpg'><div class='optext'><div class='optitle'>Iul Severin is here</div><div class='opdesc'>I can ask about the violin his sister plays. She isn't here.</div></div></div><% $(function () { $('#opMusicinKitchenIulViolin').click(function () { $('#opMusicinKitchenIulViolin').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opMusicinKitchenIulViolin'); s.fullHistory.push('op Music in Kitchen Iul Violin');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Music in Kitchen Iul Violin';});}); %> <% s.narration['Nursery'].push('0-askiulaboutviolin'); %><% if ( _.contains(s.opport['myself'], 'op Iul Note Read') == false ) { s.opport['myself'].push('op Iul Note Read'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*12 ));targetEvent = 'ev Iul Note Forget Rel';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*12 );targetEvent = 'ev Iulia is in garden for note';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*34 );targetEvent = 'ev Iul Note Forget Abs';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.reminders['iulnote'] = "I have a note from Iul Severin to his sister (in the garden, at eight)."; %> <% function gotDelay() {story.show('Nursery');};setTimeout(gotDelay,110);}); }); %><% s.narration['Fountain'].push('500-iulnoteiuliahere'); %><span class='high-emphasis'>'Eva can't leave her room,'</span> Iul says. He's eleven or twelve and looks unhealthy, but his voice already has the same overtones of authority as his father's. Not to be trusted. 'It is so boring here. They have forbidden us to participate. Except Iulia.' His expression transforms when I mention his sister's violin. He quickly scribbles a note. 'Give it to my sister Iulia and I promise you the violin. At eight in the garden.' 'I was asking your sister Eva, not you.' 'Do you want my father to get angrier to your father, *lady* Victor? That will happen if you open that door to talk to Eva.' I take the note. Impertinent brat! Angrier?<% s.narration['myself'].push('10000-iulnoteforgetrel'); %><span class='high-emphasis'>I remember something!</span> The boy's note! Almost an hour has passed since I got the note from Iul Severin, but I got distracted. It must be too late for it now. I rip the paper and throw the pieces to the ground. I'm sorry for the fiddler, but that wasn't my fault, was it? <% s.opport['myself'] = _.without( s.opport['myself'] , 'op Iul Note Read' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Iul Note Iulia' ); %><% s.opport['Premier'] = _.without( s.opport['Premier'] , 'op Iul Note Premier' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Iul Note Iulia' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-iulnoteiuliahere' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '200-iulnotemotherhere' ); %><% s.narration['Premier'] = _.without( s.narration['Premier'] , '200-iulnotepremierhere' ); %><% s.narration['myself'] = _.without( s.narration['myself'] , '10000-iulnoteforgetabs' ); %><% s.eventIgnore.push('ev Iul Note Forget Abs'); %><% delete s.reminders['iulnote']; %><% s.narration['myself'].push('10000-iulnoteforgetabs'); %><span class='high-emphasis'>Time for dinner</span> means I should forget about all the child's note to his sister. I have to go to the Dining Hall now. I rip the paper and throw the pieces to the ground. I'm sorry for the fiddler. But that wasn't my fault, was it? <% s.opport['myself'] = _.without( s.opport['myself'] , 'op Iul Note Read' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Iul Note Iulia' ); %><% s.opport['Premier'] = _.without( s.opport['Premier'] , 'op Iul Note Premier' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Iul Note Iulia' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-iulnoteiuliahere' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '200-iulnotemotherhere' ); %><% s.narration['Premier'] = _.without( s.narration['Premier'] , '200-iulnotepremierhere' ); %><% s.narration['myself'] = _.without( s.narration['myself'] , '10000-iulnoteforgetrel' ); %><% s.eventIgnore.push('ev Iul Note Forget Rel'); %><% delete s.reminders['iulnote']; %><span class='high-emphasis'>I see Iulia Severin</span> is here, in case I decide to give her Iul's note, as he asked. <% if ( _.contains(s.opport['Fountain'], 'op Iul Note Iulia') == false ) { s.opport['Fountain'].push('op Iul Note Iulia'); }; %><% $('body').addClass('hideambientops'); %><div id='opIulNoteRead' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Read Iul's note</div><div class='opdesc'>I shouldn't transmit a child's message without supervising it, should I?</div></div></div><% $(function () { $('#opIulNoteRead').click(function () { $('#opIulNoteRead').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulNoteRead'); s.fullHistory.push('op Iul Note Read');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Note Read';});}); %> <% s.narration['myself'].push('0-iulnoteread'); %><% s.narration['Marble Gallery, East'].push('200-iulnotemotherhere'); %><% s.narration['Premier'].push('200-iulnotepremierhere'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>As adult,</span> I have the obligation of reading the message. *Ring meeting tonight. Need hearing aid. Steal Old Mec's and bring.* I feel neither amused nor outraged. Old Mec is a peaceful old soldier, deaf due to a French mortar. He's also missing half a leg, but all he ever complains about is his hardness of hearing. Father suggested that the Canton officially gifted him a hearing aid, and now he always sits near musicians, trying to hear through an elegant conical-shaped instrument. That hearing aid they want to steal. I have to decide. I can deliver the message to the girl. I could also give it to her father, Premier Severin, or her mother, Lady Severin. Or simply forget about it.<span class='high-emphasis'>I see Lady Severin</span> is here, in case I decide to give her Iul's note. <% if ( _.contains(s.opport['Marble Gallery, East'], 'op Iul Note Mother') == false ) { s.opport['Marble Gallery, East'].push('op Iul Note Mother'); }; %><% s.narration['Marble Gallery, East'].push('200-iulnotemotherhere'); %><span class='high-emphasis'>I see Premier Severin</span> is here, in case I decide to give him Iul's note. <% s.narration['Premier'].push('200-iulnotepremierhere'); %><% if ( _.contains(s.opport['Premier'], 'op Iul Note Premier') == false ) { s.opport['Premier'].push('op Iul Note Premier'); }; %><div id='opIulNoteMother' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Show Iul's note to his mother</div><div class='opdesc'>The contents were worrying.</div></div></div><% $(function () { $('#opIulNoteMother').click(function () { $('#opIulNoteMother').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulNoteMother'); s.fullHistory.push('op Iul Note Mother');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Note Mother';});}); %> <% s.narration['Marble Gallery, East'].push('0-iulnotemother'); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '200-iulnotemotherhere' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-iulnoteiuliahere' ); %><% s.narration['Premier'] = _.without( s.narration['Premier'] , '200-iulnotepremierhere' ); %><% s.opport['Premier'] = _.without( s.opport['Premier'] , 'op Iul Note Premier' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Iul Note Iulia' ); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Hearing Stolen Notice';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.eventIgnore.push('ev Iul Note Forget Rel'); %><% s.eventIgnore.push('ev Iul Note Forget Abs'); %><% delete s.reminders['iulnote']; %><% s.log.push("I gave a boy's note to his mother."); %><% function gotDelay() {story.show('Marble Gallery, East');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I get a private moment with Lady Severin.</span> 'I paid a visit to your son Iul,' I say, much to her surprise. I hand her the note, explaining what he asked me to do. Her face doesn't betray any emotion. Then she looks at me and her countenance changes into very deliberate scorn. 'As they say, whoever sleeps with kids, wakes up with piss,' she says. 'I will deal with this, and I hope you will be discreet.' Arrogant bastard! I want to tell her not to be shoddy watching her own children... but I'm speechless. She's disarmed me. I merely nod before she leaves. I wish I had delivered the note to the girl and let the children of the rulers behave like savages. Long live the King our ruler! <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><% s.narration['Marble Gallery, West'].push('500-hearingstolennotice'); %><% targetTurn = Math.floor( s.timeSpeed*35 );targetEvent = 'ev Hearing Stolen Notice Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-hearingstolennotice' ); %><span class='high-emphasis'>I notice Old Mec</span> has gathered a few people around him and I approach them to listen. '... children will take anything these days...' Old Mec is using his hands in place of his hearing aid. His looks distressed. <% if (_.contains(s.fullHistory, '0-iulnotemother')) { %><% print("<p>But I gave the note to Lady Severin! She did nothing about it?</p>"); %><% }; %><div id='opIulNotePremier' class='oport story'><img class='optimg' src='img/opts/pointing_finger.jpg'><div class='optext'><div class='optitle'>Show Iul's note to his father</div><div class='opdesc'>He will be tough with his son.</div></div></div><% $(function () { $('#opIulNotePremier').click(function () { $('#opIulNotePremier').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulNotePremier'); s.fullHistory.push('op Iul Note Premier');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Note Premier';});}); %> <% s.narration['myself'].push('0-iulnotefather'); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-iulnoteiuliahere' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '200-iulnotemotherhere' ); %><% s.narration['Premier'] = _.without( s.narration['Premier'] , '200-iulnotepremierhere' ); %><% s.opport['Marble Gallery, East'] = _.without( s.opport['Marble Gallery, East'] , 'op Iul Note Mother' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Iul Note Iulia' ); %><% s.eventIgnore.push('ev Iul Note Forget Rel'); %><% s.eventIgnore.push('ev Iul Note Forget Abs'); %><% delete s.reminders['iulnote']; %><% s.log.push("I gave a boy's note to his father."); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I get a private moment with Premier Severin.</span> He's surprised that I visited the children's quarters. 'I'm passionate about children,' I lie, 'particularly those who are destined to shape the fate of the Canton.' I hand him the note, explaining what he asked me to do. 'I will correct the child,' says the Premier. 'This nonsense won't be tolerated. Iul is intelligent, with interests beyond his years. He's starting to realize that he is, as you say, destined to shape the fate of our Canton. But he can't distinguish serious concerns and games yet. Children hear pieces of things they don't understand. I thank you for bringing me this.' And he leaves before I can say a word. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opIulNoteIulia' class='oport story'><img class='optimg' src='img/opts/secret.jpg'><div class='optext'><div class='optitle'>Deliver Iul's note to his sister</div><div class='opdesc'>There she is, and it's what his brother requested.</div></div></div><% $(function () { $('#opIulNoteIulia').click(function () { $('#opIulNoteIulia').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulNoteIulia'); s.fullHistory.push('op Iul Note Iulia');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Note Iulia';});}); %> <% s.narration['Fountain'].push('0-iulnoteiulia'); %><% s.narration['Garden Stairs'].push('200-iulnoteiuliagarden'); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-iulnoteiuliahere' ); %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '200-iulnotemotherhere' ); %><% s.narration['Premier'] = _.without( s.narration['Premier'] , '200-iulnotepremierhere' ); %><% s.narration['myself'] = _.without( s.narration['myself'] , '10000-iulnoteforgetrel' ); %><% s.eventIgnore.push('ev Iul Note Forget Rel'); %><% s.eventIgnore.push('ev Iul Note Forget Abs'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Iul Note Iulia Stairs Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Premier'] = _.without( s.opport['Premier'] , 'op Iul Note Mother' ); %><% s.opport['Fountain'] = _.without( s.opport['Fountain'] , 'op Iul Note Father' ); %><% s.opport['myself'] = _.without( s.opport['myself'] , 'op Iul Note Read' ); %><% s.narration['Nursery'].push('500-nurseryrememberstolenaid'); %><% if ( _.contains(s.opport['Nursery'], 'op Iul Confront Stolen Aid') == false ) { s.opport['Nursery'].push('op Iul Confront Stolen Aid'); }; %><% targetTurn = Math.floor( s.timeSpeed*45 );targetEvent = 'evn Nursery Confront Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% delete s.reminders['iulnote']; %><% s.reminders['nurseryafternote'] = "I should go back to the nursery and get the violin from Iul Severin."; %><% function gotDelay() {story.show('Fountain');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Iulia Severin doesn't look</span> like her brother's twin. She has dark skin, like somebody from Sicilia or Andalusia; it adds to her imposing posture, slim but tall, even if she's still at the end of childhood. Her face becomes upset when she reads the note. 'Please go to the nursery later,' she says, and runs away unceremoniously. In a year she'll be too old to behave like that in public. <% if (_.contains(s.fullHistory, '0-iulnoteread')) { %><% print("<p>But I *know* what you are doing. You are going to the Marble Gallery to steal something that an old man needs. Perhaps I should follow. She's gone to the garden staircase.</p>"); %><% } else { %><% print("<p>I wonder what the note did say. Perhaps... following the child would answer this curiosity. She's gone to the garden staircase.</p>"); %><% }; %><span class='high-emphasis'>From a distance</span> I see Iulia Severin climb the staircase and enter the Gallery. <% if (_.contains(s.fullHistory, '0-iulnoteread')) { %><% s.narration['Marble Gallery, West'].push('200-iulnoteiuliagallery'); %><% } else { %><% s.narration['Marble Gallery, West'].push('200-iulnoteiuliagalleryunread'); %><% }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Iul Note Iulia Gallery Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% $('body').addClass('hideambientops'); %><span class='high-emphasis'>I nervously search</span> for Iulia and Old Mec. The soldier is close to the orchestra, as always, with his hearing aid pointing at the musicians and a slight smile, the smile of an old man enjoying something he doesn't entirely understand. He wasn't a soldier, but a common working man who rose to war leadership in days of need. One of many. Iulia is near him, watching carefully. <% if ( _.contains(s.opport['Marble Gallery, West'], 'op Irene watches Iulia steal from Mec') == false ) { s.opport['Marble Gallery, West'].push('op Irene watches Iulia steal from Mec'); }; %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Iulia Gallery Prevent') == false ) { s.opport['Marble Gallery, West'].push('op Iulia Gallery Prevent'); }; %><% s.narration['Marble Gallery, West'].push('300-iuliastealdone'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Iul Note Iulia Steal Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% $('body').addClass('hideambientops'); %><span class='high-emphasis'>I nervously search</span> for Iulia, afraid I'll lose sight of her among so many people. She's standing near the wall, away from most people, intently watching someone. It's Old Mec. An old soldier who became almost deaf during the war. Old Mec wasn't a real soldier, but a common working man who rose to war leadership in days of need. One of many. He always sits near the musicians, using a hearing aid that the Canton gifted to him at Father's initiative: an elegant conical instrument he holds to his ear. <% if ( _.contains(s.opport['Marble Gallery, West'], 'op Irene watches Iulia steal from Mec') == false ) { s.opport['Marble Gallery, West'].push('op Irene watches Iulia steal from Mec'); }; %><% s.narration['Marble Gallery, West'].push('300-iuliastealdone'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Iul Note Iulia Steal Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% $('body').addClass('hideambientops'); %><div id='opIrenewatchesIuliastealfromMec' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Watch what Iulia is doing</div><div class='opdesc'></div></div></div><% $(function () { $('#opIrenewatchesIuliastealfromMec').click(function () { $('#opIrenewatchesIuliastealfromMec').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenewatchesIuliastealfromMec'); s.fullHistory.push('op Irene watches Iulia steal from Mec');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene watches Iulia steal from Mec';});}); %> <% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Iulia is behind Old Mec now.</span> He's sitting near a wall, inconspicuous as always, and probably nobody is looking at him now except Iulia and myself. She's unfolding a piece of cloth. Now she kneels down and lays the cloth over the low table next to the deaf old man, unseen to him. Then she sits on the floor and waits. When the song finishes, Old Mec leaves his hearing aid on the table, to rest his arm, I presume. One moment later, the aid moves an inch towards the table's edge. <% $('body').addClass('hideambientops'); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Irene watches Iulia steal from Mec' ); %><span class='high-emphasis'>Iulia unfolds a piece of cloth</span>. Now she kneels down and lays the cloth over the low table next to the deaf old man, unseen to him. Then she sits on the floor and waits. When the song finishes, Old Mec leaves his hearing aid on the table, to rest his arm, I presume. One moment later, the aid moves an inch towards the table's edge. Good heavens! Is the girl stealing the hearing aid? Was that the message I delivered? <% $('body').addClass('hideambientops'); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Irene watches Iulia steal from Mec' ); %><% if (_.contains(s.fullHistory, '0-iulnoteread')) { %><% print("<p><span class='high-emphasis'>Iulia is behind Old Mec now.</span> He's sitting near a wall, inconspicuous as always, and probably nobody is looking at him now except Iulia and myself.</p>"); %><% print("<p>She's unfolding a piece of cloth. Now she kneels down and lays the cloth over the low table next to the deaf old man, unseen to him. Then she sits on the floor and waits.</p>"); %><% print("<p>When the song finishes, Old Mec leaves his hearing aid on the table, to rest his arm, I presume.</p>"); %><% print("<p>One moment later, the aid moves an inch towards the table's edge.</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>Iulia unfolds a piece of cloth</span>. Now she kneels down and lays the cloth over the low table next to the deaf old man, unseen to him. Then she sits on the floor and waits.</p>"); %><% print("<p>When the song finishes, Old Mec leaves his hearing aid on the table, to rest his arm, I presume.</p>"); %><% print("<p>One moment later, the aid moves an inch towards the table's edge.</p>"); %><% print("<p>Good heavens! Is the girl stealing the hearing aid? Was that the message I delivered?</p>"); %><% }; %><% print("<p>Bit by bit, Iulia pulls the cloth and the aid approaches the edge behind Old Mec, unaware of everything, and itmoves and moves and then falls into Iulia's lap who hides it between the creases of her dress.</p>"); %><% print("<p>And she takes seconds to run to the entrance hall. And the old man finally looks at the table, looking bewildered.</p>"); %><% print("<p>Should I go after her?</p>"); %> <% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Iulia Gallery Prevent' ); %><% s.narration['Grand Entrance Hall'].push('500-iuliaseverininhall'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Iulia Hall Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Irene watches Iulia steal from Mec' ); %> <% $('body').addClass('hideambientops'); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-iuliaseverininhall' ); %><span class='high-emphasis'>I look for the girl</span> as soon as I enter the Hall, but I don't see her. But I'm sure that she's gone upstairs to meet her brother.<span class='high-emphasis'>After a few moments of search,</span> I'm sure that Iulia Severin isn't here. Old Mec isn't either. I'm getting a bit nervous.<% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '200-iulnoteiuliagarden' ); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Hearing Stolen Notice';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '200-iulnoteiuliagallery' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '200-iulnoteiuliagalleryunread' ); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Hearing Stolen Notice';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Irene watches Iulia steal from Mec' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '200-iulnoteiuliasteal' ); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Hearing Stolen Notice';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Irene watches Iulia steal from Mec' ); %><div id='opIuliaGalleryPrevent' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Prevent Iulia from stealing the hearing aid</div><div class='opdesc'>Whatever game the Severin children have dragged me into, the old man shouldn't be a part of it.</div></div></div><% $(function () { $('#opIuliaGalleryPrevent').click(function () { $('#opIuliaGalleryPrevent').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIuliaGalleryPrevent'); s.fullHistory.push('op Iulia Gallery Prevent');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iulia Gallery Prevent';});}); %> <% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '200-iulnoteiuliasteal' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '200-iulnoteiuliastealunread' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '300-iuliastealdone' ); %><% s.narration['Nursery'] = _.without( s.narration['Nursery'] , '500-nurseryrememberstolenaid' ); %><% s.opport['Nursery'] = _.without( s.opport['Nursery'] , 'op Iul Confront Stolen Aid' ); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Irene watches Iulia steal from Mec' ); %><% s.narration['Marble Gallery, West'].push('0-iuliagalleryprevent'); %><% delete s.reminders['nurseryafternote']; %><% s.exitList["Northern Hallway"] = [ "no exit", "no exit", "Main Hallway exit", "no exit", "no exit", "no exit"]; %> <% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I stand in front of Old Mec.</span> 'How are you, old soldier?' I ask. His wrinkles deepen as he smiles. Behind him, Iulia Severin gives me a cold look, moves her lips as if talking without sound, and leaves. So I guess no violin for me. The deaf man is an amusing talker, one I enjoy speaking with. 'I didn't hear my thoughts before. Now I do. But sometimes the voice I hear doesn't sound like mine.'<% s.narration['Nursery'] = _.without( s.narration['Nursery'] , '500-nurseryrememberstolenaid' ); %><% s.opport['Nursery'] = _.without( s.opport['Nursery'] , 'op Iul Confront Stolen Aid' ); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Irene watches Iulia steal from Mec' ); %><% delete s.reminders['nurseryafternote']; %><% s.exitList["Northern Hallway"] = [ "no exit", "no exit", "Main Hallway exit", "no exit", "no exit", "no exit"]; %> <% s.narration['Northern Hallway'].push('100-nursery door is closed'); %><span class='high-emphasis'>The Nursery is closed.</span> Whatever happened with Iul, and Iulia, and the note, I won't be able to talk to them.<span class='high-emphasis'>Iul Severin is still here.</span> He briefly glances at me, then he looks away, pretending he hasn't seen me. <% if (_.contains(s.fullHistory, '300-iuliastealdone')) { %><% print("<p>I remember the violin story. And what his sister did in the Marble Gallery.</p>"); %><% } else { %><% print("<p>I remember the violin story.</p>"); %><% }; %> <% delete s.reminders['nurseryafternote']; %><div id='opIulConfrontStolenAid' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Ask Iul</div><div class='opdesc'>The boy owes me a violin.</div></div></div><% $(function () { $('#opIulConfrontStolenAid').click(function () { $('#opIulConfrontStolenAid').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulConfrontStolenAid'); s.fullHistory.push('op Iul Confront Stolen Aid');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Confront Stolen Aid';});}); %> <% s.narration['Pseudopassage'].push('0-iulconfrontstolenaid'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul Confront Leave') == false ) { s.opport['Pseudopassage'].push('op Iul Confront Leave'); }; %><% s.log.push("I got a violin from Iul Severin."); %><% if (_.contains(s.fullHistory, '300-iuliastealdone')) { %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul Confront Ask') == false ) { s.opport['Pseudopassage'].push('op Iul Confront Ask'); }; %><% }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>Iul hears me approach</span> and, without looking at me, puts a violin on a table near him. I take it: now I should take it back to the fiddler, in the Marble Gallery. <% if (_.contains(s.fullHistory, '300-iuliastealdone')) { %><% print("<p>He keeps reading a book. Not a word, not another glance. Does he want me to take it and leave without talking? He doesn't just owe me a violin. He owes me an explanation.</p>"); %><% } else { %><% print("<p>He keeps reading a book. Not a word, not another glance. Does he want me to take it and leave without talking?</p>"); %><% }; %><div id='opIulConfrontLeave' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Leave</div><div class='opdesc'>I have what I need.</div></div></div><% $(function () { $('#opIulConfrontLeave').click(function () { $('#opIulConfrontLeave').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulConfrontLeave'); s.fullHistory.push('op Iul Confront Leave');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Confront Leave';});}); %> <% s.narration['myself'].push('0-iulconfrontleave'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Iul Confront Ask' ); %><% s.returnRef = 'Northern Hallway'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><% if (_.contains(s.fullHistory, '300-iuliastealdone')) { %><% print("<p><span class='high-emphasis'>I want no more of this business.</span> Whatever reason they had to steal the hearing aid, I don't want to know; it'd be better if I didn't know about the stealing at all.</p>"); %><% } else { %><% print("<p><span class='high-emphasis'>I have no more business</span> with this boy. Whatever his sister did with the message, I better not waste any time with it.</p>"); %><% }; %> I close the door as I leave. Servants look at me and the violin I'm carrying with surprise. I should get rid of it soon.<div id='opIulConfrontAsk' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Get an explanation from the boy</div><div class='opdesc'>I saw what they did and I want to know why.</div></div></div><% $(function () { $('#opIulConfrontAsk').click(function () { $('#opIulConfrontAsk').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulConfrontAsk'); s.fullHistory.push('op Iul Confront Ask');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Confront Ask';});}); %> <% s.narration['Pseudopassage'].push('10-iulconfrontask'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul Confront Scare') == false ) { s.opport['Pseudopassage'].push('op Iul Confront Scare'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul Confront Calm') == false ) { s.opport['Pseudopassage'].push('op Iul Confront Calm'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Iul Confront Leave' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I cross my arms</span> and stand in front of the boy. He doesn't look at me and that's a good sign. His family often complains about his shyness: I should be able to intimidate him, just a little. 'What would your father say about stealing from a military hero?' He keeps his head down. 'We will have to ask your father what he thinks of it,' I add. 'I gave you what you wanted!' he complains. 'Why do you have to meddle?'<div id='opIulConfrontScare' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Scare the boy</div><div class='opdesc'>Be harsh until he tells me.</div></div></div><% $(function () { $('#opIulConfrontScare').click(function () { $('#opIulConfrontScare').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulConfrontScare'); s.fullHistory.push('op Iul Confront Scare');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Confront Scare';});}); %> <% s.narration['Pseudopassage'].push('10-iulconfrontscare'); %><% s.narration['Pseudopassage'].push('20-iulconfronwonttell'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul Confront Dare') == false ) { s.opport['Pseudopassage'].push('op Iul Confront Dare'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene slaps iul severin') == false ) { s.opport['Pseudopassage'].push('op irene slaps iul severin'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Iul Confront Calm' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Do you think your father will care about my meddling?</span> You were deceitful.' 'Don't tell on me!' he says, and now I have scared him. Good. 'What do you want to do with the thing your sister stole?' He remains silent. 'Unless you tell me everything I will tell your father.' He hesitates, but he finally tries to make a serious face. 'I don't believe you. You know my father won't listen to you.'<div id='opIulConfrontCalm' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Reassure the boy</div><div class='opdesc'>Manipulate him into telling the truth</div></div></div><% $(function () { $('#opIulConfrontCalm').click(function () { $('#opIulConfrontCalm').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulConfrontCalm'); s.fullHistory.push('op Iul Confront Calm');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Confront Calm';});}); %> <% s.narration['Pseudopassage'].push('10-iulconfrontcalm'); %><% s.narration['Pseudopassage'].push('20-iulconfronwonttell'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Iul Confront Scare' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul Confront Dare') == false ) { s.opport['Pseudopassage'].push('op Iul Confront Dare'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op irene slaps iul severin') == false ) { s.opport['Pseudopassage'].push('op irene slaps iul severin'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'I don't want to tell your father,'</span> I say, sweetening my voice. 'I have no reason to.' 'Then why don't you go?' asks the kid. 'I'm worried about you and your sister. You would get in trouble if you were discovered by any other adult.' He thinks for a moment. 'I don't believe you,' he mumbles. 'You want to trick me.''Do you know who I am?' 'You are nobody,' he says, and now he tries to smile threateningly.<div id='opIulConfrontDare' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>I'm speechless</div><div class='opdesc'>How dares he?</div></div></div><% $(function () { $('#opIulConfrontDare').click(function () { $('#opIulConfrontDare').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulConfrontDare'); s.fullHistory.push('op Iul Confront Dare');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Confront Dare';});}); %> <% s.narration['Pseudopassage'].push('10-iulconfrontdare'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul Confront Cont') == false ) { s.opport['Pseudopassage'].push('op Iul Confront Cont'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op irene slaps iul severin' ); %><% s.preImg['Pseudopassage'] = 'img/opts/burbur_face.jpg'; %><% targetTurn = Math.floor( s.timeSpeed*50 );targetEvent = 'ev Burbur Keys Gallery';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Iul has left me speechless</span>. 'Your father is nobody important. They mock him. If you say anything they will punish you worse than me. They will punish your father too, Lady *Victor.'* And then a Burbur enters the room. Her mask, the skull of an ox or a cow. A necklace of keys dangling from her neck. Iul makes a loud gasp. The Burbur closes the door behind her. It's only the three of us. I keep my composure, but her movements are unsettling. 'Out!' cries Iul, very much like a little boy. The Burbur pushes me aside and kneels in front of him. 'Tell her,' she says, her voice made deep by the mask.<div id='opireneslapsiulseverin' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Slap the little boy's face</div><div class='opdesc'>He has earned it.</div></div></div><% $(function () { $('#opireneslapsiulseverin').click(function () { $('#opireneslapsiulseverin').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opireneslapsiulseverin'); s.fullHistory.push('op irene slaps iul severin');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op irene slaps iul severin';});}); %> <% s.narration['Pseudopassage'].push('10-irene slaps iul severin'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul Confront Cont') == false ) { s.opport['Pseudopassage'].push('op Iul Confront Cont'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Iul Confront Dare' ); %><% targetTurn = Math.floor( s.timeSpeed*50 );targetEvent = 'ev Burbur Keys Gallery';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Iul has left me speechless.</span> How dares he speak like that to an older person? My slap on his face is feeble. Not like my older sister Gloria used to smack me. I don't know how strong this should be. I only know it's been too soft. He doesn't look like I've really hurt him. But he starts screaming fast. 'Your father is nobody! They will punish you! And him!'* And then a Burbur enters the room. Her mask, the skull of an ox or a cow. A necklace of keys dangling from her neck. Iul makes a loud gasp. The Burbur closes the door behind her. It's only the three of us. I keep my composure, but her movements are unsettling. 'Out!' cries Iul, very much like a little boy. The Burbur pushes me aside and kneels in front of him. 'Tell her,' she says, her voice made deep by the mask.<div id='opIulConfrontCont' class='oport story'><img class='optimg' src='img/opts/burburum_woman.jpg'><div class='optext'><div class='optitle'>...</div><div class='opdesc'></div></div></div><% $(function () { $('#opIulConfrontCont').click(function () { $('#opIulConfrontCont').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulConfrontCont'); s.fullHistory.push('op Iul Confront Cont');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Confront Cont';});}); %> <% s.narration['Pseudopassage'].push('10-iulconfrontcont'); %><% s.reminders['iulafterdinner'] = "If I go to the nursery right after dinner, Iul will take me to spy on a secret meeting."; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul Confront Follow') == false ) { s.opport['Pseudopassage'].push('op Iul Confront Follow'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul Confront Reassure') == false ) { s.opport['Pseudopassage'].push('op Iul Confront Reassure'); }; %><% s.preImg['Pseudopassage'] = 'img/opts/burbur_face.jpg'; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'> The Burbur</span> is almost touching the boy's face. His terrified expression makes me feel sorry for him. 'There's a secret meeting today,' he admits, and the Burbur turns her gaze towards me, but I can't see the eyes behind her mask. 'And you will spy on them,' I say. 'How do you know?' 'No one pays attention to us,' he says. The Burbur turns to him again, making her necklace tinkle. 'Take her with you,' she says. 'I will! I will!' The Burbur stands up, towering above the kid. I have never seen a Burbur that tries to look so menacing, and Iul finally starts sobbing. She looks at me. 'You need to go with him,' she says, and she leaves the nursery.<div id='opIulConfrontFollow' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Warn Iul and run after the Burbur</div><div class='opdesc'>This woman got involved as if she knew what was happening. I need to ask her.</div></div></div><% $(function () { $('#opIulConfrontFollow').click(function () { $('#opIulConfrontFollow').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulConfrontFollow'); s.fullHistory.push('op Iul Confront Follow');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Confront Follow';});}); %> <% s.narration['myself'].push('10-iulconfrontfollow'); %><% s.narration['myself'].push('20-iulconfronthallway'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Iul Confront Reassure' ); %><% s.returnRef = 'Northern Hallway'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'You must keep your word,'</span> I say at the terrified boy. 'Come when the dinner ends. Soon or we will miss it,' he says, without looking at me. 'You must keep your word,' I insist. I don't know what else to say, and I leave the nursery quickly.There's no one in the hallway but a bored servant. 'Where did the Burbur go?' I ask. 'Who?' He looks with curiosity at the violin I'm carrying, but says nothing. I should take it to the players in the Marble Gallery, and do it before dinner. <% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev Iul Confront Burbur Memory';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains(s.opport['Marble Gallery, West'], 'op Sister Violin Return') == false ) { s.opport['Marble Gallery, West'].push('op Sister Violin Return'); }; %><% targetTurn = Math.floor( s.timeSpeed*32 );targetEvent = 'ev Violin Return Warn';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% targetTurn = Math.floor( s.timeSpeed*36 );targetEvent = 'ev Violin Return Drop';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %> <% if ( _.contains( _.keys(s.namedEvent), 'dinner-end' ) ) { s.namedEvent['dinner-end'].push( 'ev Iul Meeting Start' ); } else { s.namedEvent['dinner-end'] = [ 'ev Iul Meeting Start' ]; } %><div id='opIulConfrontReassure' class='oport story'><img class='optimg' src='img/opts/smile.jpg'><div class='optext'><div class='optitle'>Reassure the kid</div><div class='opdesc'>The Burbur was terrifying.</div></div></div><% $(function () { $('#opIulConfrontReassure').click(function () { $('#opIulConfrontReassure').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulConfrontReassure'); s.fullHistory.push('op Iul Confront Reassure');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul Confront Reassure';});}); %> <% s.narration['myself'].push('10-iulconfrontreassure'); %><% s.narration['myself'].push('20-iulconfronthallway'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Iul Confront Follow' ); %><% s.returnRef = 'Northern Hallway'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Don't be scared,'</span> I say. 'They are never bad, only mischievous.' 'Will you come?' he asks, without looking at me. I assure him that I will. 'Come when the dinner ends. Soon or you will miss it.' 'It will be better together,' I say, and I leave the nursery quickly.<% s.narration['myself'].push('1000-iulconfrontburburmemory'); %><span class='high-emphasis'>The Burbur's image</span> is still floating in my mind, mocking me under her mask. Who was she? What does she want? <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opSisterViolinReturn' class='oport story'><img class='optimg' src='img/opts/violin.jpg'><div class='optext'><div class='optitle'>Give the violin to the players</div><div class='opdesc'></div></div></div><% $(function () { $('#opSisterViolinReturn').click(function () { $('#opSisterViolinReturn').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opSisterViolinReturn'); s.fullHistory.push('op Sister Violin Return');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Sister Violin Return';});}); %> <% s.eventIgnore.push('ev Violin Return Warn'); %><% s.eventIgnore.push('ev Violin Return Drop'); %><% s.narration['Marble Gallery, West'].push('10-sisterviolinreturn'); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Truth about Fiddler' ); %><% delete s.reminders['fiddler']; %><% s.log.push("I got a violin for the fiddler that I got into trouble."); %><% function gotDelay() {story.show('Marble Gallery, West');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>The players look at me with suspicion.</span> 'Give this to your friend,' I say, and I put the violin on a free chair. They don't say anything. I can't say if I expected a feeling of satisfaction or resolution, but I sure don't have it. I must remember that Iul will take me to see the "secret meeting" if I go to the nursery right after dinner.<% s.narration['myself'].push('1000-violinreturnwarn'); %><span class='high-emphasis'>Dinner will start soon</span> and I still have to take the violin to the Marble Gallery!<% s.eventIgnore.push('ev Violin Return Warn'); %><% s.narration['myself'] = _.without( s.narration['myself'] , '1000-violinreturnwarn' ); %><% s.narration['myself'].push('1000-violinreturndrop'); %><% delete s.reminders['fiddler']; %><span class='high-emphasis'>The dinner is now.</span> I sigh and furtively drop the violin. So all I did was for nothing.<% s.narration['myself'].push('500-iul is waiting for irene to meet him to spy'); %><% if (_.contains( _.keys(s.interrupt),'Nursery' )) { s.interrupt['Nursery'].push('int Irene enters nursery and Iul asks about spying'); } else { s.interrupt['Nursery'] = ['int Irene enters nursery and Iul asks about spying']; }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*4 ));targetEvent = 'ev Iul gone spy without Irene';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% if ( _.contains( _.keys(s.interrupt), 'Nursery' )) { s.interrupt['Nursery'] = _.without( s.interrupt['Nursery'], 'int Irene enters nursery and Iul asks about spying'); } %><% s.narration['Nursery'].push('10-Iul gone spy without Irene'); %><span class='high-emphasis'>Nobody is in the Nursery.</span> If Iul Severin is really gone on a espionage mission, I have lost my chance to go with him.<span class='high-emphasis'>Iul Severin told me</span> to return to the nursery right after dinner if I wanted to go with him and spy on the secret meeting.<% s.narration['Pseudopassage'].push('10-irene enters nursery and iul asks about spying'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul go with him to spy') == false ) { s.opport['Pseudopassage'].push('op Iul go with him to spy'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Iul refuse to spy with him') == false ) { s.opport['Pseudopassage'].push('op Iul refuse to spy with him'); }; %><% delete s.reminders['iulafterdinner']; %><% s.eventIgnore.push('ev Iul gone spy without Irene'); %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>I enter the Nursery.</span> Iul leaps to his feet. 'We are late. I can't wait anymore. Are you coming with me?' I don't like his tone. A boy shouldn't talk so impatiently to an adult woman, no matter who his father is.<div id='opIulrefusetospywithhim' class='oport story'><img class='optimg' src='img/opts/stop.jpg'><div class='optext'><div class='optitle'>Don't go with Iul</div><div class='opdesc'></div></div></div><% $(function () { $('#opIulrefusetospywithhim').click(function () { $('#opIulrefusetospywithhim').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulrefusetospywithhim'); s.fullHistory.push('op Iul refuse to spy with him');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul refuse to spy with him';});}); %> <% s.narration['Nursery'].push('10-irene refuses to spy with him'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Iul go with him to spy' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I decide to ignore</span> this irritating boy. He is rude and I don't like the whole affair. I prefer to be out of it. 'Go on your own,' I say, 'and forget that we ever spoke about this.' He smiles like he's achieved a great victory. After taking the stolen hearing aid, he runs into the corridor and disappears.<div id='opIulgowithhimtospy' class='oport story'><img class='optimg' src='img/opts/invitation.jpg'><div class='optext'><div class='optitle'>Tell Iul that I will go with him</div><div class='opdesc'></div></div></div><% $(function () { $('#opIulgowithhimtospy').click(function () { $('#opIulgowithhimtospy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIulgowithhimtospy'); s.fullHistory.push('op Iul go with him to spy');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Iul go with him to spy';});}); %> <% s.narration['Nursery'].push('10-irene goes spy with iul'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Iul refuse to spy with him' ); %><% if (s.charLocationPriority['Iul'] < 10) { s.charLocationPriority['Iul'] = 10;s.characterList['Iul'] = 'Nursery'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iul"] = "Nursery"; s.charLocationPriority["Iul"] = 10; %><% s.companion='Iul';s.companionData={'destination':'Covenant Office','destinationType':'location','turnParameter':1,'turnCounter':0,'walkingPreDesc':'500-companion Iul spy walk narration','abandonPreDesc':'500-companion Iul spy abandon narration','okPreDesc':'500-companion Iul arrive at the covenant','alertCount':0,'alertPreDesc':'500-companion iul alert','currentDistance':0,'abandonOport':'','okOport':''};print(story.render('genInitialCompanionDistance')); %><% if (_.contains( _.keys(s.interrupt),'Covenant Office' )) { s.interrupt['Covenant Office'].push('int Iul Spy Arrive at Covenant'); } else { s.interrupt['Covenant Office'] = ['int Iul Spy Arrive at Covenant']; }; %> <% s.narration['Northern Hallway'].push('10-iul companion we go to covenant'); %><% s.narration['Main Hallway'].push('50-irene asks iul why he knows'); %> <% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Of course I'm coming,'</span> I say. 'Then quick,' he says, 'and quiet.' After taking the stolen hearing aid, he walks to the door and stands there, waiting anxiously for me to leave with him.<span class='high-emphasis'>'Now we go to the Covenant Office,'</span> Iul says while we leave the nursery. 'Very quick. The meeting must have started already.'<span class='high-emphasis'>'Why did you want to spy this meeting?'</span> I ask. 'What will you get?' 'I spy all the time,' Iul says, candidly. 'I need to. I have to be like my father!'<%= _.sample( [ "<span class='high-emphasis'>Iul</span> runs impatiently. 'Quick!'", "<span class='high-emphasis'>Iul</span> looks around, looking for something.", "<span class='high-emphasis'>Iul</span> looks at me with imploring eyes, afraid we are too late.", "<span class='high-emphasis'>Iul</span> asks me to hurry up.", "<span class='high-emphasis'>Iul</span> is in a hurry.", "<span class='high-emphasis'>Iul</span> is nervous and it shows in everything he does.", ]) %><span class='high-emphasis'>Iul looks at me with exasperation,</span> snorts and runs away before I can do anything. When I get to the door he's already out of view. <% if ( _.contains( _.keys(s.interrupt), 'Covenant Office' )) { s.interrupt['Covenant Office'] = _.without( s.interrupt['Covenant Office'], 'int Iul Spy Arrive at Covenant'); } %><% s.narration['Northern Hallway'] = _.without( s.narration['Northern Hallway'] , '10-iul companion we go to covenant' ); %><% s.narration['Main Hallway'] = _.without( s.narration['Main Hallway'] , '50-irene asks iul why he knows' ); %><span class='high-emphasis'>Iul closes the door.</span> We are alone in the Covenant Office.<span class='high-emphasis'>'What are you doing?'</span> asks Iul. 'Follow me quick! We have to get there now!'<% if (s.charLocationPriority['Iul'] < 10) { s.charLocationPriority['Iul'] = 10;s.characterList['Iul'] = 'Nowhere'; print(story.render('updateLocationList') );}; %> <% s.characterList["Iul"] = "Nowhere"; s.charLocationPriority["Iul"] = 10; %><% s.narration['Pseudopassage'].push('10-iul and irene arrive at covenant'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene and Iul enter the secret passage') == false ) { s.opport['Pseudopassage'].push('op Irene and Iul enter the secret passage'); }; %><% s.currentLocation = 'Pseudopassage'; s.returnRef = passage.name; print("<div class='passage-narration interrupt-predesc'>");print(story.render('preDesc'));print("</div>"); %><span class='high-emphasis'>There is nobody</span> here. After I enter, Iul closes the door and crouches near the wall to our right. He sticks his fingers into, apparently, a small crack, then he does a movement that I don't quite see, and I hear a click. He pulls and a whole wooden panel, as tall as my hips, opens like a door. I can't see what's behind. 'A secret passage!' he whispers, and he can't help a very childish giggle.<div id='opIreneandIulenterthesecretpassage' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Enter the secret passage</div><div class='opdesc'></div></div></div><% $(function () { $('#opIreneandIulenterthesecretpassage').click(function () { $('#opIreneandIulenterthesecretpassage').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneandIulenterthesecretpassage'); s.fullHistory.push('op Irene and Iul enter the secret passage');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene and Iul enter the secret passage';});}); %> <% s.narration['Pseudopassage'].push('10-Irene and Iul enter the secret passage'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene and Iul listen to secret meeting') == false ) { s.opport['Pseudopassage'].push('op Irene and Iul listen to secret meeting'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I crouch</span> and cross the small door. Iul closes the panel behind us. The space is pitch black, narrow and dusty, but we can stand. There is a point of light: a small hole opposite to the secret door. 'You can't look and hear at the same time,' Iul warns with a whisper. First I put my eye to the small hole. I see the Council Room through a thin cloth: closed door, five people at the table. I hold my breath when I recognize Tavia Longine, Lord Longine's sister, someone who usually is withdrawn and inconspicuous. Boring. The other are men with familiar faces but whose names I don't know. One wears a habit. There is also a Burbur standing near the door, with horns and a dark red cloak. Iul and I put our ears to the hearing aid.<div id='opIreneandIullistentosecretmeeting' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Listen</div><div class='opdesc'></div></div></div><% $(function () { $('#opIreneandIullistentosecretmeeting').click(function () { $('#opIreneandIullistentosecretmeeting').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneandIullistentosecretmeeting'); s.fullHistory.push('op Irene and Iul listen to secret meeting');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene and Iul listen to secret meeting';});}); %> <% s.narration['Pseudopassage'].push('10-irene and iul listen to secret meeting'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene looks at Tavia passing the ring in the secret meeting') == false ) { s.opport['Pseudopassage'].push('op Irene looks at Tavia passing the ring in the secret meeting'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'You always hurt the ones you love,'</span> says a man. 'The Canton you know doesn't exist anymore. Now it's only us. If you don't run, it will kill you.' 'We're not ready,' Tavia says. 'I have been in one of their meetings.' 'Must it be so soon?' says another man. 'I warn you: when this kind of fire starts, it is very hard to put out.' 'Our Canton has a ring around its index finger. A marriage ring. We are the wife; the King is the husband, and the marriage is sacred. Take the ring.' They fall silent.<div id='opIrenelooksatTaviapassingtheringinthesecretmeeting' class='oport story'><img class='optimg' src='img/opts/eye.jpg'><div class='optext'><div class='optitle'>Look again</div><div class='opdesc'></div></div></div><% $(function () { $('#opIrenelooksatTaviapassingtheringinthesecretmeeting').click(function () { $('#opIrenelooksatTaviapassingtheringinthesecretmeeting').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenelooksatTaviapassingtheringinthesecretmeeting'); s.fullHistory.push('op Irene looks at Tavia passing the ring in the secret meeting');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene looks at Tavia passing the ring in the secret meeting';});}); %> <% s.narration['Pseudopassage'].push('10-Irene looks at Tavia passing the ring in the secret meeting'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene and Iul leave the secret passage') == false ) { s.opport['Pseudopassage'].push('op Irene and Iul leave the secret passage'); }; %><% s.preImg['Pseudopassage'] = 'img/opts/eye-hole.jpg'; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I look again</span> through the eye-hole: Tavia is taking a ring off her finger, and she passes it to the man on her left, who then passes it to the man on his left. He examines it and puts it in his finger. Then they start talking and I change to hearing. '... the way?' 'I thought you knew I was in the Ring,' Tavia says. 'After we leave this room, stay away from me.' 'So. What's the name of the hand?' A man says: 'Elefantino.' 'And what message must we pass?' 'David Victor,' Tavia says. Noise of chairs. When I look, they are leaving the room, in silence.<div id='opIreneandIulleavethesecretpassage' class='oport story'><img class='optimg' src='img/opts/leave.jpg'><div class='optext'><div class='optitle'>Leave</div><div class='opdesc'></div></div></div><% $(function () { $('#opIreneandIulleavethesecretpassage').click(function () { $('#opIreneandIulleavethesecretpassage').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneandIulleavethesecretpassage'); s.fullHistory.push('op Irene and Iul leave the secret passage');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene and Iul leave the secret passage';});}); %> <% s.narration['Pseudopassage'].push('10-Irene and Iul leave the secret passage'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene considers the conspiracy against father') == false ) { s.opport['Pseudopassage'].push('op Irene considers the conspiracy against father'); }; %><% s.log.push("I witnessed a secret meeting where a conspiracy was discussed."); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>David Victor.</span> I stumble out of the secret passage. Iul excitedly comes after me. 'Did you understand that? It's so important! So, so important!' Idiot child. I slap his face and put my eyes one inch in front of his. 'Don't dare telling this to anyone. Do you understand? Anyone. Now return that thing to the old deaf.' He looks at me stunned, almost crying. 'And no tears. Go.' He runs away, allowing me to think. *A conspiracy against Father.* The Ring, whoever they are, are planning something against him. Perhaps an attack. Perhaps tonight.<div id='opIreneconsiderstheconspiracyagainstfather' class='oport story'><img class='optimg' src='img/opts/hide.jpg'><div class='optext'><div class='optitle'>What can I do?</div><div class='opdesc'>Rest. Breathe. Think possibilities.</div></div></div><% $(function () { $('#opIreneconsiderstheconspiracyagainstfather').click(function () { $('#opIreneconsiderstheconspiracyagainstfather').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneconsiderstheconspiracyagainstfather'); s.fullHistory.push('op Irene considers the conspiracy against father');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene considers the conspiracy against father';});}); %> <% s.narration['myself'].push('10-Irene considers the conspiracy against father'); %><% s.reminders['ringconspiracy'] = "There's a conspiracy against Father."; %> <% if (_.contains(s.fullHistory, '0-dinnerbuzzattilook')) { %><% s.narration['Library'].push('1000-buzzatti is in the library to request help'); %><% targetTurn = Math.floor( s.timeSpeed*57 );targetEvent = 'ev Buzzatti in library Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% }; %> <% s.eventIgnore.push('ev buzzatti is showing proteo in the library'); %><% s.narration['Library'] = _.without( s.narration['Library'] , '500-buzzatti is showing proteo in the library' ); %><% s.opport['Marina Mayor'] = _.without( s.opport['Marina Mayor'] , 'op Permit Mayor Greet' ); %> <% s.returnRef = 'Main Hallway'; %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>While I force myself</span> to catch air slowly and calm my heart, my head spins with ideas. How can I prevent this? I can tell Father. He must protect himself, run away. Can I tell Clara? <% if (_.contains(s.fullHistory, '0-dinnerbuzzattilook')) { %>What about the mechanical man? It's unbelievably fast and strong. Buzzatti, the inventor, said that Proteo protected him. Perhaps he can transfer that protection to Father? He should be in the Library now. <% }; %> What else? Who can I trust? I realize that a lot of men in the guard and in the government can be members of the Ring. I don't dare to tell anyone. <% s.narration['myself'].push('1000-irene keeps thinking about the conspiracy'); %><% s.narration['Father'].push('50-father is here after irene hears conspiracy'); %><span class='high-emphasis'>My head is still spinning.</span> First the silly violin incident, then a child's game, and now a political conspiracy. The chain of events is laughable. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><span class='high-emphasis'>My heart leaps.</span> Father is here. I must tell him about what I heard from the secret room upstairs. <% if ( _.contains(s.opport['Father'], 'op Irene warns father about the conspiracy') == false ) { s.opport['Father'].push('op Irene warns father about the conspiracy'); }; %><% $('body').addClass('hideambientops'); %><div id='opIrenewarnsfatherabouttheconspiracy' class='oport story'><img class='optimg' src='img/opts/secret.jpg'><div class='optext'><div class='optitle'>Warn Father of the conspiracy</div><div class='opdesc'>Conspirators were talking about attacking him.</div></div></div><% $(function () { $('#opIrenewarnsfatherabouttheconspiracy').click(function () { $('#opIrenewarnsfatherabouttheconspiracy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenewarnsfatherabouttheconspiracy'); s.fullHistory.push('op Irene warns father about the conspiracy');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene warns father about the conspiracy';});}); %> <% if ( _.contains(s.opport['Father'], 'op Irene insists to father about conspiracy') == false ) { s.opport['Father'].push('op Irene insists to father about conspiracy'); }; %><% s.narration['myself'].push('10-Irene warns father about the conspiracy'); %><% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>My words falter.</span> The secret room. The hole. I leave Iul out, because it's ridiculous, but it makes it harder to explain. I leave Tavia out, because it makes it even harder. My breathing accelerates to a furious panting. I notice sweat in my face and a tension in my back that makes me bend. 'They talked about you.' I look at Father. His face is stone-like. 'Is this what you have to tell me tonight?' His voice sounds stone-like too. <% if (_.contains(s.fullHistory, '0-askmayorpermitdirect')) { %><% print("<p>'After your outrageous demands to the Mayor of Marina?' </p>"); %><% } else { %><% if (_.contains(s.fullHistory, '0-momentaskmayor')) { %><% print("<p>'After your outrageous demands to the Mayor of Marina?' </p>"); %><% } else { %><% if (_.contains(s.fullHistory, '0-dinnertablesstart')) { %><% print("<p>'After abandoning us and dining outside, like a laborer?'</p>"); %><% } else { %><% if (_.contains(s.fullHistory, '0-tablesdancetarantella')) { %><% print("<p>'After all your outrageous dancing tonight?'</p>"); %><% } else { %><% print("<p>'With all the problems we have with your excursions to the forest? With all the eyes staring at us because of your aunt?'</p>"); %><% }; %><% }; %><% }; %><% }; %> 'What I said was not an invention,' I say. Father sighs. 'You ask for things just to see people give them to you. To prove that your requests will be heard.' His eyes pierce me for a moment, then stray, as if his mind is too tired to hold a gaze.<div id='opIreneinsiststofatheraboutconspiracy' class='oport story'><img class='optimg' src='img/opts/secret.jpg'><div class='optext'><div class='optitle'>Insist with Father and the conspiracy</div><div class='opdesc'>He has to believe me.</div></div></div><% $(function () { $('#opIreneinsiststofatheraboutconspiracy').click(function () { $('#opIreneinsiststofatheraboutconspiracy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneinsiststofatheraboutconspiracy'); s.fullHistory.push('op Irene insists to father about conspiracy');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene insists to father about conspiracy';});}); %> <% s.narration['Pseudopassage'].push('10-Irene insists to father about conspiracy'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op attack laurentin when discussing conspiracy with father') == false ) { s.opport['Pseudopassage'].push('op attack laurentin when discussing conspiracy with father'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op tell laurentin about conspiracy with father') == false ) { s.opport['Pseudopassage'].push('op tell laurentin about conspiracy with father'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op leave father and laurentin after discussing conspiracy') == false ) { s.opport['Pseudopassage'].push('op leave father and laurentin after discussing conspiracy'); }; %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*1 ));targetEvent = 'ev irene can tell people about conspiracy';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'You're annoying,'</span> says Father, raising a hand so I don't talk further about the conspiracy. He looks around. 'Laurentin!' he calls. As usual, my brother-in-law is smiling and solicitous. Like a shopkeeper. He notices Father's irritation and his face changes. 'Are you tired, Father?' he asks. Father he said? Almost unheard of. 'Again, my daughter behaves like an unreasonable child,' says Father, and I start a protest but Laurentin talks over me. 'I know Gloria has been out of her mind,' he says. He gets a raging look from Father. 'It's Irene. Who said anything's wrong with Gloria?'<div id='opattacklaurentinwhendiscussingconspiracywithfather' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Attack Laurentin</div><div class='opdesc'>How dares he say that about my sister?</div></div></div><% $(function () { $('#opattacklaurentinwhendiscussingconspiracywithfather').click(function () { $('#opattacklaurentinwhendiscussingconspiracywithfather').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opattacklaurentinwhendiscussingconspiracywithfather'); s.fullHistory.push('op attack laurentin when discussing conspiracy with father');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op attack laurentin when discussing conspiracy with father';});}); %> <% s.narration['myself'].push('10-attack laurentin when discussing conspiracy with father'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op tell laurentin about conspiracy with father' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op leave father and laurentin after discussing conspiracy' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'How can you say Gloria is out of her mind?'</span> I ask. It's true; and it's not about me. Laurentin looks a bit bewildered, but he answers firmly. 'You should know. Remember? We all looked for you and when I found you, you wouldn't utter a word.' I can't answer. 'Laurentin, I didn't call you to discuss this,' says Father. 'Come with me. Let's talk.' I can't say anything. They leave me, walking arm in arm. I exhale slowly. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts')) { %><% } else { %><% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; }; %><% }; %><div id='optelllaurentinaboutconspiracywithfather' class='oport story'><img class='optimg' src='img/opts/secret.jpg'><div class='optext'><div class='optitle'>Tell Laurentin what I heard</div><div class='opdesc'>He can convince Father.</div></div></div><% $(function () { $('#optelllaurentinaboutconspiracywithfather').click(function () { $('#optelllaurentinaboutconspiracywithfather').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('optelllaurentinaboutconspiracywithfather'); s.fullHistory.push('op tell laurentin about conspiracy with father');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op tell laurentin about conspiracy with father';});}); %> <% s.narration['myself'].push('10-tell laurentin about conspiracy with father'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op attack laurentin when discussing conspiracy with father' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op leave father and laurentin after discussing conspiracy' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'You should know what I have heard today'</span> I say. 'I forbid you to keep on talking about that subject or any other,' says Father. He grabs my wrist and grips it hard. 'Father!' It hurts a lot, but it's even more surprising than painful. 'Laurentin, I didn't call you to discuss this,' says Father. 'Come with me. Let's talk.' I can't say anything. They leave me, walking arm in arm. I exhale slowly. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts')) { %><% } else { %><% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; }; %><% }; %><div id='opleavefatherandlaurentinafterdiscussingconspiracy' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Leave them</div><div class='opdesc'>Hopeless. Father is furious and has called Laurentin to ridicule me.</div></div></div><% $(function () { $('#opleavefatherandlaurentinafterdiscussingconspiracy').click(function () { $('#opleavefatherandlaurentinafterdiscussingconspiracy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opleavefatherandlaurentinafterdiscussingconspiracy'); s.fullHistory.push('op leave father and laurentin after discussing conspiracy');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op leave father and laurentin after discussing conspiracy';});}); %> <% s.narration['myself'].push('10-leave father and laurentin after discussing conspiracy'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op attack laurentin when discussing conspiracy with father' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op tell laurentin about conspiracy with father' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I don't even have a good reply</span> before I go. I just compose myself, so I don't give an image of defeat. I walk, sure they're looking at me. I don't look back. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts')) { %><% } else { %><% if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; }; %><% }; %><% if ( _.contains(s.opport['Premier'], 'op Irene tells premier about conspiracy') == false ) { s.opport['Premier'].push('op Irene tells premier about conspiracy'); }; %><% if ( _.contains(s.opport['Bishop Martiale'], 'op Irene tells bishop about conspiracy') == false ) { s.opport['Bishop Martiale'].push('op Irene tells bishop about conspiracy'); }; %><% if ( _.contains(s.opport['Iuvens'], 'op Irene tells iuvens about conspiracy') == false ) { s.opport['Iuvens'].push('op Irene tells iuvens about conspiracy'); }; %><% if ( _.contains(s.opport['Clara'], 'op Irene tells clara about conspiracy') == false ) { s.opport['Clara'].push('op Irene tells clara about conspiracy'); }; %><div id='opIrenetellspremieraboutconspiracy' class='oport story'><img class='optimg' src='img/opts/secret.jpg'><div class='optext'><div class='optitle'>Premier Severin is here</div><div class='opdesc'>Tell him what is going to happen to Father.</div></div></div><% $(function () { $('#opIrenetellspremieraboutconspiracy').click(function () { $('#opIrenetellspremieraboutconspiracy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenetellspremieraboutconspiracy'); s.fullHistory.push('op Irene tells premier about conspiracy');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene tells premier about conspiracy';});}); %> <% if (_.contains(s.fullHistory, '5-tell premier about conspiracy')) { %><% } else { %><% s.narration['myself'].push('5-tell premier about conspiracy'); %><% }; %> <% if (_.contains(s.fullHistory, '6-tell about conspiracy 2')) { %><% s.narration['myself'].push('6-tell about conspiracy 3'); %><% } else { %><% if (_.contains(s.fullHistory, '6-tell about conspiracy')) { %><% s.narration['myself'].push('6-tell about conspiracy 2'); %><% } else { %><% s.narration['myself'].push('6-tell about conspiracy'); %><% }; %><% }; %> <% if (_.contains(s.fullHistory, '6-tell about conspiracy')) { %><% } else { %><% if ( _.contains(s.opport['Premier'], 'op Irene tells premier about conspiracy') == false ) { s.opport['Premier'].push('op Irene tells premier about conspiracy'); }; %><% }; %> <% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><div id='opIrenetellsbishopaboutconspiracy' class='oport story'><img class='optimg' src='img/opts/secret.jpg'><div class='optext'><div class='optitle'>Bishop Martiale is here</div><div class='opdesc'>Tell him what is going to happen to Father.</div></div></div><% $(function () { $('#opIrenetellsbishopaboutconspiracy').click(function () { $('#opIrenetellsbishopaboutconspiracy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenetellsbishopaboutconspiracy'); s.fullHistory.push('op Irene tells bishop about conspiracy');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene tells bishop about conspiracy';});}); %> <% if (_.contains(s.fullHistory, '5-tell bishop about conspiracy')) { %><% } else { %><% s.narration['myself'].push('5-tell bishop about conspiracy'); %><% }; %> <% if (_.contains(s.fullHistory, '6-tell about conspiracy 2')) { %><% s.narration['myself'].push('6-tell about conspiracy 3'); %><% } else { %><% if (_.contains(s.fullHistory, '6-tell about conspiracy')) { %><% s.narration['myself'].push('6-tell about conspiracy 2'); %><% } else { %><% s.narration['myself'].push('6-tell about conspiracy'); %><% }; %><% }; %> <% if (_.contains(s.fullHistory, '6-tell about conspiracy')) { %><% } else { %><% if ( _.contains(s.opport['Bishop Martiale'], 'op Irene tells bishop about conspiracy') == false ) { s.opport['Bishop Martiale'].push('op Irene tells bishop about conspiracy'); }; %><% }; %> <% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><div id='opIrenetellsiuvensaboutconspiracy' class='oport story'><img class='optimg' src='img/opts/secret.jpg'><div class='optext'><div class='optitle'>Cesarel Iuvens is here</div><div class='opdesc'>Tell him what is going to happen to Father.</div></div></div><% $(function () { $('#opIrenetellsiuvensaboutconspiracy').click(function () { $('#opIrenetellsiuvensaboutconspiracy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenetellsiuvensaboutconspiracy'); s.fullHistory.push('op Irene tells iuvens about conspiracy');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene tells iuvens about conspiracy';});}); %> <% if (_.contains(s.fullHistory, '5-tell iuvens about conspiracy')) { %><% } else { %><% s.narration['myself'].push('5-tell iuvens about conspiracy'); %><% }; %> <% if (_.contains(s.fullHistory, '6-tell about conspiracy 2')) { %><% s.narration['myself'].push('6-tell about conspiracy 3'); %><% } else { %><% if (_.contains(s.fullHistory, '6-tell about conspiracy')) { %><% s.narration['myself'].push('6-tell about conspiracy 2'); %><% } else { %><% s.narration['myself'].push('6-tell about conspiracy'); %><% }; %><% }; %> <% if (_.contains(s.fullHistory, '6-tell about conspiracy')) { %><% } else { %><% if ( _.contains(s.opport['Iuvens'], 'op Irene tells iuvens about conspiracy') == false ) { s.opport['Iuvens'].push('op Irene tells iuvens about conspiracy'); }; %><% }; %> <% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><div id='opIrenetellsclaraaboutconspiracy' class='oport story'><img class='optimg' src='img/opts/secret.jpg'><div class='optext'><div class='optitle'>Clara is here</div><div class='opdesc'>Tell him what is going to happen to Father.</div></div></div><% $(function () { $('#opIrenetellsclaraaboutconspiracy').click(function () { $('#opIrenetellsclaraaboutconspiracy').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenetellsclaraaboutconspiracy'); s.fullHistory.push('op Irene tells clara about conspiracy');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene tells clara about conspiracy';});}); %> <% if (_.contains(s.fullHistory, '5-tell clara about conspiracy')) { %><% } else { %><% s.narration['myself'].push('5-tell clara about conspiracy'); %><% }; %> <% if (_.contains(s.fullHistory, '6-tell about conspiracy 2')) { %><% s.narration['myself'].push('6-tell about conspiracy 3'); %><% } else { %><% if (_.contains(s.fullHistory, '6-tell about conspiracy')) { %><% s.narration['myself'].push('6-tell about conspiracy 2'); %><% } else { %><% s.narration['myself'].push('6-tell about conspiracy'); %><% }; %><% }; %> <% if (_.contains(s.fullHistory, '6-tell about conspiracy')) { %><% } else { %><% if ( _.contains(s.opport['Clara'], 'op Irene tells clara about conspiracy') == false ) { s.opport['Clara'].push('op Irene tells clara about conspiracy'); }; %><% }; %> <% function gotDelay() {story.show(passage.name);};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>Premier Severin</span> is the most powerful man in the Canton Duopol. Any crime, any conspiracy, is a challenge to his authority. An attack on a magistrate? Like sticking a knife on his back. If I tell him, he will take it seriously.<span class='high-emphasis'>Bishop Martiale</span> is a very powerful man, someone who can exert a lot of power through discreet means. Someone who will be obeyed. If I tell him, nothing bad can happen to Father.<span class='high-emphasis'>Cesarel Iuvens</span> is an enemy of the royalists, of anyone who could want to harm Father. He is decisive, and he is friends with people from every status. If I tell him he will be able to do something.<span class='high-emphasis'>Clara will believe me.</span> She always does. If I tell her about someone attacking Father, she will believe me. And she has influence. She can change things. She will.<span class='high-emphasis'>I'm just a few steps away</span> when my shoulders start contracting spasmodically. What is it, I wonder. Then a moan climbs from my stomach to my lips and my vision gets blurry. I cover my mouth, turn back, stumble. What is it?<span class='high-emphasis'>The fear,</span> the melancholy, is a luxury that I can't have now. I'm not even near when the palpitations start again. *But I must,* I mumble to myself. I won't say a word. *An unreasonable child* is what Father saw. Why would anyone see anything else.<%= _.sample( [ "I can't. I can't. I can't. Unreasonable. Child.", "But I know that I won't be able to talk about the conspiracy. Words won't come out of my mouth.", "And what will I say? With which words that are believable?", "How can I explain it? The chain of events was ridiculous. ", "I walk two steps and I start laughing. ", ]) %> <%= _.sample( [ "My face must be red. I must be looking ridiculous. I can't talk to anybody like this.", "I imagine the looks, the faces, the comments. ", "No one will believe me. Not any more than Father did. ", "Something steals all the air from my lungs. I turn back, I walk back, I get far, and yet I can't breathe.", "I won't let anyone see me like this.", "I won't speak to anyone feeling like this.", ]) %><% s.narration['Marble Gallery, East'].push('500-orchestra is playing le reve'); %><% s.narration['Library'].push('500-orchestra is playing le reve'); %><% s.narration['Grand Entrance Hall'].push('500-orchestra is playing le reve'); %><% s.narration['Garden Stairs'].push('500-orchestra is playing le reve'); %><% s.narration['Fountain'].push('500-orchestra is playing le reve'); %><span class='high-emphasis'>What's that music</span> and that agitation? The orchestra is playing *Le rêve bleu* in the Gallery! One of my favourite songs! I should go dance that. <% s.narration['Marble Gallery, West'].push('100-gallery orchestra is playing reve'); %><% targetTurn = s.turn+5;targetEvent = 'ev Irene dances reve bleu remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Marble Gallery, East'] = _.without( s.narration['Marble Gallery, East'] , '500-orchestra is playing le reve' ); %><% s.narration['Library'] = _.without( s.narration['Library'] , '500-orchestra is playing le reve' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-orchestra is playing le reve' ); %><% s.narration['Garden Stairs'] = _.without( s.narration['Garden Stairs'] , '500-orchestra is playing le reve' ); %><% s.narration['Fountain'] = _.without( s.narration['Fountain'] , '500-orchestra is playing le reve' ); %><% s.opport['Marble Gallery, West'] = _.without( s.opport['Marble Gallery, West'] , 'op Irene dances reve bleu' ); %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '100-gallery orchestra is playing reve' ); %><span class='high-emphasis'>As I heard,</span> the orchestra is playing *Le rêve bleu* at vicious speed, as challenging the expert dancers. It surprises me to see that only five or six people are dancing to this popular and excellent song. <% if ( _.contains(s.opport['Marble Gallery, West'], 'op Irene dances reve bleu') == false ) { s.opport['Marble Gallery, West'].push('op Irene dances reve bleu'); }; %><div id='opIrenedancesrevebleu' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Dance *Le rêve bleu*</div><div class='opdesc'>Before the song ends.</div></div></div><% $(function () { $('#opIrenedancesrevebleu').click(function () { $('#opIrenedancesrevebleu').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenedancesrevebleu'); s.fullHistory.push('op Irene dances reve bleu');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene dances reve bleu';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Irene leaves dance reve') == false ) { s.opport['Pseudopassage'].push('op Irene leaves dance reve'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene continues dance reve') == false ) { s.opport['Pseudopassage'].push('op Irene continues dance reve'); }; %><% s.narration['Pseudopassage'].push('10-Irene dances reve bleu'); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>I don't pay much attention</span> to the room when I join the line of dancers and start doing the steps. The music is fast and hard to dance properly. I focus on my body. Left, left, forward. Half turn. Forward. When I finally notice the noise, I understand that I have been hearing it for some time, without being aware of it. Some people are kicking the floor and whistling at us. Why...? Such lack of respect. They are only a few, with very angry faces, but the rest of the public is doing nothing.<div id='opIreneleavesdancereve' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Leave the dance</div><div class='opdesc'>People never disturb a dance here. This is worrying.</div></div></div><% $(function () { $('#opIreneleavesdancereve').click(function () { $('#opIreneleavesdancereve').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneleavesdancereve'); s.fullHistory.push('op Irene leaves dance reve');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene leaves dance reve';});}); %> <% s.narration['Marble Gallery, West'].push('10-Irene leaves dance reve'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene continues dance reve' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene requests louder reve' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene continues dance reve 2' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I don't feel comfortable</span> dancing like this, surrounded by hostile faces. I abandon the line of dancers and walk up to a window. I wish no one has recognized me, but I know it can't be true. After a short time, I notice that the noises fade out. The orchestra is now playing a different song. I don't understand what has happened.<div id='opIrenecontinuesdancereve' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Continue dancing</div><div class='opdesc'>This is a song I love.</div></div></div><% $(function () { $('#opIrenecontinuesdancereve').click(function () { $('#opIrenecontinuesdancereve').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenecontinuesdancereve'); s.fullHistory.push('op Irene continues dance reve');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene continues dance reve';});}); %> <% if ( _.contains(s.opport['Pseudopassage'], 'op Irene requests louder reve') == false ) { s.opport['Pseudopassage'].push('op Irene requests louder reve'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene continues dance reve 2') == false ) { s.opport['Pseudopassage'].push('op Irene continues dance reve 2'); }; %><% s.narration['Pseudopassage'].push('10-Irene continues dance reve'); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>No one is going</span> to spoil this song for me. The song goes on. The stomping and the whistles get louder, and I think more people are doing them. I take a quick look at the other dancers, and I see that at least one has left, and the others look worried. Finally I look at the orchestra, and they are visibly worried. One of them stops playing and exchanges glances with the others, imploring them to do the same.<div id='opIrenerequestslouderreve' class='oport story'><img class='optimg' src='img/opts/violin.jpg'><div class='optext'><div class='optitle'>Request the performers to play louder</div><div class='opdesc'></div></div></div><% $(function () { $('#opIrenerequestslouderreve').click(function () { $('#opIrenerequestslouderreve').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenerequestslouderreve'); s.fullHistory.push('op Irene requests louder reve');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene requests louder reve';});}); %> <% s.narration['Pseudopassage'].push('10-Irene requests louder reve'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene not protest when le reve stops') == false ) { s.opport['Pseudopassage'].push('op Irene not protest when le reve stops'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene confronts the people against le reve') == false ) { s.opport['Pseudopassage'].push('op Irene confronts the people against le reve'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene leaves dance reve' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene continues dance reve 2' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'Louder and faster!'</span> I cry, smiling at the musicians. Perhaps they see it as encouragement, or perhaps as a threat, but they do as instructed. The performance gets jumpy again and we carry on dancing. A joyous song about innocent dreams where anything can happen. But the whistles become louder and louder until they almost drown the music. 'Stop playing this at once!' a man cries. 'We don't allow this in our Canton anymore.' The music stops.<div id='opIrenecontinuesdancereve2' class='oport story'><img class='optimg' src='img/opts/dance.jpg'><div class='optext'><div class='optitle'>Simply keep dancing</div><div class='opdesc'></div></div></div><% $(function () { $('#opIrenecontinuesdancereve2').click(function () { $('#opIrenecontinuesdancereve2').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenecontinuesdancereve2'); s.fullHistory.push('op Irene continues dance reve 2');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene continues dance reve 2';});}); %> <% s.narration['Pseudopassage'].push('10-Irene continues dance reve 2'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene not protest when le reve stops') == false ) { s.opport['Pseudopassage'].push('op Irene not protest when le reve stops'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene confronts the people against le reve') == false ) { s.opport['Pseudopassage'].push('op Irene confronts the people against le reve'); }; %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene leaves dance reve' ); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene requests louder reve' ); %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I merely</span> carry on with the dance. Why not? It's a joyous song about innocent dreams where anything can happen. But the whistles become louder and louder until they almost drown the music. 'Stop playing this at once!' a man cries. 'We don't allow songs like this in our Canton anymore.' The music stops.<div id='opIrenenotprotestwhenlerevestops' class='oport story'><img class='optimg' src='img/opts/silence.jpg'><div class='optext'><div class='optitle'>Don't complain</div><div class='opdesc'>This situation is getting unsettling.</div></div></div><% $(function () { $('#opIrenenotprotestwhenlerevestops').click(function () { $('#opIrenenotprotestwhenlerevestops').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenenotprotestwhenlerevestops'); s.fullHistory.push('op Irene not protest when le reve stops');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene not protest when le reve stops';});}); %> <% s.narration['Marble Gallery, West'].push('10-Irene not protest when le reve stops'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene confronts the people against le reve' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>These hostile faces</span> are too much for me. I walk up to a window, wishing no one has recognized me, but I know it can't be true. The song has stopped, noises too. After a moment, the orchestra starts playing a different song. I don't understand what has happened.<div id='opIreneconfrontsthepeopleagainstlereve' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Confront the people who disturbed the dance</div><div class='opdesc'>What is this? Who do they think they are?</div></div></div><% $(function () { $('#opIreneconfrontsthepeopleagainstlereve').click(function () { $('#opIreneconfrontsthepeopleagainstlereve').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIreneconfrontsthepeopleagainstlereve'); s.fullHistory.push('op Irene confronts the people against le reve');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene confronts the people against le reve';});}); %> <% s.narration['Pseudopassage'].push('10-Irene confronts the people against le reve'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene not protest when le reve stops' ); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene not discuss le reve') == false ) { s.opport['Pseudopassage'].push('op Irene not discuss le reve'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Irene discuss le reve to the end') == false ) { s.opport['Pseudopassage'].push('op Irene discuss le reve to the end'); }; %><% function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>I won't be intimidated.</span> I raise my voice. 'This is a song that our parents and our grandparents danced,' I say. 'Nobody has the authority to tell an Auroran not to dance.' A young man comes forward. 'We have all authority. The authority of loyalty.' 'Long live the King!' cries someone. 'Long live the King!' many voices repeat. But did someone say *ring* instead of *king?* 'It's a French song,' the young man says. 'As far as I'm concerned, anyone that plays it or dances to it should be considered a traitor.' Suddenly I feel a cold hand gripping my stomach. For the first time in my life, I'm in a ball with the highest people here and I don't feel safe.<div id='opIrenenotdiscusslereve' class='oport story'><img class='optimg' src='img/opts/run.jpg'><div class='optext'><div class='optitle'>Don't argue and leave</div><div class='opdesc'>Quickly. This scares me.</div></div></div><% $(function () { $('#opIrenenotdiscusslereve').click(function () { $('#opIrenenotdiscusslereve').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenenotdiscusslereve'); s.fullHistory.push('op Irene not discuss le reve');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene not discuss le reve';});}); %> <% s.narration['Marble Gallery, West'].push('10-Irene not discuss le reve'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene discuss le reve to the end' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>These hostile faces</span> are too much for me. I walk up to a window, wishing no one has recognized me, but I know it can't be true. After a moment, the orchestra starts playing a different song. So, we can't even play old songs from our grandparents because they are French? What's happening in this Canton? Where have these people come from?<div id='opIrenediscusslerevetotheend' class='oport story'><img class='optimg' src='img/opts/fist.jpg'><div class='optext'><div class='optitle'>Try to defend my right</div><div class='opdesc'>This is not my city.</div></div></div><% $(function () { $('#opIrenediscusslerevetotheend').click(function () { $('#opIrenediscusslerevetotheend').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opIrenediscusslerevetotheend'); s.fullHistory.push('op Irene discuss le reve to the end');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Irene discuss le reve to the end';});}); %> <% s.narration['Marble Gallery, West'].push('10-Irene discuss le reve to the end'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Irene not discuss le reve' ); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>'Aren't you old enough</span> to have serious business to take care of, instead of watching what other people dance in festivals?' My question seems to encourage some people in the public, who nod in agreement. 'This is where disloyalty begins,' says the young man, unfazed. 'You thought you could keep dancing it undisturbed, but now suddenly you can't. Because we have taken that away.' He points at me. 'We are loyal, Lady Victor, so this is one of our prerogatives. We can suddenly decice that you won't dance this again, and we will be obeyed because we are loyal.' Some people cheer him discreetly. I am alone now in the middle of the Gallery, left alone by the other dancers. 'That is not our Canton's way,' I say. 'It has never been your Canton, it's ours,' he says, and returns with the crowd. The orchestra start playing *Our happy Duke,* and everything becomes normal again. Except my deep fear.<% s.narration['Marble Gallery, West'].push('500-debatefromlibrary'); %><% s.narration['Grand Entrance Hall'].push('500-debatefromlibrary'); %><% targetTurn = Math.floor( s.turn + (s.timeSpeed*2 ));targetEvent = 'ev Republican Debate Noise Remove';if ( _.contains( _.keys(s.timedEvent), targetTurn.toString() ) ) { s.timedEvent[targetTurn].push( targetEvent ); } else { s.timedEvent[targetTurn] = [ targetEvent ]; }; %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-debatefromlibrary' ); %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-debatefromlibrary' ); %><span class='high-emphasis'>I hear a commotion</span> coming from the library, two waves of shouts that rise and fall. Some cry, 'Longine! Longine!' Others cry, 'Iuvens! Iuvens!' <% if (s.currentLocation == 'Marble Gallery, West') { %><% s.narration['Grand Entrance Hall'] = _.without( s.narration['Grand Entrance Hall'] , '500-debatefromlibrary' ); %><% }; %><% if (s.currentLocation == 'Grand Entrance Hall') { %><% s.narration['Marble Gallery, West'] = _.without( s.narration['Marble Gallery, West'] , '500-debatefromlibrary' ); %><% }; %><span class='high-emphasis'>'Our house is on fire!'</span> shouts someone, answered by cheers. There is a large group. Some are nobility, military or landowners, with bright silks or swords in bejeweled sheaths. Others are less conspicuous: traders and men of letters. I recognize more of the former. Many of them... I wish I wouldn't. The political debate seems more heated than usual.<% s.opport['Library'] = _.without( s.opport['Library'] , 'op Republican Debate Listen' ); %><% s.opport['Library'] = _.without( s.opport['Library'] , 'op Republican Debate Stay' ); %><% s.opport['Library'] = _.without( s.opport['Library'] , 'op Republican Debate Climax' ); %><% s.narration['Library'] = _.without( s.narration['Library'] , '100-ourhouseisonfiredebate' ); %><div id='opRepublicanDebateListen' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Listen to the political debate</div><div class='opdesc'>Men are discussing the state of our Canton. Discussions so incensed tend to be amusing.</div></div></div><% $(function () { $('#opRepublicanDebateListen').click(function () { $('#opRepublicanDebateListen').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opRepublicanDebateListen'); s.fullHistory.push('op Republican Debate Listen');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Republican Debate Listen';});}); %> <% if ( _.contains(s.opport['Library'], 'op Republican Debate Stay') == false ) { s.opport['Library'].push('op Republican Debate Stay'); }; %><% s.opport['Library'] = _.without( s.opport['Library'] , 'op Republican Debate Listen' ); %><% s.narration['Library'].push('0-25yearsprosperitydebate'); %><% function gotDelay() {story.show('Library');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'On fire?</span> Twenty years of peace and prosperity!' says another polemicist: Cesarel Iuvens, a deviously brilliant speaker, a regular of Clara's salon and one of my suitors, if I believe in gossip instead of facts. 'Whose prosperity?' asks the other: Lord Longine. 'Only in the commercial streets of Aurora and Marina. In the estates, in the churches, decay is what you see, brought by our hubristic wish of self government.' Routine. Some want more submission to the King, even becoming a mere province of the Kingdom, and the abolition of modern laws, specially if they are tinted with French ideas. If I could stand on a table and scream at them: you are losing and we are winning. *We have been winning since I was born.*<div id='opRepublicanDebateStay' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Keep listening to the political debate</div><div class='opdesc'>Today's discussion sounds livelier than usual. Or more fuming.</div></div></div><% $(function () { $('#opRepublicanDebateStay').click(function () { $('#opRepublicanDebateStay').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opRepublicanDebateStay'); s.fullHistory.push('op Republican Debate Stay');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Republican Debate Stay';});}); %> <% s.narration['Library'].push('0-breadistheirworrydebate'); %><% if ( _.contains(s.opport['Library'], 'op Republican Debate Climax') == false ) { s.opport['Library'].push('op Republican Debate Climax'); }; %><% s.opport['Library'] = _.without( s.opport['Library'] , 'op Republican Debate Stay' ); %><% function gotDelay() {story.show('Library');};setTimeout(gotDelay,110);}); }); %><span class='high-emphasis'>'The poor, the peasants and fishermen</span>, all of them are happier than ever before. The Canton cares about them!' Cesarel attacks. 'Have you asked them? All they talk about is hunger, not citizenship.' Longine answers. Listening to this drivel is exasperating, and not making faces at it is even worse. 'Church commons are now forbidden to peasants, and landowners have to raise their rents to pay new taxes. They long for a fair King.' My reformist friends cry, 'Persians! Persians!' to insult the royalists. Some are holding copies of Iuvens' recent pamphlet about the revolts in Italy.<div id='opRepublicanDebateClimax' class='oport story'><img class='optimg' src='img/opts/ear.jpg'><div class='optext'><div class='optitle'>Stay for the debate's grand finale</div><div class='opdesc'>This argument between royalists and reformists is reaching its climax.</div></div></div><% $(function () { $('#opRepublicanDebateClimax').click(function () { $('#opRepublicanDebateClimax').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opRepublicanDebateClimax'); s.fullHistory.push('op Republican Debate Climax');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Republican Debate Climax';});}); %> <% s.narration['Pseudopassage'].push('0-hailingthekingdebate'); %><% if ( _.contains(s.opport['Pseudopassage'], 'op Debate Protector') == false ) { s.opport['Pseudopassage'].push('op Debate Protector'); }; %><% if ( _.contains(s.opport['Pseudopassage'], 'op Debate Ruler') == false ) { s.opport['Pseudopassage'].push('op Debate Ruler'); }; %><% s.opport['Library'] = _.without( s.opport['Library'] , 'op Republican Debate Climax' ); %><% $( '#sidebar' ).css( 'transform', 'scale(.85)' ).css( 'opacity', '0' );s.showSidebar = false;s.returnRef = passage.name;function gotDelay() {story.show('Pseudopassage');};setTimeout(gotDelay,250);}); }); %><span class='high-emphasis'>'Are you admitting</span> that peasants are poorer because they pay the landowner's taxes?' Cesarel attacks. An uproar follows, and both groups are hailing the King now. Oh. This is a test for all present. Everyone has to hail the King, and the way each person does it shows which group they favour. So *I have to choose how to shout for the crown*. To my knowledge, most people around me at this moment are firm supporters of the King.<div id='opDebateProtector' class='oport story'><img class='optimg' src='img/opts/covenant.jpg'><div class='optext'><div class='optitle'>'Long live the King our protector!'</div><div class='opdesc'>This means 'we are happy to have a King as long as He stays far and keeps His nose out of our business'.</div></div></div><% $(function () { $('#opDebateProtector').click(function () { $('#opDebateProtector').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDebateProtector'); s.fullHistory.push('op Debate Protector');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Debate Protector';});}); %> <% s.narration['Library'].push('0-hailkingprotectordebate'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Debate Ruler' ); %><% s.log.push("I stood up as a supporter of governing ourselves and having a king in name only. In other words, as a republican."); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>I voice</span> my support for the liberal stance. Cesarel hears it with a wicked smile; others, most of those around me, stare harshly at me. I turn my face. This debate is over. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><div id='opDebateRuler' class='oport story'><img class='optimg' src='img/opts/crown.jpg'><div class='optext'><div class='optitle'>'Long live the King our ruler!'</div><div class='opdesc'>This means you want the King to abolish our self-rule, so that we become another province of the Kingdom.</div></div></div><% $(function () { $('#opDebateRuler').click(function () { $('#opDebateRuler').css('transform','scale(1.1)').css('opacity','0');s.actionslog.push('opDebateRuler'); s.fullHistory.push('op Debate Ruler');Object.keys(s.opport).forEach(function(key) {s.opport[key] = s.opport[key].filter(function(contents) {return contents !== 'op Debate Ruler';});}); %> <% s.narration['Library'].push('0-hailkingrulerdebate'); %><% s.opport['Pseudopassage'] = _.without( s.opport['Pseudopassage'] , 'op Debate Protector' ); %><% s.log.push("I pretended to be a royalist, a supporter subjecting ourselves to a king with absolute power."); %><% s.showSidebar = true;story.show(s.returnRef);}); }); %><span class='high-emphasis'>Not without guilt, I lie:</span> I cry in support of the King. Cesarel knows how I really think, but he stares harshly at me. Others will think I'm a royalist. Most people around smile to me. The debate is over. <% if (_.contains(s.fullHistory, '500-the anxiety attack starts') == false) {s.anxietyValue = _.random(0,100); if( s.anxietyValue > s.anxietyThreshold ) { if (_.contains( _.keys(s.interrupt),'myself' )) { s.interrupt['myself'].push('interrupt-the anxiety attack starts'); } else { s.interrupt['myself'] = ['interrupt-the anxiety attack starts']; };} else { s.anxietyThreshold = s.anxietyThreshold - 15; }; %><p class='debug'>Se ejecuta anx. Tirada: <%= s.anxietyValue %>. Objetivo: <%= s.anxietyThreshold+15 %></p><% } %><% s.passTitle = "Kitchen"; %><% s.passDescription.push("<span class='high-emphasis'>The kitchen is spacious</span> and well illuminated, but the constant manoeuvres of an army of cooks, helpers and maids make me feel constrained."); %><% s.passDescription.push("<span class='high-emphasis'>The kitchen makes me think about dance</span>. It's full of noises and scents, but all has a specific goal."); %><% s.passDescription.push("<span class='high-emphasis'>I find it entertaining</span> to watch the cooks attempt to keep order in the kitchen and get the foods done."); %><% s.passDescription.push("<span class='high-emphasis'>A plate breaks somewhere</span>. 'Go back to your cows!'"); %><% s.passImage = 'img/opts/kitchen.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('kitchen1st'); %><% s.preImg['Kitchen'] = 'img/opts/smelling.jpg'; %><% }; %> <%= story.render(s.generator) %><span class='high-emphasis'>The smell:</span> it has been some time since the smell of a kitchen felt so vibrant, so colourful to me. The air is heavier than my dress, I get dizzy, I hold on to the handrail for a moment: I have not even crossed the door yet. The mood, however, is different. The kitchen is as crowded as the halls upstairs, but nobody is laughing or even smiling. Why can't these people perform their duties in a lighter way? The basement is one floor under the Noon Door and the street, but it is at the same level as the garden.<% s.passTitle = "Laundry"; %><% s.passDescription.push("<span class='high-emphasis'>There's nothing</span> of much interest here in the laundry, and I shouldn't be here."); %><% s.passDescription.push("<span class='high-emphasis'>The laundry</span> is not a place to be. No one is here except the occasional maid bringing some dirty cloth."); %><% s.passDescription.push("<span class='high-emphasis'>No one is going to work</span> today in the laundry."); %><% s.passImage = 'img/opts/laundry.jpg'; %><% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('laundry1st'); %><% }; %><%= story.render(s.generator) %><span class='high-emphasis'>As I first enter</span> the laundry I'm overwhelmed by penetrating smell, not as pleasant as the kitchen.<% s.passTitle = "Pantry"; %><% s.passDescription.push("<span class='high-emphasis'>A well stocked pantry</span> is something you see with very different eyes once you have spent time getting your food by yourself."); %><% s.passDescription.push("<span class='high-emphasis'>Today the cooks</span> are emptying the pantry fast."); %><% s.passDescription.push("<span class='high-emphasis'>The smells in the pantry</span> are made more intense by the dim lighting."); %><% s.passImage = 'img/opts/pantry.jpg'; %> <% if (!_.contains( s.passageHistory, passage.name )) { %><% s.narration[passage.name].push('pantry1st'); %><% }; %> <%= story.render(s.generator) %><span class='high-emphasis'>The pantry is a labyrinth</span> of shelves and cupboards, floor to ceiling, overflowing with nourishment. Like the Library.<% s.preTmp = []; // First, we aggregate the preDesc array for the current region. if ( _.contains( _.keys(s.narration), s.region[s.currentLocation])) { s.preTmp = _.union( s.preTmp, s.narration[s.region[s.currentLocation]] ); }; // Second, we aggregate the preDesc array for the current passage. if ( s.preImg[s.currentLocation] != "" && s.preImg[s.currentLocation] != undefined ) { print("<img class='preImg' src='" + s.preImg[s.currentLocation] , "' />"); s.preImg[s.currentLocation] = ""; }; // Now we aggregate predesc proper and empty it afterwards. s.preTmp = _.union( s.preTmp, s.narration[s.currentLocation]); // Third, we loop through the characters present in the current location and aggregate their preDesc arrays. if (s.locationList[s.currentLocation].length>0) { var step; for (step = 0; step < s.locationList[s.currentLocation].length; step++) { charExtract = s.locationList[s.currentLocation][step]; if ( s.narration[charExtract] !== "" ) { if ( s.preImg[charExtract] != "" && s.preImg[charExtract] != undefined ) { print("<img class='preImg' src='" + s.preImg[charExtract] , "' />"); s.preImg[charExtract] = ""; }; if ( _.contains( _.keys(s.narration), charExtract)) { s.preTmp = _.union(s.preTmp, s.narration[charExtract] ); }; }; }; }; // Fourth we aggregate predesc for myself (don't do this in Pseudopassage) if ( _.contains( _.keys(s.narration), "myself") && s.currentLocation != "Pseudopassage" ) { s.preTmp = _.union( s.preTmp, s.narration["myself"] ); }; print("<p class='debug'>Available passages: ");print(s.preTmp); print("</p>"); // Now we do sanity (narration selection). // First we get the tags for every passage and flatten the resulting array. s.preTags = []; loopIterations = s.preTmp.length; if (loopIterations > 0) { var step; for (step = 0; step < loopIterations; step++) { s.preTags[step] = story.passage(s.preTmp[step]).tags; }; }; s.preTags = _.flatten( s.preTags ); print("<p class='debug'>Passage tags: ");print(s.preTags); print("</p>"); // Second, we search until we find a pattern, in this order: m, ml, ma, h, ll, la, l, aaa, aa, a s.preSane = []; // pattern mm, ml, ma, m s.patternCheck = _.filter( s.preTags, function(num){ return num == "m"; } ); if ( s.patternCheck.length > 0 ) { // pattern mm if ( s.patternCheck.length > 1 ) { s.preSane[0] = s.preTmp[ _.indexOf( s.preTags, "m" ) ]; s.preSane[1] = s.preTmp[ _.lastIndexOf( s.preTags, "m" ) ]; print("<p class='debug'>Pattern: mm</p>"); } else { // pattern ml s.pattern = _.indexOf( s.preTags, "l" ); if ( s.pattern > -1 ) { s.preSane[0] = s.preTmp[ s.pattern ]; s.preSane[1] = s.preTmp[ _.indexOf( s.preTags, "m" ) ]; print("<p class='debug'>Pattern: ml</p>"); } else { // pattern ma s.pattern = _.indexOf( s.preTags, "a" ); if ( s.pattern > -1 ) { s.preSane[0] = s.preTmp[ s.pattern ]; s.preSane[1] = s.preTmp[ _.indexOf( s.preTags, "m" ) ]; print("<p class='debug'>Pattern: ma</p>"); } else { // pattern m s.preSane[0] = s.preTmp[ _.indexOf( s.preTags, "m" ) ]; print("<p class='debug'>Pattern: m</p>"); } } } } else { // pattern h s.pattern = _.indexOf( s.preTags, "h" ); if ( s.pattern > -1 ) { s.preSane[0] = s.preTmp[ s.pattern ]; print("<p class='debug'>Pattern: h</p>"); } else { // patterns ll, la, l s.patternCheck = _.filter( s.preTags, function(num){ return num == "l"; } ); if ( s.patternCheck.length > 0 ) { // pattern ll if ( s.patternCheck.length > 1 ) { s.preSane[0] = s.preTmp[ _.indexOf( s.preTags, "l" ) ]; s.preSane[1] = s.preTmp[ _.lastIndexOf( s.preTags, "l" ) ]; print("<p class='debug'>Pattern: ll</p>"); } else { // pattern la s.pattern = _.indexOf( s.preTags, "a" ); if ( s.pattern > -1 ) { s.preSane[0] = s.preTmp[ s.pattern ]; s.preSane[1] = s.preTmp[ _.indexOf( s.preTags, "l" ) ]; print("<p class='debug'>Pattern: la</p>"); } else { // pattern l s.preSane[0] = s.preTmp[ _.indexOf( s.preTags, "l" ) ]; print("<p class='debug'>Pattern: l</p>"); } } } else { // patterns aaa, aa, a s.patternCheck = _.filter( s.preTags, function(num){ return num == "a"; } ); if ( s.patternCheck.length > 0 ) { // pattern aaa if ( s.patternCheck.length > 2 ) { s.preSane[0] = s.preTmp[ _.indexOf( s.preTags, "a" ) ]; s.preSane[1] = s.preTmp[ _.indexOf( s.preTags, "a", _.indexOf( s.preTags, "a" )+1 ) ]; s.preSane[2] = s.preTmp[ _.lastIndexOf( s.preTags, "a" ) ]; print("<p class='debug'>Pattern: aaa</p>"); } else { // pattern aa if ( s.patternCheck.length == 2 ) { s.preSane[0] = s.preTmp[ _.indexOf( s.preTags, "a" ) ]; s.preSane[1] = s.preTmp[ _.lastIndexOf( s.preTags, "a" ) ]; print("<p class='debug'>Pattern: aa</p>"); } else { // pattern a s.preSane[0] = s.preTmp[ _.indexOf( s.preTags, "a" ) ]; print("<p class='debug'>Pattern: a</p>"); } } } // patterns a } // pattern l } // pattern h } // pattern m print("<p class='debug'>Chosen passages: ");print(s.preSane); print("</p>"); // Now we have the whole contents, we sort them so that prioritary texts come first. if ( s.preSane.length>1 ) { s.preSane=s.preSane.sort(naturalSort) } // Now to the printing loop loopIterations = s.preSane.length; if (loopIterations > 0) { var step; for (step = 0; step < loopIterations; step++) { // Remove the passage from s.narration Object.keys( s.narration ).forEach(function(key) { s.narration[key] = s.narration[key].filter(function(contents) { return contents !== s.preSane[step]; }); }); // Print the passage print("<div class='predesc-item'>"); print(story.render(s.preSane[step])); print("</div>"); }; // We add the narration array to the history and delete the temporary variable s.narrationHistory = _.union( s.narrationHistory, s.preSane); s.fullHistory = _.union( s.fullHistory, s.preSane); s.preSane = []; } else { // If there's nothing to print and we had no interruptions, we fallback to some default room description. if ( s.interruptBlockAfterFirst == false ) { print("<div class='predesc-item'><p>"); print(_.sample(s.passDescription)); print("</p></div>"); }; }; %>