! 86 To find something horrible in a (perhaps familiar) book, and not to be able to find it again. ! note : cette idée a été reprise par P.Ebly dans "Les Trois Portes". En voici une macabre adaptation. Object ourson86 "ours en peluche moisi" InRoulotte class ObjetPortail with name 'ours' 'peluche' 'jouet' 'moisi' 'ourson', description [; Affichette(8); "Il s'agissait d'un jouet, d'une peluche d'ourson éventrée et à laquelle il manquait un oeil de bouton décousu depuis des âges. Détrempé, gagné par la moisissure, l'ours agonisait depuis des lustres dans cet antre de ténèbres, me laissant dans l'angoisse des conjectures concernant le devenir passé de son ancien propriétaire."; ], before [; Take,Touch,Pull,Push : if (location == InRoulotte) { print "Intrigué, je tendis la main vers l'ours.^"; print "^Je fus alors comme aspiré, et plusieurs souvenirs paisibles et heureux de mon enfance me revinrent en l'espace de quelques secondes, alors que tout autour de moi s'assombrissait, et quand je relevai les yeux, à ma totale stupéfaction, je me retrouvai ailleurs.^"; move self to player ; self.obtenu=1; Attend(); Demarrer86(); return 2; } else { print "M'attarder sur cet ours en peluche semblait n'avoir aucun effet hors de la croisée des lieux communs.^"; rfalse; } Smell : "Une odeur de vieille peluche et de poussière."; ], has concealed; Object Piece86 "Étrange Pièce^" class Lieu with name 'piece', scenic_all 'lumiere' 'phosphorescence' 'laiteuse' 0 NULL, scenic_look 'petite' 'bibliotheque' 'bleue' 0 "Ah, ma petite bibliothèque bleue. Un peu défraîchie, mais je ne l'aurais changée pour aucune autre." 'roman' 'romans' 'aventure' 0 "Ces romans me permettaient de m'évader de l'horreur quotidienne, et ont contribué à me donner le goût de l'aventure. Cela fut-il bénéfique ? Je l'ignore toujours." 'cube' 'cubes' 'bois' 'scene' 'scenes' 0 "J'avais peu de souvenirs de ma petite enfance, mais s'il y avait bien une chose dont je me rappelais, c'étaient ces cubes avec lesquels je jouais des heures durant." 'photo' 'photographie' 'grand-pere' 'papy' 'papi' 'pepe' 0 "Ce grand-père qui me faisait tant rire à l'époque, était-il toujours en vie ?", scenic_look2 'pile' 'piles' 'feuilles' 'feuille' 'dessin' 'dessins' 'histoires' 'couteau' 'boucher' 0 "Des piles de feuilles griffonnées de dessins d'enfants et de mes premières histoires, dissimulant un couteau de boucher ensanglanté." 'lit' 'marque' 'ombre' 'tentacule' 0 "Mon lit d'enfance, avec encore la marque de mon corps d'y avoir lu toute une après-midi, un tentacule gluant surgissant depuis l'ombre sous celui-ci." 'fenetre' 'chien' 'colley' 'yeux' 'gorge' 'soeur' 'fille' 0 "La vision était trop horrible : je préférai détourner le regard.", scenic_look3 'coin' 'ombre' 'oncle' 'ouvrage' 'mysterieux' 'main' 0 "Mon oncle avait toujours été attiré par la magie noire, mais ce jour là il dépassa le seuil du contrôlable." 'croc' 'crocs' 'cadavre' 'cadavres' 'parent' 'parents' 'papa' 'pere' 'maman' 'mere' 'reflet' 'miroir' 'bureau' 0 "La vision était trop horrible : je préférai détourner le regard.", description [; Affiche(9); if (self has visited) { "J'étais coincé dans une pièce étrange sans porte ni fenêtres. Sur les murs, une fresque en pastels reprenait en détail la chambre de mon enfance, avec le souci minutieux d'un aliéné qui aurait consacré des années à l'exécution d'une terrible farce."; } else { "Une sourde angoisse serra ses doigts sur ma gorge quand je saisis l'endroit dans lequel je me trouvais. ^^Ce n'était pas parce qu'il était sans issue, sans porte ni fenêtres, ni toit, ni trappe. Ce n'était pas non plus parce que la lumière y était ténue, apparaissant depuis une phosphorescence laiteuse émanant des murs.^^Non : pourquoi je fus terrifié dans l'instant, c'est parce que les murs étaient peints d'une fresque en pastels reprenant en détail la chambre de mon enfance, avec le souci minutieux d'un aliéné qui aurait consacré des années à l'exécution d'une terrible farce."; } ], cant_go "Aucune sortie, hélas, dans cet antre de cauchemar.", out_to [; rfalse;], in_to "Même si je l'avais pu, je n'aurais pas voulu entrer dans la fresque et revivre ces instants." has scenery; Object murs86 "murs" Piece86 with name 'mur' 'murs' 'fresque' 'fresques' 'pastel' 'pastels' 'chambre', description [; Affiche(10); print "Seigneur... c'est là que j'ai vécu mon enfance...^^"; self.regarde++; if (self.regarde==10) {self.regarde=1;} switch(self.regarde) { 1: "... Une petite bibliothèque bleue supportant des romans d'aventure... "; 2: "... Des cubes de bois représentant des scènes des mille et une nuits..."; 3: "... Une photo de mon grand-père accrochée au mur..."; 4: "... Des piles de feuilles griffonnées de dessins d'enfants et de mes premières histoires, dissimulant un couteau de boucher ensanglanté..."; 5: "... Mon lit d'enfance, avec encore la marque de mon corps d'y avoir lu toute une après-midi, un tentacule gluant surgissant depuis l'ombre sous celui-ci..."; 6: "... Par la fenêtre peinte, mon fidèle colley les yeux fous, déchirant la gorge de ma soeur..."; 7: "... Au coin d'un mur, l'ombre de mon vieil oncle un mystérieux ouvrage à la main, invoquant des démons haineux... "; 8: "... Des crocs de boucher auxquels pendent les cadavres de mes parents..."; 9: "... Mon dieu ! Dans le miroir peint au dessus de mon bureau... mon propre reflet ! Moi... mourant !"; } ], regarde 0, has pluralname static scenery; ! 2007-04-30 Samuel : ajout de la classe "Livre", retrait de l'attribut "openable" du livre, ! remplacé par une distinction entre la description et le résultat de la lecture. Object livre86 "livre relié" Piece86 class Livre with name 'livre' 'bouquin' 'ouvrage' 'tome' 'pages' 'page' 'couverture' 'reliure' 'relie' 'curiosite', adjective 'gauche' 'droite' 'maudit' 'conte' 'contes' 'tua' 'chat', !page de gauche, page de droite description [; Affichette(11); print "Les couleurs chaleureuses de la couverture me faisaient penser à un livre de contes, et en lettres d'or était inscrit le titre :^^"; Italique(); print "~La Curiosité Tua le Chat~^"; Normal(); ], before [; Affichette(11); Search, Lire : ! => fouiller, feuilleter, lire, ouvrir ! Première lecture ! J'ai modifié la page de gauche => la page de droite car la dernière ligne que l'on peut lire lorsque l'on ouvre un livre est la page de droite -- Farvardin if (self.lu==0) { Musique(83); print "J'ouvris le livre au hasard, et les premiers mots que j'y vis alors me frappèrent de stupeur : c'était ma vie, ma vie racontée dans ses moindres détails, jusqu'aux secrets que je croyais les plus cachés, jusqu'aux épisodes enfouis et oubliés, et le tout, sur deux pages seulement.^^Comme lorsque vous regardez le firmament, où plus vous attendez, plus le nombre d'étoiles visibles augmente, je croyais ainsi voir des lignes et d'autres détails apparaître dans leur effarante réalité.^^Et malgré moi, je posai les yeux sur les dernières lignes en bas de la page de droite, et ce que j'y lus me bouleversa à en perdre la raison, car ces lignes disaient :^^"; Attend(); Italique(); print "~Alors il se saisit du couteau et se le planta dans le coeur. Quelques instants plus tard...~^^"; Attend(); Normal(); print "Mes doigts tremblants se résolurent à tourner la page, mais alors, un mince objet métallique, coincé entre les pages, tomba sur le sol en résonnant, et j'en laissai échapper le livre qui se referma dans un claquement sec.^"; self.lu=1; move livre86 to Piece86; ! on lache le livre move couteau86 to Piece86; ! le couteau apparaît rtrue; } ! Deuxième lecture if (self.lu==1) { print "J'ouvris le livre à nouveau, mais avec rage, avec désespérance, je ne parcourus que des biographies de personnes inconnues ; j'y passai des minutes ou des heures, mais sans retrouver la page à mon nom. Pourtant, je n'avais pas rêvé, je savais que cette page existait.^^En vain.^^Je me résolus à lire l'introduction qui s'exprimait en ces mots : ^^"; Italique(); Normal(); print "~Voici le livre des destinées.^^Chacun ouvrant ce livre y trouvera sa destinée, du début à la fin, en termes précis, mais seulement la première fois qu'il ouvrira ce livre. Il ne lui sera plus possible par la suite de retrouver ces pages, quand bien même il lirait cet ouvrage aux pages infinies de bout en bout.~^"; Normal(); self.lu=2; rtrue; } ! Troisième lecture ou plus if (self.lu==2) { print "En vain, je tentai à nouveau de retrouver la description de ma destinée, mais l'introduction était explicite : ^^"; Italique();Normal(); print "~Voici le livre des destinées.^^Chacun ouvrant ce livre y trouvera sa destinée, du début à la fin, en termes précis, mais seulement la première fois qu'il ouvrira ce livre. Il ne lui sera plus possible par la suite de retrouver ces pages, quand bien même il lirait cet ouvrages aux pages infinies de bout en bout.~^"; Normal(); rtrue; } ], lu 0, has scored; Object couteau86 "couteau" with name 'objet' 'couteau' 'lame' 'fer' 'arme' 'instrument' 'ivoire' 'garde', adjective 'mince' 'metal' 'metallique', description [; Affichette(12); "Voici un couteau à la garde d'ivoire et lame d'acier immaculée, brillante, affutée comme la cruauté des hommes."; ], before [; Touch : "La lame en était acérée."; Take : if (self hasnt moved) { print "La présence de ce couteau me mettait mal à l'aise, mais je sentais une pulsion au fond de moi qui m'encourageait à m'en emparer.^" ; rfalse ; } ], react_before [; Utiliser : if (couteau86 in heros) { <> ; } else rfalse ; Attack, Cut : if (noun==heros && couteau86 in heros) { print "Je soupesai avec un sentiment étrange la lame dans ma main. Devait-elle être l'instrument de mon destin ?^"; if (livre86.lu==1) { "^Mais la vie s'accrochait encore un peu à moi. Peut-être trouverais-je la voie dans ce maudit livre."; } else { print "^Il n'y avait qu'une façon de savoir si j'étais dans un impénétrable cauchemar... Il est curieux, pensai-je, comme l'idée de sa propre mort n'a aucune emprise émotionnelle sur soi, si ce n'est une morbide fascination, lorsqu'on en a le total contrôle...^";Attend(); print "^Inspirant, je fis rapidement le décompte des dernières choses qui me rattachaient à la vie. Il fut très rapidement fait.^";Attend(); print "^J'enfonçai d'un coup sec la lame entre mes côtes, et mon sang chaud coula par saccades dans mes poumons, dans une sensation de froid cosmique et de libération transcendentale.^";Attend(); print "^Serrant l'instrument de mon destin de toutes mes forces, je le maintins contre mon coeur jusqu'à ce que rapidement je perde connaissance.^";Attend(); print "^... Pour me réveiller en sursaut...^"; move couteau86b to player; couteau86b.obtenu = 1 ; Gagne86(); rtrue; } } ]; Object couteau86b "couteau" class ObjetAutel with name 'couteau' 'lame' 'arme' 'ivoire' 'garde', adjective 'rituel', description [; Affichette(12); "Voici un couteau à la garde d'ivoire et lame d'acier immaculée, brillante, affutée comme la cruauté des hommes."; ]; !========================================================== ! Routines ! Réinitialisation des variables et des objets [ReInit86 init_tout; give Piece86 ~visited; move livre86 to piece86; remove couteau86; murs86.regarde = 0; livre86.lu = 0; if (init_tout) { ! reprendre même les objets que le joueur pourrait emporter ! avec lui dans la roulotte s'il avait gagné remove couteau86b; } ]; ! Démarrer la scène : initialisation, compte à rebours et position du joueur. [Demarrer86; scene_en_cours = '86'; scene_86_visitee = true; ReInit86(true); ! si le joueur a déjà joué, on lui reprend le couteau gagné. PlayerTo(piece86); ]; ! Stopper la scène : réinitialisation, arrêt des timers [Stopper86 init_tout; ReInit86(init_tout); DeplacerObjetsPortails(); ! si le joueur a perdu des objets "portail" dans la scène, ! les renvoyer dans la roulotte ]; ! Perdu : ne sera pas utilisé, on ne peut pas perdre dans cette scène. ! La seule issue est la mort (ou utiliser un objet tel que l'ocarina, mais on appelera alors ! directement la fonction Perdu()). ![Perdu86; ! Perdu(); ! affichage message perdu ou retour roulotte !]; ! Gagne [Gagne86; Achieved(4) ; Gagne(true); ! stoppe scène en cours et affichage message gagné ou retour roulotte ];