Constant Story "LA MORT POUR SEUL DESTIN"; Constant Headline "^^Par JB, lejibe@@64hotmail.com^^Tapez ~aide~ pour conna@^itre le fonctionnement du jeu.^^"; Constant MAX_CARRIED = 200; Attribute inside; Attribute monstre; Attribute fruit; Attribute special; Attribute diseased; Include "Parser"; Include "VerbLib"; ! --------------------------------------------------------------------------- ! Routines propres au code ! --------------------------------------------------------------------------- [ ChooseObjects obj code; if (code<2) { if (obj has scenery) return 2; rfalse; } if (action_to_be==##Eat && obj has edible) return 3; if (obj hasnt scenery) return 2; return 1; ]; [ attend notNeeded; @read_char 1 notNeeded; rtrue; ]; ! ---------------------------------------------------------------------------- ! Notre Heros ! ---------------------------------------------------------------------------- Object prisoner "prisonnier" with short_name [; return L__M(##Miscellany, 18); ], description [k;print "Un pauvre type, condamn@'e @`a l'exil dans une contr@'ee inconnue.^"; if (prisoner.larm==1) {print "Votre bras gauche est salement entaill@'e.^";} if (prisoner.larm==0) {print "Votre bras gauche est bris@'e et pend lamentablement le long de votre corps.^";} if (prisoner.rarm==1) {print "Votre bras droit est profondement meurtri et vous lance terriblement.^";} if (prisoner.rarm==0) {print "Votre bras droit est cass@'e et vous ne pouvez plus du tout l'utiliser.^";} if (prisoner.lleg==1) {print "Votre jambe gauche a @'et@'e amoch@'ee et vous marchez en boitant.^";} if (prisoner.rleg==1) {print "Votre jambe droite vous fait souffrir et vous claudiquez path@'etiquement.^";} if (prisoner.lleg==0) {print "Votre jambe gauche est d@'efinitivement hors d'usage, et vous marchez lentement, appuy@'e sur une b@'equille.^";} if (prisoner.rleg==0) {print "Votre jambe droite est d@'efinitivement hors d'usage, et vous marchez lentement, appuy@'e sur une b@'equille.^";} if (prisoner.torse==3) {print "Vous avez deux c@^otes cass@'ees, qui vous font souffrir @`a chaque respiration.^";} if (prisoner.torse==2) {print "Vous avez quatre c@^otes cass@'ees, qui vous font terriblement souffrir @`a chaque respiration, et une grande entaille sur l'abdomen qui suinte de sang et de pus.^";} if (prisoner.torse==1) {print "Vous @^etes lard@'e de plaies terribles sur tout le torse, et vos c@^otes sont bris@'ees sinon f@'el@'ees. Votre douleur est si grande qu'@`a chaque inspiration vous avez le tournis.^";} if (prisoner.leye==0) {print "Votre oeil gauche est crev@'e.^";} if (prisoner.reye==0) {print "Vous ne voyez plus de l'oeil droit.^";} if (prisoner.leye>1) {k=prisoner.leye-1;print "Vous avez ",k; if (k>1) {print " yeux suppl@'ementaires sur le front.^";} else {print " oeil suppl@'ementaire sur le front.^";}} if (prisoner.cicatrices>0) {print "Vous avez ", prisoner.cicatrices, " cicatrices.^";} if (prisoner.fire>0) {print "Votre corps porte la marque de ", prisoner.fire, " terribles br@^ulures.^";} if (prisoner.mal1>0) {print "Vous portez d'@'etranges tatouages sur le corps en forme de papillons.^";} if (prisoner.mal2>0) {print "Une substance collante vous br@^ule la peau du visage.^";} if (prisoner.spectral>0) {print "Vous @^etes un peu transparent...^";} if (prisoner.hp<5) {print "Vous vous sentez sur le point de mourir...^";} if (prisoner.hp<15 && prisoner.hp>4) {print "Vous vous sentez tr@'es faible...^";} if (prisoner.hp<25 && prisoner.hp>14) {print "C'est pas la grande forme...^";} if (prisoner.hp<35 && prisoner.hp>24) {print "Vous vous sentez plut@^ot bien...^";} if (prisoner.hp<45 && prisoner.hp>34) {print "Vous vous sentez assez endurant, et plut@^ot en bonne forme.^";} if (prisoner.hp>55) {print "Vous vous sentez en pleine forme !^";} if (prisoner.enduit==1) {print "Votre peau est dor@'ee et d@'egage une curieuse odeur poivr@'ee.^";} ], before [;Attack, Cut : if (werer in location) {prisoner.hp--;print "Vous vous entaillez le bras avec la lame de votre @'ep@'ee.^^~Pour Nemesis~, dites vous simplement.^^Le lapin garou approuve avec fanatisme et se met @`a prier avec ferveur. ";prisoner.cicatrices++;werer.peace=1;werer.stable=3;return 2;} else {print "Vous vous entaillez le bras avec votre lame et quelques gouttes de sang tombent @`a terre. ";prisoner.cicatrices++;return 2;}], after NULL, life NULL, each_turn NULL, time_out NULL, describe NULL, capacity 100, parse_name 0, orders 0, number 0, larm 2, rarm 2, lleg 2, rleg 2, torse 4, leye 1, reye 1, cicatrices 0, hp 15, maxhp 60, fire 0, mal1 0, mal2 0, spectral 0, enduit 0, killed 0, mode 2, phenix 0, lihined 0, strike 0, luck 5, has concealed animate proper transparent; ! ---------------------------------------------------------------------------- ! Lieux ! ---------------------------------------------------------------------------- Object start "La Porte de Shub Glaar" with description "Encercl@'e par deux aiguilles rocheuses disparaissant dans le ciel, l'unique col des Monts Barri@`eres est ferm@'e par une gigantesque porte de bronze ouvrag@'ee. En de@@c@`a, un tapis d'herbe moelleux parsem@'e de foug@`eres color@'ees descend plein nord vers une for@^et sombre et vallon@'ee. ", each_turn [;if (self.dobar==0 && diary.lu==1) {Retour();self.dobar=1;move fleche to start;}], dobar 0, n_to feuillus, has scenery; Object feuillus "La Foret de Nimoud Kisha" with description "Sur un humus frais et mou, couvert de mousse @'epaisse, de vieux arbres aux troncs larges comme plusieurs hommes s'@'el@`event en se tortillant vers le ciel, et leurs innombrables branches forment un couvercle vert imp@'en@'etrable, parfois crev@'e de brillants faisceaux de lumi@`ere o@`u vol@`etent des insectes. ", s_to start, w_to collines, e_to coniferes, n_to bouleaux, has scenery; Object coniferes "Les Contreforts des Monts Barri@`eres" with description "La for@^et se disperse en alignements de sapins gris et de c@`edres bleus dont les @'epines prises dans le givre recouvrent le sol, pour s'@'ecraser comme une vague contre les falaises immenses et escarp@'ees des Monts Barri@`eres qui s'@'elancent plus haut que peut porter le regard. ", nw_to marais, w_to feuillus, e_to marais, n_to marais, has scenery; Object collines "Les Collines de Shamutanti" with description "De paisibles vallons recouverts d'herbes et de fleurs sauvages boss@'elent votre horizon. Des arbres tordus longent des sentes oubli@'ees qui serpentent entre d'abrupts pains de sucre recouverts d'une v@'eg@'etation luxuriante et imp@'en@'etrable. ", s_to fougeres, n_to jungle, w_to bambous, e_to feuillus, has scenery; Object fougeres "La For@^et de Foug@`eres G@'eantes" with description "Le ciel disparait sous de hautes foug@`eres de cinq m@`etres, aux tiges @'epaisses comme des troncs d'arbres. Les foug@`eres emmel@'ees forment une for@^et dense et dansante, car les fines extr@'emit@'es des plantes se balancent au moindre souffle.^^Le sol est souple, recouvert d'une @'epaisse mousse turquoise. ", n_to collines, has scenery diseased; Object jungle "A l'Or@'ee de la Jungle d'Opskalum" with description "Une jungle imp@'en@'etrable se dresse devant vous. Des troncs @'enormes surgissent de rochers escarp@'es et gigantesques, les plantes parasites et grimpantes obstruent le moindre passage. Vous @^etes bloqu@'e @`a quelques m@`etres de l'entr@'ee, sous un toit de lianes @'epaisses, sans possibilit@'e de poursuivre plus en avant. ", s_to collines, e_to plaines, n_to plaines, has scenery; Object bambous "La Mer des Bambous" with description "Une for@^et de bambous h@'erisse le bossellement paisible des collines, des bambous de quatre ou cinq m@`etres qui transforment le moindre sentier en chemin de labyrinthe. Au moindre souffle de vent, les tiges de bambous s'entrechoquent dans un tintanibulement musical. ", n_to plateau, w_to savane, e_to collines, has scenery; Object savane "Les Plaines Sauvages de Tikali-li" with description "Vous arpentez un terrain plat comme la surface d'un lac, seulement rompu par une curieuse colline sur l'ouest qui se dresse comme une parabole aigue. Des herbes hautes d'un m@`etre, presque seches et mortes, dessinent les vagues du vent tout autour de vous dans des tourbillons sans cesse changeants. ", u_to pain, w_to pain, e_to bambous, has scenery; Object pain "La Montagne du Bambou sacr@'e" with description "Un escalier naturel de plaques de schiste surgissant de la roche m@`ene au sommet d'une curieuse colline pentue, enserr@'ee dans une v@'eg@'etation luxuriante qui recouvre vos pas.^^Un saule gigantesque transpire un liquide brillant qui glisse goutte à goutte avec un cliquetis apaisant le long de ses branches pour tomber une multitude de pousses de bambou entourant une petite mare d'eau @'etincelante. ", d_to savane, e_to savane, has scenery; Object plateau "Le Plateau du Toit du Monde" with description "Un sentier escarp@'e et sinueux vous conduit sur un plateau mouvement@'e de roches claires, surplombant d'un a-pic vertigineux une jungle imp@'en@'etrable et infinie. Tr@'es au loin, sur le nord, vous distinguez une gigantesque montagne qui disparait dans les brumes.^^La falaise sous vos pieds se lance dans un ab@^ime obscur ou se verse la cascade d'une rivi@`ere traversant les mangroves. ", s_to bambous, has scenery; Object cache "L'Autel Sacr@'e d'Iranos" with description "La lumi@`ere sourde de l'ext@'erieur se diffuse au travers de la cascade dans la gueule du monstre de pierre. Les contours de cette grotte naturelle sont grav@'es de repr@'esentations primitives et filiformes de guerriers sur lesquels suinte l'eau de la rivi@`ere qui gronde au dessus de votre t@^ete. ", out_to riverunder, has scenery special inside; Object riverunder "Dans les remous d'un fleuve souterrain" with description "Vous @^etes entrain@'e sous l'eau à toute vitesse par un courant violent qui vous tire de toutes parts. Les t@'en@`ebres et votre panique sont absolues. ", each_turn [l;riverunder.remous--; l=random(10);switch(l) { 1 : print "Vous @^etes entrain@'e @`a toute vitesse dans une grotte immerg@'ee aux stalactites de cristal tranchant qui @'eclairent de fugitifs instants votre course et d@'echirent votre corps en longues plaies. ";prisoner.hp=prisoner.hp-5; 2 : print "Vous sentez que vos poumons sont sur le point d'exploser tant vous manquez d'air libre. ";prisoner.hp=prisoner.hp-1; 3 : print "Un courant sous marin vous jette vers le haut o@`u se loge une mince poche d'air. Vous reprenez une seconde votre souffle et un peu d'espoir. "; 4 : print "Deux yeux rouges luisent et un serpent de riviere g@'eant se lance @`a votre poursuite. "; 5 : print "Vous sentez que des mains s'accrochent @`a vous et essayent de vous entrainer plus au fond. "; 6 : print "Le courant devient moins fort, mais toujours pas de poche d'air pour vos forces qui faiblissent de plus en plus. "; 7 : print "Une mousse sous marine projette une lueur violette sur les contours d'une cit@'e engloutie. "; 8 : print "Vous tentez de vous d@'ebattre, mais le courant se fait de plus en plus fort alors qu'il vous semble descendre au coeur de la terre dans un long toboggan immerg@'e. "; 9 : print "Le courant vous entra@^ine aux tr@'efonds de ce fleuve souterrain, toujours plus bas, vous malmenant et vous faisant perdre @`a chaque remous de pr@'ecieuses goul@'ees d'air. "; 10 : print "Dans les remous infernaux de ces courants souterrains, il vous semble de temps @`a autre distinguer les spectres fugitifs de fant@^omes de noy@'es. "; } if (riverunder.remous==0) {print "Les remous se calment subitement et vous @^etes rejet@'e sur un rivage souterrain. ";if (prisoner.enduit==1) {prisoner.enduit=0;print "Ce terrible bain vous a fait perdre toute l'odeur @'epic@'ee que vous avait procur@'e le nectar du photodoros. ";} if (autel2.activated==1) {PlayerTo(necropole);} else {print "Vous voil@`a dans le noir, au coeur de la terre. Vous marchez quelque peu, mais ne rencontrez aucune source de lumi@`ere. Compl@`etement perdu et sans espoir de trouver une sortie, vous vous asseyez sur un rocher et attendez que la mort vienne vous chercher dans ces t@'en@`ebres. ";Mort();;}}], remous 10, has scenery inside; Object bouleaux "La Vall@'ee Des Bouleaux" with description "La for@^et s'@'eclaircit et le terrain descend en pente douce. Le sol est ferme et recouvert d'herbe courte, et parsem@'e de bouleaux blancs qui bruissent @`a chaque souffle de vent.^^Une vall@'ee verdoyante s'ouvre devant vous, tranch@'ee, @`a l'horizon, par une large rivi@`ere. ", s_to feuillus, n_to plaines, w_to jungle, e_to marais, has scenery; Object marais "Les Marais de Mornar" with description "Le terrain s'amollit et se transforme rapidement en vase qui vous happe dans un immonde bruit de succion. Des arbres noueux couverts de mousse grise @'etendent leurs branches au dessus de votre t@^ete et masquent toute lumi@`ere, et plongent leurs ra@@cines dans des eaux noires, vertes et charriant des masses glaireuses o@`u bourdonnent bruyamment des nu@'ees d'insectes. ", each_turn [o;o=random(10);switch(o) { 1 : print "Vous pataugez dans la boue maladroitement et vous sentez le flux malsain du marais couler dans vos bottes. "; 2 : print "Une ronce vous griffe le dos de la main. "; 3 : print "Un crapaud noir vous fixe de ses gros yeux jaunes et s'enfonce dans la vase. "; 4 : print "Un insecte bourdonant tourne autour de votre t@^ete. "; 5 : print "Une nu@'ee d'@'eph@'em@`eres s'agite autour des plantes suintantes. "; }], sw_to coniferes, n_to lac, w_to bouleaux, e_to portetemple, has scenery special diseased; Object portetemple "L'Arche Noire de Nimdur" with description "Le terrain redevient ferme, et la lumi@`ere perce @`a nouveau les frondaisons de grands ch@^enes, dont les feuilles tombent sans cesse comme une pluie de pi@`eces d'or. ", w_to marais, n_to marais, s_to marais, e_to temple, has scenery; Object temple "Le Temple Golgar de Vie et de Mort et de Lumi@`ere" with description "Un colossal tetrah@^edre ouvert form@'e par des colonnes de marbre noir, d'albatre et de marbre vert, entour@'e d'arbres mill@'enaires se dresse dans cette clairi@`ere. ", w_to portetemple, in_to intotemple, has scenery; Object intotemple "Au Coeur du Temple Golgar" with description [;print "La lumi@`ere d@'ej@`a diffuse de l'ext@'erieur perce mal la p@'enombre des lieux. Des bancs de pierre se tournent vers un autel triangulaire de m@'etal, mais tout semble @'emouss@'e et d@'esincarn@'e. Un silence de tombe r@`egne en ce lieu, bien que parfois il vous semble que la structure du temple vrombrisse d'une onde grave. ";if (prisoner.enduit==1) {print "La lumi@`ere donn@'ee par votre @'etrange compagnon de lumi@`ere qui bondit @`a vos cot@'es vous fait remarquer une frise murale superbement sculpt@'ee. ";}], out_to temple, has scenery inside; Object asteroide "Le Naos Galactique" with description "Une grande pi@`ece circulaire dont un tiers donne sur une baie vitr@'ee o@`u transpara@^it une nuit infinie et des @'etoiles. La pi@`ece semble recouverte de parois m@'etalliques parfaitement agenc@'ees et un silence de tombe r@`egne sur l'endroit. ", has scenery inside; Object plaines "Les Plaines Laakti" with description "Le terrain est ici plat, verdoyant, @`a peine bossel@'e par quelques collines @'epuis@'ees, et parfois barr@'e d'un grand arbre. Les longues plaines semblent s'@'etendre jusqu'@`a un horizon sans fin, mais vous devinez, au nord et @`a l'ouest, une barri@`ere d'arbres dans le lointain, et au sud et @`a l'est, un large fleuve qui brille sous les feux du ciel. ", w_to jungle, n_to pont, s_to bouleaux, e_to lac, has scenery; Object lac "Sur les rives du Lac Jaal" with description "Un lac aux eaux calmes refl@`ete le ciel. Il est plus grand que peut porter le regard, m@^eme si, au del@`a, vous devinez quand m@^eme les immenses pics gris des Monts Barri@`eres.^^Sur ses abords, des haies naturelles d'ajoncs ornent d'or et de vert le bleu @'eternel des eaux. ", w_to plaines, s_to marais, has scenery; Object rivageboyau "Sur un rivage de gr@`es noir" with description "Un bloc de gr@`es noir est battu par le ressac d'un lac immense qui s'@'etend @`a perte de vue vers l'ouest. De l'autre cot@'e, les sommets perdus dans les nuages des immenses falaises qui bordent les terres perdues. Non loin de votre petit poste d'observation, vous pouvez deviner la rumeur sourde d'une immense cascade souterraine o@`u s'engouffre le lac. Derri@`ere vous, dans le granit gris des monts Barri@`eres eux m@^emes, s'ouvre une ouverture sombre, grande comme un homme. ", before [;Go : if (noun~=e_obj) {print "Avec ou sans embarcation, se lancer dans les eaux du lac releverait de la folie : vous seriez aussit@^ot emmen@'e par le courant vers l'ouverture b@'eante o@`u s'engouffre avec fureur la puissance tranquille du lac. ";return 2;} else {if (prisoner.enduit==1) {print "Rassemblant votre courage, vous vous enfoncez dans les t@'en@`ebres faiblement @'eclair@'ees par les @'eclats du pitisun qui vous suit en bondissant.^^Vous tournez encore et encore dans ces boyaux @'etroits qui s'enfoncent toujours plus loin au coeur de la terre, jusqu'@`a perdre toute notion du jour et de la nuit. Vous @'etanchez votre soif en lapant l'eau d'une flaque et votre faim en d@'eglutissant les insipides champignons violets qui poussent sur le plafond des galeries naturelles. Vous commencez @`a d@'esesperer d'arriver un jour au bout de cette descente aux enfers, quand l'air se fait plus frais, et que tout d'un coup vous @'emergez sur...^^";PlayerTo(necropole);return 2;} else {print "Vous faites quelques pas dans l'obscurit@'e totale, mais vous perdez rapidement votre chemin dans ces boyaux sans cesse changeants de direction. Vous revenez bien d@'epit@'e @`a la surface, sur le rivage. ";return 2;}}], has scenery; Object necropole "La Necropole de Solesh" with description "Au coeur de la terre, une cit@'e immense se perd dans l'obscurit@'e presque absolue d'une caverne gigantesque. Vous entendez de temps en temps le ressac d'un lac souterrain aux eaux noires qui borde les hauts murs des maisons carr@'ees taill@'ees dans le granit noir.^^Le silence, comme l'obscurit@'e, sont ici absolus. ", before [;Go : if (noun==out_to || noun==u_to) {print "Vous ne vous sentez pas le courage de remonter dans ce labyrinthe obscur. ";return 2;}], has scenery special inside diseased; Object pont "Le Pont des Sphinx" with description "Une titanesque arche de bois laqu@'e noir et vert s'@'elance harmonieusement au dessus des eaux imp@'etueuses du fleuve Mali. Tout le long de la balustrade de m@'etal, d'@'etranges statues montent une garde silencieuse mais impressionnante. ", s_to plaines, n_to route, has scenery; Object route "La Voie Magique" with description "Une route de galets polis s'avance en ligne droite depuis l'arche de bois jusqu'@`a l'horizon depuis lequel vous sentez venir une brise alcaline. De part et d'autre de la route, quatre immenses piliers de pierre noire vein@'ee d'argent se dressent haut dans le ciel, et au bout de la route grise, une titanesque montagne s'@'el@`eve au lointain, dont le sommet se perd dans les cieux. ", w_to monolithes, n_to plage, s_to pont, e_to jardins, has scenery; Object plage "La Plage au Sable de Cristal" with description "La route se noie dans une plage de grains de cristal mat, qui s'@'etend d'est en ouest jusqu'aux monts barri@`eres qui vous emprisonnent m@^eme dans cette mer glac@'ee qui s'@'etend sous vos yeux jusqu'@`a l'horizon. Loin au nord d@'erivent d'insolites Icebergs taill@'es en formes grossi@`erement g@'eom@'etriques, puis plus loin encore, dans les brumes de l'Oc@'ean, se dresse comme une forteresse divine une gigantesque montagne au sommet tronqu@'e. ", before [;Go : if (noun==n_obj) {print "Vous plongez dans l'eau glac@'ee de la mer des Etoiles, mais vous tremblez tant du froid intense que vous ne pouvez faire la moindre brasse. ";prisoner.hp--;return 2;}], e_to plage2, s_to route, has scenery; Object plage2 "Une Baie tranquille aux eaux glac@'ees" with description "Vous foulez une plage de grains de cristal mat, qui s'@'etend d'est en ouest jusqu'aux monts barri@`eres qui vous emprisonnent m@^eme dans cette mer glac@'ee qui s'@'etend sous vos yeux jusqu'@`a l'horizon. Loin au nord ouest d@'erivent d'insolites Icebergs taill@'es en formes grossi@`erement g@'eom@'etriques, puis plus loin encore, dans les brumes de l'Oc@'ean, se dresse comme une forteresse divine une gigantesque montagne au sommet tronqu@'e. ", before [;Swim : <>; Jump : <>; Go : if (noun==n_obj || noun==d_obj) {print "Vous plongez dans l'eau glac@'ee de la mer des Etoiles et vous enfoncez @`a grandes brass@'es dans les fonds translucides de l'eau. ";} Jump : << Go n_obj>>;], n_to glouglou, d_to glouglou, w_to plage, sw_to route, s_to jardins, has scenery; Object glouglou "Ph@'enix Englouti (Sous la mer des @'etoiles)" with description "Vous nagez avec une brasse vigoureuse dans des eaux glac@'es qui vous br@^ulent comme un millier d'aiguilles vous d@'echirant la peau.^^L'eau est parfaitement translucide, et vous pouvez voir le sol de gros galets gris recouvert d'un mince lichen. A une trentaine de m@'etres, le plateau sous marin s'enfonce dans les t@'en@'ebres d'un abysse sous marin insondable. ", before [;Go : if (noun==u_obj || noun==s_obj) {print "Vous @'emergez de l'eau glac@'ee en aspirant l'air @`a grandes goul@'ees et vous roulez sur le sol ti@'ede du rivage en vous frottant @'energiquement. ";prisoner.enduit=0;glouglou.oxy=0;} if (noun==n_obj || noun==d_obj) {print "Vous d@'epassez la limite de la falaise et nagez au dessus du vide absolu. Vous @^etes un peu @'etourdi par le froid et l'ivresse que donne cet infini qui s'ouvre de tous cot@'es.^^";attend();print "Des fant@^omes apparaissent autour de vous, @`a l'aspect hideux mais amical, et dansent lentement autour de vous. Sans vous en apercevoir, vous @^etes entrain@'e vers les abysses, toujours plus bas, et le manque d'oxyg@`ene qui vous fait atrocement souffrir vous entraine avant que vous ne vous en soyez aper@@cu vers une mort rapide et agr@'eable. ";Mort();;return 2;}], each_turn [q s;glouglou.oxy++;q=random(8);s=random(4);switch(q) { 1 : print "Un @'enorme mamif@'ere marin, grand comme une montagne, passe nonchalamment dans le lointain. "; 2 : print "Un banc de requins effil@'es charge une grande masse noire que vous ne distinguez pas, loin @`a l'horizon marin. "; 3 : print "Un animal @'etrange, @`a quatre pattes palm@'ees et au tr@'es long cou, grand comme une maison, rase le sol et dispara@^it dans les t@'en@'ebres. "; 4 : print "Un gigantesque banc de sardines, sans cesse mouvant, se d@'eforme au lointain. "; 5 : print "Des bancs de plancton luminescents brillent et s'@'etirent au loin. "; 6 : print "Des figures fant@^omatiques @'evoluent dans le lointain. "; 7 : print "Une algue titanesque, large comme une tentacule, s'@'el@`eve depuis la faille et re-dispara@^it. "; 8 : print "Un courant marin fait rouler quelques galets. "; } switch(s) { 1 : print "Vous grelottez de froid. L'eau est glac@'ee. ";prisoner.hp=prisoner.hp-s; 2 : print "L'eau glac@'ee carresse votre chair comme une lame de rasoir. Vous sentez que quelques crampes commencent @`a contracter vos muscles du visage. ";prisoner.hp=prisoner.hp-s; 3 : print "Le froid de la mer vous nimbe d'une euphorie malsaine, et vous ne sentez pas votre corps qui faiblit. ";prisoner.hp=prisoner.hp-s; 4 : print "Le froid sous-marin est mortel, absolu. ";prisoner.hp=prisoner.hp-s; } switch (oxy) { 1 : print "Vous expirez r@'eguli@`erement l'air de vos poumons qui remontent vers la surface en petites bulles. "; 2 : print "Vous expirez r@'eguli@`erement l'air de vos poumons qui remontent vers la surface en petites bulles. "; 3 : print "Vos poumons sont maintenant vides, mais vous tenez bon. "; 4 : print "Vos poumons sont maintenant vides, mais vous tenez bon. "; 5 : print "Vos poumons vous br@^ulent, vous avez besoin de respirer. "; 6 : print "La t@^ete vous tourne. Malgr@'e vous, vous respirez un grand coup, et l'eau sal@'ee et gel@'ee envahit vos poumons. ";prisoner.hp=prisoner.hp-4; 7 : print "Vous n'avez plus de souffle, de l'eau dans les poumons. Vous mourrez rapidement, noy@'e dans les eaux glac@'ees. ";Mort();;} ], oxy 0, w_to plage, sw_to route, s_to jardins, u_to jardins, has scenery special inside; Object cascade "La Grande Cascade" with description "Depuis une grotte am@'enag@'ee @`a sept cent m@'etres de haut dans l'a-pic des Monts Barri@`eres se d@'everse une large rivi@`ere dans une cascade argent@'ee d'une beaut@'e gla@@cante et dans une fureur assourdissante. ", e_to monolithes, has scenery; Object monolithes "Le Cromlech Des Lomenia" with description "Entour@'e de petits buissons, douze monolithes g@'eants forment un cercle solennel au sommet d'une colline recouverte d'herbe et de givre. ", each_turn [;if (player in dolmen && anneau has worn && raie in monolithes) {Envol();PlayerTo(flight);} self.o++;if (self.o>20) {self.o=1;} switch(self.o) { 1 : print "Une cr@'eature blanche appara@^it depuis le nord, haut dans le ciel. ";move raie to monolithes; 2 : print "La cr@'eature flotte au dessus de votre t@^ete, avec des piaillements effrayants. "; 3 : print "La cr@'eature d@'eploie de curieuses ailes en forme de triangle et plane en cercle autour du cromlech. "; 4 : print "La cr@'eature tourne en rond @`a une vingtaine de m@`etres au dessus de vous en piaillant. "; 5 : print "La raie volante prend de l'altitude. "; 6 : print "La raie disparait au lointain. ";remove raie; }], o 0, w_to cascade, n_to plage, e_to route, has scenery; Object flight "Volant dans le ciel (accroch@'e @`a une raie manta g@'eante)" with description "Vous @^etes balanc@'e en tous sens dans les airs, le bras accroch@'e @`a la queue flexible de la raie manta volante. ", react_before [;Attack : ], before [;Go : print "Vous @^etes prisonnier ! ";], each_turn [; self.o++;switch(self.o) { 1 : print "Vous prenez de l'altitude et volez plein sud, vers le serpent brillant que forme la rivi@`ere loin en bas. "; 2 : print "Vous descendez soudainement en piqu@'e entre les colonnes de sphinx qui abattent leurs faux @`a votre passage, mais vous manquent de justesse. "; 3 : print "La raie manta reprend un peu d'altitude et s'enfonce sous les frondaisons de la jungle d'Opskalum. "; 4 : print "Vous @^etes balanc@'e violemment en tous sens contre les arbres resser@'es de la jungle. ";prisoner.hp=prisoner.hp-5; 5 : print "La raie volante rase la rivi@`ere au coeur de la jungle. "; 6 : print "Vous @'emergez au bout de la rivi@`ere qui tombe en cascade dans un abysse sans fond, et la raie prend rapidement une altitude consid@`erable et remonte vers le nord. "; 7 : print "Vous redescendez vers le sol au niveau de la route bord@'ee de grands monolithes, et la raie tente de vous assomer contre l'un d'entre eux au passage, en vous projetant dessus. ";prisoner.hp=prisoner.hp-5; 8 : print "Vous rasez les vagues temp@'etueuses de la mer des @'etoiles, vous prenant de grandes gicl@'ees d'embruns glac@'es. "; 9 : print "Vous remontez le long d'un iceberg taill@'e comme une falaise et la raie vous frotte contre le sol gel@'e et enneig@'e de l'iceberg. ";prisoner.hp=prisoner.hp-2; 10 : print "Vous @^etes train@'e dans la neige gel@'ee du grand iceberg, la raie est sur le point de reprendre son envol..."; 11 : print "Vous montez dans les airs @`a une vitesse prodigieuse et vous volez loin au dessus d'un grand volcan @'eteint, dans les nuages, que vous d@'epassez. "; 12 : print "Vous @^etes haut dans le ciel, au milieu d'un oc@'ean sans fin. Des milliers de m@'et@'eorites tombent tout autour de vous pour s'ab@^imer dans les flots. "; 13 : print "Vous perdez @`a nouveau de l'altitude quand vous observez au milieu du fracas des @'etoiles filantes tombant un @'etrange ballet de centaines de petites raies survolant les flots @`a moindre hauteur. Arriv@'e @`a leur niveau, la raie vous laisse tomber...vous ne survivrez ni @`a la chute, ni aux flots glac@'es et br@^ulants, et ni aux machoires avides de ces terribles cr@'eatures...";Mort();; }], o 0, has scenery; Object jardins "Les Jardins de la Cit@'e Perdue de Landalentariel" with description "Aussi loin que porte le regard s'@'etend un jardin ancien envahi de plantes sauvages. Les fleurs et les buissons d@'elicats se sont cristallis@'es dans le givre et la glace, et de nombreux bancs de marbre et de colonnes d'alb@^atre gisent, bris@'es, en travers des sentiers sinueux. ", w_to route, n_to plage, e_to ruines, s_to ruines, has scenery; Object ruines "Cit@'e Perdue de Landalentariel" with description "Des ruines aux murs @'epais et aux pierres blanches fig@'ees dans le froid s'enlacent les unes aux autres pour former un complexe labyrinthe o@`u dominent, dans un silence divin, d'immenses pyramides @`a degr@'es et une statue immense, @`a moiti@'e engloutie dans les eaux tranquilles du lac qui borde la cit@'e.^^Au carrefour de la voie principale de la ville, une grande ar@`ene entour@'ee de gradins. ", in_to arene, w_to jardins, n_to jardins, has scenery special; Object icebergs "Icebergs de la Mer des Etoiles" with description "Vous vous trouvez sur un @^ilot de glace dure d@'erivant non loin des rivages d'un volcan si titanesque que son sommet se perd dans les cieux. Vos pieds s'enfoncent facilement dans la neige poudreuse recouvrant l'iceberg, qui tangue doucement au rythme de sa d@'erive. ", each_turn [;icebergs.o++;switch(icebergs.o) { 3 : print "Vous entendez comme un craquement anormal dans la glace. "; 5 : print "Vous scrutez l'horizon en songeant @`a un moyen de s'@'evader de votre prison flottante. Soudain, un craquement terrible secoue votre navire de glace. Vous tournez la t@^ete avec l'impassibilit@'e que vous ont donn@'e toutes vos @'epreuves, mais vous sursautez tout de m@^eme d'effroi quand un titanesque monstre humanoide, grand comme une colline, s'est arrach@'e de la glace de l'iceberg et s'approche de vous avec des pas lourds qui soul@`event des gerbes d'eau sal@'ee avec le tangage de la glace ! ";move icebergmonster to icebergs; }], o 0, has scenery special; Object volcan "La Forge Des Mondes" with description "Vous grimpez les contreforts pentus d'un volcan immerg@'e dont le sommet d@'ecoup@'e se perd @`a demi dans les brumes du ciel. Un escalier de shiste noir que surplombent des arches de basalte et d'onyx fait un tour et demi de l'immense structure naturelle. Le sol est chaud et vous devinez une puissance infinie dans les entrailles du sol que vous foulez. ", each_turn [o;o=random(8);switch(o) { 1 : print "Les @'etoiles brillent intens@'ement dans le ciel et vous voyez une immense lune rouge se d@'ecouper dans le ciel, comme si vous @'etiez sous des cieux jamais contempl@'es auparavant. "; 2 : print "Une m@'et@'eorite vient s'@'ecraser @`a quelque distance dans un sifflement assourdissant et un choc qui fait vibrer toute la structure. "; 3 : print "Une immense aurore bor@'eale appara@^it dans le ciel, s'agite comme un serpent, puis s'estompe doucement. "; } ], u_to volcantop, n_to volcantop, has scenery special; Object volcantop "Au Sommet de La Forge Des Mondes" with description "Un crat@`ere b@'eant s'ouvre comme une porte sur le coeur du monde.^^Au del@`a, vous devinez un oc@'ean infini qui monte jusqu'aux @'etoiles, un oc@'ean aux vagues d@'echain@'ees o@`u s'ab@^iment des milliers d'@'etoiles filantes tombant en tous sens. Derri@`ere vous, la vall@'ee perdue s'@'etend de toute sa longueur au lointain, encercl@'ee des @'eternels monts barri@`eres.^^Au bord du crat@`ere, un escalier taill@'e parfaitement dans la roche s'enfonce dans les t@'en@`ebres, longeant la paroi int@'erieure. ", each_turn [o;o=random(8);switch(o) { 1 : print "Les @'etoiles brillent intens@'ement dans le ciel et vous voyez une immense lune rouge se d@'ecouper dans le ciel, comme si vous @'etiez sous des cieux jamais contempl@'es auparavant. "; 2 : print "Une m@'et@'eorite vient s'@'ecraser @`a quelque distance dans un sifflement assourdissant et un choc qui fait vibrer toute la structure. "; 3 : print "Une immense aurore bor@'eale appara@^it dans le ciel, s'agite comme un serpent, puis s'estompe doucement. "; } ], s_to volcan, d_to stairs, in_to stairs, has scenery special; Object stairs "L'Abysse Stygien" with description [; print "Vous descendez un escalier qui vous semble sans fin le long de la paroi int@'erieur d'un volcan titanesque, et qui vous conduit, vous semble-t-il, tout droit vers le centre du monde. Apr@`es une descente qui vous para@^it une @'eternit@'e, ";if (sceau.sceauxul==0) {print "vous vous retrouvez bloqu@'e par une plaque de ~lumi@`ere solide~, une porte imp@'enetrable qui scelle la largeur enti@`ere du crat@`ere. Vous @^etes manifestement bloqu@'e. ";} else if (sceau.sceausoib==0) {print "vous vous retrouvez bloqu@'e par une plaque de v@'eg@'etaux fermement tiss@'es et entrela@@cant un magma de chair informe dans lequel bat une certaine forme de vie. Cette plaque vivante scelle d@'efinitivement le passage sur la totalit@'e du crat@`ere et vous ne pouvez aller plus loin. ";} else {print "vous parvenez @`a un rebord o@`u l'escalier se termine abruptement, laissant place au vide. Loin au dessus, une petite tache de lumi@`ere vous montre le chemin que vous avez d@'eval@'e sur des dizaines de lieues en profondeur. Plus bas, @`a des centaines de m@`etres, vous discernez quelques lumi@`eres, mais il n'existe aucun moyen apparent de continuer de descendre. ";}], Before [;Jump : if (sceau.sceauxul==0 || sceau.sceausoib==0) {print "Vous sautez sur place, vainement. ";return 2;} else {print "Vous prenez une grande inspiration.^^^";style underline;print "Bien. Puisque je n'ai pas le choix. ";style roman;print "^^Vous vous laissez tomber dans le vide...";attend();PlayerTo(lastroom);print "^^...en touchant le sol, un sol dur et chaud, vos os se brisent en mille morceaux et la vie vous quitte aussit@^ot. ";Mort();;return 2;}], out_to volcantop, u_to volcantop, has scenery inside diseased; Object lastroom "Le Dernier Sceau" with description "Une vaste salle @`a cinq cot@'es, aux fins fonds du puits de la forge des mondes. ", has scenery inside; Object cosmos "Cosmos" with description "Vous flottez au milieu d'immenses @'etendues spatiales, assis sur une dalle de pierre. Arrach@'es @`a la pi@`ece du dernier sceau flottent autour de vous en tournoyant des petites boules de lave, des morceaux de statues. De partout scintillent paisiblement une infinit@'e d'@'etoiles et une musique cristalline r@'esonne doucement. ", each_turn [;cosmos.o++;switch(cosmos.o) { 1 : print "Au loin, des plan@`etes ceintur@'ees d'anneaux passent rapidement. "; 2 : print "Une immense...chose...s'approche. De votre perspective, vous n'en distinguez ni le haut ni le bas. "; 3 : print "Une voix s'exclame :^^";style underline;print "~Le voici donc !~";style roman; 4 : print "Une serre gigantesque s'approche d'au dessus et vous saisit habillement sans vous blesser. Vous @^etes rapidement hiss@'e @`a une vitesse inimaginable dans le cosmos, puis repos@'e dans une autre main griffue.^^ ";PlayerTo(paume); }], o 0, has scenery special; Object paume "Sur La Paume d'Imgar, Le P@`ere Des Dieux Anciens" with description "Vous @^etes au creux d'une immense main griffue recouverte de duvet bleu, et grande comme un stade. Au lointain, tr@'es lointain au dessus, vous distinguez dans la d@'ecoupe des @'etoiles une titanesque t@^ete de tigre vous observant avec inter@^et. ", each_turn [;paume.o++;switch(paume.o) { 1 : print "La t@^ete de tigre se penche sur vous et sa voix terrible retentit dans les limbes de l'univers :^^";style underline;print "~Voici donc...l'humain...@`a qui nous devons la libert@'e. Vies ch@'etives et si pr@'ecaires. Destin@'ees sans objet. ~";style roman; 2 : style underline;print "~Il a tant fait pour nous...bien malgr@'e lui toutefois. A croire que l'ironie serait un principe sup@`erieur @`a nos pouvoirs, mes fr@`eres et soeurs. ";style roman; 3 : style underline; print "~Je suis, soeurs et fr@`eres, n@'eanmoins perplexe. Quelle justice appliquer @`a notre pietre lib@'erateur ? C'est ceux de sa race qui ont pr@'etendu nous remplacer en nous emprisonnant. Et j'ai beau le scruter, je ne vois rien de grand en lui. ~";style roman; 4 : print "Une main rocailleuse et grise vient vous attraper en pincant votre col de deux doigts larges comme des troncs d'arbres. Mais elle vous @'echappe soudainement et vous tombez dans l'espace, seul, jusqu'@`a ce que vous rencontriez une surface lisse et dure, @`a pic, qui s'incline doucement et sur laquelle vous glissez rapidement.^^ ";PlayerTo(lame); }], o 0, has scenery special; Object lame "Sur La Lame d'Iranos, le Dieu de la Guerre" with description "Vous glissez rapidement sur un m@'etal brillant et ti@`ede, qui refl@'ete la clart@'e des @'etoiles. Large comme une grande route, vous comprenez qu'il s'agit d'une immense lame d'une arme tenue par le titanesque homme @`a t@^ete de rhinoc@'eros qui vous toise d'un regard sans @^ame. ", each_turn [;lame.o++;switch(lame.o) { 1 : print "Une voix grave et gutturale s'exclame alors :^^";style underline;print "~Ce faible humain s'est bien battu. C'est au prix de sa vie qu'il a gagn@'e notre libert@'e, et par force combats et @'epreuves. ~";style roman; 2 : style underline;print "~Je l'ai vu brandir mon @'ep@'ee et nous honorer de ses batailles et du sang vers@'e. ~";style roman; 3 : style underline; print "~Je vois en lui, soeurs et fr@`eres, une destin@'ee de guerrier sans @'egal qui se perdurera pour l'@'eternit@'e. Si les portes de nos prisons sont maintenant abattues, l'univers s'est peupl@'e d'impies qu'il faudra soumettre de notre Loi irresistible. Qu'il soit le chef de nos arm@'ees, qu'il ach@'eve par le sang ce qu'il a commenc@'e par la lame !~";style roman; 4 : print "La lame se rel@`eve alors d'un coup brusque et vous envoie de nouveau voler dans le cosmos. Dans votre bond incroyable, vous tournoyez dans l'espace et vous apercevez que vous foncez sur une masse g@'eante dont vous ne distinguez les contours.^^Vous atterrissez sur une surface molle mais pentue depuis laquelle vous glissez doucement. ^^";PlayerTo(sein); }], o 0, has scenery special; Object sein "Sur Le Sein D'Undia, D@'eesse de L'Amour" with description "Vous vous agrippez du mieux que vous pouvez sur la peau lisse du sein d'Undia, la d@'eesse de l'amour, dont le mufle imposant de sa t@^ete de vache lance dans le cosmos une voix rayonnante. ", each_turn [;sein.o++;switch(sein.o) { 1 : style underline;print "~Des batailles ? Tu es un fou, Iranos. Personne d'esprit sain n'aspire @`a la violence. ~";style roman; 2 : style underline;print "~J'agr@'ee le fait qu'il nous ait sauv@'es, car c'est le terme que vous n'osez prononcer. Et je compte le remercier pour cela. ~";style roman; 3 : style underline; print "~Pour lui, soeur et fr@`eres, une vie de plaisirs tels qu'on les d@'efinit chez ceux de sa race : un foyer chaleureux, des amis et des conqu@^etes, de la s@'ecurit@'e et de la paix !~";style roman; 4 : print "Vous approuvez silencieusement et avec envie les propos d'Undia mais vous perdez soudainement prise et vous lui @'echappez, tombant dans le vide sans fin. ";attend();print "^^Vous touchez un large plateau de m@'etal, grand comme un lac, qui s'enfonce sous votre chute @`a la m@^eme vitesse que vous, puis qui vous freine doucement.^^ ";PlayerTo(balance); }], o 0, has scenery special; Object balance "Dans Un Plateau de la Balance d'Iqual, Dieu de la Justice" with description "Vous @^etes sur l'un des deux plateaux d'une balance de m@'etal grande comme une montagne, et tenue en son centre par une immense cr@'eature @`a t@^ete d'aigle. ", each_turn [;balance.o++;switch(balance.o) { 1 : print "La voix solenelle d'Iqual interrompt la querelle d'Iranos et d'Undia :^^";style underline;print "~Les dieux n'ont pas @`a r@'ecompenser ou @`a punir, ils appliquent la Justice Divine. ~";style roman; 2 : style underline;print "~Et la Justice ne peut mettre notre lib@'eration @`a l'actif de cet humain, car il a agit sans connaissance de cause. Il ne cherchait qu'@`a sauver sa peau, et s'il a quand m@^eme donn@'e sa vie, c'@'etait pour sauver son @^ame, et je ne vois point de droiture exceptionnelle en cela. ~";style roman;print "^^Iqual commence @`a laisser tomber brutalement des poids dans l'autre plateau de la balance, faisant remonter le v@^otre @`a toute vitesse. "; 3 : style underline; print "~Pour lui, soeurs et fr@`eres, le retour @`a la vie est d@'ej@`a un beau cadeau. Je vous rappelle qu'il a @'et@'e jug@'e par ses pairs et exil@'e ici pour quelque forfait. Repla@@cons le dans les terres perdues, et qu'il expie sa faute au regard de la Justice de ses pairs, et c'en sera bien assez !~";style roman; 4 : print "Le plateau de la balance atteint son maximum et vous vous retrouvez projet@'e dans l'espace. ";PlayerTo(void); }], o 0, has scenery special; Object void "nulle part" with description "Vous @^etes dans le vide absolu, en train de faire une chute vertigineuse entre les @'etoiles. ", each_turn [;void.o++;switch(void.o) { 1 : print "La voix d'Iqual conclut :^^";style underline;print "~Les dieux ont parl@'e. ~";style roman; 2 : print "Vous tombez de plus en plus vite. "; 3 : print "La voix d'Imgar tonne encore une fois, inquisitrice : ";style underline; print "^^~Pas tous encore, Iqual. Lookti, d@'eesse de la Sagesse, tu n'as rien @`a dire? ~";style roman; 4 : print "Une t@^ete de panda, gigantesque, @'emerge du vide et vous scrute attentivement depuis l'obscurit@'e du cosmos. "; 5 : style underline;print "~Comme toujours, l'avis d'Iqual est exprim@'e dans un souci de justice, mais dans un d@'efaut de sagesse. Confiez moi le destin de l'humain. "; style roman; 6 : print "La voix d'Imgar tonne @`a nouveau : ";style underline;print "~Soit, Lookti. Mais que lui r@'eserves-tu alors ?~";style roman; 7 : style underline;print "~Un peu de tout. Des batailles, des conflits. De l'amour et des amis. La rude justice de la r@'ealit@'e. Et un peu de bonheur simple. ~^^~Cela me sied. Qu'il en soit ainsi, Lookti !~^^";attend();style roman;print "Tout s'illumine autour de vous, jusqu'@`a ce que vous en soyiez aveugl@'e. Et vous perdez connaissance. ";Fin(); }], o 0, has scenery special; Object vortex "Endroit *tr@'es @'etrange*" with description "Vous avez l'impression de flotter au milieu de milliers de couleurs @'etranges, de parfums nouveaux.^^Votre t@^ete vous fait tr@'es mal, et vous avez envie de vomir. ", each_turn [;self.psy--;switch(self.psy) { 10 : print "Une voix retentit : ~DONNE TON SANG A NEMESIS~ "; 9 : print "Une voix retentit : ~DONNE DES CADEAUX A L'AMAZONE~ "; 8 : print "Une voix retentit : ~COMMUNIQUE AVEC LE FLAMAND ROSE~ "; 7 : print "Une voix retentit : ~PORTE L'ANNEAU ET VA SUR LA STELE~ "; 6 : print "Une voix retentit : ~CHANTE AVEC LE CRAPAUD~ "; 5 : print "Une voix retentit : ~ACTIVE LES PORTAILS AVEC L'ENERGIE DES BAMBOUS~ (vous @^etes compl@'etement stone apparement)"; 4 : print "Une voix retentit : ~TA PORTE DE SORTIE EST AU COEUR DE LA FORGE DES MONDES~ "; 3 : print "Une voix retentit : ~BRISE LES SCEAUX EN TUANT LES DIVINITES~ "; 2 : print "Une voix retentit : ~L'OMBRE ASPIRE LA LUMIERE~ "; 1 : print "Une voix retentit : ~LA MORT ET LA DECREPITUDE ASPIRENT LA VIE~ "; 0 : print "Vous flottez dans tous les sens, et soudain tout devient noir. Vous semblez vous heurter @`a quelque chose et vous @'emergez de votre trip comme si vous tombiez de plusieurs kilom@`etres de haut...^^";PlayerTo(feuillus); }], psy, has scenery; Object fruitparadise "Le paradis des fruits" with description "C'est l'endroit merveilleux o@`u vont les fruits quand ils meurent. ", has scenery; Object monsterparadise "Le paradis des monstres" with description "C'est l'endroit merveilleux o@`u vont les monstres quand ils meurent. ", has scenery; ! ---------------------------------------------------------------------------- ! Creatures Aleatoires !---------------------------------------------------------------------------- Object panda "panda" monsterparadise with name 'panda' 'ours' 'plantigrade', description"Un grand panda qui vous d@'epasse d'une bonne t@^ete, et qui avance sur ses deux pattes arri@`eres en se dandinant. Il porte en bandouli@`ere une besace d'o@`u d@'epassent plusieurs touffes d'herbe et quelques branches de bambou. ", each_turn [h i m; h=random(self.stable); if (h>3) {if (random(2)==1) {self.peace++;} else {self.peace--;}} if (self.peace<4) {i=random(3);switch(i) { 1 : print "Le panda se dandine lentement et fouille parmi les buissons, vous ignorant compl@'etement.^"; 2 : print "Le panda mach@^onne un petit bout de bambou pensivement.^"; 3 : print "L'@'enorme plantigrade s'assied sur le sol et fouille dans son sac.^"; } } if (self.peace==4) {print "Le panda retrousse son museau d'un air agressif et se dresse sur ses pattes arri@`eres d'une fa@@con mena@@cante. ";self.peace=6;} if (self.peace==5) {print "Apr@'es un petit ~groumph !~ de d@'epit, le panda semble abandonner son animosit@'e envers vous et s'en va. ";self.peace=3;} if (self.peace>5) {i=random(3);switch(i) { 1 : print "Le panda tourne autour de vous, des yeux m@'echants et vides vous fixant au plus profond de votre @^ame. "; 2 : print "L'@'enorme panda se frappe la poitrine en rugissant d'une terrible fa@@con, et se jette sur vous ! "; 3 : print "Le panda se pose sur ses quatre pattes et charge comme une furie ! "; } i=random(3); if (self.habilete+random(tempus.temps)>CheckDefense()+random(tempus.temps)) { if (ben in prisoner) {BenDefense();} switch(i) { 1 : print "Le panda vous ass@`ene un grand coup de patte qui vous balaye le visage, que vous ne risquez pas d'oublier !^"; 2 : print "Le panda vous ceinture et vous serre de toute sa terrible @'etreinte, vous meurtrissant les reins.^"; 3 : print "Le panda se dresse et fait tournoyer sa besace, puis vous la lance en plein visage, vous laissant @`a demi-assom@'e.^"; } prisoner.cicatrices++; m=random(self.force); DoBlow(m); prisoner.hp=prisoner.hp-m; CheckDeath(); CheckHealth(); } else { switch(i) { 1 : print "Le panda charge aveuglement et vous le contournez d'un bond leste.^"; 2 : print "Le panda balaye l'air de son bras pour vous atteindre, mais vous @^etes beaucoup trop habile pour lui et vous esquivez chacun de ses coups.^"; 3 : print "Le panda bondit sur vous, mais vous esquivez de cot@'e et il vous manque de peu.^"; } } } if (self.peace>8) {self.peace--;} if (self.peace<1) {self.peace++;} if (self.hp<10) {print "Voyant qu'il se trouve en mauvaise posture, le panda vous tourne le dos et galope, cherchant @`a fuir. ";if (Fuite(self.habilete)==1) {print "Mais vous le rattrapez rapidement et jouant de votre @'ep@'ee, vous lui bloquez le passage.^^";} else {print "Il vous surprend au dernier moment et vous d@'es@'equilibre d'un coup de patte, et s'enfuit rapidement hors de votre vue. ^^";move panda to monsterparadise;}} ], react_before [;Go : if (self.peace>4) {print "Vous tentez de vous enfuir et galopez de toute votre @'energie...vous l'entendez courir @`a perdre haleine derri@`ere vous...";attend();if (Fuite(self.habilete)==1) {print "et vous @'echappez au Panda !^^";} else {print "mais le panda vous bloque !^^";return 2;}}], life [i j;Ask,Answer,Tell : print "Le panda vous regarde avec un air interrogateur. ^^";return 2; Attack : self.peace=8;i=random(3); if (self.habilete+random(tempus.temps)>;return 2; Show, Give: "Le panda n'a pas l'air bien interress@'e. ";return 2; ], stable 1, peace 1, habilete 25, force 4, hp 50, has animate monstre; Object pinkf "Flamand Rose G@'eant" monsterparadise with name 'flamand' 'rose' 'geant' 'oiseau', description"C'est un flamand rose, un grand oiseau @'elanc@'e qui fait le double de votre taille. Il poss@'ede un bec crochu et aiguis@'e et de longues pattes pourvues de petites griffes. Il regarde de tous cot@'es de ses petits yeux inexpressifs en poussant de petits sifflements aigus. ", each_turn [h i m; h=random(self.stable); if (h>3) {if (random(2)==1) {self.peace++;} else {self.peace--;}} if (self.peace<4) {i=random(3);switch(i) { 1 : print "Le flamand rose fouille le sol de son bec et siffle deux coups.^"; 2 : print "Le flamand rose vous observe en penchant la t@^ete et @'emet un long sifflement.^"; 3 : print "Le flamand rose se d@'etend les pattes en les agitant et siffle trois fois.^"; } } if (self.peace==4) {print "Le flamand rose pousse un sifflement tr@'es prolong@'e en vous fixant. Il se pr@'ecipite sur vous ! ";self.peace=6;} if (self.peace==5) {print "Le flamand rose recule @`a petits pas, et semble abandonner le combat, haussant les @'epaules. Il siffle une petite fois. ";self.peace=3;} if (self.peace>5) {i=random(3);switch(i) { 1 : print "Le flamand rose tourne autour de vous et agite agressivement ses ailes, sifflant comme une furie. "; 2 : print "Le flamand rose siffle quatre coups rapides et charge sur vous. "; 3 : print "Sifflant rapidement, le flamand se pr@'ecipite sur vous ! "; } i=random(3); if (self.habilete+random(tempus.temps)>CheckDefense()+random(tempus.temps)) { if (ben in prisoner) {BenDefense();} switch(i) { 1 : print "Le flamand rose s'envole juste au dessus de votre t@^ete et vous d@'echire les chairs avec ses pattes griffues^"; 2 : print "Le flamand rose se penche sur vous et tente de vous blesser avec son bec crochu. Vous l'@'evitez deux ou trois fois, mais, perturb@'e par ses sifflements suraigus, vous le laissez passer votre garde. ^"; 3 : print "Le flamand rose, sifflant, se penche sur vous et vous agrippe dans son bec aiguis@'e comme un rasoir.^"; } prisoner.cicatrices++; m=random(self.force); DoBlow(m); prisoner.hp=prisoner.hp-m; CheckDeath(); CheckHealth(); } else { switch(i) { 1 : print "Le flamand rose tente de vous d@'echirer avec son bec, mais vous l'@'evitez sans probl@`eme.^"; 2 : print "Le flamand rose vole autour de vous pour vous attaquer de ses petites griffes, mais vous balayez toutes ses attaques de la pointe de votre @'ep@'ee.^"; 3 : print "Le flamand rose vole vers vous et vous attaque aveuglement, mais vous l'esquivez rapidement d'un bond sur le cot@'e.^"; } } } if (self.peace>8) {self.peace--;} if (self.peace<1) {self.peace++;} if (self.hp<7) {print "Le flamand rose, bless@'e, cherche @`a s'envoler pour vous @'echapper. ";if (Fuite(self.habilete)==1) {print "Mais vous lui envoyez votre @'ep@'ee comme un javelot et vous lui coupez son envol.^^";} else {print "Il s'envole majestueusement vers le nord en sifflant et vous le perdez rapidement de vue. ^^";move pinkf to monsterparadise;}} ], react_before [;Go : if (self.peace>4) {print "Vous tentez de vous enfuir et galopez de toute votre @'energie...vous entendez le flamand rose piailler et voler derri@`ere vous...";attend();if (Fuite(self.habilete)==1) {print "mais vous lui @'echappez !^^";} else {print "mais il se pose devant vous !^^";return 2;}}], life [i j;Ask,Answer,Tell : print "Le flamand rose vous siffle en retour. ^^";return 2; Attack : self.peace=8;i=random(3); if (self.habilete+random(tempus.temps)>;return 2; Show, Give: "Le flamand rose vous fixe de ses yeux vides et siffle fortement. ";return 2; ], stable 10, peace 3, habilete 30, force 2, hp 17, has animate monstre; Object sponge "Eponge Mystique" monsterparadise with name 'eponge' 'mystique', description"C'est une grosse @'eponge, grande comme un rocher, jaune, avec des gros trous caverneux. Elle avance doucement en roulant sur elle m@^eme et en se contorsionnant sur le sol. ", each_turn [h i m; h=random(self.stable); if (h>3) {if (random(2)==1) {self.peace++;} else {self.peace--;}} if (self.peace<4) {i=random(3);switch(i) { 1 : print "L'@'eponge roule doucement sur votre passage, plaouf plaouf.^"; 2 : print "L'@'eponge fredonne un petit chant religieux.^"; 3 : print "L'@'eponge vibre doucement.^"; } } if (self.peace==4) {print "L'@'eponge stoppe son fredonnement et roule vers vous. ";self.peace=6;} if (self.peace==5) {print "L'@'eponge roule en sens oppos@'e @`a vous et recommence @`a fredonner. ";self.peace=3;} if (self.peace>5) {i=random(3);switch(i) { 1 : print "L'@'eponge fredonne un chant de guerre. "; 2 : print "L'@'eponge charge sur vous en sautillant fr@'en@'etiquement . "; 3 : print "L'@'eponge devient violette, puis redevient jaune. "; } i=random(3); if (self.habilete+random(tempus.temps)>CheckDefense()+random(tempus.temps)) { if (ben in prisoner) {BenDefense();} switch(i) { 1 : print "L'@'eponge marmonne ~Subis ma col@`ere, humain !~ et vous lance une sorte de substance corrosive sur le visage.. ^^";glaviot.flame=random(tempus.temps);StartDaemon(glaviot); 2 : print "L'@'eponge vous saute dessus et vous @'ecrase de son poids. Vous vous en @'echappez de justesse. ^"; 3 : print "L'@'eponge vous saute dessus et vous @'ecrase de son poids. Vous vous en @'echappez de justesse.^"; } prisoner.cicatrices++; m=random(self.force); DoBlow(m); prisoner.hp=prisoner.hp-m; CheckDeath(); CheckHealth(); } else { switch(i) { 1 : print "L'@'eponge mystique vous lance un crachat corrosif, mais vous vous baissez et il s'envole br@^uler autre chose derri@`ere vous. ^"; 2 : print "L'@'eponge tente de vous sauter dessus, mais vous vous @'echappez en un bond et elle retombe mal. Vous vous moquez d'elle en riant et elle rumine sa rage.^"; 3 : print "L'@'eponge grogne et essaye de se rapprochez de vous, mais vous @^etes bien trop rapide.^"; } } } if (self.peace>8) {self.peace--;} if (self.peace<1) {self.peace++;} if (self.hp<15) {print "Se sentant en difficult@'e, l'@'eponge roule p@'eniblement pour tenter de vous @'echapper. ";if (Fuite(self.habilete)==1) {print "Mais sans m@^eme courir vous la contournez sans probl@`eme et lui barrez la fuite.^^";} else {print "et vous la laissez partir, ma foi, vous n'allez pas passer votre vie @`a courir derri@`ere des gros trucs jaunes. ^^";move self to monsterparadise;}} ], react_before [;Go : if (self.peace>4) {print "Vous tournez le dos @`a l'@'eponge et vous vous enfuyez...";attend();if (Fuite(self.habilete)==1) {print "et sans surprise, vous lui @'echappez !^^";} else {print "et chose incroyable, elle fait un bond prodigieux et retombe lourdement devant vous !^^";return 2;}}], life [i j;Ask,Answer,Tell : print "L'@'eponge fredonne. ^^";return 2; Attack : self.peace=8;i=random(3); if (self.habilete+random(tempus.temps)>;return 2; Show, Give: if (noun==eau) {print "L'@'eponge boit avidement votre eau et vibre ~Merci @'etranger~.^^Elle s'@'eloigne ensuite paisiblement. ";self.stable=1;self.peace=1;} else {"L'@'eponge reste inerte. ";return 2;} ], stable 5, peace 4, habilete 22, force 15, hp 60, has animate monstre female; Object gonio "Goniom@`etre Spectral" monsterparadise with name 'goniometre' 'spectral' 'appareil' 'etrange', description"Un appareil bien @'etrange, mont@'e sur cinq pieds, et semblable @`a une longue vue. Il avance en boitillant maladroitement, sa longue vue scrutant les alentours en cliquetant. ", each_turn [h i m; h=random(self.stable); if (h>3) {if (random(2)==1) {self.peace++;} else {self.peace--;}} if (self.peace<4) {i=random(3);switch(i) { 1 : print "Le goniom@`etre spectral observe une petite plante sur son cot@'e, la focale de sa lentille zoomant plusieurs fois dans des petits clics m@'ecaniques.^"; 2 : print "L'@'etrange appareil @'emet une lumi@`ere blafarde qui part en faisceau en direction d'un petit insecte qui se volatilise.^"; 3 : print "L'@'etrange appareil tourne en rond en cliquetant sur ses pattes de bois @'elanc@'ees. Clic clic clic clic.^"; } } if (self.peace==4) {print "Le goniom@'etre tourne sa lentille vers vous. Clic clic clic clic. Puis soudainement se met @`a boitiller rapidement dans votre direction ! ";self.peace=6;} if (self.peace==5) {print "Le goniom@`etre tourne sa longue vue vers un autre sujet d'observation et s'@'eloigne de vous. ";self.peace=3;} if (self.peace>5) {i=random(3);switch(i) { 1 : print "L'@'etrange appareil tourne fr@'en@'etiquement autour de vous en vous toisant de bas en haut. "; 2 : print "Le Goniom@'etre se rapproche par petits bonds sur vous. "; 3 : print "Le Goniom@`etre spectral cliqu@`ete sauvagement dans votre direction : clic clic clic clic clic clic clic ! clic clic clic ! "; } i=random(3); if (self.habilete+random(tempus.temps)>CheckDefense()+random(tempus.temps)) { if (ben in prisoner) {BenDefense();} switch(i) { 1 : print "Le Goniom`etre spectral pointe sa longue vue sur vous et un faisceau blanch@^atre et indolore vous traverse le corps. ^^";desin.flame++;StartDaemon(desin); 2 : print "L'@'etrange appareil d@'etourne votre attention en dansant de tous cot@'es, puis pointe son faisceau de lumi@`ere blanch@^atre sur vous. ^";desin.flame++;StartDaemon(desin); 3 : print "Le goniom@`etre spectral ramasse un petit caillou avec deux pattes de bois et le lance sur vous.^";prisoner.cicatrices++; } m=random(self.force); DoBlow(m); prisoner.hp=prisoner.hp-m; CheckDeath(); CheckHealth(); } else { switch(i) { 1 : print "Sentant une vibration sourde, vous vous jetez au sol, et le faisceau lumineux du goniom@`etre spectral passe loin au dessus de votre t@^ete. ^"; 2 : print "Le goniom@`etre spectral, de rage, tente de vous donner un coup de longue vue, mais vous l'arr@^etez sans difficult@'e d'une seule main.^"; 3 : print "L'appareil creuse dans le sol d'une de ses pattes de bois et tente de vous asperger de terre, ce qui n'a aucun effet sur vous.^"; } } } if (self.peace>8) {self.peace--;} if (self.peace<1) {self.peace++;} if (self.hp<10) {print "Le goniom@`etre spectral fait rapidement demi-tour devant vos assauts furieux, ";if (Fuite(self.habilete)==1) {print " et il vous @'echappe, dodelinant au loin de sa course rapide.^^";} else {print "mais vous vous interposez prestement et lui bloquez la sortie. Il en cliquete de d@'epit. ^^";move self to monsterparadise;}} ], react_before [;Go : if (self.peace>4) {print "Vous piquez un sprint et tentez de fausser compagnie au goniom@`etre spectral...";attend();if (Fuite(self.habilete)==1) {print "et vous lui @'echappez !^^";} else {print "mais son cliquetis lugubre vous poursuit et vous rattrape !^^";return 2;}}], life [i j;Ask,Answer,Tell : print "En retour le goniom@`etre produit un cliquetis angoissant. ^^";return 2; Attack : self.peace=8;i=random(3); if (self.habilete+random(tempus.temps)>;return 2;} Show, Give: print "Le goniom@`etre observe votre cadeau et le balaye d'un coup de longue vue au sol. ";move noun to location;return 2; ], stable 10, peace 3, habilete 25, force 0, hp 25, has animate monstre; Object umbra "Ombre Etrange" monsterparadise with name 'ombre' 'etrange', description"C'est une ombre ressemblant fort @`a la v@^otre, mais de couleur gris clair, qui rampe sur le sol pour vous atteindre. ", each_turn [h i m; self.habilete=CheckAttaque(); h=random(self.stable); if (h>3) {if (random(2)==1) {self.peace++;} else {self.peace--;}} if (self.peace>5) {i=random(3);switch(i) { 1 : print "L'ombre grise s'allonge et vous entoure comme un cercle clair, avant de reprendre la forme de votre ombre. "; 2 : print "L'ombre vole silencieusement au ras du sol, @'epousant toutes formes du terrain, pour se jeter sur vous. "; 3 : print "L'ombre vole de points sombres en zone d'ombres, fuyant les zones @'eclair@'ees, pour se rapprocher de vous. "; } i=random(3); if (self.habilete+random(tempus.temps)>CheckDefense()+random(tempus.temps)) { if (ben in prisoner) {BenDefense();} switch(i) { 1 : print "L'ombre laisse @'echapper un petit rire, puis semble d@'efourailler une petite dague qu'elle plante dans les c@^otes de votre propre ombre. Mais le coup vous atteint aussi ! ^^"; 2 : print "L'ombre entoure ses doigts longilines autour du cou de votre ombre, et c'est vous m@^eme qui @'etouffez petit @`a petit ! Le sang vous monte @`a la t@^ete et des taches noires apparaissent dans votre champ de vision, mais vous vous liberez juste @`a temps de son emprise mortelle. ^"; 3 : print "L'ombre vous d@'ecoche un uppercut adress@'e @`a votre propre ombre, mais qui vous atteint aussi fort et vous envoie valdinguer en arri@`ere.^"; } prisoner.cicatrices++; m=random(self.force); DoBlow(m); prisoner.hp=prisoner.hp-m; CheckDeath(); CheckHealth(); } else { switch(i) { 1 : print "L'ombre grise tente de vous enserrer le cou de ses doigts maigres, mais vous vous jetez en arri@`ere, comprenant juste @`a temps son stratag@`eme. ^"; 2 : print "L'ombre d@'egaine une petite dague et tente de larder votre ombre de coups de couteaux, mais vous les parez avec l'ombre de votre @'ep@'ee.^"; 3 : print "L'ombre vous tourne autour afin de vous attaquer, mais ne trouve pas de point faible dans votre garde.^"; } } } if (self.peace>8) {self.peace--;} if (self.peace<1) {self.peace++;} ], react_before [;Go : if (self.peace>4) {print "Vous d@'etalez ventre @`a terre pour @'echapper @`a cet impalpable adversaire...";attend();if (Fuite(self.habilete)==1 && tempus.nuit==0) {print "et, courant sur des zones de plus en plus claires, vous lui @'echappez !^^";} else {print "mais les zones d'ombres sont trop nombreuses et elle vous saisit par le col et vous fait basculer en arri@`ere. ^^";return 2;}}], life [i j;Ask,Answer,Tell : print "L'ombre vous mime, plaqu@'ee sur le sol, avec une moquerie m@'eprisante. ^^";return 2; Attack : self.peace=8;i=random(3); if (self.habilete+random(tempus.temps)>;return 2; ], stable 1, peace 8, habilete 20, force 8, hp 30, has animate monstre female; Object toad "Crapaud G@'eant" monsterparadise with name 'crapaud' 'geant' 'grenouille' 'batracien', description "Un gigantesque crapaud vert et noir, gros comme une maison, au regard vide. Son corps gluant suinte un liquide @'epais et gras. Il se balance sur ses deux pattes de devant, fredonnant un petit air r@'ept@'etitif. ", each_turn [h i m; h=random(self.stable); if (h>3) {if (random(2)==1) {self.peace++;} else {self.peace--;}} if (self.peace<4) {i=random(3);switch(i) { 1 : print "Le crapaud reste immobile, chantant un petit air joyeux.^"; 2 : print "Le crapaud coasse avec une intensit@'e @`a rendre sourd, puis reprend sa petite chanson inter@'erieure.^"; 3 : print "Le crapaud fait un mini-bond, r@'eajuste ses pattes, se balance un peu, et reprend sa petite chanson lancinante.^"; } } if (self.peace==4) {print "Le crapaud tourne soudainement la t@^ete vers vous et vous fixe de ses yeux vides. Puis en un bond, il se retrouve devant vous, ce qui vous surprend tant que vous tombez @`a la renverse.^^Vous vous relevez en vous apercevant qu'il a cess@'e de chanter. ";self.peace=6;} if (self.peace==5) {print "Le crapaud se renfrogne, vous toise de haut, et se retourne en se dandinant. Il s'@'eloigne @`a petits bonds de vous. ";self.peace=3;} if (self.peace>5) {i=random(3);switch(i) { 1 : print "Le crapaud vous regarde fixement, silencieux et immobile. "; 2 : print "Le crapaud g@'eant, silencieux, passe sa langue ros@^atre sur ses lippes immondes. "; 3 : print "Le crapaux est immobile comme une statue, seules ses pupilles vous fixent et vous suivent d'une terrible fa@@con. "; } i=random(3); if (self.habilete+random(tempus.temps)>CheckDefense()+random(tempus.temps)) { if (ben in prisoner) {BenDefense();} switch(i) { 1 : print "Le crapaud projette en une fraction de seconde sa langue en plein dans votre visage, vous renversant par terre et vous laissant @`a moiti@'e assomm@'e. ^^"; 2 : print "Le crapaud vous balaye de sa grand patte, vous envoyant voler sur quelques m@`etres, puis se rapproche encore de vous.^^"; 3 : print "Le crapaud g@'eant vous recouvre de sa bave acide, beuark !^^";glaviot2.flame=random(tempus.temps);StartDaemon(glaviot2); } prisoner.cicatrices++; m=random(self.force); DoBlow(m); prisoner.hp=prisoner.hp-m; CheckDeath(); CheckHealth(); } else { switch(i) { 1 : print "Le crapaud tente de vous assomer d'un coup de langue, mais vous esquivez @`a temps en bougeant la t@^ete.~Bien essay@'e, gros p@'ep@'ere ! ~ lui lancez vous alors qu'il fulmine. ^"; 2 : print "Le crapaud essaye maladroitement de vous saisir avec sa grosse patte, mais vous vous jetez @`a terre ou bondissez et vous lui glissez entre les doigts.^"; 3 : print "Le crapaud lance un jet de bave acide dans votre direction, mais il manque de puissance et tombe @`a quelques m@`etres devant vous.^"; } } } if (self.peace>8) {self.peace--;} if (self.peace<1) {self.peace++;} if (self.hp<30) {print "La situation tournant @`a son d@'esavantage, le Crapaud G@'eant vous tourne le dos et cherche @`a s'enfuir, ";if (Fuite(self.habilete)==1) {print "mais vous @^etes plus rapide et vous le contournez ais@'ement pour lui bloquer le passage.^^";} else {print " ce qu'il fait rapidement, en bondissant haut dans le ciel dans un rire sonore. ~Tu ne m'auras pas ! Ha Ha Ha !~^^En quelques bonds, il est d@'ej@`a hors de port@'ee. Vous plantez votre @'ep@'ee dans le sol de d@'epit. ^^";move self to monsterparadise;}} ], react_before [;Go : if (self.peace>4) {print "Avisant la situation, vous d@'etalez comme un lapin...";attend();if (Fuite(self.habilete)==1) {print "...et le crapaud g@'eant daigne vous laisser vous enfuir...^^";} else {print "mais en un bond, le crapaud passe au dessus de votre t@^ete, obscurcissant le ciel, et retombe devant vous. ~Oh non. ~^^";return 2;}}], life [i j;Ask,Answer,Tell : print "Le crapaud chantonne en retour. ^^";return 2; Attack : self.peace=8;i=random(3); if (self.habilete+random(tempus.temps)>;return 2; ], stable 10, peace 3, habilete 28, force 15, hp 75, has animate monstre; Object werer "lapin garou sectateur de n@'em@'esis" monsterparadise with name 'lapin' 'garou' 'sectateur' 'nemesis' 'fou', description "Une esp@'ece d'homme d@'eguiguand@'e et maigre, couvert d'un tapis de poils ras et blancs, mais sa t@^ete est celle d'un lapin, aux yeux rouges et fous. Il est v@'etu uniquement d'un long pardessus gris @'etoil@'e de taches de sang, et dont le dos est tiss@'e d'une grosse larme rouge.^^Dans chacune de ses pattes, il tient une longue dague effil@'ee. Il est souvent pris de tremblements nerveux. ", each_turn [h i m; self.habilete=random(30); h=random(self.stable); if (h>3) {if (random(2)==1) {self.peace++;} else {self.peace--;}} if (self.peace<4) {i=random(3);switch(i) { 1 : print "Le lapin garou fait cliqueter ses deux dagues l'une contre l'autre, en riant nerveusement.^"; 2 : print "Le lapin garou murmure ~N@'em@'esis, guide moi dans les t@'en@`ebres~ et se met @`a prier, @`a genoux.^"; 3 : print "Le sectateur de n@'em@'esis ex@'ecute quelques mouvements rituels de pri@`ere, comme une danse @'etrange, puis se plante un coup de dague dans le ventre ! ^";self.hp--; } } if (self.peace==4) {print "Le lapin garou vous fixe de ses yeux inject@'es de sang. ~TOI !~ hurle-t-il.^^~N@'em@'esis demande ton sang !~^^Et il se pr@'ecipite sur vous ! ";self.peace=6;} if (self.peace==5) {print "Le lapin garou couine et semble changer d'expression. ~N@'em@'esis en a eu assez, il suffit. ~^^Il vous tourne le dos sans autre c@'er@'emonial et s'@'eloigne. ";self.peace=3;} if (self.peace>5) {i=random(3);switch(i) { 1 : print "Le lapin garou danse autour de vous en hurlant, la t@^ete renvers@'ee en arri@`ere ~OUI NEMESIS ! PATIENCE, JE T'APPORTE SON SANG !~ "; 2 : print "Le lapin garou sectateur de N@'em@'esis tourne @`a pas prudents autour de vous, sans vous regarder, inspirant pesamment, une dague dans chaque main. "; 3 : print "L'homme lapin s'entaille la main en riant : ~Tu vas mourir ha ha ha. ~^^Vous ne trouvez pas la situation si dr@^ole que @@ca, pourtant ! ";self.hp--; } i=random(3); if (self.habilete+random(tempus.temps)>CheckDefense()+random(tempus.temps)) { if (ben in prisoner) {BenDefense();} switch(i) { 1 : print "Le lapin garou semble se vider de ses forces puis murmure quelque chose comme ~atta...at...~^^Vous tendez l'oreille, intrigu@'e...";attend();print"...et soudain il hurle : ~ATTAQUE SECRETE NUMERO 5 : ATTAQUE DES DOUBLES LAMES !~ . Il fonce sur vous en tournoyant sur lui m@^eme et ses deux dagues vous frappent de plein fouet. ^"; 2 : print "Le lapin garou se baisse, accroupi, et bondit sur vous, dagues en avant, point@'ees sur votre cou et crois@'ee. Il hurle :^^ ~ARCANE SUPREME DE NEMESIS !~^^Surpris, vous parez maladroitement son coup et @'evitez la d@'ecapitation au prix d'une p@'enible blessure et vous tombez @`a quatre pattes. "; 3 : print "Le lapin vous tourne le dos, comme s'il allait s'enfuir, puis se retourne vivement et vous projette une dague en plein visage !^^Vous repoussez la dague volante d'un balayage vif de votre @'ep@'ee, mais vous ne pouvez @'eviter la seconde, derri@`ere la premi@`ere.^^Alors que vous battez en retraite sous la br@^ulure de la blessure, il ramasse ses dagues en marmonnant : ~amateur...~^^"; } if (random(2)==1) {print "^^Le lapin garou vous fait face et se lac@`ere la poitrine de ses deux lames, @'eparpillant son sang sur le sol. ~Ooh N@'em@'esis...Accepte ce sang pour ton honneur et ta gloire !^^~";self.hp--;} self.peace++; prisoner.cicatrices++; m=random(self.force); DoBlow(m); prisoner.hp=prisoner.hp-m; CheckDeath(); CheckHealth(); } else { switch(i) { 1 : print "Le lapin plonge sur vous en hurlant ~NEMESIS ! VIENS A MON AIDE ! ~...mais vous parez ses deux lames crois@'ees d'une seule interposition de la v@^otre et vous le repoussez de toutes vos forces, le renvoyant en arri@`ere.^"; 2 : print "Le lapin bondit sur un rocher et vous lance une de ses dagues, mais vous la d@'eviez facilement d'un balayage de votre @'ep@'ee. Puis il bondit encore, sur un autre cot@'e, et vous envoie sa deuxi`eme dague et vous vous plaquez sur le sol pour l'@'eviter. Alors que vous vous relevez il bondit pour r@'ecup@'erer ses lames.^"; 3 : print "Le lapin bondit devant vous et vous d@'ecoche un coup de poing sans forces qui ne vous fait m@^eme pas sourciller, puis, paniqu@'e, recule rapidement.^"; } self.peace--; } } if (self.peace>8) {self.peace--;} if (self.peace<1) {self.peace++;} if (self.hp<10) {print "Le lapin garou recule en gesticulant, feinte une attaque, puis se met @`a fuir ventre @`a terre ! Vous vous jetez @`a sa poursuite ";if (Fuite(self.habilete)==1) {print ", une longue course et vous finissez par l'attraper par le col de son manteau @'elim@'e et il tombe @`a terre en roulant. Il se rel@`eve prestement, un genou @`a terre.^^";} else {print "mais il court trop vite, utilisant tous les reliefs du terrain pour vous semer, et vous le perdez de vue, et abandonnez votre poursuite. ^^";move self to monsterparadise;}} ], react_before [;Go : if (self.peace>4) {print "Vous lui tournez le dos et prenez vos jambes @`a votre cou...";attend();if (Fuite(self.habilete)==1) {print "et vous entendez derri@`ere vous~: ^^~Fuis, couard ! N@'em@'esis ne se repait pas du sang des l@^aches !~^^";} else {print " mais le lapin galope litt@'eralement sur le sol et vous rejoint rapidement : ~N@'em@'esis n'en a pas fini avec toi !~^^";return 2;}}], life [i j;Ask,Answer,Tell : print "Le lapin garou explose d'un rire de fou. ^^";self.peace++;return 2; Attack : self.peace=8;i=random(3); if (self.habilete+random(tempus.temps)>;return 2; Show, Give: "~NEMESIS N'A QUE FAIRE DE CE DON, PAYSAN !~. ";self.peace++;return 2; ], stable 20, peace 3, habilete 20, force 10, hp 15, has animate monstre; Object cow "Amazone Bovine" monsterparadise with name 'vache' 'amazone' 'bovine', description "Une fi@`ere amazone se tient devant vous, appuy@'ee sur sa lance : son poil est noir et marron, et quelques plumes ornent ses cornes aiguis@'ees et son mufle : car, bien qu'elle se tienne debout comme un homme, c'est bien une vache qui vous regarde d'un air m@'efiant. ", each_turn [h i m; h=random(self.stable); if (h>3) {if (random(2)==1) {self.peace++;} else {self.peace--;}} if (self.peace<4) {i=random(3);switch(i) { 1 : print "La vache fouille un buisson suspect avec sa lance. ~Meuh~^"; 2 : print "Un sabot sur son front, l'amazone-vache inspecte l'horizon d'un air m@'efiant.^"; 3 : print "L'amazone vache regarde aux alentours de fa@@con nerveuse.^"; } } if (self.peace==4) {print "La vache durcit son regard en frappant le sol de son sabot, puis vous pointe d'un autre sabot, et charge sur vous t@^ete baiss@'ee ! ";self.peace=6;} if (self.peace==5) {print "~Meuh~^^La vache esquisse une petite moue, puis abandonne le combat, rabaisse sa garde et s'@'eloigne prudemment. ";self.peace=3;} if (self.peace>5) {i=random(3);switch(i) { 1 : print "La vache se frappe le torse avec sa lance : ~Meuh !~, ~Meuh !~ "; 2 : print "L'amazone tourne autour de vous en faisant des petits bonds. "; 3 : print "La vache amazone gratte le sol et vous lance un regard de tueur qui vous fait d@'eglutir. "; } i=random(3); if (self.habilete+random(tempus.temps)>CheckDefense()+random(tempus.temps)) { if (ben in prisoner) {BenDefense();} switch(i) { 1 : print "La vache vous charge, lance en avant ! Mais vous d@'eviez habilement son arme, trop longue pour son habilet@'e. En revanche, elle en profite pour vous lac@'erez le corps d'un grand coup de cornes bien plac@'e, et vous tombez en arri@`ere. ^"; 2 : print "La vache bondit sur un petit rocher : ~Meuh~, puis vous envoie son javelot, que vous @'evitez sans mal. Toutefois, vous @^etes oblig@'e de vous plier en deux, et quand vous relevez la t@^ete, l'amazone est devant vous, et vous d@'ecoche un grand coup de sabot.^^Pendant que vous roulez au sol, la vache reprend son javelot fich@'e dans le sol. ^"; 3 : print "L'amazone avance vers vous par petits bonds, jouant avec sa lance. Vous vous concentrez sur ses mouvements, mais elle est bien trop habile dans le combat au b@^aton, et elle vous place quelques coups de sa lance que vous n'oublierez pas de sit@^ot !^"; } prisoner.cicatrices++; m=random(self.force); DoBlow(m); prisoner.hp=prisoner.hp-m; CheckDeath(); CheckHealth(); } else { switch(i) { 1 : print "La vache baisse la t@^ete et charge vers vous en meuglant, mais vous vous @'ecartez au dernier moment et elle continue sa course, emport@'ee par son @'elan aveugle, et tombe la t@^ete la premi@`ere au sol. ~Meuh~, fait elle, d@'epit@'ee.^"; 2 : print "La vache ne vous quitte pas des yeux, pr@^ete @`a envoyer son javelot. Elle profite d'un moment d'inatention de votre part pour vous envoyer son arme, mais votre inattention @'etait feinte, et vous attrapez son arme en plein vol et lui relancez.^^Malhabile, vous la manquez de beaucoup, et elle ramasse son arme, boudeuse.^"; 3 : print "La vache s'approche de vous, maniant sa lance comme un b@^aton, et vous bloquez toutes ses attaques une @`a une avec le plat de votre @'ep@'ee. Elle bat en retraite, essoufl@'ee.^"; } } } if (self.peace>8) {self.peace--;} if (self.peace<1) {self.peace++;} if (self.hp<7) {print "La vache amazone commence @`a faire des petits pas de cot@'e, puis se met @`a galoper @`a quatre pattes pour vous @'echapper ! ";if (Fuite(self.habilete)==1) {print "Mais il lui en faudra plus pour vous semer, car vous la rattrapez sans probl@`eme et lui bloquez le passage.^^";} else {print "Elle galope si vite que vous perdez rapidement tout espoir de la rejoindre. Vous entendez ses meuglements moqueurs @`a distance ~Meuh !~ ~Meuh !~^^";move cow to monsterparadise;}} ], react_before [;Go : if (self.peace>4) {print "Peu d@'ecid@'e @`a vouloir mourir sous le joug d'un adversaire aussi ridicule, vous tournez les talons et d@'ecampez @`a toute vitesse...";attend();if (Fuite(self.habilete)==1) {print "et vous prenez rapidement une certaine distance qui vous met @`a l'abri. ^^";} else {print "mais h@'elas, elle vous rattrape sans probl@`eme. ^^";return 2;}}], life [i j;Ask,Answer,Tell : print "~Meuh? ~^^~Meuh~, Camp@'ee sur sa d@'efense, la vache pointe prudemment le bout aigu de sa lance de bois dans votre direction. ^^";return 2; Attack : self.peace=8;i=random(3); if (self.habilete+random(tempus.temps)>;return 2; Show, Give: if (noun==sword || noun==ben) {print "Vous n'allez pas vous s@'eparer de votre seule chance ici bas, quand m@^eme ! ";return 2;} else {print "L'amazone re@@coit votre cadeau avec un grand respect. Toute tension s'efface.^^~Meuh ! Ami !~^^Et sous vos yeux incr@'edules, la vache avale ",(The) noun, " et s'@'eloigne d'un pas tranquille. ";self.stable=2;self.peace=1;move noun to cadavre2;return 2;} ], stable 5, peace 3, habilete 19, force 8, hp 35, has animate monstre female; ! ---------------------------------------------------------------------------- ! Creatures NPC !---------------------------------------------------------------------------- Object gardiens "soldats" start with name 'soldat' 'cheval' 'chevaux' 'arme' 'chaine' 'prisonnier' 'hommes' 'soldats', description"Votre escorte comporte deux brutes @'epaisses, men@'ees par un caporal dont le visage allong@'e vous rappelle celui d'une fouine. Ils sont tous mont@'es sur de pauvres chevaux us@'es et portent les couleurs du nobliau qui est la raison de votre condamnation.^^Ils sont arm@'es. Et dangereux, mais cela, vous l'avez appris @`a vos d@'epends pendant la longue marche que vous avez du faire, tra@^in@'e et enferr@'e, sous leurs coups incessants. ", initial "Trois soldats vous entourent.", react_before [;Go : print "Vous avez le tranchant d'une @'ep@'ee sous la gorge, ce qui vous dissuade de fuir pour le moment. ";return 2; ], life [;Ask,Answer,Tell : print "~Silence, vermine !~"; Attack : print "Vous ne pensez pas avoir une chance. "; ], each_turn [;gardiens.laius++; switch(gardiens.laius) { 1 : print "^Un coup de pied dans les c@^otes vous fait rouler dans des spasmes de douleur. Un autre s'appr@^ete @`a frapper de son poing, mais leur chef les interrompt d'une voix nasillarde :^^~Il suffit.~^^Un groupe d'oiseaux noirs s'envole depuis un buisson et son cheval se cabre.^^~Prisonnier ! Ainsi qu'il en a @'et@'e d@'ecid@'e par notre bon seigneur, tu es condamn@'e @`a l'exil dans les Terres Perdues.~^^~De ce cot@'e des Monts Barri@`eres, une nature hostile et des @^etres inhumains t'attendent.~^"; 2 : print "^Les deux brutes vous tiennent par les @'epaules, et vous forcent @`a tourner votre visage tum@'efi@'e vers leur chef :^^~Il ne sera pas dit que je serai sans humanit@'e moi-m@^eme, prisonnier. Tu peux me demander une mort rapide et propre, maintenant, au fil de mon @'ep@'ee.~^^Il attend votre r@'eponse, et ses petits yeux de belette brillent d'une lueur malsaine.^"; 3 : print "^~Et bien soit~, r@'epond-il, un brin de d@'eception vibrant dans sa voix nasillarde.^^D'un mouvement p@'enible, il plante une grossi@`ere lame dans le sol.^~Voil@`a ma mis@'ericorde, bien que tu ne vailles pas mieux que ces quelques onces de mauvais m@'etal.~^^Sa monture nerveuse tourne bride, mais il la maintient fermement. ~Il est dit que si tu nous ram@`enes, vivant ou mort, Jed le D@'eicide, en fuite dans ces contr@'ees, Pardon te sera accord@'e.~ Ils enfourchent leurs montures et s'@'eloignent vers l'immense porte des Terres Perdues.^^Vous saisissez la grossi@`ere lame plant@'ee dans le sol.^^Avant de dispara@^itre, votre ge@^olier vous hurle en riant :^^~Mais si tu veux mon avis, tu n'auras que la mort pour seul destin !~^";remove gardiens;move sword to player;StartDaemon(tempus); }], laius 0, has animate pluralname; Object lux "pitisun" void with name 'pitisun' 'lumiere' 'boing', description"Le pitisun ressemble @`a un petit sac dor@'e et irradiant d'une douce lumi@`ere, grand comme votre main, qui rebondit autour de vous. ", life [;Ask,Answer,Tell : "~Boing ! Boing !~"; ], each_turn [i;if (self in location) { i=random(8); switch(i) { 1 : print "Le pitisun bondit @`a vos cot@`es et accompagne vos pas avec un bruit de ressort. "; 2 : print "Boing. Boing. Boing. Une boule dor@'ee danse @`a vos pieds. "; 3 : print "Le pitisun bondit et se love dans votre poche, illuminant vos vetements. "; 4 : print "Le pitisun bondit sur votre @'epaule, et vous aveugle un instant, le temps de vous en debarrasser en l'envoyant le plus loin possible d'un geste rapide. "; 5 : print "Boing ! Boing ! "; } } ], found_in [;if (tempus.nuit==1 && prisoner.enduit==1) {return location;}], has animate; Object ben "Ben l'@'ep@'ee" with name 'ben' 'epee' 'arme' 'lame', description[;print "Ben, votre @'ep@'ee vivante. "; if (ben.level==0) {print "C'est juste une vieille @'ep@'ee rouill@'ee pas tr@'es efficace. ";} if (ben.level==1) {print "C'est une @'ep@'ee en acier terni o@`u brille, parfois, d'@'etranges reflets. ";} if (ben.level==2) {print "C'est une belle @'ep@'ee en acier clair, tranchante comme un rasoir. ";} if (ben.level>2) {print "C'est une superbe @'ep@'ee ouvrag@'ee @`a la lame meurtri@`ere, qui brille d'un @'eclat rouge sombre et dont la garde est finement cisel@'ee d'or et d'argent. ";} ], life [;Ask,Answer,Tell : print "~Hey mon pote, c'est pas moi qui vais t'aider !~ "; ], each_turn [i; if (tempus.nuit==0 && location hasnt inside) { i=random(12); switch(i) { 1 : print "~Dum di dum~ fredonne Ben. "; 2 : print "~Hey, c'est plut@^ot cool ici~ dit Ben. "; 3 : print "~Mmm, t'es s@^ur de ce que tu fais, mec?~ demande Ben. "; 4 : print "~Ca craint !~ d@'eclare Ben. "; 5 : print "~Funky !~ s'exclame Ben. "; }} else { i=random(10); switch(i) { 1 : print "~Argh, j'ai peur du noir !~ vous avoue Ben en tremblant."; 2 : print "~Tout est sombre, j'aime pas le noir !~ s'exclame Ben. "; 3 : print "~Ah non, il fait encore noir !~ s'exclame Ben. "; } } if (self.killed>5 && self.level<1) {print "L'@'ep@'ee vibre d'une @'etrange fa@@con : vous avez l'impression qu'elle se transforme...~Fuzzy Pickles !~ s'exclame Ben. ";self.level=1;} if (self.killed>15 && self.level<2) {print "L'@'ep@'ee vibre d'une @'etrange fa@@con : vous avez l'impression qu'elle se transforme...~Bazoomba !~ s'exclame Ben.";self.level=2;} if (self.killed>40 && self.level<3) {print "L'@'ep@'ee vibre d'une @'etrange fa@@con : vous avez l'impression qu'elle se transforme...~Dibibidop !~ s'exclame Ben.";self.level=3;} if (self.killed>100) {self.level=self.killed/30;} ], blood 0, killed 0, level 0, has animate proper; Object sphinx "Sphinx" pont with name 'sphinx' 'gardien' 'statue' 'statues', description "Les statues repr@'esentent de grands hommes de bois et de m@'etal, drap@'es dans une toge, une faux @`a la main. Leur regard fixe l'horizon. ", react_before [;Go : if (noun==n_obj) {if (sphinx.riddle==0 && self hasnt animate) {print "Vous avancez sur le pont quelques pas, et les statues se d@'eplacent pour vous barrer le passage. De plusieurs voix d@'eform@'ees, issues des flottis de l'eau, du grincement du pont, et du battement de votre coeur, vous entendez :^";style underline;print "^Les r@'eponses. Si tu veux passer.^^";style roman;give self animate;give self ~scenery;return 2;} if (self has animate) {print "Vous tentez de passer, mais les statues l@`event leurs faux en silence et vous reculez. ";return 2; } } ], life [w;Ask,Answer,Tell : wn=consult_from; w=NextWord(); switch (w) { 'iranos' : if (sphinx.riddle==0) {print "Les figures aust@`eres s'@'eclairent un instant et se toisent d'un regard de connivence. ";sphinx.riddle++;return 2;} 'trois','quatre' : if (sphinx.riddle==1) {print "Les figures aust@`eres s'@'eclairent un instant et se toisent d'un regard de connivence. ";sphinx.riddle++;return 2;} 'xul' : if (sphinx.riddle==2) {print "Les figures aust@`eres s'@'eclairent un instant et se toisent d'un regard de connivence, puis reprennent leur place sur leur pont et serrent leurs faux contre leur poitrine. En quelques secondes elles se figent et retournent dans leur @'eternit@'e de pierre. ";sphinx.riddle++;give self ~animate;return 2;} } Attack : print "Vous levez votre @'ep@'ee, mais vous n'aurez jamais le temps de l'abattre. En un instant, neuf faux vous lac@`erent le corps et vous @'eventrent sur le pont. ";Mort();; ], each_turn [;if (self has animate) {style underline;print "^^";switch(sphinx.riddle) { 0 : print "Ils @'etaient cinq Grands et r@'egnaient sur les cieux.^Imgar le P@`ere et ses quatre enfants.^Son a@^in@'e @'etait belliqueux et fier,^Si tu connais son nom, alors dis le maintenant."; 1 : print "Ils @'etaient cinq Grands et ne connaissaient pas d'@'egal.^Mais d'autres ont surgi et trahi depuis l'ombre,^et par la ruse leur ont port@'e un coup fatal.^De ces autres, si tu le connais, dis nous leur nombre. "; 2 : print "L'une d'entre les tra@^itres se proclame principe de lumi@`ere,^Et pour cela a d@'erob@'e les pouvoirs d'Undia la m@`ere,^Si tu veux aller plus loin et traverser ce pont,^Alors tout de suite dis nous son vrai Nom. "; } print "^^";style roman;}], riddle 0, has scenery static pluralname; Object raie "raie manta" with name 'raie' 'manta' 'creature', description "Une cr@'eature gracieuse plane au dessus de vous. C'est une raie manta, @'echapp@'ee des eaux de l'oc@'ean, d'un blanc immacul@'e. ", life [;Attack : print "Hors de votre port@'ee ! ";], has concealed female animate; Object raie2 "raie manta" flight with name 'raie' 'manta' 'creature', description "Une cr@'eature gracieuse plane au dessus de vous. C'est une raie manta, @'echapp@'ee des eaux de l'oc@'ean, d'un blanc immacul@'e. ", life [;Attack : if (self.p==2) {print "Vous tranchez un grand coup dans le gras de votre ravisseur qui d@'etend soudainement sa queue et vous laisse tomber. ";if (flight.o>8 && flight.o<12) {print "Vous roulez dans la neige et vous vous relevez rapidement. ";PlayerTo(icebergs);return 2;} else {print "Vous tombez depuis une telle hauteur et avec une telle vitesse que tous vos os se brisent et que vous r@'epandez vos entrailles sur une longue distance. Votre mort est rapide, et sans souffrance. ";Mort();;return 2;}} else {print "Vous donnez un bon coup d@'ep@'ee dans le flanc de la b@^ete, lui causant une bonne blessure. ";self.p++;return 2;}], p 0, has concealed female animate; ! ---------------------------------------------------------------------------- ! Items Aleatoires ! ---------------------------------------------------------------------------- Object coucourdes "mini coucourdes" fruitparadise with name 'mini' 'coucourdes' 'fruits' 'epee', description"Vous avez une poign@'ee de petites coucourdes pas plus grandes qu'un ongle, noires et bleues. Quand vous les secouez, un petit floc-floc se fait entendre. ", initial "De toutes petites coucourdes poussent sur un buisson", after [;Eat : print "Vous avez l'impression que votre cervelle grossit et se presse contre les bords de votre cr@^ane, puis rapetissit et se tord comme un chiffon que l'on d@'etrempe.^^Vous avez l'intime sensation qu'un de vos horizons vient de s'@'elargir.";prisoner.maxhp++;move coucourdes to fruitparadise;return 2;], has fruit edible pluralname female; Object oignons "quelques oignons sauvages" fruitparadise with name 'quelques' 'oignons' 'oignon' 'sauvage', description"Ce sont de petits oignons jaunes juteux au parfum enivrant et @'epic@'e. ", initial "A vos pieds, quelques plants d'oignons sauvages. ", after [;Eat : print "Les oignons ont un go@^ut fort mais agr@'eable, et vous les finissez en quelques secondes. Ils vous r@'echauffent l'int@'erieur et vous procurent une sensation agr@'eable de chaleur. ";prisoner.hp=prisoner.hp+5;move oignons to fruitparadise;return 2;], has fruit edible pluralname; Object herbesfeu "herbes rouges" fruitparadise with name 'herbe' 'rouge' 'herbes' 'rouges', description"Une touffe de petites herbes rouges aux brins longs comme votre paume. Leur bord est large mais coupant. ", initial "Une petite touffe d'herbe rouge attire votre attention. ", after [;Eat : print "L'herbe rouge vous coupe la langue et vos entrailles. Vous crachez votre sang et vos tripes dans d'atroces souffrances. ";move herbesfeu to fruitparadise;prisoner.hp=prisoner.hp-5;CheckDeath();return 2;], has fruit edible pluralname; Object jonquilles "jonquilles" fruitparadise with name 'jonquille' 'jonquilles', description"Une poign@'ee de jonquilles dont le jaune est z@'ebr@'e de minces filaments bleus. ", initial "Quelques jonquilles poussent sur ce terrain et se courbent @`a chaque brin de vent. ", after [;Eat : print "Les jonquilles ont un go@^ut sucr@'e et d@'elicieux qui vous ragaillardit. ";move jonquilles to fruitparadise;prisoner.hp=prisoner.maxhp;return 2;], has fruit edible pluralname; Object fraises "petites fraises bleues" fruitparadise with name 'petites' 'buisson' 'fraises' 'bleues', description"De minuscules fraises bleues. ", initial "Un gros buisson porte une grande quantit@'e de petites baies bleues ressemblant @`a des fraises. ", after [;Eat : print "Les fraises ont un go@^ut tr@'es amer mais purifiant. ";move fraises to fruitparadise;prisoner.hp=prisoner.hp+15;return 2;], has fruit edible pluralname; Object navet "navet noir" fruitparadise with name 'navet' 'noir', description"Un gros navet noir et sec. ", initial "Un gros navet sauvage d@'epasse @`a moiti@'e du sol. ", after [;Eat : print "Le navet n'a pas vraiment de go@^ut mais vous remplit le ventre avec satisfaction. ";move fraises to fruitparadise;prisoner.hp=prisoner.hp+10;return 2;], has fruit edible pluralname; Object oignon "oignon violet" fruitparadise with name 'oignon' 'violet', description"Un petit oignon violet vein@'e de blanc, envelopp@'e d'une peau humide. ", initial "Un petit oignon violet pend depuis un p@'edoncule d'un m@`etre de haut. ", after [;Eat : print "Vous l'avalez tout rond. Quelques minutes apr@'es, votre cr@^ane est d@'echir@'e par la souffrance : un nouvel oeil vient de pousser sur votre front ! ";move oignon to fruitparadise;prisoner.leye++;return 2;], has fruit edible pluralname; Object morvus "r@'esine collante" fruitparadise with name 'resine' 'collante' 'substance', description"Une plaque de resine collante et gluante qui suintait d'une ra@@cine d@'epassant du sol. Elle est compl@`etement opaque. ", initial "Vous remarquez une substance collante noire sur le sol. ", before [;Eat : print "Bien. Vous d@'eglutissez d'anxi@'et@'e, mais quand il le faut, il le faut, pas vrai? ";attend();print "Vous avalez la substance collante. Elle vous @'etouffe un peu et vous vomissez peu apr@'es, troubl@'e par son go@^ut trop amer. ";move morvus to fruitparadise;prisoner.hp--;return 2;], has fruit edible female; Object lightnut "noix lumineuse" fruitparadise with name 'noix' 'lumineuse', description "C'est une noix contenant quelque chose de tr@'es lumineux dont l'intensit@'e filtre au travers de la paroi de bois. ", initial "Au sol, une petite noix lumineuse est roul@'ee par le vent. ", before [;Eat, Open, Cut, Attack : print "Au moment ou vous brisez la noix entre vos doigts, une lumi@`ere aveuglante en jaillit, illuminant les alentours sur des centaines de m@`etres, vous laissant aveugle pour quelques secondes. ";move self to fruitparadise;return 2;if (umbra in location) {print "Reprenant votre vision, vous remarquez que l'ombre qui vous attaquait a fui (ou a @'et@'e d@'etruite). Bien jou@'e !";move umbra to monsterparadise;} ], has fruit edible female; Object clover "tr@`efle @`a quatre feuilles" fruitparadise with name 'trefle' 'quatre' 'feuilles', description "Un trefle @`a quatre larges feuilles, le porte chance classique. Juste ce qu'il fallait @`a un type dans votre situation. ", initial "A vos pieds, un tr@`efle @`a quatre feuilles. ", before [;Eat : print "Bieeen. D'habitude on l'accroche @`a la boutonni@`ere, mais, qui sait ?^^Vous avalez le trefle sans conviction. Il a un go@^ut plut@^ot ordinaire. ";move clover to fruitparadise;return 2;], has fruit edible; Object figue "figue blanche" fruitparadise with name 'figue' 'blanche' 'buisson', description "C'est une figue blanche, au parfum sucr@'e tr@'es odorant. ", initial "Une figue blanche est accroch@'ee @`a un minuscule arbuste. ", before [;Eat : print "Vous d@'evorez la figue au go@^ut d@'elicieux. Elle ne vous reconstitue pas vraiment, mais vous vous sentez...non pas purifi@'e, mais...ah, quelque chose @`a chang@'e, mais vous ne sauriez dire quoi ! ";move figue to fruitparadise;prisoner.luck++;return 2;], has fruit edible; Object sauge "longue tige de sauge" fruitparadise with name 'longue' 'tige' 'sauge', description "Une longue tige, grande comme votre bras, se terminant par une petite feuille de sauge @`a l'odeur caract@'eristique. ", initial "Vous remarquez une longue tige verte et odorante plant@'ee dans le sol non loin de vous. ", before [;Eat : print "Vous m@^achez la sauge...le go@^ut ne vous a jamais plu, mais, bah...vous vous sentez un peu reconstitu@'e.";move sauge to fruitparadise;prisoner.hp=prisoner.hp+10;return 2;], has fruit edible; Object carris "graines blanches" fruitparadise with name 'graines' 'blanches', description "Ce sont de petites graines blanches remplies d'un myst@'erieux liquide inodore. ", initial "Sur le sol sont @'eparpill@'ees de petites graines blanches. ", before [;Eat : print "Vous avalez les graines et vous d@'eglutissez...^^Votre vision se trouble...^^Vous @^etes pli@'e en deux de douleur...^^";attend();vortex.psy=random(11);PlayerTo(vortex);return 2;], has fruit edible female pluralname; Object redseed "grosse graine rouge bizzare" fruitparadise with name 'graine' 'grosse' 'graine' 'rouge' 'bizzare', description "C'est une graine de la taille d'une noix, effil@'ee, avec une petite queue qui se balance. ", initial "Vous remarquez une graine @`a moiti@'e enfonc@'ee dans le sol. ", before [;Eat : print "Vous la l@'echez un tout petit peu...POUAH ! C'est beaucoup trop amer : si vous avalez @@ca, vous @^etes bon pour vomir toute la journ@'ee !^^";return 2; Seed : if (location has inside) {print "Il n'y a pas assez de terre meuble pour @@ca ici. ";return 2;} else {if (arbrefilet in fruitparadise) {print "Vous plantez la graine rouge et sous vos yeux @'etonn@'es un grand arbre au tronc nu et bleu aux reflets d'argent pousse rapidement.^^Une de ses branches est particuli@`erement longue et s'agite comme une tentacule engourdie, @`a la recherche de quelque chose, comme si elle scrutait au loin, mais sans r@'esultat.^^Vous froncez les sourcils pour essayer de comprendre, et la tentacule vous saisit alors par les pieds, et vous projette @`a quelques dizaines de m@`etres !^^Vous volez dans les airs, roulez douloureusement sur le sol...";prisoner.hp=prisoner.hp-5;BreakRibs();CheckHealth();CheckDeath();print "Vous vous apercevez alors que l'arbre se r@'etracte et meurt, et ses reflets d'argents deviennent noirs et sa structure poussi@`ere.^^Le temps de le rejoindre, il est d@'ej@`a presque compl@`etement dispers@'e par le vent.^^";move redseed to fruitparadise;return 2;} else {print "Vous plantez la graine rouge et sous vos yeux @'etonn@'es un grand arbre au tronc nu et bleu aux reflets d'argent pousse rapidement.^^Une de ses branches est particuli@`erement longue et s'agite comme une tentacule engourdie, @`a la recherche de quelque chose, comme si elle scrutait au loin, et tout d'un coup, elle s'agite fr@'en@'etiquement.^^Vous froncez les sourcils pour essayer de comprendre, et la tentacule vous saisit alors par les pieds, et vous projette haut dans le ciel !^^";attend();print "...Vous avez une belle vue des Terres Perdues, tourbillonant dans les airs, attendant votre mort...";attend();PlayerTo(parent(arbrefilet));print "...vous atterissez en douceur dans le filet v@'eg@'etal tendu par l'arbre filet que vous aviez plant@'e auparavant !^^Le temps d'en descendre et de r@'ealiser l'@'etrange aventure qui vient de vous arriver, vous remarquez que l'arbre-filet se d@'esagr@`ege lentement et tombe en poussi@`ere. En quelques minutes, il est compl@`etement mort. ";move arbrefilet to fruitparadise;move redseed to fruitparadise;return 2;}}], has fruit edible female pluralname; Object blueseed "graine bleue @'effil@'ee" fruitparadise with name 'graine' 'bleue' 'effilee', description "Une graine semblable @`a une amande, recouverte d'un @'etrange tissu collant. ", initial "Une graine d'un bleu azur est coll@'ee sur le sol. ", before [;Eat : print "Vous la l@'echez un tout petit peu...Yuargh ! C'est beaucoup trop acide : si vous avalez @@ca, vous @^etes bon pour avoir mal @`a l'estomac toute la journ@'ee !^^";return 2; Seed : if (location has inside) {print "Il n'y a pas assez de terre meuble pour @@ca ici. ";return 2;} else {print "Vous plantez la graine qui r@'eagit instantanement : un tronc fin et rougeoyant se dresse depuis le sol, et d@'eplie ses larges branches en les @'ecartant et tendant un filet r@'esistant tiss@'e entre elles. ";;move arbrefilet to location;move blueseed to fruitparadise;return 2;}], has fruit edible female pluralname; Object arbrefilet "arbre-filet" fruitparadise with name 'arbre' 'rouge' 'filet', description "Un grand arbre au tronc lisse, aux reflets rougeoyants, qui @'etend ses branches de tous cot@'es et tisse entre elles une sorte de filet v@'eg@'etal qui vous semble tr@'es r@'esistant. ", has static; ! ---------------------------------------------------------------------------- ! Items Fixes ! ---------------------------------------------------------------------------- Object eau "eau" with name 'eau' 'cascade' 'mer' 'ocean' 'vagues' 'ressac', before [; Drink: "Vous buvez un peu d'eau; elle vous laisse un go@^ut amer et glacial."; Take: "Avec quoi ? ";return 2; Insert: if (second == insectskull) <>; "Vous n'avez pas de quoi emporter de l'eau."; ], article "de l'", found_in cascade asteroide pont lac necropole riverunder plage plage2 ruines, has scenery; Object porteshub "grande porte" start with name 'porte' 'bronze' 'poste' 'garde' 'muraille' 'sortie', description "La porte de Shub Glar, que le monde conna@^it...de l'autre cot@'e. Cette grande porte, barrant le seul col praticable des monts barri@`eres menant aux Terres Perdues, est un immense @'edifice de bronze flanqu@'e d'une muraille que surplombe un poste de garde aux sombres meurtrieres. ", has female openable locked scenery; Object cadavre "cadavre" with name 'cadavre' 'monstre' 'mort' 'corps' , description "Une de vos r@'ecentes victimes repose sur le sol. ", each_turn [;self.decomposition++;switch(self.decomposition) { 3 : "Des oiseaux charognards viennent se jeter sur la carcasse. "; 4 : "Les charognards font un festin de votre victime. "; 5 : "De grands oiseaux viennent saisir la carcasse dans leurs serres et l'emm@`enent dans un endroit hors de votre vision. ";self.decomposition=0;remove self; } ], decomposition 0, has static; Object cadavre2 "cadavre" with name 'cadavre' 'monstre' 'mort' 'corps' 'vache' 'amazone', description "Une de vos r@'ecentes victimes repose sur le sol. ", each_turn [;self.decomposition++;switch(self.decomposition) { 5 : "Des oiseaux charognards viennent se jeter sur la carcasse. "; 8 : "Les charognards font un festin de votre victime. "; 10 : "De grands oiseaux viennent saisir la carcasse dans leurs serres et l'emm@`enent dans un endroit hors de votre vision. ";self.decomposition=0;remove self; } ], decomposition 0, has container openable open static; Object spongebit "bout d'@'eponge" with name 'bout' 'eponge', description "C'est un petit troph@'ee d'une ancienne bataille : un bout de l'@'eponge mystique."; Object sword "@'ep@'ee" with name 'arme' 'lame' 'fourreau' 'epee', description "Une vieille @'ep@'ee de soldat en acier noirci, au tranchant @'emouss@'e.", before [;Drop : print "Non. Pour l'instant, c'est votre seule chance. ";return 2;], has female; Object sword2 "@'ep@'ee rouill@'ee" cache with name 'arme' 'lame' 'rouillee' 'epee' 'stalactite' 'gonflee' 'puits' 'sans fond', description "Il y a une @'ep@'ee en aussi mauvais @'etat que la v@^otre, fich@'ee dans une stalactite g@'eante au dessus d'un puits sans fond. ", before [;Take : if (sword2.fiched==0) {print "Vous tirez de toutes vos forces sur l'@'ep@'ee fich@'ee dans la glotte de pierre, mais elle ne bouge pas d'un millim@`etre.^^Du fond de la grotte, vous entendez un r@^ale terrifiant qui vous murmure : ~All@'egeance...~";return 2;} else {BenArrive();return 2;} Jump : print "En vous penchant vous remarquez dans le puits des milliers de paires d'yeux rouges. Tout compte fait, plonger la dedans ne vous dit RIEN du tout. ";return 2;], initial "Au fond de la grotte, juste devant un puits sans fond, une curieuse stalactite gonfl@'ee pend, une @'ep@'ee fich@'ee en travers d'elle. ", fiched 0, has female; Object autel3 "autel d'@'ep@'ees" cache with name 'autel' 'lame' 'epee' 'epees' 'lames' 'acier', description "Il s'agit d'un autel fait de bouts d'@'ep@'ees encore sanglantes, entremel@'ees. ", has static supporter; Object statueiranos "petite statuette" autel3 with name 'statuette' 'rhinoceros' 'rouge' 'statue', description "C'est une petite statuette rouge sang repr@'esentant un homme rhinoc@'eros en armure de plates et brandissant une lance. Sur son plastron, il y a une inscription minuscule. ", has female supporter; Object inscriptioniranos "inscription" statueiranos with name 'inscription' 'minuscule' 'plastron', description [;print "L'@'ecriture est vraiment minuscule, alors vous lisez @`a voix haute en suivant les lignes de votre doigt : ^^~SERMENT DES SOLDATS~^^";style underline;print "-------------^^IRANOS !^^-------------^^MON AME^^-------------^^EST TIENNE !";style roman;if (sword2.fiched==0 && player in cache) {print "^^Un remous grave agite la grotte, et du fin fond de celle-ci montent un instant des choeurs de chants guerriers. Vous entendez un chuintement discret venant du fond de la grotte. ";sword2.fiched=1;}], has static scenery; Object representations "dessins" cache with name 'dessins' 'representations', description "Ce sont des images de batailles entre des hommes et des animaux fabuleux. Les bataillons sont h@'eriss@'es de lances et d'arcs, et de grands dragons ail@'es les chargent avec fureur. ", has static pluralname scenery; Object fleurlux "gigantesque photodoros" fougeres with name 'gigantesque' 'photodoros' 'fleur' 'plante', description [;if (tempus.nuit==1) {print "Une @'enorme fleur ferm@'ee se trouve au milieu d'une clairi@`ere. Au travers du tissu de ses larges p@'etales, vous devinez une lumi@`ere diffuse et pulsante. ";} else {print "Au milieu de la clairi@`ere, une grande fleur s'@'epanouit sous la danse de nombreux insectes. ";}], each_turn [;if (tempus.nuit==1) {give self ~open;give self locked;} else {give self ~locked;give self open;}], before [;Attack, Open : print "Les p@'etales sont bien trop @'epais et souples pour que vous puissiez les transpercer. ";], has openable lockable static container open; Object nectar "nectar lumineux" fleurlux with name 'nectar' 'lumineux', description "Un liquide dor@'e comme le miel, mais pulsant d'une lumi@`ere douce et parfumant les alentours d'une odeur poivr@'ee, repose dans le coeur du photodoros. ", before [;Take,Touch,Taste,Eat : if (prisoner.enduit==1) {print "Vous pr@'ef@'erez ne pas toucher plus le nectar du photodoros. ";return 2;} else {print "A peine effleurez vous le liquide du photodoros qu'il prend vie et passe sous vos vetements et recouvre votre corps en quelques secondes. Votre peau se pigmente couleur de miel et prend une petite odeur poivr@'ee. Curieux...";prisoner.enduit=1;return 2;}]; Object pcite "cite des pitisuns" fougeres with name 'cite' 'maisons' 'ville' 'maison', description [; if (tempus.nuit==1) {print "Autour du photodoros ferm@'e, vous voyez dans les t@'en@`ebres de la nuit une merveilleuse et minuscule cit@'e brillante faite de petits branchages et de champignons ou bondissent de nombreux petits @^etres @'etranges semblables @`a des petits sacs de lumi@`ere. ";} else {print "Rien !";}], initial [; if (tempus.nuit==1) {print "Autour du photodoros ferm@'e, vous voyez dans les t@'en@`ebres de la nuit une merveilleuse et minuscule cit@'e brillante faite de petits branchages et de champignons. ";} else {print "";}], each_turn [;if (tempus.nuit==1) {give self ~scenery;} else {give self scenery;}] has female static; Object pitisuns "pitisuns" fougeres with name 'pitisuns' 'sac' 'dore' 'lumiere', description [;if (tempus.nuit==1) {print "Des dizaines de petits sacs de lumi@`ere roulent et bondissent entre les foug@`eres, @'eclairant les alentours, affair@'es et vous ignorant.";} else {print "Vous ne voyez rien de tel. ";}], initial [;if (tempus.nuit==1) {print "Des dizaines de petits sacs de lumi@`ere roulent et bondissent entre les foug@`eres, @'eclairant les alentours, affair@'es et vous ignorant.";} else {print "";}], each_turn [;if (tempus.nuit==1) {give self ~concealed;} else {give self concealed;}] has pluralname static; Object bassin "bassin" jardins with name 'bassin' 'ouvrage' 'dore' 'marbre' 'trepied' 'promontoire' 'pattes' 'lion', description "Un bassin de marbre vert de six m@`etres de large tr@^one sur un tr@'epied de bronze en pattes de lion, en haut d'un petit promontoire form@'e de cinq marches de pierre. ", initial "A l'exact milieu des sentiers du jardin, un grand bassin est dispos@'e sur un promontoire. ", after [;Receive : if (noun==eau_dans_crane) {DialogueSoib();remove eau_dans_crane;}], has container enterable open static; Object squelette "carapace d'insecte" coniferes with name 'carapace' 'insecte', description "Une carapace sech@'ee qui aurait pu appartenir @`a une chenille grande comme une maison g@^it contre un rocher g@'eant, si grande que vous pouvez entrer @`a l'interieur, o@`u la v@'eg@'etation @`a d@'ej@`a pris place. Le cr@^ane de sa minuscule t@^ete a roul@'e @`a l'int@'erieur. ", initial "Une @'enorme carapace d'insecte vide g@^it entre les grands sapins. ", has container enterable open static female inside; Object insectskull "cr@^ane d'insecte" squelette with name 'crane' 'insecte', description "C'est un cr@^ane grand comme le v@^otre, mais appartenant @`a une chenille. L'int@'erieur est compl@'etement vide et creux. ", before [; Receive: if (noun == eau) <>; else "Mmm...cela ne tiendra pas dedans, Messire."; Fill: if (child(insectskull) ~= nothing) "Le cr@^ane est d@'ej@`a plein. "; if (eau in location) { move eau_dans_crane to insectskull; "Le cr@^ane est @`a pr@'esent plein d'eau."; } "Avec quoi ?"; Empty: if (child(insectskull) == nothing) "Le crane est vide, Messire. "; remove child(insectskull); "Vous videz le crane de son eau... "; EmptyT : if (child(insectskull)~= nothing && second==bassin) {DialogueSoib();remove eau_dans_crane;return 2;} else {print "Je ne vois pas ce que vous voulez faire, Messire...";return 2;} ], has container open; Object eau_dans_crane "eau" with name 'eau', article "de l'", before [; Drink: remove self; <>; ], description "C'est de l'eau ordinaire, à première vue.", has female; Object aulne "grand aulne bleu" feuillus with name 'grand' 'aulne' 'bleu', description "Au coeur d'une grande clairi@`ere surplomb@'ee de branches entrem@'el@'ees, une dizaine de petits insectes lumineux butinent les fruits odorants d'un immense aulne d'un bleu glac@'e. ", initial "Un grand aulne d'un bleu froid @'etend ses branches dans une clairiere @'eclair@'ee d'insectes lumineux. ", before [;Cut : if (branche notin player) {print "Vous entaillez une branche avec votre @'ep@'ee et apr@`es quelques efforts, vous r@'ecup@'erez un grand b@^aton tordu. ";move branche to player;return 2;} else {print "Vous avez assez de bois d'aulne bleu pour l'instant. ";return 2;}], has static; Object branche "branche d'aulne bleu" with name 'branche' 'aulne' 'bleu' 'baton', description [; print "Un grand b@^aton de bois bleu, froid comme du m@'etal, que vous portez en bandouli@`ere quand il ne vous aide pas pour la marche. ";if (branche.entaille>0) {print "Vous y avez grav@'e ", branche.entaille, " petites entailles. ";}], before [;Drop : print "D@'ecidant que ce grand b@^aton vous est inutile, vous le jetez dans un fourr@'e. ";branche.entaille=0;remove self;return 2; Cut : print "Vous faites une petite entaille dans votre b@^aton. ";branche.entaille++;return 2;], entaille 0, has female; Object lianes "lianes" jungle with name 'liane' 'lianes', description "De nombreuses lianes, @'epaisses comme votre poignet, se balancent depuis les branches noueuses d'arbres gigantesques. ", before [;Cut : if (liane notin player) {print "De vigoureux coups d'@'ep@'ee tranchent un grand morceau de liane @'epaisse et solide. ";move liane to player;return 2;} else {print "La liane que vous avez d@'ej@`a est suffisamment encombrante pour en prendre d'autre. ";return 2;}], has static scenery female pluralname; Object pilier "piliers" route with name 'pilier' 'piliers' 'roche' 'noire' 'veine' 'argent', description "Les piliers sont titanesques et repr@'esentent respectivement des hommes-animaux : un homme rhinoc@'eros, un homme-aigle, une femme-vache et un homme-tigre. Sur chacun des piliers est grav@'e dans une @'ecriture ancienne : ~Gloire @`a ... ~ mais @`a chaque fois le nom @`a @'et@'e profan@'e et effac@'e @`a coup de burin vengeur.^^", has static scenery pluralname; Object pierres "Cercle de Pierre" monolithes with name 'pierres' 'monolithes' 'monolithe' 'pierre', description "Le cercle de pierre semble dress@'e ici depuis des temps imm@'emoriaux. Les pierres silencieuses vous semblent comme autant de t@'emoins surnaturels sondant votre @^ame.^^", has static scenery pluralname; Object liane "liane" with name 'liane' 'corde', description [;print "Une longue liane bien encombrante, d@'egageant un parfum d'herbe coup@'ee et suitant une substance turquoise. ";if (self.attached==1) {print "Un noeud coulant y a @'et@'e fait. ";}], before [;Tie : print "Vous faites un noeud coulant avec la liane. ";liane.attached=1;return 2;], attached 0, has female ; Object chute "cascade" plateau with name 'cascade' 'eau', description "Au bord du sommet de la falaise qui surplombe un abysse, un fleuve surgit de la jungle imp@'en@'etrable et tombe en rugissant dans les t@'en@'ebres. Au milieu de la cascade, vous remarquez un curieux rocher qui se dresse vers le ciel comme une immense corne de pierre recouverte de mousse. ", each_turn [m;m=random(8);switch(m) { 1 : print "Un large tronc d'arbre charri@'e par le fleuve tombe avec fracas dans l'ab@^ime. "; 2 : print "Le bruit sourd et terrible de la cascade fait trembler le sol du plateau. "; 3 : if (tempus.nuit==0) {print "Du tumulte de la cascade na@^it un magnifique arc-en-ciel autour duquel vol@`etent des nu@'ees de papillons dor@'es. ";} 4 : if (tempus.nuit==0) {print "Du tumulte de la cascade na@^it un magnifique arc-en-ciel autour duquel vol@`etent des nu@'ees de papillons dor@'es. ";} 5 : if (tempus.nuit==0) {print "Du tumulte de la cascade na@^it un magnifique arc-en-ciel autour duquel vol@`etent des nu@'ees de papillons dor@'es. ";} }], has static scenery female; Object corne "rocher en forme de corne" plateau with name 'rocher' 'recif' 'corne', description "Un rocher @'etrange, traversant la cascade, coupe le flot de l'eau tombante en deux. Il a la forme d'une grande corne couverte de mousse. Parfois, quelques oiseaux blancs viennent s'y poser pour saisir dans leur long bec des poissons descendant le fleuve. ", before [;Thrownat : if (noun==liane) {if (liane.attached==0) {print "Vous envoyez la liane sur la corne avec un peu d'@'elan, mais elle ne s'accroche pas, glisse, et pend dans le vide. Vous la r@'ecup@'erez.^";return 2;} if (liane.attached==1) {print "Apr@'es quelques tentatives maladroites, le noeud coulant se referme autour de la saillie rocheuse. Vous tendez bien la corde et l'attachez @`a un h@^etre vigoureux au bord de la falaise.^";move corde to plateau;remove liane;liane.attached=0;return 2;} } else {print "Pour qu'il tombe dans l'abysse? Pas tr@'es malin...^";return 2;}], each_turn [;if (tempus.heure>205 && tempus.heure<220) {print "Vous entendez un r@^ale titanesque qui se noie dans un souffle interminable, comme si une @'enorme cr@'eature baillait avant de s'assoupir. ";corne.baille=1;} else {corne.baille=0;}], baille 0, has static scenery; Object corde "corde tendue au dessus du gouffre" with name 'corde' 'tendue' 'pont', description "Une corde bien tendue a @'et@'e attach@'ee autour du tronc d'un h@^etre solide et se tend au dessus du gouffre de t@'en@`ebres pour s'accrocher @`a une saillie de pierre qui surgit de l'immense cascade. ", has female static; Object gouffre "gouffre sans fond" plateau with name 'abysse' 'gouffre' 'trou' 'falaise', description "Un abysse de t@'en@'ebres ouvre le sol et absorbe dans une rumeur assourdissante l'impressionnant d@'ebit de la cascade. ", react_before [;Jump : if (corde in plateau) {print "Vous enserrez la corde tendue avec votre ceinture, et d'une impulsion vous vous laissez tomber vers l'immense corne de pierre. ";if (corne.baille==1) {print "Vous lachez la corde sous le choc et plongez en avant sous la cascade, pour rouler sur une anfractuosit@'e dissimul@'ee derri@`ere, cern@'ee de crocs de pierres, dans la gueule m@^eme d'une statue animale g@'eante que recouvre aujourd'hui la jungle et le fleuve. ";riverunder.remous=random(10);PlayerTo(cache);return 2;} else {print "Vous lachez la corde sous le choc et plongez en avant sous la cascade, pour vous heurtez au mufle sculpt@'e d'une statue animal si gigantesque que vous n'en comprenez pas l'apparence. Vous tentez maladroitement de vous agrippez, mais le flot intense du fleuve ne vous laisse pas de choix et vous lachez prise, tombant dans les t@'en@`ebres insondables du gouffre...";attend();print "^^Plaouf !^^Votre chute se perd dans le chaos effroyable de la chute. ";riverunder.remous=random(10);PlayerTo(riverunder);return 2;} } else {print "Vous consid@'erez un instant cette folle id@'ee, puis, r@'esolu, vous plongez depuis une terrifiante hauteur, tombant dans les t@'en@`ebres insondables du gouffre...";attend();print "^^Plaouf !^^Votre chute se perd dans le chaos effroyable de la chute. ";riverunder.remous=random(10);PlayerTo(riverunder);return 2;}], has scenery static; Object arche "grande arche" portetemple with name 'grande' 'arche', description [;print "Une magnifique arche de pierre sculpt@'ee surgit des marais pour s'@'elever dans une belle cyclo@^ide @`a hauteur de deux hommes, puis replonge dans le marais. Vous @^etes oblig@'e de passer sous l'arche pour pouvoir avancer plus @`a l'est.^^L'arche est grav@'ee de petites runes inconnues";if (panthereg has animate) {print ". ";} else {print ", et en son plus haut point, deux panth@`eres, noire et grise, luisantes forment la clef de voute. ";} print "Juste en dessous, il y a une inscription. ";], initial "Une grande arche de pierre surgit des marais et surplombe la route plus @`a l'est. ", react_before [;Go : if (noun==e_obj && arche.libered==0 && panthereg hasnt animate) {print "A peine avez vous franchi l'arche de pierre que vous entendez une vibration l@'eg@`ere, et les deux panth@`eres de pierre prennent vie, s'arrachent de l'arche et sautent pour vous bloquer la route. ";give panthereg animate;give panthereg ~concealed;give panthered animate;give panthered ~concealed;return 2;} else if (noun==w_obj && panthered has animate) {print "Alors que vous vous @'eloignez, les deux panth@`eres de pierre bondissent sur l'arche et se p@'etrifient de nouveau. ";give panthered ~animate;give panthered concealed;give panthereg ~animate;give panthereg concealed;} ], libered 0, has female static; Object panthereg "Panth@`ere de pierre noire" portetemple with name 'panthere' 'pierre' 'noire', description "Une panth@`ere musculeuse, au regard fixe et p@'en@'etrant dont le pelage semble grain@'e de granit noir. ", life [d;Attack : d=random(7);print "Vous lancez un coup d'@'ep@'ee sur l'encolure de la panth@`ere noire, mais votre coup rebondit avec une vibration m@'etallique comme si votre adversaire @'etait de pierre et non de chair. Sous le coup de la surprise, vous ne pouvez esquiver un coup de patte qui vous d@'echire la peau. ";prisoner.hp=prisoner.hp-d; ], react_before [k;Go : if (noun==e_obj && self has animate) {print "La panth@`ere noire se jette d'un bond en travers de votre chemin et rugit @`a vous en assourdir. ";k=random(2);if (k==1) {<>;return 2;} else {print "Vous reculez, penaud et tremblant. ";return 2;}}], each_turn [i;if (self has animate) { i=random(8); switch(i) { 1 : print "La panth@`ere noire rugit avec une intensit@'e terrifiante. "; 2 : print "~Roar !~. "; 3 : print "La panth@`ere noire vous fixe droit dans les yeux sans bouger un muscle. "; 4 : print "La panth@`ere noire tourne en rond sans d@'etacher son regard du v@^otre. "; } } ], has static female concealed; Object panthered "Panth@`ere de pierre grise" portetemple with name 'panthere' 'pierre' 'grise', description "Une panth@`ere musculeuse, au regard fixe et p@'en@'etrant dont le pelage semble grain@'e de marbre gris. ", life [d;Attack : d=random(7);print "Vous tranchez de taille sur la machoire de la b@^ete, mais votre coup rebondit avec une vibration m@'etallique comme si votre adversaire @'etait de pierre et non de chair. Rugissante, la panth@`ere grise saute sur vous et d'un coup de patte puissant vous envoie bouler contre un ch@^ene. ";prisoner.hp=prisoner.hp-d; ], react_before [k;Go : if (noun==e_obj && self has animate) {print "La panth@`ere grise appara@^it d'un bond devant vous et rugit @`a vous en assourdir. ";k=random(2);if (k==1) {<>;return 2;} else {print "Vous battez en retraite, l'@'ep@'ee au clair. ";return 2;}}], each_turn [i;if (self has animate) { i=random(8); switch(i) { 1 : print "La panth@`ere grise rugit avec une intensit@'e terrifiante. "; 2 : print "~Roaaaaaaaaaar !~. "; 3 : print "La panth@`ere grise vous fixe droit dans les yeux sans bouger un muscle. "; 4 : print "La panth@`ere grise tourne en rond sans d@'etacher son regard du v@^otre. "; } } ], has static female concealed; Object inscription "inscription" portetemple with name 'inscription', description [;style underline;print "Le P@`elerin devra entailler six fois son b@^aton avant de frapper deux fois le sol afin de calmer la col@`ere des soeurs de Kysha.^^";style roman;if (panthereg has animate) {print "A la place de l@`a o@`u se trouvaient les panth@`eres de pierre, l'inscription se poursuit : ";style underline;print "A ces chiffres enlever trois et ajouter un, pour honorer l'unit@'e et la grandeur des nouveaux Dieux.^^";style roman;}], has scenery static; Object sol "sol" portetemple with name 'sol', description "Le sol est recouvert de petites feuilles de ch@^ene. ", before [;Attack : if (noun==sol && second==branche) {if (branche.entaille==3) {print "Vous frappez le sol de votre b@^aton. ";sol.frapped++;return 2;} else {print "Vous frappez le sol de votre b@^aton. ";return 2;}}], each_turn [;if (sol.frapped==3) {print "Les pantheres rugissent d'une intensit@'e terrifiante, bondissent sur l'arche et se p@'etrifient de nouveau. ";give panthered ~animate;give panthered concealed;give panthereg ~animate;give panthereg concealed;arche.libered=1;}], frapped 0, has scenery static; Object autel1 "piedestal triangulaire" with name 'piedestal' 'triangulaire' 'autel' 'lumiere', description [;print "Vous voyez un large piedestal de pierre, de forme triangulaire et de pierre lisse et mate. ";if (self.activated==1) {print "Le piedestal tourne lentement sur lui-m@^eme, et produit un faisceau de lumi@`ere vive. ";}], each_turn [;if (player in autel1 && self.activated==1) {print "Vous vous sentez impr@'egn@'e puis absorb@'e par la lumi@`ere...vous faites un pas en avant, et...";if (location==intotemple) {PlayerTo(asteroide);baie.compteur=0;return 2;} else {PlayerTo(intotemple);baie.compteur=0;return 2;}}], before [;Enter : if (self.activated==1) {print "Vous vous sentez impr@'egn@'e puis absorb@'e par la lumi@`ere...vous faites un pas en avant, et...";if (location==intotemple) {PlayerTo(asteroide);baie.compteur=0;return 2;} else {PlayerTo(intotemple);baie.compteur=0;return 2;}}], initial [;if (location==intotemple && self.activated==1) {print "Un large faisceau de lumi@`ere @'emerge d'une pierre triangulaire tournant lentement sur elle-m@^eme au coeur du temple myst@'erieux. ";} else if (location==asteroide && self.activated==1) {print "Une dalle triangulaire tourne lentement sur elle m@^eme, nimb@'ee d'une lumi@`ere @'eclatante. ";} else {print "Vous remarquez au coeur du temple un singulier piedestal @`a trois cot@'es. ";}], found_in intotemple asteroide, activated 0, has static supporter enterable; Object autel2 "piedestal hexagonal" with name 'piedestal' 'hexagonal' 'autel' 'lumiere', description [;print "Il y a ici un large piedestal de pierre @`a six cot@'es, de pierre lisse et mate. ";if (self.activated==1) {print "Il tourne lentement sur lui-m@^eme, et produit un faisceau de lumi@`ere vive. ";}], each_turn [;if (player in autel2 && self.activated==1) {print "Vous vous sentez impr@'egn@'e puis absorb@'e par la lumi@`ere...vous faites un pas en avant, et...";if (location==necropole) {PlayerTo(asteroide);baie.compteur=0;return 2;} else {PlayerTo(necropole);baie.compteur=0;return 2;}}],before [;Enter : if (self.activated==1) {print "Vous vous sentez impr@'egn@'e puis absorb@'e par la lumi@`ere...vous faites un pas en avant, et...";if (location==necropole) {PlayerTo(asteroide);baie.compteur=0;return 2;} else {PlayerTo(necropole);baie.compteur=0;return 2;}}], found_in necropole asteroide, initial [;if (location==necropole && self.activated==1) {print "Un large faisceau de lumi@`ere @'emerge d'une pierre hexagonale tournant lentement sur elle-m@^eme, un piedestal pos@'e au milieu d'une grande place vide. ";} else if (location==asteroide && self.activated==1) {print "Un large faisceau de lumi@`ere @'emerge d'une pierre hexagonale tournant lentement sur elle-m@^eme. ";} else {print "Vous voyez un curieux piedestal @`a six cot@'es. ";}], activated 0, has static supporter enterable; Object baie "baie vitr@'ee" asteroide with name 'baie' 'vitree' 'etoiles' 'planete' 'anneau' 'galaxie' 'anneaux' 'rocher' 'asteroide', description "La vue au travers de la baie vitr@'ee vous coupe le souffle.^Une infinit@'e d'@'etoiles s'@'etendent sous vos yeux m@'edus@'es, agglutin@'ees dans un long fil blanc que forme une galaxie. De temps en temps, une plan@`ete colossale, ceinte d'anneaux d'ast@'eroides, flotte devant vous, puis disparait comme un soleil. Souvent de petits rochers flottants dans le vide c@'el@`este d@'erivent et s'entrechoquent devant vous.^^Un tel spectacle vous fait comprendre l'humilit@'e que constitue l'homme face @`a l'univers et ses Dieux. ", each_turn [;baie.compteur++;switch(baie.compteur) { 1 : print "Un anneau de roches appara@^it au del@`a de la baie vitr@'ee. "; 5 : print "Une @'enorme plan@`ete passe devant la baie vitr@'ee et obscurcit un instant la luminosit@'e des @'etoiles. "; 9 : print "L'@'enorme plan@`ete occupe tout le champ de vision de la baie vitr@'ee. Vous voyez des continents verts et des oc@'eans bleus...@`a moiti@'e @'eclair@'es par un soleil que vous ne voyez pas..."; 12 : print "Au del@`a de la baie, la plan@`ete commence @`a dispara@^itre de votre champ de vision..."; 19 : print "Les @'etoiles @'eclairent la pi@`ece d'une lumi@`ere pulsante. "; 25 : print "Un ast@'eroide s'entrechoque avec la baie vitr@'ee, rebondit avec de petits bruits m@'etalliques, et dispara@^it. "; 32 : print "Deux asteroides s'entrechoquent devant la baie et s'@'eparpillent en petits morceaux. "; 43 : print "Une lumi@`ere vive venant d'un bord de la baie vitr@'ee tombe sur un pan de mur et l'@'eclaire avec la puissance de dix soleils et manque de vous aveugler. La lumi@`ere remplit petit @`a petit l'habitacle..."; 44 : print "Une lumi@`ere vive venant d'un bord de la baie vitr@'ee tombe sur un pan de mur et l'@'eclaire avec la puissance de dix soleils et manque de vous aveugler. La lumi@`ere remplit petit @`a petit l'habitacle..."; 45 : print "Une lumi@`ere vive venant d'un bord de la baie vitr@'ee tombe sur un pan de mur et l'@'eclaire avec la puissance de dix soleils et manque de vous aveugler. La lumi@`ere remplit petit @`a petit l'habitacle..."; 46 : print "La lumi@`ere blanche emplit maintenant toute la pi@`ece et vous br@^ule atrocement les yeux et la peau. ";prisoner.hp=prisoner.hp-5; 47 : print "La lumi@`ere blanche emplit maintenant toute la pi@`ece et vous br@^ule atrocement les yeux et la peau. ";prisoner.hp=prisoner.hp-5; 48 : print "La lumi@`ere blanche emplit maintenant toute la pi@`ece et vous br@^ule atrocement les yeux et la peau. ";prisoner.hp=prisoner.hp-5; 49 : print "Un cercle de lumi@`ere intense envahit un coin de la pi@`ece et vous rend aveugle dans d'atroces douleurs. ";prisoner.reye--;prisoner.leye--;CheckDeath(); 50 : print "Le soleil est maintenant en plein devant la baie vitr@'ee, mais c'est la derni@`ere pens@'ee que vous aurez avant de vous consumer comme une torche vivante devant l'astre implacable. ";Mort();; }], compteur 0, has static scenery; Object coffre "coffre de m@'etal" asteroide with name 'coffre' 'metal' 'tiroir', description "Une boite de m@'etal plate @`a peine plus grande que votre main, fix@'ee sur le mur @`a mi-hauteur. Il n'y a qu'un seul bouton avec un petit triangle isoc@`ele inscrit dessus. ", after [;Receive : if (noun==disk) {PlayScene();return 2;}], has static openable container locked; Object bouton "bouton" asteroide with name 'bouton', description "Un petit bouton avec un petit triangle isoc@`ele dessin@'e dessus. ", before [;Push : print "Le coffre s'ouvre avec un petit bruit soyeux. Il y a comme un petit tiroir avec un emplacement circulaire au centre. ";give coffre ~locked;give coffre open;return 2;], has static; Object fontaine "bassin" asteroide with name 'bassin' 'fontaine' 'eau', description "Un bassin carr@'e de la taille d'un homme, et d'une demi-phalange de profondeur. De l'eau coule et s'@'ecoule par de petits trous sur les cot@'es, mais la surface lisse refl@`ete le cosmos et la clart@'e pulsante des @'etoiles. ", initial "Un bassin carr@'e rempli d'une eau sombre reflet l'obscure clart@'e des @'etoiles. ", before [;Search : if (disk.pris==0) {print "Fouillant l'eau, vous sentez un petit medaillon de metal entre vos doigts dont vous vous emparez. ";move disk to prisoner;disk.pris=1;return 2;}], has static open container enterable; Object disk "myst@'erieux m@'edaillon" with name 'medaillon' 'mysterieux' 'disque' 'disk' 'cd', description "Un bien @'etrange m@'edaillon en forme de disque brillant, trou@'e en son centre, et plat comme une feuille. ", pris 0; Object mare "bassin d'eau @'etincelante" pain with name 'bassin' 'eau' 'mare' 'flaque' 'etincelante', description "Une petite d@'epression dans laquelle est recueillie les suintements brillants du saule. ", before [;Take : print "L'eau vous glisse entre les doigts. ";return 2;], each_turn [; if (comboloi in mare && tempus.temps<7 && (tempus.heure>220 || tempus.heure<40)) {print "Le comboloi devient brusquement lumineux et vibre tout d'un coup d'une @'energie sans pareille. ";comboloi.powered=1;give comboloi animate;move comboloi to player;} if (player in mare) { print "L'eau brillante vous donne des petits picotements. "; if (mare.dodo==2) {print "Vous sombrez dans un sommeil sans r@^eves, lib@'er@'e de tout. Vous mourrez quelques secondes plus tard, noy@'e dans les eaux pleines de vie de la montagne du Bambou Sacr@'e. ";Mort();;} if (mare.dodo==1) {print "Vos paupi@`eres sont lourdes, vous vous endormez doucement dans ces merveilleuses sensations de protection et de chaleur. ";} if (prisoner.larm<2) {print "Vous sentez l'os de votre bras gauche se ressouder et votre membre gu@'erir. ";prisoner.larm++;} if (prisoner.rarm<2) {print "Vous sentez l'os de votre bras droit se ressouder et votre membre gu@'erir. ";prisoner.rarm++;} if (prisoner.lleg<2) {print "Votre jambe gauche se cicatrise et toute douleur s'@'eloigne. ";prisoner.lleg++;} if (prisoner.rleg<2) {print "Votre jambe droite se cicatrise et toute douleur s'@'eloigne. ";prisoner.rleg++;} if (prisoner.torse<4) {print "Les plaies de votre corps se referment magiquement sous l'effet de l'onde lumineuse qui vous nimbe d'une chaleur apaisante. ";prisoner.torse++;} if (prisoner.leye<1) {print "Une douleur lancinante s'arr@^ete doucement : vous pouvez de nouveau voir de l'oeil gauche ! ";prisoner.leye++;} if (prisoner.reye<1) {print "Vous pouvez voir de vos deux yeux comme avant. ";prisoner.reye++;} if (prisoner.hpprisoner.maxhp) {print "Une douce lassitude s'empare de vous... ";mare.dodo++;} } else {mare.dodo=0;} ], dodo 0, has static scenery open container enterable; Object bambousb "bambous lumineux" pain with name 'bambou', description "De petites pousses de bambous poussant aupr@'es du bassin d'eau lumineuse r@'ecoltent le suintement lumineux du grand saule. ", before [;Take : if (bamboub notin player) {print "Vous prenez d@'elicatement un bambou @`a demi plein d'eau lumineuse. ";move bamboub to player;return 2;} else {print "En prendre plus serait trop encombrant pour l'instant. ";return 2;}], has scenery; Object bamboub "bambou lumineux" with name 'bambou', description "C'est une large tige de bambou poreux ferm@'ee @`a ses extr@'emit@'es qui irradie d'une lumi@`ere faible et l@'eg@`erement bleut@'ee. Quand vous la secouez, vous entendez le flux d'un liquide. La tige vous semble tr@'es fragile. ", before [;Cut,Drop : if ((player notin autel1) && (player notin autel2) && (player notin asteroide)) {print "Vous lachez le bambou qui se brise et dont le contenu se d@'everse rapidement sur le sol. En quelques minutes, tout est absorb@'e. ";} else {print "Le liquide du bambou se vide rapidement sur le piedestal qui luit doucement. En quelques secondes, vous entendez comme un souffle, comme le bruit d'une machinerie fantastique, et soudain le piedestal se met @`a tourner sur lui m@^eme de plus en plus rapidement, et un faisceau de lumi@`ere large comme un homme surgit depuis le piedestal. "; if (player in autel1) {autel1.activated=1;} else {autel2.activated=1;}}remove bamboub;return 2;], has scenery; Object boulos "bouleaux" bouleaux with name 'bouleaux' 'bouleau' 'arbre' 'arbres' 'tronc' 'branche' 'troncs' 'branches', description "La plaine rase est plant@'ee de quelques bouleaux argent@'es dont les feuilles bruissent agr@'eablement dans le vent. ", before [;Cut : if (self.couped==1) {print "Vous en avez assez coup@'e pour l'instant. ";return 2;} else {print "A force de sueur et de votre fid@`ele lame, vous abattez quelques bouleaux dont vous retirez les branches soigneusement. ";move rondins to bouleaux;self.couped=1;return 2;}], each_turn [p;p=random(5);switch(p) { 1 : print "Quelques feuilles argent@'ees tombent doucement sur vos @'epaules. "; 2 : print "Les bouleaux se plient gentiment sous le vent comme des danseurs gracieux. "; 3 : print "La pluie de feuilles argent@'ees tombant des nombreux bouleaux vous masque l'horizon. "; 4 : print "Le reflet argent@'e de l'@'ecorce des arbres leur conf@`ere un aspect fantomatique. "; } ], couped 0, has scenery pluralname; Object rondins "troncs coup@'es" with name 'rondins' 'troncs' 'coupes' 'rondin' 'arbre' 'coupe' 'tronc', description "Quelques troncs l@'egers recouverts d'une @'ecorce argent@'ee que vous avez coup@'es avec votre @'ep@'ee. ", before [;Tie : if (liane in player) {if (player in lac) {print "Maladroitement, mais du mieux que vous le pouvez, vous attachez les rondins de bouleau avec la liane, construisant un radeau branlant et instable, mais, bon, un radeau quand m@^eme. ";remove rondins;remove liane;move radeau to lac;} else {print "Attacher ces troncs...construire un radeau, peut @^etre ? songez vous. Mais il faudrait un plan d'eau calme pour le construire @`a proximit@'e, sinon vous ne pourrez le transporter ensuite. ";}} else {print "Attacher, certes, mais avec quoi? ";}return 2;], after [;Go : if (self in player) {print "Avec peine vous trainez les troncs que vous avez coup@'es : bien qu'ils semblent l@'egers, ils sont lisses et leur d@'eplacement vous fatigue beaucoup. ";prisoner.hp--;} ], has pluralname; Object radeau "radeau" with name 'radeau' 'barque' 'bateau', description "C'est pas grand chose, mais c'est le v@^otre. Un radeau constitu@'e de quelques troncs argent@'es et li@'es d'une liane @'epaisse. ", react_before [;Go : if ((radeau in lac) && ((noun==n_obj) || (noun==nw_obj) || (noun==ne_obj) || (noun==e_obj))) {print "Vous embarquez sur votre radeau bien instable en d@'epit du calme relatif des ondes du lac.^^Vous ramez avec votre @'ep@'ee pour atteindre le centre du lac, mais un courant venu de l'imp@'etueuse riviere tranchant la vall@'ee perdue en deux vous dirige plein est, vers les monts barri@`eres. Le courant se fait de plus en plus fort, et vous entendez le bruit angoissant d'une immense cataracte r@'epercut@'e dans le trou b@'eant des monts barri@`eres dans lequel s'engouffre le fleuve.^^Vous luttez tant et si bien que vous accostez @`a quelques centaines de m@`etres de la chute souterraine, pr@`es d'un rivage de gr@`es @`a m@^eme les flancs escarp@'es des montagnes.^";move radeau to rivageboyau;PlayerTo(rivageboyau);return 2;} Receive : if ((radeau in lac) && ((noun==n_obj) || (noun==nw_obj) || (noun==ne_obj) || (noun==e_obj))) {print "Vous embarquez sur votre radeau bien instable en d@'epit du calme relatif des ondes du lac.^^Vous ramez avec votre @'ep@'ee pour atteindre le centre du lac, mais un courant venu de l'imp@'etueuse riviere tranchant la vall@'ee perdue en deux vous dirige plein est, vers les monts barri@`eres. Le courant se fait de plus en plus fort, et vous entendez le bruit angoissant d'une immense cataracte r@'epercut@'e dans le trou b@'eant des monts barri@`eres dans lequel s'engouffre le fleuve.^^Vous luttez tant et si bien que vous accostez @`a quelques centaines de m@`etres de la chute souterraine, pr@`es d'un rivage de gr@`es @`a m@^eme les flancs escarp@'es des montagnes.^";move radeau to rivageboyau;PlayerTo(rivageboyau);return 2;} ], has static supporter open enterable; Object fresque "fresque" necropole with name 'fresque' 'peinture' 'mur', description "Une fresque peinte en rouge et or retrace une @'epop@'ee sur le mur nord. Des l@'egions marchent sous la f@'erule d'un immense homme-rhinoc@'eros.^Trois femmes pen@'etrent une montagne au sommet perdu dans les nuages.^Les femmes percent le dos de l'homme rhinoc@'eros au moyen de longues lances et plongent sa t@^ete dans une mare de lave.^Sur les lances des guerri@`eres est inscrit ~IRANOS~.^^Au pied de la fresque, un squelette humain en haillons semble gratter le mur. ", react_before [;Attack : if (noun==fresque) {print "Vous donnez de grands coups d'@'ep@'ee sur le mur, @`a l'endroit o@`u le squelette pointait de la main. Le mortier est fragile et la pierre poreuse, et une ouverture se forme alors que la paroi s'@'effondre rapidement dans un nuage de poussi@`ere. ";move secretroom to necropole;remove self;}], initial "Vous distinguez dans l'obscurit@'e les reflets succints des dorures d'une fresque. ", has static; Object secretroom "chambre mortuaire" with name 'chambre' 'mortuaire' 'piece' 'secrete' 'ouverture' 'squelettes' 'soldats' 'marchands' 'pretres', with description "Une pi@`ece secr@^ete o@`u se tient une arm@'ee de squelettes immobiles, v@^etus en soldats, en marchands, et en pr@^etres. Aucune vie ne se manifeste dans cet endroit @'etouffant, et vous avez m@^eme l'impression que votre peau se d@'esseche et se r@'etracte dans ce lieu maudit. ", has open container enterable female; Object jed "squelette" necropole with name 'jed' 'homme' 'squelette' 'deicide' 'charbon' 'haillons', description "Un pauvre type aux os blanchis et aux vetements de cuir presques consum@'es par l'humidit@'e. Ses doigts tiennent encore un petit bout de charbon qui lui a servi pour griffoner une petite inscription sur le mur. ", before [;Search : if (self.fouilled==1) {print "Il n'y a rien d'autre sur le corps. ";return 2;} else {print "Vous fouillez les vetements humides et trouvez coinc@'e dans sa cage thoracique un petit carnet. Vous trouvez @'egalement @`a ses pieds un coquillage @'etrange auquel pend une petite ficelle qui se d@'esagr@`ege d@`es que vous la touchez. Enfin sous lui, vous trouvez un grand arc. ";move arc to necropole;move diary to necropole;move brokenshell to necropole;self.fouilled=1;return 2;}], fouilled 0, has static concealed; Object frise2 "frise murale" intotemple with name 'frise' 'murale' 'isncription' 'dessin', description [;if (prisoner.enduit==1) {print "Vous prenez le pitisun dans votre main et le levez bien haut pour mieux voir les bas-reliefs :^^des hommes transportent dans des jarres une sorte de...de liquide, ou autre chose, qui @'emet des rayonnements...et l'un d'entre eux, un pr@^etre, vous pensez, l@`eve la jarre au dessus de la t@^ete puis le liquide tombe...il y a encore plein de rayons, et le liquide tombe plus bas, sur une pierre triangulaire...^^le tout est abondamment comment@'e dans une @'ecriture, qui malheureusement vous est compl@'etement inconnue !";} else {print "Il y a bien des inscriptions, mais il fait trop sombre ici pour les lire. ";}], has static scenery; Object graf "inscriptions" necropole with name 'mot' 'inscription' 'mots' 'inscriptions', description [;style underline;print "^^~De l'autre cot@'e~^^";style roman;], has static concealed; Object diary "carnet" with name 'carnet' 'journal' 'livre', description [;if (self.lu==0) {FlashBack();self.lu=1;} print "^^Ainsi commence le journal :^^";style underline;print "^^~Mon nom est Jed, mais je suis @`a pr@'esent pour d'aucuns Jed, le d@'eicide.^^Je me suis exil@'e moi m@^eme dans les terres perdues, dans ma qu@^ete pour...~^^";style roman;print "De nombreuses parties sont compl@`etement illisibles et fl@'etries par leur s@'ejour dans la n@'ecropole, mais certains passages, sans doutes pr@'ecieux, ont @'et@'e recopi@'es plusieurs fois : et vous en reconstituez le sens :";style underline;print "^^~L'invocation se fera ainsi, ainsi on dit mes anc@`etres : un Comboloi form@'e d'un Kesga fraichement p@'ech@'e et d'un fil de vingt paumes de long seront assembl@'es puis tremp@'es dans une Source de Vie sous une lune sans nuages, il faut...~^^~Le Vrai Nom de la divinit@'e sera prononc@'e dans le creux du Comboloi, et celui ci sera tourn@'e sur lui m@^eme @`a grande vitesse @`a l'aide du fil, et la divinit@'e prendra forme, mais...~^^~Une divinit@'e, est, par essence, au del@`a des faiblesses intrins@`eques des mortels, mais il arrive qu'elle s'incarne sous la forme d'un avatar tangible, avatar qui en ce cas pr@'esentera toutes les faiblesses des mortels...~^^~Il est possible...envisageable...c'est mon plan, tout du moins, de forcer cette incarnation. La divinit@'e, en pr@'esence d'un concept tangible de nature oppos@'ee @`a son principe divin, s'incarnera en celui ci de fa@@con automatique, de m@^eme que le plein emplit le creux, que la chaleur ti@'edit le frais. Mon plan est donc simple et fou, je...~^^";style roman;print "Le reste est illisible. ";], lu 0, has openable; Object arc "arc de Jed" with name 'arc' 'jed' 'arme', description [;print "Une belle arme de bois ouvrag@'e et recouvert de feuilles d'argent et d'or. Il y a grav@'e ces mots : ~connais ton ennemi~ sur sa prise. "; if (ficelle in arc) {print "Il est tendu par une corde et semble redoutable. Quel dommage que vous n'ayiez jamais mani@'e une telle arme ! ";} else {print "L'arc est d@'etendu, il lui manque une corde. ";}], before [;receive : if (noun==fleche && ficelle in arc) {print "Ok, vous encochez la fleche. "; if (fleche.graved==1 && prisoner.lihined==1) {print "^^Titubant, r@'esign@'e, vous bandez l'arc. Vous @^etes partag@'e entre l'espoir que votre projet fou @'echoue...ou r@'eussisse.^^Tu ne m'auras pas, pensez vous avec r@'esolution.^^";attend();print "Vous tirez et la fl@'eche part droit vers la porte, mais soudainement, tourne, et fonce droit vers vous ! Vous la recevez les bras en croix, alors que Lihin hurle son d@'epit.^^Vous avez re@@cu la fl@'eche en plein dans le coeur, et vos poumons s'emplissent de sang chaud ; vous tombez @`a genoux, mais vous tenez bon et vous comprenez que c'est la magie de Lihin qui vous maintient en vie :^^~Il en faudra plus...~ g@'emit Lihin, mais vous sentez que, tout comme vous, elle est s@'everement atteinte. ";prisoner.lihined=2;return 2;} else {print "^^Vous tirez avec l'arc assez maladroitement, car c'est une arme que vous maitrisez tr@'es mal, et la fl@'eche part tr@'es vaguement dans la direction choisie pour se planter dans le sol. ";move fleche to location;return 2;} } else if (noun==ficelle) {print "Vous tendez l'arc avec la ficelle. ";move ficelle to arc;give ficelle concealed;return 2;} else {print "Je ne comprends pas ce que vous voulez faire...";return 2;}], has open container; Object ficelle "corde de l'arc" arc with name 'arc' 'corde' 'ficelle', description "Une corde en boyau de chat gain@'ee de m@'etal, longue comme la moiti@'e d'un homme. ", after [;Take : give self ~concealed;], has concealed female; Object brokenshell "coquille bris@'ee" with name 'coquille' 'coquillage' 'brisee', description "Un myst@'erieux coquillage gros comme votre poing, en forme de petite corne repli@'ee sur elle-m@^eme. Le coquillage est jaune sombre tachet@'e de noir, et fendu de haut en bas. ", has female; Object fleche "fleche" with name 'fleche', description "Une fleche de bois solide @`a l'empennage effil@'e. ", initial "Une fl@'eche est fich@'ee dans le sol. ", before [w; Graver : wn = consult_from; w = NextWord(); switch (w) { 'morghulis': print "Vous gravez ~Morghulis~ sur la fl@'eche. ";fleche.graved=1; default: "Vous gravez attentivement la fl@'eche."; }return 2; Push : if (prisoner.lihined==2) {LastSceal();return 2;} ], graved 0, has female; Object dolmen "dolmen" monolithes with name 'dolmen' 'autel', description "Un dolmen se dresse au milieu du cercle de pierre. Sur son tablier, des motifs mystiques sont grav@'es : un grand cercle entourant la proportion d'une raie manta, et au coeur, des petites figures humaines se prosternant devant un dieu @`a t@^ete de tigre. ", initial "Un dolmen se dresse au milieu du cercle de pierre. ", has static supporter enterable open; Object arene "Colis@'ee" with name 'hippodrome' 'arene' 'colisee', description [;print "Un immense colis@'ee aux gradins de pierre rouge se dresse au milieu des ruines, @`a moiti@'e @'ecroul@'e. ";if (tigre has animate) {print " Mais par une magie @'etrange, des blocs @`a l'aspect translucide et immat@'eriel comblent les vides, et des milliers de spectateurs fant@^omes d'un autre temps sont debouts, les bras lev@'es, et ils demandent en hurlant votre mise @`a mort. ";}], before [;Go : if (noun==out_obj && tigre has animate) {print "Vous courez @`a perdre haleine pour rejoindre la sortie, mais vous vous heurtez @`a une herse fant@^omatique surgie du n@'eant qui vous bloque implacablement le passage vers la sortie...";return 2;}], each_turn [l;if (tigre has animate) {l=random(8);switch(l){ 1 : print "La rumeur assourdissante de millions de fant@^omes hurlant vous donne le tournis. "; 2 : print "Des buccins retentissent soudainement, issus de trompettistes fant@^omes perdus dans la foule. "; 3 : print "La foule @'eth@'er@'ee scande dans une langue @'etrang@`ere. Votre mort? Votre victoire impossible ? "; 4 : print "Votre coeur bat @`a tout rompre. "; 5 : print "La poussi@`ere soulev@'ee vous emp@^eche de bien voir. "; 6 : print "Des oriflammes fant@^omes de toutes les couleurs sont soudainement dress@'es. "; 7 : print "Vous entendez que l'on hurle le mot ~Imgar~. "; 8 : print "Des fl@`eches translucides sont tir@'ees dans votre direction, mais elles vous traversent sans que vous sentiez quoi que ce soit. "; }}], out_to ruines, has static container enterable open special concealed; Object arene2 "Colis@'ee" with name 'hippodrome' 'arene' 'colisee', description "Un immense colis@'ee aux gradins de pierre rouge se dresse au milieu des ruines, @`a moiti@'e @'ecroul@'e. ", before [;Enter : PlayerTo(arene);return 2;], has static container enterable open special concealed; Object tigre "statue d'homme tigre" arene with name 'statue' 'tigre' 'piedestal' 'homme', description [;if (self hasnt animate) {print "Une imposante statue de pierre, haute comme une maison, repr@'esentant un homme @`a t@^ete de tigre, se dresse sur un piedestal de marbre rouge. ";} else {print "Une imposante statue de pierre, haute comme une maison, repr@'esentant un homme @`a t@^ete de tigre. ";}], life [;Attack : print "Vous vous lancez courageusement contre ce titan et tranchez de votre plus belle inspiration pour toucher sa jambe, mais d'un coup de patte, il vous envoie voler loin dans le ciel. ";prisoner.hp=prisoner.hp-10;Breakribs();CheckDeath();return 2;], each_turn [;if (self has animate) { switch(tigre.animation) { 1 : print "Le gigantesque homme tigre rugit @`a plein poumons : ROOOAAAAAARR ! "; 2 : print "La statue vivante se dirige @`a pas souples vers votre position. Boum. Boum. Boum. A chaque pas le sable de l'ar@`ene vole dans les cieux. "; 3 : if (player in colonne) {print "L'homme tigre secoue la colonne de bois comme s'il voulait la d@'eraciner et rugit de plus belle. Mais, @`a votre grand soulagement, elle r@'esiste ! ";} else {print "L'homme tigre est sur vous et l@`eve une patte g@'eante qui vous masque le ciel. Vous tremblez de peur. ";} 4 : if (player in colonne) {print "L'homme tigre rugit de nouveau, d@'epit@'e, et se retourne vers les gradins. ";} else {print "La patte de l'homme tigre vous balaie et vous fait voler comme un brin de paille dans les airs sur une trentaine de m@`etres. ";prisoner.hp=prisoner.hp-10;Breakribs();CheckDeath();} 5 : print "Le gigantesque homme tigre rugit @`a plein poumons : ROOOAAAAAARR ! et se frappe le torse. "; 6 : print "L'homme tigre s@'eloigne un peu et tourne en rond @`a quelque distance, sans jamais quitter votre regard. "; } tigre.animation++; if (tigre.animation==7) {tigre.animation=1;} } ], animation 1, eye 2, has static container open; Object anneau "anneau d'or" tigre with name 'anneau' 'or', description "Un bel anneau d'or brillant qui n'a pas subi les al@'eas du temps. ", before [;Take : if (self in tigre) {WakeTiger();return 2;}], has clothing; Object colonne "colonne de bois" arene with name 'colonne' 'bois' 'plateforme' 'echelle', description "C'est une plate-forme juch@'ee sur une colonne de douze ou quinze m@`etres de haut. Une mince @'echelle de bois permet d'acc@'eder @`a la plate forme. ", react_before [;Jump : if (player in colonne && tigre has animate) {if (tigre.animation==4 || tigre.animation==5) {print "Tentant le tout pour le tout, vous sautez depuis la plate forme jusque sur la t@^ete du tigre, qui rugit de plus belle. Empoignant votre fid@`ele lame comme un poignard, vous la dressez haut, alors que toute l'ar@`ene retient son souffle, et vous la plongez dans l'oeil de l'homme tigre.^^";attend();print "Le hurlement de votre adversaire est plus assourdissant que jamais et il se d@'em@`ene si bien qu'il vous met @`a terre o@`u vous vous receptionnez du mieux que vous le pouvez. ";prisoner.hp--;tigre.eye--;PlayerTo(arene);if (tigre.eye==0) {print "Le tigre pleure du sang et s'@'epuise @`a hurler et @`a se cogner contre les rocs durs de l'ar@`ene. Vous vous approchez de sa carcasse agonisante, et d'un coup d'@'ep@'ee, vous visez le coeur, alors que la foule hurle d'extase.^^";attend();print "En une demi-seconde, tous les fant@^omes disparaissent, les clameurs, les couleurs, les fl@`eches, jusqu'au corps du tigre qui s'@'evanouit devant vous. ";give tigre ~animate;remove tigre;give ruines ~special;}} else {print "Vous sautez en tentant d'atteindre votre adversaire, mais vous le ratez compl@'etement. ";PlayerTo(arene);prisoner.hp--;}}return 2;], initial "Au centre de l'ar@`ene s'@'el@`eve une plate-forme de bois. ", has static supporter enterable open female; Object bassin2 "bassin" cascade with name 'bassin' 'eau' 'cascade', description "Un large bassin d'eau translucide et glac@'ee accueille les remous de la cascade avant de s'@'elargir dans une rivi@`ere furieuse qui s'enfuit vers l'ouest. Il contient non loin de la rive quelques gros coquillages color@'es. ", each_turn [;if (player in bassin) {print "L'eau glac@'ee vous br@^ule terriblement. ";prisoner.hp--;}], initial "La cascade s'@'eteint dans un large bassin dont l'eau translucide laisse apparaitre quelques coquillages. ", has static container enterable open; Object shell3 "coquillage bleu et or" bassin2 with name 'coquillage' 'bleu' 'or', description "Un coquillage gros comme votre poing, en forme de petite bille creuse. Le coquillage est bleu sombre avec une grande croix dor@'ee dessus. ", before [;Take : give self ~concealed; Tie : print "Comment? ";return 2;], has concealed; Object shell2 "coquillage orange et noir" bassin2 with name 'coquillage' 'orange' 'noir', description "Un coquillage gros comme votre poing, en forme de petite spatule qui se fend en deux. Le coquillage est jaune sombre tachet@'e de noir. ", before [;Take : give self ~concealed; Tie : print "Comment? ";return 2;], has concealed; Object shell1 "coquillage rouge et or" bassin2 with name 'coquillage' 'rouge' 'or', description "Un coquillage long comme votre bras, en forme de petite corne tendue. Le coquillage est rouge sombre stri@'e de veinures dor@'ees. ", before [;Take : give self ~concealed; Tie : print "Comment? ";return 2;], has concealed; Object shell "coquillage noir et jaune" bassin2 with name 'coquillage' 'jaune' 'noir' 'corne', description "Un coquillage gros comme votre poing, en forme de petite corne repli@'ee sur elle-m@^eme. Le coquillage est jaune sombre tachet@'e de noir. ", before [;Take : give self ~concealed; Tie : if (ficelle in player) {print "Vous passez la ficelle de l'arc de Jed dans le petit trou du coquillage et faites un noeud. ";remove self;remove ficelle;move comboloi to player;return 2;}], has concealed; Object shell4 "coquillage vert" bassin2 with name 'coquillage' 'vert' 'tigre', description "Un coquillage large comme votre poignet, en forme d'@'eventail. Le coquillage est vert avec des reflets lumineux. ", before [;Take : give self ~concealed; Tie : print "Comment? ";return 2;], has concealed; Object comboloi "Comboloi" with name 'coquillage' 'jaune' 'noir' 'ficelle' 'comboloi', description "Un coquillage gros comme votre poing, en forme de petite corne repli@'ee sur elle-m@^eme. Le coquillage est jaune sombre tachet@'e de noir. Dans le petit trou de la coquille, vous avez attach@'e la ficelle de l'arc de Jed. C'est ce qu'il appelait, s'il faut en croire son carnet, un Comboloi. ", react_before[;Take : move comboloi to player;print "Vous ramassez le comboloi. ";return 2;], life [w;Ask,Answer,Tell : if (self.powered==0) {print "Vous souvenant des instructions de Jed, vous murmurez dans le Comboloi...mais rien ne se passe. Peut @^etre avez vous oubli@'e quelque chose. Ou peut @^etre que Jed @'etait fou, finalement. ";return 2;} else {wn=consult_from; w=NextWord();switch (w) { 'xul' : XulArrive();return 2; 'soib' : SoibArrive();return 2; 'lihin' : LihinArrive();return 2; default : print "Vous murmurez dans le coquillage qui vibre un petit peu, mais devient imm@'ediatement inerte. "; } } ], before [;UnTie : print "Vous detachez la ficelle du Comboloi. ";remove self;move shell to player;move ficelle to player;return 2;], powered 0; Object roc "Rocher en forme de bec d'aigle" plage2 with name 'rocher' 'roc' 'bec', description "A une trentaine de brasses du rivage au nord, le ressac d@'ecouvre parfois un gros rocher en forme de bec d'oiseau. ", initial "A une trentaine de brasses du rivage au nord, le ressac d@'ecouvre parfois un gros rocher en forme de bec d'oiseau. ", has static; Object phenixglou "Phenix Sculpte" glouglou with name 'phenix' 'oiseau' 'sculpte' 'roche' 'statue' 'ouverture' 'grotte', description "Une immense statue sculpt@'ee dans une saillie au sommet d'une falaise. Elle repr@'esente des flammes @'erod@'ees l@'echant un oiseau d@'eployant ses ailes et dont le bec @'emerge parfois @`a la surface. Au niveau de son torse, vous distinguez une petite ouverture large comme un homme. ", before [;Receive : give coffre ~concealed;], initial "Un grand oiseau sculpt@'e se dresse sous la mer, au bord de la falaise sous marine. ", has container open enterable; Object coffre2 "coffre de bois" phenixglou with name 'coffre' 'bois' 'boite' 'ouvrage' 'chaine' 'rouille', description "Au fond de l'ouverture, un petit coffre de bois soud@'e @`a la paroi par des si@'ecles d'accr@'etion calcaire repose au fond du boyau. Il est finement ouvrag@'e mais les runes ont disparu depuis longtemps. Il est scell@'e par des cha@^ines de m@'etal attaqu@'ees par la rouille. ", before [;Attack : if (coffre2.frapped<2) {print "Vous donnez un grand coup d'@'ep@'ee sur la cha@^ine rouill@'ee qui semble c@'eder un peu. ";coffre2.frapped++;return 2;} else {print "La cha@^ine du coffre se brise sous votre coup d'@'ep@'ee. ";give self ~locked;return 2;}], frapped 0, has container locked lockable openable; Object oeuf "oeuf" coffre2 with name 'oeuf', description "Un petit oeuf tout blanc. ", each_turn [;if (self in player) {self.couved++;switch(self.couved) { 11 : print "Le petit oeuf vibre doucement, comme un petit grognement de plaisir. "; 18 : print "Le petit oeuf devient agr@'eablement chaud, comme s'il @'etait vivant. "; 27 : print "Le petit oeuf @'emet un bruit @'etrange, comme un raclement. "; 32 : print "L'oeuf devient tr@'es chaud, presque br@^ulant. "; 33 : PhenixArrive(); }}], couved 0; Object phenix2 "Ph@'enix" with name 'oiseau' 'phenix', description "Un grand oiseau @'elanc@'e, aux plumes rougeoyantes, et au long bec pointu. ", life [o;Attack : o=random(3);if (o>1) {print "Vous transpercez l'ingrat animal de votre lame. Il s'embrase de lui-m@^eme dans un piaillement inssuportable et tombe en un petit tas de poussi@`ere. ";move poussierephenix to location;remove self;} else {print "Vous lancez votre lame contre l'oiseau, mais il vous @'evite d'un coup d'ailes. ";}], each_turn [l;l=random(5);switch(l) { 1 : print "Le Ph@'enix tournoie autour de vous et tente de vous percer de son bec ac@'er@'e, mais vous l'@'evitez de justesse. "; 2 : print "Le Ph@'enix plante ses serres dans votre dos et vous laboure les chairs. ";prisoner.hp=prisoner.hp-5;prisoner.cicatrices++; 3 : print "Le Ph@'enix vole autour de vous de fa@@con mena@@cante. "; 4 : print "L'oiseau fond sur vous et vous d@'echire l'@'epaule de ses serres avant de s'envoler de nouveau. ";prisoner.hp--;prisoner.cicatrices++; 5 : print "Le Ph@'enix vous donne un grand coup d'ailes et ses plumes br@^ulantes vous lancent terriblement. ";prisoner.hp=prisoner.hp-5;prisoner.cicatrices++; } ], has animate; Object poussierephenix "tas de poussi@`ere" with name 'tas' 'poussiere', description "De la fine poussi@`ere sentant le bois br@^ul@'e. ", before [;Eat : print "Vous avalez non sans difficult@'es l'am@`ere poussi@`ere. Ce n'est pas tr@'es nourrissant, et vous ne constatez aucun changement dans votre corps apr@'es cette d@'egustation particuli@`ere. Autant pour ceux qui disent qu'on devient ce que l'on mange, pensez vous avec ironie. ";prisoner.phenix=1;remove self;return 2;], each_turn [;self.revival--;if (self.revival<1) {print "Le tas de poussi@`ere s'embrase soudainement d'un feu glacial, et piaillant parmi les flames, un nouveau Ph@'enix s'envole de nouveau dans les airs ! ";move phenix2 to location;remove poussierephenix;self.revival=15;}], revival 15, has edible; Object ile "petite ile" marais with name 'ile' 'petite' 'ilot', description "C'est une petite ile bomb@'ee comme une carapace de tortue qui s'@'el@`eve au dessus des brumes brun@^atres du marais. ", before [;Enter : give arbremort ~concealed;], initial "Au milieu du marais se dresse une petite ile couverte de mousse. ", has static female supporter enterable open; Object arbremort "arbre mort" ile with name 'arbre' 'mort' 'ouverture', description "Un arbre sinistre couvert de mousse noire @'etend des branches tortueuses de tous cot@'es, auxquelles pendent de repoussantes plantes difformes. Il est ouvert en deux @`a sa base. ", initial "A son sommet, un arbre mort ouvert en deux se tortille de toutes parts. ", has static container open concealed; Object noiresfougeres "fougeres obscures" arbremort with name 'fougere' 'obscure' 'noir', description "Vous discernez @`a peine de toutes petites foug@`eres au fond du creux de l'arbre. Car ces plantes semblent absorber la lumi@`ere comme le sec absorbe l'eau : elles sont noires, mais aur@'eol@'ees d'obscur, et quand vous tendez la main, vous vous apercevez qu'elles ne sont pas palpables. ", before [;Take : print "Vous tendez la main pour ramasser une foug@`ere, mais elle passe entre vos doigts comme si elle @'etait fant@^ome. ";return 2;], has female pluralname; Object sceau "Sceau Infranchissable" stairs with name 'sceau' 'porte' 'lumiere' 'plante' 'magma' 'chair', description [;if (sceau.sceauxul==0) {print "Incroyable ! Un plateau de ~lumi@`ere solide~ a @'et@'e pos@'e dans le creux du crat@`ere, bloquant toute entr@'ee ou sortie. Cette lumi@`ere brille de mille particules qui vous emp@`eche de continuer plus bas.";} else {if (sceau.sceausoib==1) {print "Un magma de chair battant d'une vie obsc@`ene bloque tout le crat@`ere et vous emp@`eche de descendre plus bas.";}}], each_turn [;if (sceau.sceauxul==1 && sceau.sceauxul==1) {remove self;}], sceauxul 0, sceausoib 0, has static concealed; Object icebergmonster "Cr@'eature de l'Iceberg" with name 'iceberg' 'creature' 'monstre', description "Un monstre humanoide, enti@`erement fait de glace, grand comme un chateau. Ah, et il veut vous tuer, apparemment. ", life [o;Attack : o=random(3);if (o>1) { print "Vous vous lancez @`a l'attaque du colosse. "; if (ben in player) {BenAssaut();} print "Votre coup porte, mais vous entaillez faiblement la glace qui constitue le monstre. "; if (ben in player && ben.blood>0) {print "^^Toutefois, le sang bouillant qui jaillit de la lame de Ben @'eclabousse votre adversaire qui rugit de douleur. ";ben.blood=ben.blood-5;self.vie--;return 2; } } else {print "Vous vous ruez sur le monstre, mais votre coup d'@'ep@'ee fend le vide. ";return 2;}], each_turn [l;if (self.vie<1) {IcebergDie();} l=random(10);switch(l) { 1 : print "Le Monstre de L'Iceberg se dresse et rejette sa t@^ete carr@'ee en arri@`ere, et hurle d'une fa@@con gutturale et inhumaine, d'un cri qui vous paralyse d'effroi. "; 2 : print "Le Monstre de L'Iceberg s'approche de vous @`a pas lourds et tend une main griffue de stalactites vers vous. "; 3 : print "Le Monstre de L'Iceberg abat un bras de plusieurs tonnes mais vous vous jetez de cot@'e au dernier moment. L'il@^ot flottant bouge un petit peu puis atteint l'@'equilibre. "; 4 : print "Le Monstre de L'Iceberg tente de vous @'ecraser sous son pied, mais vous courez pour l'@'eviter de justesse et il laisse une empreinte @'enorme et profonde dans la glace. "; 5 : print "Le Monstre de L'Iceberg vous balaie d'une main rageuse et vous d@'echire les chairs en vous meurtrissant terriblement. ";prisoner.hp=prisoner.hp-10;BreakRibs();prisoner.cicatrices++;CheckDeath(); 6 : print "La Cr@'eature de l'Iceberg d@'etache un rocher de glace et le lance vers vous...mais vous l'@'evitez de justesse alors qu'il s'@'ecrase contre une paroi de glace. "; 7 : print "La Cr@'eature de l'Iceberg fait un @'enorme saut qui fait tanguer de fa@@con tr@'es dangeureuse l'iceberg. Vous vous accrochez d@'esesp@'eremment au sol mais vous glissez en vous rapprochant du bord..."; 8 : print "La Cr@'eature de l'Iceberg se met @`a quatre pattes et rugit d'une fa@@con si puissante que la glace se craqu@`ele et que les vibrations vous meurtrissent les tripes et la t@^ete. ";prisoner.hp--;CheckDeath(); 9 : print "Le Monstre de L'Iceberg s'immobilise soudainement. "; 10 : print "La Cr@'eature de l'Iceberg se met @`a quatre pattes et rugit d'une fa@@con si puissante que la glace se craqu@`ele et que les vibrations vous meurtrissent les tripes et la t@^ete. ";prisoner.hp--;CheckDeath(); } ], vie 3, has animate female; Object icedead "Monstre de l'Iceberg (mort)" with name 'iceberg' 'creature' 'monstre', description "Un monstre humanoide, enti@`erement fait de glace, grand comme un chateau, mais maintenant mort comme une pierre et en gros morceaux @'etendus sur la glace. ", has static; Object hand "main g@'eante" with name 'main' 'barque' 'bateau' 'radeau' 'geante' 'flottante', description "Une main grande comme deux hommes, de glace et de neige, flottant sur l'eau tout pr@'es de votre iceberg. ", react_before [;Go : if ((player in hand) && (hand notin volcan) && ((noun==n_obj) || (noun==nw_obj) || (noun==ne_obj) || (noun==e_obj))) {print "Vous ramez doucement et patiemment avec votre @'ep@'ee sur les eaux calmes et gel@'ees de la mer des @'etoiles. A chaque coup de rame, vous vous sentez de plus en plus oppress@'e par l'immensit@'e de la montagne qui se dresse devant vous et se perd dans le ciel.^^Enfin, vous touchez le rivage, de pierres glac@'ees et noires. ";move hand to volcan;PlayerTo(volcan);return 2;} ], has static supporter open enterable female; Object statues "statues d@'ecapit@'ees" lastroom with name 'statue' 'decapitee' 'puits' 'lave', description "Aux cinq coins de la pi@`ece se dresse une statue d@'ecapit@'ee. A leurs pieds, de petits puits de lave rougeoyante qui fournit le seul @'eclairage du sinistre endroit. ", initial "Aux cinq coins de la pi@`ece se dresse une statue d@'ecapit@'ee. A leurs pieds, de petits puits de lave rougeoyante qui fournit le seul @'eclairage du sinistre endroit. ", has static female pluralname; Object rigoles "rigoles" lastroom with name 'rigoles', description "De petites rigoles joignant les coins de la pi@`ece sont creus@'ees dans le granit irr@'egulier du sol. ", initial "De petites rigoles joignant les coins de la pi@`ece sont creus@'ees dans le granit irr@'egulier du sol. ", has static female pluralname; Object porte "grande porte" lastroom with name 'grande' 'porte', description "Une grande porte de fer noir, aux lourds gonds de bronze, se tient contre un des murs. Son toucher est froid bien qu'elle semble vibrer d'une sourde puissance. On y a grav@'e, en grandes lettres d@'echir@'ees :^^~Lihin a fait cela~. ", initial "Une grande porte de fer noir, aux lourds gonds de bronze, se tient contre un des murs. ", has static female door lockable locked openable; Object lihin "Lihin, la d@'eesse de la mort" with name 'lihin' 'deesse' 'mort' 'femme', description "Une cr@'eature au corps de femme, une silhouette d'un noir d'encre @`a l'exception de ses pupilles rouges. Athl@'etique et mince, ses doigts sont prolong@'es d'ongles d'aciers tranchants. ", life [;Attack : print "Vous vous tenez pr@^et @`a attaquer. "; Tell, Ask, Give : print "Ce n'est pas le moment pour cela ! "; ], each_turn [;lihin.sequence++;switch(lihin.sequence) { 1 : print "Lihin joue avec ses ongles d'aciers et vous lance alors que vous vous pr@'eparez au combat : ~Pr@'evisible cr@'eature. Tu me hais. Vas-y, attaque moi de toute ta fureur !~ "; 2 : if (prisoner.mode==0) {print "Lihin se jette sur vous avec une vitesse @`a peine perceptible, mais vous @'etiez trop bien sur vos gardes, et vous d@'eviez ses coups les uns apr@'es les autres. Profitant de la fin de son encha@^inement, vous tranchez de taille la cr@'eature et Ben pousse un long hurlement de douleur quand sa lame traverse le corps de votre adversaire.^^Vous lui infligez une blessure terrible. Mais Lihin passe sa main sur la large plaie qui se gu@'erit magiquement. Trop surpris pour cela, vous ne pouvez @'eviter une attaque de ses ongles griffus qui vous d@'echirent la peau.^^~Que croyais tu ? Qu'un corps @`a corps avec un Dieu @'etait si simple ? ~.^^Elle vous donne une gifle du revers de la main qui vous fait basculer en arri@`ere. Elle s'approche d'une statue d@'ecapit@'ee et la d@'esigne d'une lame. ~C'est dans ce puits que j'ai plong@'e le corps tr@'essaillant de Lookti, ce mis@'erable avatar de la sagesse. ~^^De la lave d@'eborde alors du puits et vient couler dans une rigole en illuminant la pi@`ece. Vous vous relevez au dernier moment avant d'@^etre brul@'e. Lihin se ramasse de nouveau et fait clinquer ses lames.^^~Tu es tr@'es prudent. Je vois. La prudence est l'arme des vaincus. ~";prisoner.hp=40;prisoner.cicatrices++;} else {print "Lihin se jette sur vous avec une telle pr@'ecipitation que vous ne voyez rien. Elle vous lac@`ere dix fois de ses terribles griffes, et vous tombez @`a genoux.^^~Et c'est tout ? Quelle d@'eception. ~^^Elle traine sans peine votre corps paralys@'e de souffrance vers un puits de lave dans lequel elle vous plonge la t@^ete la premi@`ere. ";Mort();;} 3 : if (prisoner.mode==4) {print "Lihin esquisse un geste, mais c'est vous qui la prenez de surprise en vous lan@@cant @`a l'assaut, Ben hurlant de rage et de terreur. Vous ass@'enez coups sur coups, sans r@'epit, des coups qu'elle bloque de ses griffes impassiblement mais sans perdre son attention. Profitant d'une ouverture, vous lui plongez Ben dans le coeur, et la pi@`ece s'emplit de cris alors qu'elle hurle de douleur avec Ben, et que vous criez de rage !^^Mais Lihin trouve la force de vous @'ecarter d'un grand coups de griffes qui vous jettent @`a terre.^^Elle vous donne un coup de pied et avec un r@^ale, elle s'approche d'une autre statue. ^^~C'est l@`a que j'ai noy@'e ce fat, m@'eprisable d'Iqual. Paragon de la justice. Il m'a donn@'e moins de fatigue que toi, tu peux t'en sentir flatt@'e. ~^^Et le puits d@'eborde pour venir inonder une deuxi@`eme rigole que vous @'evitez de justesse en roulant sur le cot@'e. Lihin sautille entre le X irr@'egulier que forment les coul@'ees de lave.^^~Tu es un malin. Mais maintenant bats toi. Attaque moi avec habilet@'e et finesse. Je t'attends. ~";prisoner.hp=30;prisoner.cicatrices++;} else {print "Lihin se jette sur vous avec une telle pr@'ecipitation que vous ne voyez rien. Elle vous lac@`ere dix fois de ses terribles griffes, et vous tombez @`a genoux.^^~Et c'est tout ? Quelle d@'eception. ~^^Elle traine sans peine votre corps paralys@'e de souffrance vers un puits de lave dans lequel elle vous plonge la t@^ete la premi@`ere. ";Mort();;} 4 : if (prisoner.mode==1) {print "Vous vous lancez l'un contre l'autre dans un corps @`a corps cinglant, chacun meurtrissant l'autre de petites entaillades de sa lame, blessures qui h@'elas gu@'erissent magiquement sous vos yeux @`a peine sont elles inflig@'ees @`a votre redoutable adversaire. A bout de souffle, vous enclenchez une mauvaise parade et cinq ongles d'acier viennent vous fouiller les entrailles. De rage, Lihin enfonce ses ongles dans votre jambe gauche et votre bras droit, et elle se d@'electe de votre souffrance. ^^~Oui. Souffre. ~^^Elle s'approche d'une troisi@`eme statue et l@`a encore le puits d@'eborde et vient remplir une rigole.^^~Undia, que j'ai noy@'ee ici, m@`ere de l'amour et de la protection, abhorrait la souffrance. Maintenant que j'y pense, sa mort @`a @'et@'e l'une des meilleures r@'esolutions de mon r@`egne.~^^Tortur@'e par la douleur de vos membres transperc@'es, vous ne voyez pas la lave s'approcher et vous vous br@^ulez terriblement, avant de vous relever subitement, anim@'e d'une terrible haine.^^~D@'ecid@'e @`a donner du r@'epondant? Non, bien s@^ur. Tu vas rester sur tes gardes comme la mis@'erable, insignifiante et pitoyable cr@'eature que tu es.~";prisoner.hp=20;prisoner.fire++;prisoner.lleg--;prisoner.rarm--;prisoner.cicatrices++;} else {print "Lihin se jette sur vous avec une telle pr@'ecipitation que vous ne voyez rien. Elle vous lac@`ere dix fois de ses terribles griffes, et vous tombez @`a genoux.^^~Et c'est tout ? Quelle d@'eception. ~^^Elle traine sans peine votre corps paralys@'e de souffrance vers un puits de lave dans lequel elle vous plonge la t@^ete la premi@`ere. ";Mort();;} 5 : if (prisoner.mode==3) {print "Vous parez une attaque soudaine de votre bras bless@'e, et contrattaquez habilement, repoussant Lihin et la for@@cant @`a reculer et @`a poser le pied dans une rigole emplie de lave qui commence @`a le consumer doucement. Mais Lihin reste impassible et retire son pied intact en souriant. Elle l@`eve les deux bras au ciel et derri@`ere elle, un puits d@'eborde de nouveau, envahissant l'une des deux derni@`eres rigoles encore vides. ^^~Et c'est l@`a, ~ vous dit-elle, haletante, ~que je me suis d@'ebarrass@'e de ce rustre d'Iranos, chef des arm@'ees c@'elestes. Il fallait le voir couiner comme un porc, cet incapable !~^^Elle termine sur une grande gifle donn@'ee par ses griffes qui vous envoie tituber dangereusement entre les coul@'ees de lave.^^~Encore un assaut, mis@'erable, si tu le peux !~";prisoner.hp=10;prisoner.fire++;prisoner.cicatrices++;} else {print "Lihin se jette sur vous avec une telle pr@'ecipitation que vous ne voyez rien. Elle vous lac@`ere dix fois de ses terribles griffes, et vous tombez @`a genoux.^^~Et c'est tout ? Quelle d@'eception. ~^^Elle traine sans peine votre corps paralys@'e de souffrance vers un puits de lave dans lequel elle vous plonge la t@^ete la premi@`ere. ";Mort();;} 6 : if (prisoner.mode==2) {print "Vous essuyez encore un attaque terrible que vous @'evitez par de petites esquives, mais vous perdez courage. Lihin semble invincible, et ne semble souffrir d'aucune blessure. Vous vous laissez gagner par un sentiment @'etrange, un desespoir m@'el@'e d'une folle envie de survivre.^^~Oui, comme @@ca,~ murmure-t-elle. Elle s'appuie contre une statue et le puits d@'ebordant vient envahir la derni@`ere rigole, achevant le pentacle de feu trac@'e dans cette salle au coeur de la Forge des Mondes.^^~Imgar le P@`ere. Fort. Digne. Loyal. ~";attend();print "^^~Mais il est mort de mes mains, comme tous les autres ! Comme tu vas mourir !~^^Vous d@'eglutissez, et tombez sur un genou, @`a bout de force.^^Non ! Vous voulez vivre !^^~Tu veux vivre? Et pourtant tu ne pourras pas @'echapper @`a la destin@'ee de ton vrai nom...mais si tu veux vivre...si tu as assez de vie et de volont@'e de vivre pour m'attirer en toi, alors je te promets une toute autre destin@'ee. Tu rejoindras tes pairs qui t'ont condamn@'e et tu te vengeras. Tu plieras des royaumes sous mon joug !~";prisoner.hp=1;} else {print "Lihin se jette sur vous avec une telle pr@'ecipitation que vous ne voyez rien. Elle vous lac@`ere dix fois de ses terribles griffes, et vous tombez @`a genoux.^^~Et c'est tout ? Quelle d@'eception. ~^^Elle traine sans peine votre corps paralys@'e de souffrance vers un puits de lave dans lequel elle vous plonge la t@^ete la premi@`ere. ";Mort();;} 7 : print "Au centre du pentacle de feu, entour@'e de lave bouillonnante et de rumeurs d'outre-tombe, vous vous sentez @`a la fois abandonn@'e et rong@'e du d@'esir de vivre.^^~Maintenant. ~^^Vous sentez que Lihin vous traverse comme un fant@^ome et, en quelques secondes, elle est en vous, dans votre esprit m@^eme. ";move lihinspirit to lastroom;prisoner.lihined=1;remove self; } ], sequence 0, has animate female proper; Object lihinspirit "Lihin, la d@'eesse de la mort" with description "Lihin, dans votre esprit. ", each_turn [;lihinspirit.sequence++;switch(lihinspirit.sequence) { 1 : if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} else {print "Lihin murmure dans votre esprit.^^~Maintenant, ouvre tes pens@'ees, laisse moi t'envahir. ";} 2 : if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} else {style underline;print "^^~Ne r@'esiste pas. ~";style roman;} 3 : if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} else {style underline;print "^^~Laisse toi faire, je vais te soigner, et ensuite, t'offrir la toute puissance. ~";style roman;} 4 : if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} else {style underline;print "^^~Voil@`a, tu commences @`a faiblir. ~";style roman;} 5 : if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} else {style underline;print "^^~Je suis la seule issue, ta seule clef dans cette prison. ~";style roman;} 6 : if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} else {style underline;print "^^~Bien mis@'erable mortel, ouvre toi, laisse moi entrer. ~";style roman;} 7 : if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} else {style underline;print "^^~Comme @@ca...oui... ~";style roman;} 8 : if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} else {style underline;print "^^~Comme @@ca...oui...j'y suis presque... ~";style roman;} 9 : if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} else {style underline;print "^^~j'y suis presque...~";style roman;} 10 : if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} else {print "Lihin prend alors enti@`erement possession de votre corps, et votre esprit est tass@'e dans un recoin de votre cerveau. La d@'eesse de la mort est maintenant pr@^ete @`a r@'egner sur le monde gr@^ace @`a l'incarnation que vous lui avez procur@'e, mais malheureusement, vous serez prisonnier de votre esprit jusqu'@`a la fin des temps. ";Mort();;} 11: if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} 12 : if (prisoner.lihined==2) {print "Malgr@'e votre fl@'eche dans le coeur, vous sentez la magie de Lihin reconstruire votre organe d@'echir@'e et faire sortir lentement la fl@'eche. ";} 13 : if (prisoner.lihined==2) {print "La fl@'eche s'extirpe de votre coeur et votre corps se soigne instantanement. Lihin prend alors enti@`erement possession de votre corps, et votre esprit est tass@'e dans un recoin de votre cerveau. La d@'eesse de la mort est maintenant pr@^ete @`a r@'egner sur le monde gr@^ace @`a l'incarnation que vous lui avez procur@'e, mais malheureusement, vous serez prisonnier de votre esprit jusqu'@`a la fin des temps. ";Mort();;} } ], sequence 0, has scenery; ! ---------------------------------------------------------------------------- ! Scenes Cinematiques ! ---------------------------------------------------------------------------- [ Initialise; lookmode=2; ChangePlayer(prisoner); location=start; give player light; introduction(); ]; [ introduction; style underline; print "Vous @^etes si fatigu@'e..."; attend(); print "^^Avec violence, on vous jette @`a terre. Vous perdez connaissance quelques instants, et vous devinez que l'on vous retire brutalement vos cha@^ines."; style roman; print "^^~Debout, vaurien !~^^"; ]; [XyzzySub; print "~Xyzzy~ murmurez vous.^"; style underline; print "Les Anciens Dieux demeurent muets."; style roman; ]; [LicenseSub; print "Avant propos :^^Inform est un syst@`eme developp@'e par Graham Nelson^La traduction fran@@caise des biblioth@`eques servant @`a la compilation @`a @'et@'e @'etablie par Jean Luc Pontico.^Je remercie des deux personnes en particulier sans le travail desquelles ~LA MORT POUR SEUL DESTIN~ n'aurait jamais pu voir le jour.^^"; print " LICENCE PUBLIQUE GENERALE CONCERNANT LA FICTION INTERACTIVE (GPL) ^^ 1. Cette licence vous permet d'utiliser et de distribuer LA MORT POUR SEUL DESTIN sous les conditions explicit@'ees ci-dessous. Vous ne pouvez pas jouer ou distribuer ce jeu si vous n'@^etes pas d'accord avec celles-ci. ^^ 2. Ce jeu, ainsi que tout fichier associ@'e et tout r@'esultat produit par le jeu, ainsi que tout d@'eriv@'e, sont la propri@'et@'e copyright (c) 2003 de JB Ferrant. ^^ 3. Toute demande concernant les pr@'esents termes de la licence doivent @^etre adress@'es au d@'etenteur du copyright, dont l'adresse est @`a l'@'ecriture de la pr@'esente licence : lejibe@@64hotmail.com. Si cette adresse est injoignable, vous pouvez joindre l'auteur via le newsgroup Internet rec.arts.int-fiction ^^ 4. Vous avez l'autorisation d'utiliser ce jeu et d'en faire des copies pour votre usage personnel sans aucune restriction. Vous pouvez @'egalement copier et distribuer ce jeu par n'importe quel moyen, dans la mesure o@`u : ^a) Vous ne faites pas payer ces actions^b) Le jeu, tous les fichiers joints avec le jeu et cette pr@'esente licence ne sont pas modifi@'es. ^^ 5. Vous n'@^etes pas autoris@'e @`a demander de l'argent contre la distribution du jeu (soit pour le b@'en@'efice personnel ou tout simplement pour rembourser le co@^ut de la distribution) dans le cadre d'un produit, ou d'une compilation, sans autorisation explicite et @'ecrite pr@'ealable. ^^ 6. Ce jeu est fourni sans AUCUNE GARANTIE quelqu'elle soit, expresse ou implicite. ^^ ";]; [AideSub; print "LA MORT POUR SEUL DESTIN^^^^Jeu d'aventure avec @'el@`ements de Jeu de R@^ole.^^Pour interagir avec le monde exotique des terres perdues, @'ecrivez des phrases simples @`a l'infinitif comme :^^>ramasser caillou^^ou^^>regarder^^Le verbe ~utiliser~ n'est pas necessaire pour compl@'eter le jeu, vous devrez recourir @`a chaque occasion au verbe correspondant @`a votre action : lancer, attacher, couper...^^Le h@'eros anonyme que vous incarnez pourra au cours de ses aventures avoir @`a faire @`a forte partie et subir diverses blessures, contracter maladies et empoisonnements ou se briser des membres et vivre tout autant d'accidents qui mettront son avenir en p@'eril. Pour vous informer @`a tout instant sur son @'etat de sant@'e, vous pouvez vous examiner en tapant :^^>regarder moi^^Pour vous d@'eplacer, utilisez les directions : nord, sud, est, ouest voire nord ouest, sud est...ou plus simplement leurs abr@'eviations : ainsi n pour nord, se pour sud est. Ainsi : ^^>aller sud^>sud^>s^^ sont @'equivalents.^Il est conseill@'e d'@'etablir une carte !^^Pour conna@^itre la liste de vos possessions, tapez :^^>Inventaire^^Le h@'eros aura parfois @`a combattre. S'il est attaqu@'e, il se d@'efendra automatiquement, mais vous pouvez provoquer le combat et avoir l'initiative en tapant ^^>attaquer^^La performance de votre combat est affect@'ee par votre @'etat de sant@'e, la qualit@'e de votre arme, mais aussi votre @'etat d'esprit que vous pouvez moduler en tapant :^^>je suis pleutre^>je suis prudent^>je suis courageux^>je suis temeraire^>je suis violent^^A vous de voir quelle strat@'egie convient contre quel adversaire.^^Vous pouvez SAUVER ou CHARGER un jeu @`a tout moment, usez et abusez de cette libert@'e.^^Il est conseill@'e de ramasser tout ce qui n'est pas clou@'e au sol, de bien observer, de tester et de noter le r@'esultats de vos exp@'eriences, mais aussi de comprendre le pass@'e oubli@'e qui hante votre terrible prison...^^Ce jeu est d@'edi@'e @`a Steve Jackson et Ian Livingstone pour leur s@'erie des ~Livres dont vous @^etes le h@'eros et tout particuli@`erement @`a la s@'erie ~Sorcellerie~ qui me fait encore aujourd'hui toujours autant r@^ever.^^";]; [BenArrive; print "Vous tirez sur l'@'ep@'ee, en poussant de vos jambes sur la glotte de pierre.^^Elle bouge !^^"; attend(); print "Elle se lib@`ere soudainement de sa prison de pierre et vous tombez sur le dos. A la lumi@`ere diffuse par dela votre plafond d'eau vous l'observez : ce n'est qu'une banale @'ep@'ee rouill@'ee. ^"; style underline; print "^^Quelqu'un baille. ^^"; style roman; print "Vous vous retournez vivement. Personne ?^^~Hey, mec.~^^Vous tournez la t@^ete en tous sens.^^~Hey, chuis l@`a !~^^Vous comprenez avec @'etonnement que c'est la vieille @'ep@'ee rouill@'ee qui vous parle, et pris de frayeur vous tentez de la jeter, mais elle reste coll@'ee @`a la paume de votre main.^^D@'esempar@'e, vous frappez le mur avec l'@'ep@'ee, et elle grince : ~Aie ! Ouille ! Mais arr@^ete mon vieux !~ ~Arr@^ete ! Stop !~.^^ Elle s'anime alors et se plaque sous votre menton, malgr@'e vos efforts.^^~Ca fait...une @'eternit@'e que je suis coinc@'e dans ce caillou, alors tu vas arr@^eter de flipper. Ah, le pouilleux. Bon. Avant, j'@'etais Ben, un M@'enestrel. J'ai provoqu@'e le courroux d'Iranos, le Dieu de la Guerre, pour avoir...disons vant@'e les m@'erites du pacifisme dans mon r@'epertoire. Je suis maintenant condamn@'e @`a faire couler le sang...jusqu'@`a ce qu'Iranos en ait assez gout@'e...et je ne te lacherai pas avant ! J'ai pas l'air vaillant, comme ca, mais j'ai besoin de me d@'erouiller un peu...En avant !~^^Perplexe, vous vous d@'ebarrassez de votre ancienne @'ep@'ee et poursuivez, Ben @`a la main. "; remove sword; remove sword2; move ben to prisoner; ]; [DialogueSoib; print "Vous versez l'eau dans le receptacle de marbre, et elle se fige rapidement.^^"; style underline; print "Un silence glac@'e tombe sur les environs. "; style roman; print "Vous vous penchez sur le bassin et l'eau se ride dans un petit souffle que vous ne sentez pas. Votre reflet dispara@^it alors que l'eau se ride encore brievement, et vous observez le reflet de hautes branches d'arbres fruitiers et d'insectes brillants et merveilleux sous des @'etoiles chaleureuses.^^Imperceptiblement, vous entendez des chants joyeux, et de la musique.^^Deux femmes se penchent sur le bassin, et quand l'une d'entre elle se penche pour effleurer l'eau du bassin, celle-ci se ride encore, et le bout de ses doigts fins @'emerge m@^eme de l'eau.^^Vous entendez :^^"; style underline; print "~...peuple d@'ecadent, car il lui manque un guide. ~^~Les Dieux sont bien silencieux, effectivement, Xul.~^~Les Dieux sont absents...nous sommes des mages, nous pourrions...~^~Oui?~^~Nous pourrions redonner un sens @`a la vie. A la mort.~^~Et @`a la lumi@`ere, je sais, je t'ai entendu parler tout @`a l'heure avec Celle Dont On Ne Doit Pas Dire Le Nom. Mais nous ne sommes pas des Dieux.~^~La Forge des Mondes rec@`ele en son sein le pouvoir de devenir un Dieu, et les Dieux parresseux que nous r@'ev@'erons de nos jours furent autrefois des hommes, de bien pi@`etres humains en v@'erit@'e, et, je le crois, beaucoup moins sages que nous ne le sommes.~^~La Forge des mondes...~^~Oui. Pars avec nous. Deviens la Vie.~^~Et si les Dieux s'y opposent?~^~Qu'ils viennent, ch@`ere Soib. Qu'ils viennent. Nous serons justement l@`a pour les remettre @`a leur v@'eritable place !~^^"; style roman; print "L'eau se ride encore et les apparitions s'effacent.^"; ]; [PlayScene; print "Le coffre se referme et bourdonne.^^Vous vous retournez avec sursaut. "; style underline; print "Des gens sont entr@'es dans la pi@`ece. "; attend(); style roman; print "Vous comprenez (toujours avec du retard, oui) qu'il s'agit d'apparitions immat@'erielles, de fant@^omes du pass@'e. Vos mains traversent ces trois femmes aux drap@'es mouvants et cet homme aux yeux per@@cants que vous croyez reconna@^itre, assis sur des meubles invisibles et tenant des ouvrages tout aussi invisibles.^^Les voix vous parviennent sans que leurs l@`evres ne s'agitent vraiment. ~Les ouvrages sont formels, les artefacts au coeur de la Forge des Mondes peuvent cr@'eer trois Dieux depuis des corps charnels.~^~Ainsi que je l'avais pr@'evu. Excellent. ~^~Bient@^ot la Lumi@`ere aura un nom, un principe, et j'en serai la reine.~^~Et pour moi, Xul, le r@`egne sur la Vie. ~^~Oui. Et pour moi...~^~Ch@`eres associ@'ees, il me semble que nous sommes quatre, dans cette aventure. Or, il n'est question que de trois Dieux. ~^~Mais bien s@^ur. Une fois notre Panth@'eon cr@'e@'e, il faudra bien quelqu'un pour en illuminer le monde, n'est ce pas, Katapseudor, Katapseudor le proph@`ete !~^^Les apparitions disparaissent et le petit coffre se r@'eouvre. "; ]; [FlashBack; print "A peine avez vous parcouru les premiers mots que vous @^etes submerg@'e d'un souvenir p@'enetrant...ca alors...c'@'etait lui... "; attend(); style underline; print "Vous erriez sur la grand'place de la ville, bien loin des agitations politiques qui faisaient l'attention des citoyens du commun.^^Le grand proph@'ete...quel @'etait son nom...Katapseu-quelque chose, habill@'e de blanc et aur@'eol@'e d'or, @'etait mont@'e sur le fronton du temple des anciens et harangait la foule.^^Les rumeurs colportaient qu'il vivait depuis mille ans et qu'il avait accompli force miracles, mais cela ne vous avait pas aid@'e @`a mieux manger au jour le jour, alors vous vous en fichiez pas mal. Il parlait de nouveaux Dieux et de principes, de vous ne saviez quoi...Ah ! maintenant ca aurait peut @^etre de l'importance, mais @`a l'@'epoque...^^~...et je vous le conjure, mes enfants, abattons ce jour le temple des anciens, descellons chacune des briques, car c'est garder le souvenir de traditions paiennes et impies, c'est...~^^Du haut de la grande Tour, le Seigneur observait le pr@^eche d'un regard neutre. Et puis soudain !^^"; attend(); print "Une fl@`eche avait transperc@'e la gorge du saint homme, qui s'@'etait effondr@'e dans un petit gargouillis de sang. Et l'assembl@'ee muette avait tourn@'e les yeux vers Jed le guerrier, son arc d'argent @`a la main. Il avait hurl@'e :^^~Assez de ce faux proph@`ete ! Il a d@'etruit tout de nos anciens dieux, pour les remplacer par ses p@^ales idoles ! Ouvrez les yeux et souvenez vous, peuple !~^^Mais toute une garnison s'@'etait ru@'ee sur lui, et il les avait, fl@`eche apr@`es fl@`eche, tous abattus avant m@^eme qu'ils ne portent la main sur lui. Il s'@'etait alors hiss@'e sur un rempart et avait harangu@'e le Seigneur :^^~Vous oubliez ! Ceux qui oublient seront damn@'es !~^^Il s'@'etait ensuite enfui et le lendemain, on placardait son avis de recherche dans toutes les rues. "; style roman; ]; [Retour; print "Vous retournez @`a la porte de Shub Glaar, dans le souvenir de la promesse que vous ont faite vos ge@^oliers.^^Vous interpellez la tour de garde b@^atie derri@`ere l'@'enorme porte de bronze @`a pleins poumons. Au bout d'un long moment, un archer appara@^it avec son sergent au sommet des remparts. Il vous gueule :^^~Cesse de hurler, exil@'e, ou nous t'achevons sur le champ !~^^Vous vous d@'efendez et vous expliquez que vous avez d@'ecouvert le corps de Jed le Deicide, que vous avez lu son journal et trouv@'e son arc. "; attend(); print "Les soldats rient de bon coeur, et vous ordonnent de cesser vos chim@`eres sous la menace d'un arc band@'e. Vous insistez, mais cela n'a pas plus d'effet convaincant.^^~Tu crois @^etre le premier @`a tenter cette ruse, petit malin? ~ vous r@'etorque narquoisement le sergent.^^De rage, vous lancez un caillou vers la porte, mais il manque lamentablement sa cible. L'archer au contraire d@'ecoche une fl@`eche qui vient se planter entre vos jambes. Alors qu'il en encoche une autre, vous filez prestement vous mettre hors de distance.^^Apr@`es quelques minutes, les soldats retournent dans la Tour de garde. "; ]; [Envol; print "La raie manta fond silencieusement sur vous, et vous prot@'egeant de votre bras, elle le saisit dans sa queue flexible et vous emporte rapidement dans les hauteurs @`a grands coups d'ailes bruyants. L'anneau que vous portez @`a votre majeur brille doucement. ";]; [WakeTiger; print "Vous considerez un moment l'impostante statue, et en un bond l@'eger, vous @^etes sur le piedestal.^^Au moment o@`u vous tendez la main pour faire glisser l'anneau du doigt de la statue, vous entendez comme un doux, @`a peine perceptible, bruissement.^^"; attend(); print "Vous vous emparez de l'anneau rapidement et le fourrez dans votre proche apr@`es avoir jet@'e un coup d'oeil cupide dessus. "; style underline; print "^^H@'e. Toujours @@ca qu'aura pas un autre. "; style roman; attend(); print "^^Vous vous @'eloignez du piedestal, et le bruissement s'accentue, comme un vent tournoyant dans l'ar@`ene, et tout d'un coup, la splendeur pass@'ee renait des ruines, comme un brouillard fant@^omatique.^^Des pierres fant@^omes, bleues et violettes, aux reflets lumineux, viennent combler les gradins et les murs @'effondr@'es, et des centaines, des milliers de fant@^omes se dressent debout, le poing lev@'e, dans une rumeur assourdissante.^^"; attend(); print "Ebahi, vous vous tournez de tout cot@'es pour observer cette apparation de temps r@'evolus, quand soudain r@'esonne derri@`ere vous un bruit terrible qui fait vibrer le sable de l'ar@`ene. "; attend(); print "^^Boum. "; attend(); print "^^Boum. "; attend(); print "Vous vous retournez et avec effroi vous vous apercevez que l'immense statue d'homme tigre est revenu @`a la vie, et que les bruits assourdissants ne sont autres que ses lourdes pattes foulant le sol et s'approchant de plus en plus pr@`es !^"; move anneau to player; give tigre ~open; give tigre ~container; give tigre ~static; give tigre animate; ]; [PhenixArrive; print "Le petit oeuf vous br@^ule tant et si bien que vous @^etes oblig@'e de le poser au sol. Vous l'observez chauffer et rougir, grossir, puis se fendiller.^^Une d@'eferlante de lumi@`ere s'@'echappe de l'oeuf et soudain un grand oiseau au plumage rougeoyant prend son envol en battant des ailes.^^"; attend(); print "L'oiseau s'envole brusquement en quelques coups d'ailes haut au dessus de vous, jouissant de sa libert@'e retrouv@'ee, plane majestueusement.^^"; attend(); print "Puis, brusquement, il plonge en piqu@'e sur vous ! "; remove oeuf; move phenix2 to location; ]; [XulArrive; if (sceau.sceauxul==1) {print "Rien ne se passe. Pas @'etonnant. ";} else { print "Vous murmurez ~Xul~ dans le coquillage et votre murmure se r@'epercute comme un @'echo infini dans la petite coquille.^^Puis, suivant les Sch@'emas laiss@'es par Jed, vous le faites tournoyer au bout de la ficelle @`a vos cot@'es dans de grands cercles, et, @`a mesure que vous accelerez c'est l'air, l'espace, le tissu de la r@'ealit@'e qui s'alt@`ere et r@'epercute lui aussi le nom de la divinit@'e.^^Puis, des milliers de petites particules de lumi@`eres s'approchent telles des lucioles, et s'agglom@`erent lentement devant vous. "; attend(); print "^^La forme lumineuse, @'eblouissante, se d@'ecoupe petit @`a petit en une silhouette f@'eminine et deux yeux intenses. "; attend(); style underline; print "^^~JE SUIS XUL, PRINCIPE DE LUMIERE ! QUI ES TU POUR ME REQUERIR AINSI !"; style roman; print "^^Et le regard intense semble transpercer vos pens@'ees. "; if (player in ile) {print "Vous sentez le courroux palpable de la d@'eesse de lumi@`ere, mais @'egalement sa d@'etresse lorsqu'elle lit dans vos pens@'ees votre plan terrible : en quelques instants, tout son @^etre se d@'everse dans les foug@`eres de noirceur absolue o@`u elle dispara@^it en hurlant de nombreux cris bien trop humains @`a votre go@^ut.^^Vous vous empressez d'@'ecraser toutes les foug@`eres afin qu'il ne reste rien. ^^Vous philosophez quelques instants dans le silence des alentours quand soudain...";attend();print "Un grand coup de tonerre retentit et @'ebranle les Terres Perdues. Des milliers d'oiseaux s'envolent, terroris@'es, et de nombreux animaux hurlent dans le lointain. A l'horizon, tr@'es loin au Nord, l@`a o@`u s'@'el@`event dans les brumes de la distance une montagne ph@'enom@`enale, une colonne de lumi@`ere monte vers le ciel, @'ecartant les nuages sur des dizaines de kilom@'etres, lavant la couleur du ciel pour ne laisser place qu'aux @'etoiles et au cosmos. En quelques instants de terreur cosmique, le temps semble s'arr@^eter.^^Puis la colonne s'efface, et la r@'ealit@'e reprend ses dimensions. Rien ne reste de cet effrayant passage, sauf une voix grave qui murmure dans votre esprit :";style underline;print "^^~Le premier sceau est bris@'e, continue.~";style roman;sceau.sceauxul=1;} else {style underline;print "^^~MISERABLE MORTEL ! SUBIS LE CHATIMENT DE LA LUMIERE !";style roman;print "^^La lumi@`ere devient intense et vous aveugle, et vous sentez les rayons br@^uler votre peau et faire bouillir votre sang. En quelques instants, vous vous consumez. ";Mort();;} } ]; [SoibArrive; if (sceau.sceausoib==1) {print "Rien ne se passe. Pas @'etonnant. ";} else { print "Vous murmurez ~Soib~ dans le coquillage et votre murmure se r@'epercute comme un @'echo infini dans la petite coquille.^^Puis, suivant les Sch@'emas laiss@'es par Jed, vous le faites tournoyer au bout de la ficelle @`a vos cot@'es dans de grands cercles, et, @`a mesure que vous accelerez c'est l'air, l'espace, le tissu de la r@'ealit@'e qui s'alt@`ere et r@'epercute lui aussi le nom de la divinit@'e.^^Puis, des milliers de petites cr@'eatures insectes et les membrures de plantes s'approchent rapidement et s'entrem@`elent lentement devant vous. "; attend(); print "^^La forme humanoide compos@'ee de ces milliers de petites choses grouillantes plonge deux yeux vides vers vous. "; attend(); style underline; print "^^~JE SUIS SOIB, PRINCIPE DE VIE ! QUI ES TU POUR ME REQUERIR AINSI !"; style roman; print "^^Et le regard vide et froid semble transpercer vos pens@'ees. "; if (player in secretroom) {print "Vous sentez le courroux fr@'emissant de la d@'eesse de vie dans son grouillement incessant, mais surtout son effroi palpitant lorsqu'elle comprend votre plan terrible : en quelques instants, tout son @^etre se d@'ess`eche et meurt, @'ecras@'e par l'aura de mort de la pi@`ece mortif@`ere en hurlant de nombreux cris bien trop humains @`a votre go@^ut.^^Toute la puissance de cette divinit@'e se plonge dans un cr@^ane dessech@'e que vous @'ecrasez d'un coup de talon avec amerturme. ^^Vous philosophez quelques instants dans le silence des alentours quand soudain...";attend();print "Un grand coup de tonerre retentit et @'ebranle les Terres Perdues. Au tr@'efond du monde, vous sentez la terre s'agiter de nombreux remous et vous voyez les plantes et les insectes devenir fous, se tordre au sol de fa@@con obsc@`ene tandis que les cristaux et les murs changent de couleur et d'opacit@'e. En quelques instants de terreur cosmique, le temps semble s'arr@^eter.^^Puis le tumulte s'efface, et la r@'ealit@'e reprend ses dimensions. Rien ne reste de cet effrayant passage, sauf une voix grave qui murmure dans votre esprit :";style underline;print "^^~Le deuxi@`eme sceau est bris@'e, continue.~";style roman;sceau.sceausoib=1;} else {style underline;print "^^~MISERABLE MORTEL ! SUBIS MA COLERE !";style roman;print "^^La chose grouillante se jette sur vous et vous @'etouffe rapidement, penetre votre corps et l'investit de l'interieur. Vous mourrez en quelques secondes. ";Mort();;} } ]; [LihinArrive; if (lihin in lastroom) {print "Rien ne se passe. Pas @'etonnant. ";} else { if (player in lastroom) { print "Vous murmurez ~Lihin~ dans le coquillage et votre murmure se r@'epercute comme un @'echo infini dans la petite coquille.^^Puis, suivant les Sch@'emas laiss@'es par Jed, vous le faites tournoyer au bout de la ficelle @`a vos cot@'es dans de grands cercles, et, @`a mesure que vous accelerez c'est l'air, l'espace, le tissu de la r@'ealit@'e qui s'alt@`ere et r@'epercute lui aussi le nom de la divinit@'e.^^Vous entendez des coups de tonnerre terrifiants qui manquent de vous faire vaciller, mais vous tenez bon, et au tonnerre se succ@`edent des @'eclairs et des visions @'etranges de mondes inconnus apparaissant dans des flashs de lumi@`ere color@'ee. Et soudainement, le silence r@`egne. "; attend(); print "^^Une personne est apparue devant vous.^^"; attend(); print "Elle se rel@`eve. Une jeune femme, athl@'etique, au corps d'un noir d'encre. Au regard comme amus@'e par votre d@'esarroi. Sa voix est suave, d@'elicieuse :^^"; style underline; print "~Et maintenant que je suis ici que vas-tu faire ? Je dois dire...~"; style roman; print "^^Elle se rapproche de vous, et vous distinguez des pupilles rouges dans ses yeux noirs.^^"; attend(); style underline; print "^^...que tu t'en es plut@^ot bien sorti avec mes associ@'ees. Tant mieux. ~"; style roman; print "^^Elle tourne autour de vous @`a pas lents. Vous ne quittez pas son regard, aux aguets. "; attend(); style underline; print "^^~Alors quoi ? Tu veux m'@'eliminer ? Et pourquoi donc ? Tu crois...tu crois que cette porte, c'est une porte de sortie ? C'est tout le contraire. Tu es du bon cot@'e de la porte. D@`es le d@'ebut, il n'y avait pas d'issue. Tu connais ton Vrai Nom? ~"; style roman; print "^^Avec effroi, vous remarquez que ses ongles se sont allong@'es comme des dagues tranchantes et elle les observe, m@'editative. "; attend(); style underline; print "^^~Bien entendu, peu de mortels ont le privil@`ege de conna@^itre leur Vrai Nom, car il est le ma@^itre de leur destin@'ee. Mais je le lis comme je vois la pr@'ecarit@'e de tes espoirs et la grandeur de ton effroi.^^Morghulis.^^Cela signifie ~Destin@'e @`a mourir~. On n'@'echappe pas @`a son destin. Mais j'ai une proposition @`a te faire...~"; style roman; print "^^Elle vous fixe de nouveau dans les yeux, distante de quelques pas seulement. "; attend(); style underline; print "^^~...une proposition de celles que l'on ne refuse pas. J'ai besoin de m'incarner dans un corps...et le tien me sied. Enfin, pas encore tout @`a fait, car tu es...et bien tu es si plein de vie et si indiff@'erent @`a la possibilit@'e de ta mort en cet instant que tu ne repr@'esente pas mon principe oppos@'e, tu n'es pas encore...~la vie @`a tout prix. ~~"; attend(); style roman; print "^^Elle bondit en arri@`ere et se ramasse comme une b@^ete sauvage pr@^ete @`a attaquer. "; attend(); style underline; print "^^~Allez grand guerrier. Montre moi ce que tu sais faire. ~"; move lihin to lastroom; } else {print "Vous prononcez ce mot et vous entendez que l'on marche @`a pas feutr@'es derri@`ere vous. Vous @`etes trop terroris@'e pour vous retourner alors qu'une main aux griffes d'acier se pose sur votre @'epaule. Une voix de femme vous murmure doucement : "; style underline; print "^^Alors, on triche ?"; style roman; print "^^Et vous mourrez alors que des griffes d'acier vous transpercent le dos. ";Mort();;}} ]; [IcebergDie; print "Le Monstre de L'iceberg semble tr@'es atteint par cette derni@`ere gerbe de sang et titube. Il tombe @`a genoux et tout l'Iceberg tremble. Puis il semble se disloquer : sa t@^ete tombe, ses bras se d@'etachent de son corps, et une main difforme s'arrache et glisse le long de l'iceberg pour venir flotter dans l'eau.^^~H@'e ben, c'@'etait pas de la tarte !~ s'exclame Ben, essoufl@'e. ~Qu'est ce qui nous attend maintenant !~^^Vous rengainez sombrement, en contemplant la masse sombre de la Forge des Mondes au plein nord, qui vous prend tout le champ de vision. Qu'est ce qui nous attend?^^Certainement pire. Certainement pire. ";prisoner.killed++;ben.killed++; remove icebergmonster;move icedead to icebergs;move hand to icebergs; ]; [LastSceal; print "^^Vous saisissez la hampe de la fl@'eche @`a deux mains et vous prenez une grande inspiration. "; style underline; print "^^Plus dur que pr@'evu. "; style roman; print "^^Vous sentez Ben trembler, Lihin vous maudire. "; attend(); print "^^Et vous appuyez un grand coup. La magie de la fl@'eche grav@'ee @`a votre Vrai Nom est trop forte pour le pouvoir de Lihin et vous sentez que votre vie vous @'echappe. Vous vous @'ecroulez au sol comme une masse, en vous vidant de votre sang. "; attend(); print "^^Ben se d@'etache de votre main."; attend(); print "^^La sensation malsaine de la possession de Lihin s'efface completement et votre vision se brouille. "; attend(); print "^^Vous entendez un grincement formidable et un roulis gigantesque. Avec votre derni@`ere goul@'ee de vie, vous tournez la t@^ete. "; attend(); print "^^Un rai de lumi@`ere vous @'eblouit alors que les deux battants de la grande porte s'ouvrent en grand. De l'autre cot@'e, vous percevez une lumi@`ere c@'eleste, irradiante. Et avant que vous perdiez d@'efinitivement connaissance --- et la vie ---, vous distinguez @`a contre jour cinq silhouettes s'approcher pour en franchir le seuil. "; print "^^^*** vous @^etes mort ***^^^^^Voulez-vous RECOMMENCER, CHARGER une partie sauvegard@'ee ou QUITTER ?^^^^>"; attend(); style underline; print "^^Hey ! Stop ! "; style roman; attend(); print "^^Attendez une petite minute ! "; attend(); print "^^Je ne sais pas ce qu'il vous est arriv@'e, mais apparemment, vous n'@^etes pas mort ! "; attend(); print "^^Mais o@`u @^etes vous ? "; attend(); style underline; print "^^~OUVRE LES YEUX~^^^^"; style roman; print ">"; attend(); print "o"; attend(); print "u"; attend(); print "v"; attend(); print "r"; attend(); print "i"; attend(); print "r"; attend(); print " "; attend(); print "y"; attend(); print "e"; attend(); print "u"; attend(); print "x"; attend(); prisoner.hp=prisoner.maxhp; PlayerTo(cosmos); ]; [Fin; print "Vous vous reveillez apr@'es un temps ind@'efinissable.^^Un vent l@'eger souffle sur votre peau et entre vos v@'etements, un vent doux et tiede comme ceux des soirs d'@'et@'e."; attend(); print "^^Vous vous dressez sur vos coudes, allong@'e, et vous remarquez avec joie que toutes vos blessures ont @'et@'e gu@'eries ; mieux : vous vous sentez en paix.^^Vous @^etes sur une petite colline herbue qui tombe vers un hameau de grandes maisons au toit de chaume bordant la mer.^^Vous sentez des odeurs de pain chaud et vous entendez des chants tranquilles qui couvrent @`a peine le ressac tranquille des eaux calmes.^^Quelques @'etoiles se maintienent encore en suspens dans le ciel qui se colore de rose pour cette nouvelle aube.^^Un nouveau jour pour vous.^^Vous portez la main @`a votre ceinture mais il n'y a plus d'@'ep@'ee. Ben...a du recouvrer une autre destin@'ee.^^"; attend(); print "^^Vous descendez doucement vers le hameau, foulant une terre agr@'eable, observant les journaliers partant au travail et @'ecoutant leurs chansons. "; attend(); print "^^Qu'avait dit Lookti, d@'ej@`a? Des bonheurs simples.^^"; attend(); print "^^Enfin. "; attend(); style underline; print "^^Enfin de retour. "; attend(); print "^^^^********************************************************************^ Bravo !^ Vous avez termin@'e ~La Mort Pour Seul Destin !~^ Nous vous souhaitons une vie de bonheurs simples !^^Vos statistiques :^^Vous avez pass@'e ",tempus.jour, " jours dans les Terres Perdues.^Vous avez tu@'e ", prisoner.killed, " ennemis.^Vous avez re@@cu ", prisoner.cicatrices, " blessures et ",prisoner.fire, "br@^ulures.^^Merci d'@'ecrire @`a l'auteur pour lui faire part de votre victoire et de vos commentaires : lejibe@@64hotmail.com^********************************************************************"; style roman; deadflag=true; ]; ! ---------------------------------------------------------------------------- ! Daemons Majeurs (Permanents) ! ---------------------------------------------------------------------------- Object tempus "Imgar" ! ce daemon s'occupe de la gestion du temps meteo et horaire, avec descriptions afferentes, mais aussi des checks vie & mort, des dispatchs... with found_in [;return location;], react_before [;Go : tempus.fruitus--;tempus.monstrus--;tempus.disease--;], daemon [k; FruitGiver(); MonsterGiver(); DiseaseGiver(); CheckDeath(); tempus.heure++; if (tempus.temps>15) {tempus.temps--;} if (tempus.temps<0) {tempus.temps++;} if (tempus.heure>239) {tempus.heure=0;tempus.jour++;} k = random(3); switch(k) { 1 : tempus.temps++; 2 : tempus.temps--; } if (location hasnt inside) { if (tempus.heure>40 && tempus.heure<60) {tempus.nuit=0;if (k==1) {print "Vous devinez sur l'est la blancheur d'un nouveau jour qui s'approche. ";}} if (tempus.heure>60 && tempus.heure<75) {tempus.nuit=0;if (k==1) {print "Le soleil rougeoyant de l'aube s'arrache de la ligne d'horizon ecorch@'ee au loin par les Monts Barri@`eres. ";}} if (tempus.heure>110 && tempus.heure<140) {tempus.nuit=0;if (k==1 && tempus.temps<5) {print "Le soleil est haut dans le ciel, et vous sentez une certaine chaleur se diffuser sur les environs. ";}} if (tempus.heure>205 && tempus.heure<220) {tempus.nuit=1;if (k==1) {print "Le soleil rougeoyant du cr@'epuscule s'enfonce sous les Monts Barri@`eres, teintant le ciel de rouge et de pourpre. ";}} if (tempus.heure>220 || tempus.heure<40) {tempus.nuit=1;if (k==1) {print "L'obscurit@'e de la nuit vous enveloppe, et modifie les aspects de chaque chose. ";}} if (tempus.temps<0 || tempus.temps==0) {if (tempus.nuit==1) {print "Le ciel est parfaitement d@'egag@'e et mille @'etoiles inconnues brillent dans le ciel autour d'une immense lune. ";}} if (tempus.temps>0 && tempus.temps<10) {if (k==1) {if (tempus.nuit==1) {print "Au travers des quelques nuages, vous distinguez un ciel noir et pourpre, et parfois, une lune @'enorme qui se d@'evoile au milieu de milliers d'@'etoiles. ";} else {print "Quelques nuages d@'echirent un ciel d'azur. ";}}} if (tempus.temps==10) {print "Un brouillard l@'eger se forme autour de vous, masquant montagnes et horizon. ";} if (tempus.temps==11) {print "Une petite averse ti@`ede tombe pendant quelques minutes, puis s'arr@`ete. ";} if (tempus.temps==12) {print "Une averse de grosses gouttes se met @`a tomber alors que le ciel se charge de lourds nuages noirs. ";} if (tempus.temps==13) {print "Une pluie lourde et froide se met @`a tomber, des traits d'eau tels des lances qui vous trempent jusqu'aux os et rendent le terrain boueux. ";} if (tempus.temps==14) {print "L'orage s'intensifie et des @'eclairs terrifiants d@'echirent le ciel tandis que le vent et le tonnerre plient les arbres sous leurs souffles. ";} if (tempus.temps==15 || tempus.temps>15) {print "Un terrible orage @'ebranle les lieux : une pluie dense et froide qui devient des @'epis d'acier qui s'enfoncent dans votre chair sous l'action du vent, et une fureur d'@'eclairs @'eblouissants et de tonnerre assourdissant qui vous fait perdre courage et forces. ";prisoner.hp--;} } ], heure 60, temps 5, jour 1, nuit 0, fruitus 0, monstrus 0, disease 0, has scenery; Object peintre "Poline" ! ce daemon gere les petites phrases qui contribuent a l'atmosphere with found_in [;return location;], each_turn [i;if (location hasnt special && location hasnt inside) { i=random(100); switch(i) { 1 : print "Un nuage de corneilles s'envole @`a quelques m@`etres de vous. "; 2 : print "De grands oiseaux volent haut dans le ciel dans un grand V. "; 3 : print "Une petite belette file @`a quelque distance et va se terrer dans un trou. "; 4 : print "Une mouette passe @`a cot@'e de vous en piaulant. "; 5 : print "Vous entendez les piaulements d'un choucas. "; 6 : print "Un crapaud croasse p@'eniblement @`a vos cot@'es, et s'enfuit d'un bond. "; 7 : print "Vous entendez le rugissement d'un terrible animal provenant du nord. "; 8 : print "Une petite brise fait voler quelques brins d'herbe devant vous. "; 9 : print "Une libellule vole autour de vous dans un gr@'esillement aga@@cant. "; 10 : print "Des abeilles butinent en bourdonnant tout autour de vous. "; 11 : print "Une petite poule d'eau noire et blanche tourne sa t@^ete vers vous et s'enfuit tout de suite. "; 12 : print "Un flamand rose vole nonchalamment au dessus de votre t@^ete. "; 13 : print "Vous butez sur un petit rocher. "; 14 : print "Vous sentez une odeur de menthe fraiche. "; 15 : print "Vous sentez qu'une voix vous murmure quelque chose..."; 16 : print "Vous entendez un petit tintement. "; 17 : print "De petits grillons chantent tout autour de vous. "; 18 : print "Un curieux mamif@`ere, semblable @`a une loutre, fonce sur vous, vous observe, puis dispara@^it. "; 19 : print "Un renard traverse votre chemin @`a quelques centaines de m@`etres et disparait. "; 20 : print "Un loup hurle dans le lointain. "; 21 : print "Un nuage de papillons dor@'es danse quelques minutes autour de vous. "; 22 : print "Un grondement de tonnerre roule dans le lointain. "; 23 : print "Une chauve souris fr@^ole votre t@^ete et d'un coup d'ailes dispara@^it derri@`ere vous. "; 24 : print "Une lumi@`ere brille faiblement dans le ciel. "; 25 : print "Un petit serpent se tortille @`a vos pieds avant de se terrer sous un rocher. "; 26 : print "Un @'epervier tourne au dessus de votre t@^ete et s'envole vers le nord. "; 27 : print "Un buisson s'agite d'un bruit suspect non loin de vous. "; 28 : print "Un @'enorme barrissement retentit et r@'esonne dans la vall@'ee. "; } } ], has scenery; ! ---------------------------------------------------------------------------- ! Daemons Mineurs (Temporaires) ! ---------------------------------------------------------------------------- Object firefire "Pyros" with found_in [;return location;], daemon [k;k=random(5)-3; print "Vous @^etes en feu, et les flammes courent sur vous ! Vous vous jetez au sol pour @'etouffer ces terribles flames. "; if (tempus.temps>7) {print "La pluie @'etouffe les flammes...";firefire.flame=firefire.flame-5;} if (firefire.flame>10) {print "Vous @^etes transform@'e en torche vivante, votre peau se carbonise et votre sang bout, et vous vous effondrez dans d'atroces souffrances. ";Mort();;} else if (firefire.flame>5) {print "Vos v@^etements ont pris feu, et les flammes vous mordent comme mille lames mortelles. ";prisoner.hp=prisoner.hp-7;} else if (firefire.flame>0) {print "Des flam@`eches remontent le long de vos v@^etements, dispersant une odeur grill@'ee @'ecoeurante. ";prisoner.hp--;} else {firefire.flame<1;print "En vous d@'emenant comme un beau diable, vous @'echappez enfin @`a l'enfer et @'eteignez les derni@`eres flammes. ";StopDaemon(firefire);} firefire.flame=firefire.flame+k; prisoner.fire++; ], flame, has scenery; Object malun "Gangrene Papillon" with found_in [;return location;], daemon [k;k=random(2)-1; prisoner.mal1=1; if (malun.flame==10) {print "Observant votre main, vous remarquez qu'un motif semble s'en d@'etacher. Vous l'approchez de votre visage, et effectivement, deux petites ailes se d@'ecollent et battent, laissant @`a vif vos os et vos muscles. Tout votre corps bruisse soudain, et l'envol d'un millier de papillons vous arrache un terrible cri de souffrance : @'ecorch@'e vif, votre mort sera br@`eve, mais atroce. ";Mort();;} else if (malun.flame==5) {print "Les @'etranges motifs de votre bras vous d@'emangent, et, remontant vos manches, vous remarquez que le dessin multicolore a progress@'e et remonte le long de vos membres. Les dessins se d@'ecoupent en petites formes semblables @`a des papillons. ";} else if (malun.flame==1) {print "Vous sentez un petit chatouillis alors qu'un tatouage iridescent appara@^it sur votre peau : les couleurs, violettes, jaunes et mordor@'ees, vous fascinent. ";} else {malun.flame=0;print "Vous observez le tatouage dispara@^itre de votre peau comme par magie. ";prisoner.mal1=0;StopDaemon(malun);} malun.flame=malun.flame+k; ], flame, has scenery; Object glaviot "Crachat Cosmique" with found_in [;return location;], daemon [k;k=random(2)-1; prisoner.mal2=1; if (glaviot.flame>0) {print "Le crachat de l'@'eponge mystique vous br@^ule la peau. ";prisoner.hp--;glaviot.flame--;CheckHealth();} else {print "Le crachat de l'@'eponge mystique ne vous fait plus souffrir. ";prisoner.mal2=0;StopDaemon(glaviot);} ], flame, has scenery; Object glaviot2 "Crachat de Crapaud" with found_in [;return location;], daemon [k;k=random(2)-1; prisoner.mal2=1; if (glaviot2.flame>0) {print "Le crachat du crapaud vous br@^ule la peau. ";prisoner.hp--;glaviot2.flame--;CheckHealth();} else {print "Le crachat du crapaud g@'eant ne vous fait plus souffrir. ";prisoner.mal2=0;StopDaemon(glaviot2);} ], flame, has scenery; Object desin "d@'esint@'egration" with found_in [;return location;], daemon [;prisoner.spectral=1; print "^"; switch(self.flame) { 1 : print "Vous avez l'impression d'@^etre devenu plus...l@'eger, moins dense. Comme c'est @'etrange..."; 2 : print "Vous vous sentez *vraiment* transparent, si l@'eger que m@^eme le vent pourrait vous emporter. "; 3 : print "Vous perdez prise avec la r@'ealit@'e...votre @'ep@'ee vous passe au travers de la main et vous la rattraper au dernier moment. "; 4 : print "Vous regardez votre main avec horreur, car vous pouvez voir le paysage au travers ! Vous @^etes en train de disparaitre ! "; 5 : print "Vous @^etes aussi immat@'eriel qu'un fant@^ome @`a pr@'esent, reli@'e @`a la r@'ealit@'e par quelques mol@'ecules flottant encore dans votre corps. "; 6 : print "Vous @^etes devenu compl@'etement immat@'eriel. Un souffle de vent vous disperse en quelques secondes au quatre coins des terres perdues, o@`u vous reposerez @`a jamais. ";StopDaemon(desin);Mort();; } print "^"; if (random(5)==1) {print "Vous vous concentrez et vous forcez les particules de votre corps @`a se solidifier. ";self.flame--;} if (self.flame==0) {print "Vous @^etes de nouveau compl@`etement solide, maintenant. ";StopDaemon(desin);prisoner.spectral=0;} ], flame, has scenery; ! --------------------------------------------------------------------------- ! Fonctions ! --------------------------------------------------------------------------- [FruitGiver k; if (tempus.fruitus<0 && location hasnt inside) { k=random(20);switch(k) { 1 : if (coucourdes in fruitparadise) {move coucourdes to location;} 2 : if (oignons in fruitparadise) {move oignons to location;} 3 : if (herbesfeu in fruitparadise) {move herbesfeu to location;} 4 : if (jonquilles in fruitparadise) {move jonquilles to location;} 5 : if (fraises in fruitparadise) {move fraises to location;} 6 : if (navet in fruitparadise) {move navet to location;} 7 : if (oignon in fruitparadise) {move oignon to location;} 8 : if (morvus in fruitparadise) {move morvus to location;} 9 : if (lightnut in fruitparadise) {move lightnut to location;} 10 : if (clover in fruitparadise) {move clover to location;} 11 : if (figue in fruitparadise) {move figue to location;} 12 : if (sauge in fruitparadise) {move sauge to location;} 13 : if (carris in fruitparadise) {move carris to location;} 14 : if (redseed in fruitparadise) {move redseed to location;} 15 : if (blueseed in fruitparadise && arbrefilet in fruitparadise) {move blueseed to location;} } tempus.fruitus=5; } ]; [MonsterGiver k; if (tempus.monstrus<0 && location hasnt special) { k=random(10);switch(k) { 1 : if (panda in monsterparadise) {move panda to location;print "Un panda arrive en se dandinant nonchalamment.^";} 2 : if (pinkf in monsterparadise) {move pinkf to location;print "Un flamand rose se pose non loin de vous. ^";} 3 : if (sponge in monsterparadise) {move sponge to location;print "Vous entendez un bruit @'etrange...vous vous retournez et voyez une @'enorme @'eponge qui roule vers vous. ^";} 4 : if (gonio in monsterparadise) {move gonio to location;print "Un cliquetis se fait entendre et vous vous retournez : un @'etrange appareil vient de s'approcher.^ ";} 5 : if (umbra in monsterparadise) {move umbra to location;print "Une ombre grise vient d'appara@^itre devant vous !^ ";} 6 : if (toad in monsterparadise) {move toad to location;print "BAOUM. ";attend();print "Oh oh, que vous arrive-t-il encore ? ";attend();print "BAOUM.^^Vous vous retournez, et vous voyez un immense crapaud, gros comme une maison, atterir non loin derri@`ere vous. ^";} 7 : if (werer in monsterparadise) {move werer to location;print "Vous entendez un chant religieux scand@'e et tournez la t@^ete dans cette direction : un curieux homme @`a t@^ete de lapin est en train de prier. ^";} 8 : if (cow in monsterparadise) {move cow to location;print "Un meuglement vous fait tourner la t@^ete : une...une sorte de vache, mais qui se tient sur ses deux pattes arri@`eres, comme un humain, vous toise avec m@'efiance. ^";} } tempus.monstrus=10; } ]; [DiseaseGiver k; if (tempus.disease<0 && location has diseased) { k=random(10);switch(k) { 1 : if (random(2)==1) {print "Une petite flamme vole autour de vous. Vous la regardez avec inter@^et, sur vos gardes, et vous vous apercevez qu'il s'agit d'une sorte de moustique volant, mais dont le corps est une v@'eritable flamme qui se consume...Vous reculez, mais le moustique tourne autour de vous, enflammant vos v@^etements !^^De rage, vous l'@'ecrasez entre vos mains. ";firefire.flame=random(10-tempus.temps);StartDaemon(firefire);} 2 : if (random(2)==1) {print "Un papillon aux milles reflets iris@'es, grand comme votre paume, tourne autour de vous dans une danse hypnotisante. Vous le chassez, mais il vous projete un petit liquide volatile avant de disparaitre. ";malun.flame=random(3);StartDaemon(malun);} } tempus.disease=10; } ]; [Breakribs k; k=random(14); switch(k) { 1 : print "Le coup porte en plein dans la poitrine et vous d@'echire les chairs. ";prisoner.torse--; 2 : print "Le coup porte en plein dans la poitrine et vous d@'echire les chairs. ";prisoner.torse--; 3 : print "Le coup porte en plein dans la poitrine et vous d@'echire les chairs. ";prisoner.torse--; 4 : print "Le coup porte en plein dans la poitrine et vous d@'echire les chairs. ";prisoner.torse--; 5 : print "Votre oeil gauche est touch@'e, salement. ";prisoner.leye--; 6 : print "En plein dans votre oeil, ce qui vous fait souffrir terriblement. ";prisoner.reye--; 7 : print "C'est un coup port@'e en plein sur votre bras gauche dont vous perdez le contr@^ole. ";prisoner.larm--; 8 : print "C'est un coup port@'e en plein sur votre bras gauche dont vous perdez le contr@^ole. ";prisoner.larm--; 9 : print "Votre bras droit encaisse toute la force de l'attaque dans de terribles douleurs. ";prisoner.rarm--; 10 : print "Votre bras droit encaisse toute la force de l'attaque dans de terribles douleurs. ";prisoner.rarm--; 11 : print "Votre jambe gauche @'etait vis@'ee, et le coup porte de toute sa puissance. ";prisoner.lleg--; 12 : print "Votre jambe gauche @'etait vis@'ee, et le coup porte de toute sa puissance. ";prisoner.lleg--; 13 : print "Votre jambe droite @'etait vis@'ee, et le coup porte de toute sa puissance. ";prisoner.rleg--; 14 : print "Votre jambe droite @'etait vis@'ee, et le coup porte de toute sa puissance. ";prisoner.lleg--; } ]; [CheckDeath; if (prisoner.hp<1) {print "Vous vous @'ecroulez, @`a bout de forces. Les Terres Perdues seront votre tombeau. ";Mort();;} if (prisoner.larm==0 && prisoner.rarm==0) {print "Vos deux bras sont bris@'es, hors d'usage. Vous ne pourrez vous d@'efendre au prochain assaut. Les Terres Perdues seront votre tombeau. ";Mort();;} if (prisoner.lleg==0 && prisoner.rleg==0) {print "Avec vos deux jambes bris@'ees, vous devenez une proie facile. Les Terres Perdues seront votre tombeau. ";Mort();;} if (prisoner.torse==0) {print "Une douleur intense vous transperce alors que votre plexus solaire se brise et que vos entrailles s'@'echappent par votre ventre. Vous perdez connaissance et mourez, en quelques secondes. ";Mort();;} if (prisoner.leye==0 && prisoner.reye==0) {print "La perte de votre dernier oeil vous transperce d'une douleur terrible. La mort vient vous prendre peu de temps apr@'es...de toute fa@@con, vous ne seriez pas all@'e loin @`a t@^atons dans la Vall@'ee Perdue. ";Mort();;} ]; [BenAssaut g; g=random(8); print "Ben s'@'ecrie : ~"; switch(g) { 1 : print "Que ton sang abreuve les sillons !"; 2 : print "Rock'n'Roll, Baby !"; 3 : print "Taiau !"; 4 : print "You're on the highway to hell !"; 5 : print "A l'assaut !"; 6 : print "Chaaaaaaaaaaargez !"; 7 : print "Prends @@ca !"; 8 : print "Meurs !"; } print "~^"; ]; [BenDefense g; g=random(8); print "Ben s'@'ecrie : ~"; switch(g) { 1 : print "Allez, viens, je t'attends !"; 2 : print "Allez, attaque, j'ai pas peur !"; 3 : print "Banzai !"; 4 : print "La mort attend ceux qui s'opposent @`a moi !"; 5 : print "Pour Iranos !"; 6 : print "Donne moi ton sang, vermine !"; 7 : print "Que ton sang coule !"; 8 : print "Meurs !"; } print "~^"; ]; [Fuite y; if (CheckDefense()+random(tempus.temps)+random(prisoner.luck)-y-random(tempus.temps)>0) {return 1;} else {return 0;} ]; [CheckDefense l; l=prisoner.rleg+prisoner.lleg+prisoner.larm+prisoner.rarm+prisoner.torse+prisoner.leye+prisoner.reye+((4-prisoner.mode)*3)+3; if (ben in prisoner) {l=l+random(10*ben.level);} return l; ]; [CheckAttaque l; l=prisoner.rleg+prisoner.lleg+prisoner.larm+prisoner.rarm+prisoner.torse+prisoner.leye+prisoner.reye+(prisoner.mode*3)+3; if (ben in prisoner) {l=l+random(15*ben.level);} return l; ]; [CheckHealth; if (prisoner.hp<5) {print "Ca va mal, vous @^etes vraiment @`a bout de forces...^";} if (prisoner.hp<15 && prisoner.hp>4) {print "Attention, vous commencez @`a vous sentir vraiment @`a bout de forces...^";} if (prisoner.hp<25 && prisoner.hp>14) {print "Aie, c'est pas la grande forme..^";} if (prisoner.hp<35 && prisoner.hp>24) {print "Vous ne vous effondrez pas pour autant et encaissez sans broncher...^";} if (prisoner.hp<45 && prisoner.hp>34) {print "Ok, ca va encore bien pour vous.^";} if (prisoner.hp>55) {print "Malgr@'e cela, vous vous sentez en pleine forme !^";} ]; [DoBlow l; switch(l) { 0 : print "Ca ne vous a pas fait tr@'es mal. "; 1 : print "Mais ce n'est pas tr@'es grave : juste quelques contusions. "; 2 : print "Ca vous a fait un peu mal, mais rien de tr@'es pr@'eoccupant. "; 3 : print "Ca vous a fait assez mal... "; 4 : print "C'est une blessure assez s@'erieuse, vous serrez les dents en essayant de l'oublier. "; 5 : print "Vous vous @^etes salement fait mal, cette fois. "; 6 : print "Aou-ou ! Quelle douleur ! La blessure vous fait perdre conscience quelques secondes. "; 7 : print "La blessure est vraiment tr@'es s@'erieuse, et vous sentez des troubles internes vous taillader les entrailles. "; 8 : print "Vous tentez d'ignorer la gravit@'e extr@`eme de la blessure qui vous a @'et@'e inflig@'ee, mais vous sentez le souffle glac@'e de la mort vous murmurer une effroyable invitation. "; 9 : print "Votre blessure est extr@'eme et vous ne tenez sur vos jambes que par votre volont@'e in@'ebranlable de vivre. "; 10 : print "Votre blessure est extr@'eme et vous ne tenez sur vos jambes que par votre volont@'e in@'ebranlable de vivre.. ";} if (l>10) {print "La blessure qui vous a @'et@'e inflig@'ee portait le sceau de la Mort en elle. ";} print "^"; if (l>7) {Breakribs();} ]; [DoBlow2 l; switch(l) { 0 : print "Mais vous lui avez @`a peine inflig@'e une petite @'egratinure. C'est pas gagn@'e. "; 1 : print "Mais apparemment vous lui avez fait un tout petit peu mal. "; 2 : print "Hum, ca ne lui a pas fait tr@'es mal. "; 3 : print "Vous souriez de soulagement quand vous voyez le trouble de votre adversaire qui constate la gravit@'e de la blessure que vous lui avez inflig@'ee. "; 4 : print "Votre adversaire semble salement bless@'e. "; 5 : print "Vous lui avez fait une sacr@'ee blessure, cette fois ! Votre adversaire en tremble de douleur. "; 6 : print "Votre coup @'etait pr@'ecis et mortel : votre adversaire stoppe quelques secondes pour encaisser la douleur. "; 7 : print "Vous lui avez inflig@'e une blessure tr@'es grave, votre adversaire ne s'en remettra pas avant longtemps. "; 8 : print "Votre coup @'etait parfait, la blessure, terrible. "; 9 : print "La blessure inflig@'ee est si terrible qu'elle sera sous peu mortelle pour votre adversaire. "; 10 : print "Votre coup @'etait divin, d'une puissance surhumaine, arrachant la vie et d@'echirant membres de votre adversaire. ";} if (l>10) {print "Votre coup @'etait divin, d'une puissance surhumaine, arrachant la vie et d@'echirant membres de votre adversaire. ";} print "^"; if (l>7) {prisoner.strike=1;} ]; [Mort; if (prisoner.phenix==1) {print "Vous mourez...^^";attend();print "...mais une force magique prend possession de vous, et r@'epare tous vos membres, soigne vos tissus bless@'es et vous redonne une vigueur nouvelle : le pouvoir du ph@'enix vous a sauv@'e !^^";prisoner.hp=prisoner.maxhp;prisoner.larm=2;prisoner.rarm=2;prisoner.lleg=2;prisoner.rleg=2;prisoner.torse=4;prisoner.leye=1;prisoner.reye=1;prisoner.mal1=0;prisoner.mal2=0;prisoner.spectral=0;prisoner.phenix=0;} else { print "La mort vous emporte...^^@^O exil@'e en terres @'etranges depuis ", tempus.jour, " jours tu rejoins le royaume des morts en ayant tu@'e toi m@^eme ", prisoner.killed, " ennemis.^^Puisse les Dieux Anciens te faire bon accueil dans cet autre monde. ";deadflag=true;} ]; [JeSub w; wn=consult_from; w=NextWord(); switch(w) { 'idiot','bete','stupide' : print "^Pas de d@'efaitisme s'il vous pla@^it. "; 'pleutre','couard','lache','fuyard': print "^Vous ne vous sentez plus apte @`a l'affrontement direct et une certaine panique vous envahit. D@'esormais, vous ferez tout votre possible pour @'eviter les combats. ";prisoner.mode=0; 'prudent','defensif' : print "^Vous estimez quelques unes de vos blessures et vous songez avec amertume @`a vos @'echecs pass@'es. D@'esormais, vous serez plus prudent lors de vos affrontements @`a venir. ";prisoner.mode=1; 'courageux','normal','combattif' : print "^Vous d@'egainez et rengainez votre @'ep@'ee, assurant votre prise sur la garde. Qu'ils y viennent ! pensez vous. Vous saurez vous d@'efendre, et tous les vaincre. ";prisoner.mode=2; 'brave','temeraire','agressif' : print "^Vous plantez votre @'ep@'ee dans le sol devant vous et vous bombez le torse. Aucun adversaire ne vous r@'esistera. Vous les tuerez tous !";prisoner.mode=3; 'violent','bourrin','tueur' : print "^Vous passez votre langue sur le fil de votre @'ep@'ee et l@'echez le sang qui s'y @'ecoule. Il vous faut tuer. Vite. Sans piti@'e.";prisoner.mode=4; } ]; [UntieSub; print "Vous ne voyez pas l'inter@^et d'une telle action. "; ]; [GraverSub; print "Vous ne voyez pas l'inter@^et d'une telle action. "; ]; [SifflerSub; if (pinkf in location) {print "Vous sifflez en imitant les piaillements du flamand rose. Celui ci siffle en retour, amicalement, puis retourne @`a ses occupations. ";pinkf.peace=1;} else {print "Vous sifflez un petit air entrainant, mais la nostalgie de votre cit@'e natale vous serre le coeur. ";} ]; [ChanterSub; if (toad in location) {print "Vous fredonnez une petite chanson joyeuse. L'@'enorme crapaud ferme ses yeux @`a demi et se laisse bercer, heureux.^^Il s'@'eloigne ensuite gentiment. ";toad.peace=1;toad.stable=1;} else {print "Vous voudriez bien chanter un peu, mais vous n'avez pas vraiment le coeur @`a cela dans la situation actuelle. ";} ]; [SeedSub; print "Planter quoi, Messire ? Mmm je pense que cela ne va pas marcher...^"; ]; ! ---------------------------------------------------------------------------- ! Grammaire & Verbes ! ---------------------------------------------------------------------------- Include "FrenchG"; Verb 'Je' * 'suis' topic ->Je * 'suis un' topic ->Je; Verb 'xyzzy' * ->Xyzzy; Verb 'aide' * ->Aide; Verb 'licence' * ->License; Verb 'detacher' * noun ->Untie; Verb 'denouer' * noun ->Untie; Verb 'graver' 'sculpter' * topic 'sur' noun ->Graver; Verb 'enfoncer' * noun ->Push; Verb 'siffler' * ->Siffler; Verb 'planter' 'semer' * noun ->Seed; Verb 'chanter' 'fredonner' 'chantonner' * ->Chanter; Verb 'lancer' * noun 'sur' noun -> ThrowAt; ! ----------------------------------------------------------------------------