<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 this 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