! 172 Pre-human idol found in desert. ! 147 Any very ancient, unknown, or prehistoric object-its power of suggestion-forbidden memories. ! 21 A very ancient colossus in a very ancient desert. Face gone-no man hath seen it ! Variable avancement : 1= la nuit 2= le jour, premier jour 3=le jour, deuxième jour global temps172 = 1; global fatigue172 = 1 ; !============================================= ! Le campement et le colosse Class Desert172 class lieu with name 'desert', scenic_look 'sable' 0 "Le sable était d'une couleur un peu grise." 'dunes' 'dune' 0 "Il y avait des dunes à perte de vue dans ce désert." 'colosse' 'statue' 0 "Le colosse était assez visible sur plusieurs centaines de mètres à la ronde.", before [; Listen: "Le vent tourbillonnait dans les dunes, et produisait un léger bruit quasi-hypnotique."; Smell: "Il n'y avait pas d'odeur particulière ici."; Dig: if (pioche172 in player) { if ((location == de10172) && (Terre172 in location)) { print "Je perçai un trou dans les gravats, et trouvait quelque chose d'intéressant... un petit squelette recroquevillé dans un trou hâtivement rebouché !^"; remove Terre172; move Squelette172 to location ; rtrue ;} if (second == pioche172 || noun == Terre172) { << dig >> ; } else "Je creusai rapidement quelques trous pour constater que malheureusement il n'y avait rien de notable à découvrir ici. Je rebouchai encore plus rapidement les trous que j'avais fait avant de reprendre ma route."; } else "Il me fallait un outil pour creuser le sol." ; ], ! each_turn[k; ! k = random(4); ! switch(k) { ! 1: ""; ! 2: ""; ! 3: ""; ! 4: ""; ! } ! ], has ; Object Sablier172 "sablier" InRoulotte class ObjetPortail with name 'sablier', description [; print "Un sablier.^"; rtrue ; ], before [; Turn: print "Je fis machinalement tourner le sablier qui se mit à égrener le temps.^" ; if ((player in InRoulotte) && (colosse172 in devcol172)) { print "Le temps se mit alors machinalement à me retourner en tout sens, me transportant dans un nouvel environnement." ; PlayerTo(piece172); scene_172_visitee = true; return 2; } Take,Touch,Pull,Push: if ((player in InRoulotte) && (colosse172 in devcol172)) { << Turn self >> ;} else move self to player; self.obtenu = 1; print "Je m'emparai du petit sablier.^" ; rtrue ; ], has ; Object piece172 "Tente" class Lieu with viewed 0, name 'tente', initial [; if (self.viewed == 0) { self.viewed = 1 ; print "^^Je me retrouvai sous une tente, couché dans un sac de couchage rudimentaire. Il faisait un peu froid dehors, apparemment - c'était la nuit, pas un rayon de lumière ne me parvenait. Je regardai le sol : j'étais couché sur du sable. Je devais me trouver sur une plage, ou un désert. Je n'avais pas la moindre idée de ce que je pouvais faire ici : j'eus envie de sortir pour voir ce qu'il pouvait bien y avoir dehors.^"; rtrue ; } ], description [;Affiche(1723);print "J'étais sous une petite tente en toile.^" ; if (temps172 == 1) { print "Dehors, il faisait nuit.^"; } ], out_to camp172, in_to "J'étais déjà à l'intérieur.", cant_go "Je ne pouvais pas, il fallait d'abord sortir de la tente.", before [; Listen: print "Je n'entendais rien, sauf le bruit du vent au dehors, si doux qu'il en paraissait irréel.^"; rtrue ; Sleep: if (temps172 == 1) { temps172=2 ; print "Je dormis quelques heures. Mon sommeil fut malheureusement emplis de rêves qui étaient dans la continuation des événements de la journée, si bien que nerveusement je ne fus pas beaucoup plus reposé que la veille au moment de mon réveil.^" ; fatigue172 = 0 ; rtrue ; } if (temps172 == 2 && fatigue172 == 1 ) { temps172=3 ; print "Je dormis quelques heures. Mais au petit matin, je fus réveillé par des cris et des bruits de pas qui secouaient le sol.^" ; remove Foule172 ; colosse172.positionA = camp172 ; give colosse172 ~scenery ; give colosse172 static ; StartTimer(colosse172,10) ; move colosse172 to camp172 ; fatigue172 = 0 ; rtrue ; } else print "Je n'étais pas fatigué.^" ; rtrue ; Search: print "Dans la tente il n'y avait rien de notable, par contre je crois que l'on pouvait trouver du matériel en passant au dehors.^" ; rtrue ; ], has ; Object tente172 "tente" with name 'tente' 'compartiment' 'compartiments' 'poches' 'poche', description "Une tente en toile, avec des compartiments pour loger du matériel.", article "ma", before [; Enter: PlayerTo(piece172); rtrue ; Take: print "Je n'avais pas l'intention de repartir à ce moment...^"; rtrue; Search: if (Pioche172 in tente172) { print "Je trouvai une pioche dans une des poches de la tente.^" ; move Pioche172 to location ; give Pioche172 ~concealed ; rtrue ;} else { print "Il n'y avait rien ici." ; rtrue ;} ], found_in camp172, has static female enterable; ! j'ai mis en static, si cela dit que c'est fixé cela reste correct... Object Pioche172 "pioche" tente172 with description "Une pioche.", name 'piolet' 'pioche', before [; Utiliser: if (second == Terre172 ) { << dig Terre172 >> ;} ], has female; Object camp172 "Le campement" class Desert172 with scenic_look 'tentes' 'campement' 0 "Il y avait là quelques tentes en toiles." 'route' 'routes' 'chemin' 'chemins' 0 "Les possibilités d'explorations étaient nombreuses mais pas forcément variées dans un tel désert.", scenic_touch 'tentes' 'campement' 0 "Je ne voulais pas déranger les occupants éventuels.", description [; if (temps172 == 1) {Affiche(1724); print "Le campement semblait complètement endormi. Il y avait là une vingtaine de tentes disposées sans ordonnancement précis.^"; } if (temps172 == 2) {Affiche(1722); print "Il y avait à ce moment un peu plus d'activité dans le campement. Je voyais là des scientifiques et des guides en tout genre. Peut-être même des touristes...^";} if (temps172 == 3) {Affiche(1722); print "Le campement était dévasté. Comment avais-je pu échapper à ce massacre ?^";} print "Vers le nord on pouvait aperçevoir la route qui menait vers ce qui était responsable de cet attroupement en ce lieu. Il n'y avait pas de chemin dans les autres directions, mais il était toujours possible d'aller explorer un peu dans la limite du raisonnable.^"; ], each_turn [; if (temps172 == 2) {move Foule172 to camp172;} if (temps172 == 2 && puitsl172.viewed == 1 && Foule172.talked == 1) { fatigue172 = 1 ; print "^Après avoir continué un peu mes explorations dans les environs, je me rendis compte que l'on arrivait à la soirée, et je commençais à être un peu fatigué de ces marches dans le désert.^" ;} ], in_to piece172, n_to [; if (temps172 ~= 3) { PlayerTo(devcol172) ; rtrue; } else "Le passage était à ce moment impraticable." ; ], s_to de1172, w_to [; print "Cette partie semblait ne mener nulle part, aussi je préférais ne pas aller me perdre n'importe où." ; rtrue ;], e_to de0172, has ; Object Foule172 "la foule" class PNJ with name 'gens' 'foule' 'homme' 'femme' 'hommes' 'femmes' 'guide' 'touriste' 'fonctionnaires' 'fonctionnaire' 'scientifique' 'guides' 'touristes' 'scientifiques', talked 0, description [; "Une foule si hétéroclite que l'on avait peine à croire qu'ils étaient tous là au même endroit."; ], initial [; print "La foule était là." ; ], life [; Attack: print "Non. Ils ne m'avaient rien fait de mal. ^"; rtrue ; Ask, Tell, Parler: if (self.talked == 0) { print "Je commençais à entamer une conversation avec quelqu'un quand d'autres personnes se joignirent à nous. Ils m'expliquèrent que tout le monde était là en ce moment à cause de l'attraction que représentait le colosse de pierre. Depuis des années, voire des siècles, il existait un tel pèlerinage qui avait attiré de saison en saison de nouveaux types de curieux : scientifiques, touristes, fonctionnaires... En tout cas si leurs raisons de venir ici étaient variées, tous semblaient poursuivre le même but qui était de voir ~l'élu~ qui arriverait à percer le mystère de cette statue. Une procession religieuse aurait lieu d'ici quelques jours si tout allait bien, celle-ci avait pour vocation de réveiller les anciennes forces endormies du colosse.^"; switch(random(3)) { 1: print "Je pris ensuite congé d'eux.^"; 2: print "Le petit groupe autour de moi se dispersa ensuite. ^"; 3: print "Ils repartirent ensuite vaquer à leurs recherches et explorations. ^"; } Foule172.talked = 1 ; rtrue ; } else print "Nous n'avions plus grand chose à nous dire.^" ; rtrue ; ], has proper female; Object devcol172 "Devant le colosse" class Desert172 class Lieu with scenic_look 'montagnes' 'montagne' 0 "Il y avait des montagnes au loin, mais elles étaient vraiment hors de portée.", description [; print "Je me trouvais devant la statue massive autour de laquelle était basée le campement. Depuis le sol, je me sentais tout petit, comme écrasé par la masse imposante de pierre qui s'élançait vers le ciel.^" ; rtrue ;], n_to [; lim();], s_to camp172, w_to [; lim();], e_to de12172, has ; Object colosse172 "colosse" devcol172 with touched 0, time_left 0, positionA 0, positionB 0, description [; if (temps172 == 1 && self.touched == 0) {print "Ce colosse impressionnant n'avait pas figure humaine, bien que son corps musclé fut vaguement humanoïde. À la place de sa tête se trouvait une longue et forte tentacule tournée vers le ciel. Il possédait trois jambes solidement ancrées dans le sol, et ses mains étaient équipées de longues griffes.^";} if (temps172 == 1 && self.touched >= 1) {print "La statue en elle-même était assez inquiétante, mais depuis ma vision de tout à l'heure, je la trouvais absolument terrifiante.";} if (temps172 == 2 && self.touched >= 1) {print "La figure, ou plutôt la tentacule du colosse avait disparu, mais cela ne la rendait pas plus sympathique pour autant. Depuis que j'avais eu la vision cauchemardesque de la veille, cette statue me faisait horreur.^" ; rtrue ; } if (temps172 == 2 && self.touched == 4) {print "La statue n'avait toujours pas retrouvé son visage, ni sa tentacule. Par contre j'avais une impression de familiarité en la regardant de nouveau.^"; rtrue ;} if (temps172 == 3) {print "Le colosse avait retrouvé un visage à la place de la tentacule de l'autre fois, c'était celui d'un sphinx noir avec trois yeux, luisants, inquiétants et captivants, mais le pire était malgré tout que cette créature fut devenue bien vivante, et qu'elle détruisait tout sur son passage, avec ses trois puissantes jambes.^"; rtrue ;} ], name 'statue' 'colosse' 'pierre' 'idole' 'masse' 'griffes' 'mains' 'jambes' 'tentacule' 'tentacules', adjective 'geant' 'geante', before [; Touch,Attack,Push,Pull,Rub,Take: if (self.time_left > 0) { print "Il n'était plus temps d'essayer de communiquer avec l'esprit de cette chose, maintenant qu'elle était vivante et dangereuse, il était plus judicieux de se sauver le plus vite possible.^" ; rtrue ;} if (temps172 == 1) { if (self.touched == 0) {affiche(1721); musique(1728);self.touched = 1 ; print "Au moment où je touchai l'ancienne statue, je vis mon environnement prendre une tonalité plus claire, non seulement par la lumière des étoiles plus nombreuses et plus présentes, comme je pus m'en apercevoir en levant les yeux vers la voûte céleste métamorphosée, mais également du fait de la lune qui donnait un éclairage blafard et inquiétant à la scène. C'était certainement une vision provoquée par le contact avec cette statue, mais la scène paraissait presque réelle.^^" ; attend() ; print "J'eus l'impression de retourner dans le passé, en effet la grande idole semblait récemment construite, la roche qui la constituait étant lisse et fraîchement peinte sur certains endroits. Sa surface versicolore contrastait avec l'apparence morne qu'elle aura plus tard dans son futur, lorsque je la vis pour la première fois tout à l'heure. La longue tentacule qui faisait office de tête était d'un rouge cramoisi. En me retournant, je vis qu'un village avait été construit aux alentours, avec cette statue isolée en son centre. Des hommes et des femmes se rapprochèrent en processions mixtes, mais les têtes de file de chaque colonne avait des vêtements différents des autres : les uns les avaient rouges, les autres verts foncés, tandis que d'autres les avaient violets ou bleus. Selon toute apparence, tout le village était là. ^Ils ne semblèrent pas me voir, et de mon côté je ne pus pas bouger pendant tout le déroulement de cette vision...^^"; rtrue ; } if (self.touched == 1) {affiche(1721); self.touched = 2 ; print "Le voile de cette vision étrange revint devant mes yeux, se superposant à la réalité qui s'estompait doucement. J'étais toujours au même endroit, sans doute à la même époque. Alors ces habitants me dépassèrent, se rassemblèrent près d'un puits non loin du colosse et commencèrent un rituel inconnu de la plupart des religions actuelles. Ce qu'ils invoquèrent par la suite me terrifia tellement que j'ai longtemps espéré que cela ne fut qu'un cauchemar.^^"; attend(); print "Mais avant la fin de leur cérémonie, un grondement se fit au loin, et l'horizon se remplit de cavaliers lourdement équipés. Ils déferlèrent sur le village, armés de longs sabres courbes. Ils étaient en grand nombre, et massacrèrent sauvagement une bonne partie des habitants, comme une tempête qui se serait soudainement abattu sur eux, avant d'être peu à peu repoussés par les longues lances des hommes qui étaient retourné au village pour pour s'armer. ^" ; rtrue ;} if (self.touched == 2) {affiche(1721); self.touched = 3 ; print "Je posai encore une fois ma main sur le colosse, et la vision des événements revint de nouveau, toujours aussi distincte dans ses moindres atrocités. La bataille continuait sans trêve ni repos. Il ne m'était pas encore possible de savoir qui allait l'emporter entre les deux camps, mais les villageois, malgré leurs lourdes pertes, semblaient les plus forts. Une belle jeune femme du village, richement habillée, essaya de se mettre à couvert, emportant avec elle un petit paquet qu'elle cacha dans le sol au nord du puits, avant de se faire enlever par des cavaliers. ^" ; rtrue ;} if (self.touched == 3) {affiche(1724); self.touched = 3 ; print "Je posai de nouveau ma main sur le colosse, mais je ne vis rien de plus. ^" ; rtrue ;} } if (temps172 == 2) { if (self.touched == 4) {self.touched = 0 ; print "Cette vision était pleine de détails, comme si la scène se passait réellement près de moi... il y avait le puits de l'autre fois, mais le désert était recouvert de neige aux alentours. Une ouverture béante avait agrandi ce puits, et un nombre important de cadavres ensanglantaient la blancheur de la neige. Une pleine lune vibrante illuminait ce lieu macabre. Derrière le puits, une sorte de sphinx noir hurlait vers la lune, avant de s'ébrouer et de s'élancer dans ma direction.^" ; attend() ; print "Il passa à travers moi, sans y faire attention, et je vis son oeil triple empli de haine flamboyer en direction des montagnes au loin, avant de sauter, toutes ailes déployées, dans un gouffre à quelques pas d'ici. ^" ; rtrue ;} if (self.touched >= 1) {self.touched = 4 ; print "Je vis en imagination le puits qui était en train d'être bouché par des terrassiers. Ceux-ci utilisaient du matériel de fortune pour mener à bien leur tâche. Ils étaient en train de remblayer de la terre pleine de roches et de cailloux pour finir de murer l'ouverture. Les hommes avaient l'air assez pressés, et surtout assez stressés.^" ; rtrue ;} else { self.touched = 4 ; print "J'avais du mal à me concentrer sur les images qui se formaient dans ma tête... De plus toutes ces émotions m'avaient épuisées, et j'éprouvais le besoin de me rendormir.^" ; rtrue ; } } ], ! TODO : faire cheminement correct colosse vers le gouffre each_turn[; if (location == gouffre172) { print "La créature arriva vers moi d'un pas lourd, faisant trembler le sol. Je me mis dos au gouffre, et je me tournai vers la créature qui approchait, faisant face à l'horreur sans nom qui me poursuivait. Je tremblai, mais je tins bon."; attend(); print "^^La créature se rapprocha, encore, et encore. J'avalai à grand'peine ma salive. Il fallait que je m'écarte au bon moment."; attend(); print "^^Elle approchait, était sur moi ; je m'écartai alors vivement, en courant vers le côté aussi vite que je pouvais."; attend(); print "^^Comme je l'avais escompté, la créature poursuivit aveuglément sur sa lancée. Elle ne changea pas de direction, et je la vis tomber dans le gouffre. Je m'étais débarrassé d'elle."; attend(); print "^^Je vis un petit objet sur le sable, qui avait dû tomber de cette créature ; je le pris avec moi.^"; move Sablier172 to player ; StopTimer(colosse172); gagne() ; rtrue ;} if (self.time_left == 3) { if (self in location) { print "La créature se rapprochait dangereusement de moi."; rtrue ; } else "J'entendais la créature derrière moi." ; } ], time_out [; if ((self in location) && (location ~= gouffre172)) { print "La créature était sur moi. ^" ; pause(); print "La dernière chose que je vis est cet énorme tentacule foncer à une vitesse vertigineuse sur moi. Je ne pouvais pas lui échapper."; perdu() ; rtrue ;} else { if (location == gouffre172) { print "La créature arriva vers moi d'un pas lourd, faisant trembler le sol. Je me mis dos au gouffre, et je me tournai vers la créature qui approchait, faisant face à l'horreur sans nom qui me poursuivait. Je tremblai, mais je tins bon."; attend(); print "^^La créature se rapprocha, encore, et encore. J'avalai à grand'peine ma salive. Il fallait que je m'écarte au bon moment."; attend(); print "^^Elle approchait, était sur moi ; je m'écartai alors vivement, en courant vers le côté aussi vite que je pouvais."; attend(); print "^^Comme je l'avais escompté, la créature poursuivit sur sa lancée. Elle ne changea pas de direction ni ne freina, et je la vis tomber dans le gouffre. Je m'étais débarassé d'elle."; attend(); print "^^Je vis un petit objet sur le sable, qui avait dû tomber de cette créature ; je le pris. La scène parut alors se dissoudre...^"; move Sablier172 to player ; StopTimer(colosse172); gagne() ; rtrue ;} ; } ; ], has scenery; !============================================== ! Dans le désert Class Des class Lieu class Desert172 with scenic_look 'colosse' 'statue' 0 "Le colosse était assez visible sur plusieurs centaines de mètres à la ronde.", description [; descripdesert();], cant_go "Je ne pouvais aller par là.", has ; Object de0172 "Dans le désert" class Des with description "Je n'étais pas loin du camp.", w_to camp172, e_to de6172, s_to de4172, ! n_to de12272 ; Object de1172 "Dans le désert" class Des with description "J'étais au sud du campement.", n_to camp172, s_to de2172, w_to de10172, e_to de4172; Object de2172 "Dans le désert" class Des with description "Je n'étais pas bien loin d'une sorte de puits.", n_to de1172, s_to de3172, w_to puitsl172, e_to de5172; Object de3172 "Dans le désert" class Des with description "Un gouffre se trouvait dans les environs.", n_to de2172, s_to [; lim();], w_to de11172, e_to gouffre172; Object de4172 "Dans le désert" class Des with description "Cet endroit était décidément bien monotone.", n_to de0172, s_to de5172, w_to de1172, e_to de7172; Object de5172 "Dans le désert" class Des with n_to de4172, s_to gouffre172, w_to de2172, e_to de8172; Object de6172 "Dans le désert" class Des with description "Il me semblait reconnaître une dune avec une forme un peu étrange.", n_to [; lim();], s_to de7172, w_to de0172, e_to [; lim();]; Object de7172 "Dans le désert" class Des with n_to de6172, s_to de8172, w_to de4172, e_to [; lim();]; Object de8172 "Dans le désert" class Des with n_to de7172, s_to de9172, w_to de5172, e_to [; lim();]; Object de9172 "Dans le désert" class Des with n_to de8172, s_to [; lim();], w_to gouffre172, e_to [; lim();]; Object de10172 "Dans le désert" class Des ! mettre objet ici with n_to [; lim();], s_to puitsl172, w_to [; lim();], e_to [; lim();]; Object Squelette172 "squelette" with name 'bras' 'squelette', description "C'était sans doute un squelette d'enfant humain, de par sa petite taille et sa morphologie.", before [; Search: print "Je trouvai une longue chaîne, accrochée à un des bras du squelette.^" ; give Chaine172 ~concealed ; move Chaine172 to location ; rtrue ; ], has static ; Object Chaine172 "chaine" class ObjetAutel with name 'maillon' 'medaillon' 'chaine' 'taureau', adjectif 'aile' 'or', description "Cette chaîne en or avait un taureau ailé finement gravé sur un maillon plus gros que les autres.", before [; Take: Achieved(6); self.obtenu = 1 ; rfalse ; ], has concealed female; Object Terre172 "éboulement" de10172 with name 'eboulement' 'terre' 'gravats' 'rochers' 'roche' 'roches' 'sol', description "De la roche et de la terre.", before [; Search: "Le sol semblait plus meuble à cet endroit." ; ], has scenery ; Object de11172 "Dans le désert" class Des with n_to puitsl172, s_to [; lim();], w_to [; lim();], e_to de3172; Object de12172 "Dans le désert" class Des with n_to [; lim();], s_to de0172, w_to devcol172, e_to [; lim();]; Object gouffre172 "Au bord d'un gouffre" class Lieu with description "Il y avait ici un gouffre qui ne paraissait pas avoir de fond.", name 'gouffre', before [; Jump: print "J'avalai ma salive, et me mis au bord du trou. Je comptai jusqu'à trois, puis j'effectuai un saut de l'ange dans l'abîme.^" ; perdu() ; ], n_to de5172, s_to [; lim();], w_to de3172, e_to de9172, has ; Object puitsl172 "Un puits" class Lieu with description "Une margelle en pierre dure entourait un puits rudimentaire. Des marques sur le puits ainsi que le sol indiquaient que ce lieu avait beaucoup souffert.", name 'margelle' 'pierre' 'puits' 'marques', viewed 0, initial [;self.viewed = 1 ; ], n_to de10172, s_to de11172, w_to [; lim();], e_to de2172, has ; Object puits172 "puits" puitsl172 with description "Ce puits était probablement à sec depuis des siècles.", name 'puits', before [; Search: "Je n'avais rien à trouver là." ; ], has scenery; !============================================== ! Routines [ descripdesert k ; print "^J'étais dans le désert.^"; k = random(20); switch(k) { 1: print "^Le silence était quasi absolu, c'est tout juste si je pouvais entendre un souffle de vent.^"; 2: print "^L'air était chaud et sec : la journée était bien avancée, mais la chaleur restait tenable.^"; 3: print "^Des dunes, des grandes dunes de sable s'étendaient à perte de vue.^"; 4: print "^J'étais au milieu de nulle part, mais d'où j'étais je pouvais voir encore un peu le colosse au loin, et ainsi être certain de retrouver le campement. ^"; 5: print "^Je vis un petit animal se terrer dans le sable. Une gerbille, probablement.^"; 6: print "^Je commençais à en avoir un peu assez d'errer ainsi dans ces endroits vides... ^"; 7: print "^ ^"; 8: print "^ ^"; 9: print "^ ^"; 10: print "^ ^"; 11: print "^ ^"; 12: print "^ ^"; 13: print "^ ^"; 14: print "^ ^"; 15: print "^ ^"; 16: print "^ ^"; 17: print "^ ^"; 18: print "^ ^"; 19: print "^ ^"; 20: print "^ ^"; } ]; [ lim ; print "^Je m'étais déjà assez éloigné, et je ne voulais pas m'enfoncer aussi loin dans le désert sans rien ni personne pour m'aider.^"; rtrue ; ]; ! Codage hasardeux pour certains mécanismes que je n'ai pas l'habitude d'utiliser, vérifiez-les pour voir s'il n'y a pas d'erreurs de codage ; vérifiez : ! Switch ! Classe Des ! Routine lim ! Object camp172 "Le campement" ! with description [; if (temps172 == 1) {return "texte";}], ! Afin d'enrichir le désert, on peut très bien rajouter quelques objets ou autre parsemés dans le désert, comme le puits