!========================================================== ! Première scène ! On n'a pas le droit à KeyCharPrimitive à cause du bug Vorple ! Alors on découpe l'exposition en plusieurs tours [ TexteDebut ; "@<< Le problème du diesel, c'est que quand les prix augmentent, nos revenus n'augmentent pas forcément, explique Manuiti, la cheffe.^ @{2014} Oui, parfois j'ai l'impression que tout l'argent qu'on gagne, il est dépensé en diesel, ajoute son mari, le chef Ahutoru. On a l'impression de vendre les ressources de notre île, et on en tire à peine cinq heures d'électricité par jour... @>>^ Manuiti hoche la tête. @<< Tout le monde était d'accord hier au conseil de village : il faut faire quelque chose pour améliorer la situation. @>>^ Vous acquiescez. Ils vous regardent.^^ "; ]; Object Maisondeschefs "Maison des chefs" with scene 0, description [; print "Hier soir, c'était le conseil du village, où tout le monde était réuni pour discuter ; la conversation a vite tourné autour du prix du diesel, qui augmente ces temps-ci. "; ClicGauche("Ahutoru"); print " et "; ClicGauche("Manuiti"); print ", les chefs, vous ont fait venir ce matin pour vous expliquer ce qu'ils attendent de vous ; leur regard bienveillant vous convainc presque que vous êtes à la hauteur de la tâche."; ""; ], each_turn [; self.scene++; print "^"; switch(self.scene) { 1: print "@<< On est contents que tu sois volontaire pour essayer d'y faire quelque chose, reprend Ahutoru. Tiniarii nous a dit beaucoup de bien de toi !^@{2014} Oui, renchérit Manuiti, c'est bien que la nouvelle garde veuille s'impliquer dans la communauté. Pour résumer, voilà comment on va faire : dans un premier temps, il faut que tu trouves la consommation en énergie du village ; puis il va falloir déterminer qui consomme quoi dans le village, pour savoir quoi réduire. On a déjà une petite idée sur ces questions, fait-elle en regardant Ahutoru, mais on voudrait que tu le fasses en partant de zéro. Ça permettra de confirmer ce qu'on pense...^@{2014} Une sorte d'audit indépendant, quoi... ajoute Ahutoru.^@{2014} Oui voilà, exactement ! Et puis ça te permettra de montrer, à nous comme au reste du village, que tu prends les choses au sérieux et que tu y comprends quelque chose ! @>>^Vous acquiescez. Ahutoru reprend :^@<< Sans compter que ça te permettra de voir où sont les marges de man@oeuvre niveau économies, et de concentrer tes efforts sur ce qui en vaut la peine. @>>"; ! réduire la consommation comme tu peux; va falloir faire un diagnostic aussi if (isVorpleSupported()) { VorpleNotification("Pour consulter l'avancement de votre petite enquête à tout moment, tapez NOTES."); } else { style underline; print "^^Pour consulter l'avancement de votre petite enquête à tout moment, tapez NOTES."; style roman; } ""; 2: "Manuiti soupire. @<< Bien. Actuellement, vu les finances du village... ça serait bien si on arrivait à réduire nos importations de 25%. Mais c'est peut-être beaucoup te demander, donc... @>> Elle regarde Ahutoru. @<< 10% ?^@{2014} Oui, 10% ou 15% ça serait un bon début, fait ce dernier. Mais, ajoute-t-il avec un grand sourire, ne t'inquiète pas, hein : tu es sur ce problème à plein temps, tu vas parler aux gens et tu réfléchis, et je suis sûr que tu trouveras quelque chose. Et bien sûr n'hésite pas à nous demander de l'aide !^@{2014} Okay, je vais voir ce que je peux faire...^@{2014} Ah, et n'hésite pas à venir nous montrer ton rapport quand tu penses avoir accompli l'une des tâches, d'accord ?^@{2014} Compris ! @>>"; ! objectif 15%, mais viens nous voir si t'as besoin d'aide 3: "@<< Bien, alors, il va être temps de s'y mettre, hein ? N'oublie pas, va te renseigner et pose des questions, il y a sûrement quelques personnes qui ont dû y réfléchir ou pourront te donner des idées. @>>"; ! allez, c'est bon, vas-y 4: print "@<< Bon, fait Manuiti, c'est pas le tout, mais on a des trucs à faire aujourd'hui. Reviens nous voir quand tu as trouvé, d'accord !^@{2014} Oui, pardon @{2014} oui, euh, oui, entendu. @>> faites-vous en bafouillant.^^Vous sortez de la maison des chefs.^"; PlayBackground(BOUCLE_PLAGE); PlayerTo(plage_maires); rtrue; ! on te fiche dehors } ], out_to [; if (self.scene < 2) { "La conversation n'est pas vraiment finie ; ça serait malpoli."; } else {return plage_maires; } ], !out_to plage_maires, ! DEBUG MODE has ; ! Les NPCs sont ici parce qu'ils sont pas très durs Object Init_ChefAhutoru "Chef Ahutoru" Maisondeschefs with name 'chef' 'ahutoru', description "Ahutoru est chef du village avec Manuiti depuis des années, bien avant que vous naissiez ; il a les cheveux bien plus blancs que n'importe qui d'autre au village. Il a toujours été très bienveillant avec vous, même si vous n'êtes pas de sa famille @{2014} en fait, il est bienveillant et à l'écoute de tout le monde, même si sa naïveté et sa gentillesse lui ont déjà joué des tours. Mais lui et Manuiti sont extrêmement respectés au village, auquel ils ont beaucoup apporté @{2014} c'est eux par exemple qui ont apporté l'électricité au village.", life [; "Vous n'osez pas interrompre la conversation."; ], ! c'est triché, mais... before [; MontrerRapport: return ValidationObjectifs("il"); ], has animate proper concealed; Object Init_CheffeManuiti "Cheffe Manuiti" Maisondeschefs with name 'cheffe' 'manuiti', parse_name ComplicatedParsing, phrase_name 'chef' 'manuiti', description "Manuiti est cheffe du village avec Ahutoru depuis des années, bien avant que nous naissiez ; de nombreuses rides creusent son visage. C'est sans doute elle la plus réaliste des deux, qui sait garder la tête froide et s'en tenir à des plans sensés, mais elle est aussi plutôt têtue et n'hésitera pas à dire les choses en face, parfois brusquement. Pour être honnête, elle vous fait encore un peu peur, plus que Ahutoru ; mais il faut avouer que les deux se complètent parfaitement, et que c'est grâce à eux que le village est ce qu'il est actuellement.", life [; "Vous n'osez pas interrompre la conversation."; ], ! c'est triché, mais... before [; MontrerRapport: return ValidationObjectifs("elle"); ], has animate proper concealed; !========================================================== ! Lieux !====================== ! Fonds sonore ! Tiré de l'exemple "Port Royal Reggae" de Vorple pour I6 Constant BOUCLE_PLAGE = 0; Constant BOUCLE_JUNGLE = 1; Constant BOUCLE_VILLAGE = 2; Constant BOUCLE_CASCADE = 3; Constant BOUCLE_CRIQUE = 4; Global current_music = -1; [ PlayBackground i ; switch (i) { BOUCLE_PLAGE: VorplePlayMusic("plage.mp3",1); BOUCLE_JUNGLE: VorplePlayMusic("jungle.mp3",1); BOUCLE_VILLAGE: VorplePlayMusic("village.mp3",1); BOUCLE_CASCADE: VorplePlayMusic("cascade.mp3",1); BOUCLE_CRIQUE: VorplePlayMusic("crique.mp3",1); } current_music = i; ]; Class Plage with each_turn [; if (current_music ~= BOUCLE_PLAGE) {PlayBackground(BOUCLE_PLAGE);} ], before [thing ; Swim: <>; ! Go: objectloop(thing in self) { ! if (thing provides proprio_leaving) { ! if (thing.proprio_dehors == 1) { remove proprio; thing.proprio_dehors = 0; print (string) thing.proprio_leaving; } ! } ! } rfalse; ], has light; Class Jungle with each_turn [; if (current_music ~= BOUCLE_JUNGLE) {PlayBackground(BOUCLE_JUNGLE);} ], has light; Class Village with each_turn [; if (current_music ~= BOUCLE_VILLAGE) {PlayBackground(BOUCLE_VILLAGE);} ], before [thing ; Listen: "Mis à part le bruit faible mais continu de la cascade, vous n'entendez pas grand-chose."; ! Go: objectloop(thing in self) { ! if (thing provides proprio_leaving && thing.proprio_dehors == 1) { remove proprio; thing.proprio_dehors = 0; print (string) thing.proprio_leaving; } ! } rfalse; ], has light; Class Cascade with each_turn [; if (current_music ~= BOUCLE_CASCADE) {PlayBackground(BOUCLE_CASCADE);} ], has light; Class Crique with each_turn [; if (current_music ~= BOUCLE_CRIQUE) {PlayBackground(BOUCLE_CRIQUE);} ], has light; Object ocean_obj "océan" with description "L'océan est calme, comme toujours, avec quelques petites vagues près du rivage. L'eau est très claire, ce qui est pratique pour la pêche ; mais vous avez toujours aimé contempler la couleur de l'océan au loin, changeante selon les jours mais toujours d'un bleu-vert éclatant.", parse_name ComplicatedParsing, name 'ocean' 'mer' 'pacifique' 'eau', phrase_name 'surface' '.opt' 'de' '.name' './' 'horizon' '.or' 'vagues//p' '.or' 'vague' '.or' 'vaguelettes//p' '.or' 'vaguelette' '.or' 'onde' '.or' 'ondes//p', before [; Touch: "L'eau est plutôt chaude @{2014} elle n'est jamais vraiment froide, pour tout dire. Ici, on peut se baigner à toute heure, toute l'année."; Swim, NagerDans, Enter: "Vous faites quelques pas dans la mer, jusqu'à ce que l'eau atteigne le haut de vos cuisses, puis vous entrez complètement dans l'eau. Vous restez quelques minutes comme ceci, à flotter en regarder l'horizon, tout en réfléchissant au problème que vous essayez de résoudre ; puis vous ressortez de l'eau."; Take, Push, Pull: "L'eau file entre vos doigts."; Drink: "C'est de l'eau salée @{2014} pas très appétissant."; ], found_in [; return (location ofclass Plage); ], ! dans toutes les rooms de classe Océan (qui sont au bord de la mer) has scenery concealed; Object sable_obj "sable" with description "La plage est faite de sable fin, d'un jaune pâle presque immaculé, qui peut être particulièrement brûlant en plein après-midi.", name 'sable' 'plage', found_in [; if (location == ponton) { rfalse; } return (location ofclass Plage); ], ! dans toutes les rooms de classe Océan (qui sont au bord de la mer) sauf le ponton before [; Take: "Vous prenez une poignée de sable fin et la laissez couler entre vos doigts."; Touch: "C'est le matin, mais le sable est déjà plutôt chaud."; Enter: "Vous êtes debout sur le sable."; Dig: "Ça n'est pas vraiment la peine @{2014} personne n'a jamais trouvé de trésor ici."; ], has scenery concealed; Object ext_jungle_obj "jungle" with description "Une jungle dense entoure le village, et occupe la plus grande partie de la surface de l'île de Tipelau. Avec l'océan, c'est votre autre source de subsistance ; aussi, le village a dû trouver le bon équilibre entre exploiter la jungle et vivre des fruits de la jungle. Quelques chemins ont été tracés dans la jungle, vers la plantation de taro de Torea, la plantation de cocotiers de Maihere, et les générateurs du village.", name 'jungle' 'foret' 'arbres//p' 'arbre' 'cocotier' 'cocotiers//p', found_in [; return (location ofclass Plage || location ofclass Village || location ofclass Cascade); ], has scenery concealed female; !============================ ! Lieux et décor Class Maison with parse_name ComplicatedParsing, name 'maison', description [; print "Cette maison est semblable à toutes les autres du village ; sa structure est faite de bois, et le toit est fait à partir de "; Tooltip("palme de cocotier","En Océanie, on tresse la palme de cocotier, puis on la plonge dans la mer et on la sèche, pour qu'elle se conserve plus longtemps. On utilise aussi la palme pour les murs des habitations."); print ". Son propriétaire est peut-être à la maison ; il vous suffit de frapper à la porte pour le savoir."; ], before [ i; Enter: "Il faudrait peut-être frapper."; FrapperPorte: if (self provides proprio) { if (proprio_dehors == 1) { "Vous n'avez pas besoin de refaire cela."; } else { if (self.proprio ofclass Routine) { i = self.proprio(); } else { i = self.proprio; } move i to parent(self); if (self.proprio_string ofclass String) { print (string) self.proprio_string; } else { self.proprio_string(i); } ""; } } else {"Vous frappez à la porte, mais rien ne se passe.";} ], proprio_string [i ; print "Vous frappez à la porte. Après quelques instants, la porte de la maison s'ouvre, et "; if (i ofclass Object) { } else { if (self.proprio ofclass Routine) { i = self.proprio(); } else { i = self.proprio; } } print (name) i; print " apparaît. @<< Salut, Tumata ! Qu'est-ce que tu veux ? @>>"; ], proprio_dehors 0, proprio_leaving "@<< À plus tard, Tumata ! @>> La porte se referme alors que vous vous éloignez.", has scenery concealed enterable female; [ FrapperPorteSub ; "Je ne comprends pas à quelle porte vous voulez frapper."; ]; Extend only 'frapper' * 'a' 'la' 'porte' ->FrapperPorte ! pour éviter de frapper à la porte du catalogue * 'a' 'la' 'porte' 'de' noun ->FrapperPorte; Verb 'toquer' 'taper' * 'a' 'la' 'porte' ->FrapperPorte * 'a' 'la' 'porte' 'de' noun ->FrapperPorte; !========= ! Plage Plage ponton "Ponton" with description [; print "Le "; ClicGauche("ponton"); print " est fait de planches achetées à Tokeroa @{2014} solides, et spécialement traitées pour éviter le pourrissement, mais il faut quand même les remplacer de temps en temps. Les ondes à la surface de l'"; ClicGauche("océan"); print " clapotent doucement contre le dessous du ponton. De part et d'autre, sur les deux gros poteaux qui soutiennent le ponton, sont attachées des "; ClicGauche("cordes"); print ", utilisées pour attacher les deux bateaux à moteur du village : celui de Revatua, et celui de Varii. Vous pouvez revenir sur la plage en allant au "; ClicDirection("nord"); print "."; ""; ], n_to plage_extremiteouest, out_to plage_extremiteouest, before [; Listen: if (noun == 0) { "Les petites vaguelettes clapotent doucement sous le ponton."; } ], has ; Object pontonobj "ponton" with description [; switch(location) { ponton: print (string) ponton.description; plage_extremiteouest: print "Le ponton avance sur l'océan, en direction du sud."; default: print "Plus loin, à l'extrémité ouest de la plage, se trouve le ponton, où l'on amarre les bateaux du village."; } ""; ], name 'ponton' 'poteau' 'planche' 'planches//p', found_in [; return (location ofclass Plage); ], before [; Enter: switch(location) { ponton: "Vous êtes déjà dessus."; plage_extremiteouest: print "Vous montez sur le ponton."; <>; default: print "Vous vous rapprochez du ponton en allant vers l'ouest."; <>; } Exit: switch(location) { ponton: print "Vous descendez du ponton."; <>; default: "Vous n'êtes pas sur le ponton."; } ], has scenery concealed; Object -> cordes "cordes" with description "De grosses cordes, épaisses comme votre poing, attachées aux poteaux du ponton.", name 'attache' 'attaches', before [; Take: "Elles sont solidement attachées, et de toute façon Varii et Revatua en ont besoin. Mais peut-être que Revatua pourrait vous en ramener une de Tokeroa ?"; ], has scenery concealed pluralname; Plage plage_extremiteouest "Extrémité ouest de la plage" with description [; print "La "; ClicGauche("plage"); print " s'arrête ici, là où la "; ClicGauche("jungle"); print " commence : quelques plantes et quelques arbres sur un petit bout de terre un peu surélevé, qui part de la mer et va à l'intérieur des terres. Un "; ClicGauche("chemin de terre"); print " vers le "; ClicDirection("nord"); print " s'enfonce dans la forêt, allant vers les générateurs du village et la plantation de Torea ; le ponton s'avance dans la mer, au "; ClicDirection("sud"); print ", et la plage continue vers l'"; ClicDirection("est"); print "."; ""; ], n_to foret_chemin, s_to Ponton, e_to plage_pecheur, has ; Object chemindeterre "chemin de terre" with description "Le chemin de terre s'enfonce dans la jungle, et mène aux générateurs à diesel.", parse_name ComplicatedParsing, name 'chemin' 'passage' 'sentier', phrase_name '.name' '.opt' 'de' 'terre', found_in ponton plage_extremiteouest plage_pecheur, before [; Take: switch(location) { ponton: print "Vous vous rapprochez du chemin au nord."; <>; plage_pecheur: print "Vous vous rapprochez du chemin à l'ouest."; <>; plage_extremiteouest: print "Vous empruntez le chemin et vous enfoncez dans la jungle."; <>; } ], has scenery concealed pluralname; Plage plage_pecheur "Plage (devant la maison de Varii)" with description [; print "Non loin de l'extrémité ouest de la plage se trouve la "; ClicGauche("maison de Varii"); print ", et sa fille adolescente Faùai. C'est la maison la plus proche du "; ClicGauche("ponton"); print ", à l'"; ClicDirection("ouest"); print ", là où Varii amarre son bateau @{2014} pratique, car il doit faire beaucoup d'aller-retours. Vers l'"; ClicDirection("est"); print ", c'est le reste de la plage, et notamment la maison de vos parents."; ""; ], e_to plage_parents, w_to plage_extremiteouest, has ; Maison Maisondupecheur "maison de Varii" plage_pecheur with phrase_name '.name' '.opt' 'du' 'pecheur' './' '.name' '.opt' 'de' 'varii'; Plage plage_parents "Plage (près de la maison de vos parents)" with description [; print "Vous êtes en face de la "; ClicGauche("maison de vos parents"); print ", Tapuarii et Pairu ; à cette heure-là, ils doivent être à la maison. La "; ClicGauche("maison voisine"); print " est celle de Torea et sa famille ; Torea n'est sûrement pas à la maison (il travaille à sa plantation toute la journée), mais sa femme Raihei y est peut-être, à moins qu'elle ne soit aussi à la plantation. La plage continue vers l'"; ClicDirection("est"); print ", et la maison de Revatua, et vers l'"; ClicDirection("ouest"); print ", vers la maison de Varii."; ""; ], e_to plage_marchand, w_to plage_pecheur, has ; Maison MaisondeTorea "maison de Torea et Raihei" plage_parents with phrase_name '.name' '.opt' 'de' 'torea' '.or' 'raihei' './' '.name' 'voisine' './' '.name' '.opt' 'des' 'voisins', proprio raihei; Maison Maisondesparents "Maison des parents" plage_parents with phrase_name '.name' '.opt' 'des' 'parents' './' '.name' '.opt' 'de' '.opt(' 'mes' '.or' 'vos' '.)' 'parents' './' '.name' 'de' 'mon' 'pere' './' '.name' 'de' 'ma' 'mere' '.or' 'famille' './' '.name' 'familiale', phrase_name2 '.name' '.opt' 'de' 'tapuarii' '.or' 'pairu', proprio maman, proprio_string "Vous ouvrez la porte de votre maison. @<< Il y a quelqu'un ?^@{2014} Oui, j'arrive ! fait votre mère du fond de la maison. @>>^^Vous attendez quelques instants, puis votre mère arrive dans l'entrée. @<< Tout va bien, Tumata ? Qu'est-ce que tu veux ? @>>", before [; Enter: <>; ]; Plage plage_marchand "Plage (près de la maison de Revatua)" with description [; print "Cette maison est la "; ClicGauche("maison du marchand"); print ", Revatua, et de sa femme Ataroa. Leur fille, Maiarii, est une de vos amies @{2014} vous avez à peu près le même âge. Juste à côté se trouve la "; ClicGauche("maison d'Eterà et Nara'i"); print ", qui viennent d'avoir une petite fille. La plage continue vers l'"; ClicDirection("ouest"); print ", et la maison de vos parents, ou vers l'"; ClicDirection("est"); print ", vers la place du village."; ""; ], e_to plage_milieu, ne_to plage_milieu, w_to plage_parents, has ; Maison MaisondumarchandRevatua "maison de Revatua" plage_marchand with phrase_name '.name' '.opt(' '.opt' 'du' 'marchand' '.)' '.opt(' '.opt' 'de' 'revatua' '.)'; Maison Maison2 "maison d'Etera et Nara'i" plage_marchand with phrase_name '.name' '.opt(' 'de' '.or' 'd^' '.)' 'etera' '.or' 'nara^i' './' '.name' '.opt(' 'de' '.or' 'd^' '.)' '.opt(' 'etera' 'et' 'nara^i' '.)' '.or' '.opt(' 'nara^i' 'et' 'etera' '.)', proprio etera; Plage plage_milieu "Plage" with description [; print "Devant vous, au "; ClicDirection("nord"); print ", se trouve la place principale du village, un peu en retrait parmi les arbres. La plage continue vers l'"; ClicDirection("est"); print ", et la maison des chefs, et vers l'"; ClicDirection("ouest"); print ", vers la maison de Revatua."; ""; ], n_to village_place, e_to plage_maires, w_to plage_marchand, has ; Plage plage_maires "Plage (devant la maison des chefs)" with description [; print "La "; ClicGauche("maison des chefs"); print " du village, Ahutoru et Manuiti, se tient ici. Vous pouvez aller vers la place du village au "; ClicDirection("nord-ouest"); print ", ou aller vers la dernière maison de la plage, à l'"; ClicDirection("est"); print "."; ""; ], e_to plage_est, w_to plage_milieu, nw_to village_place, has ; Maison Maisondesmaires "maison des chefs" plage_maires with phrase_name '.name' '.opt' 'des' 'chefs' './' '.name' '.opt(' 'de' '.or' 'd^' '.)' '.opt(' 'chef' '.or' 'cheffe' '.)' 'ahutoru' '.or' 'manuiti', proprio [; if (random(2) == 1) { return chef; } else { return cheffe; } ], has ; Plage plage_est "Plage (devant la dernière maison)" with description [; print "La "; ClicGauche("dernière maison"); print " sur la plage est celle d'Erena et Orirau. Au "; ClicDirection("nord-est"); print " se trouve une "; ClicGauche("colline"); print " qui mène à la cascade, mais vous pouvez également aller vers l'extrémité "; ClicDirection("est"); print " de la plage, ou vers l'"; ClicDirection("ouest"); print ", où se trouve la maison des chefs."; ""; ], e_to plage_extremiteest, w_to plage_maires, ne_to cascadelieu, u_to cascadelieu, has ; Object colline "colline" with description "Une petite colline de quelques mètres de haut surplombe le côté est du village ; en haut de la colline se trouve une petite cascade. Vous vous souvenez avoir dévalé cette colline plus d'une fois étant plus jeune, finissant votre course en plongeant dans la mer.", name 'colline' 'butte' 'monticule', found_in plage_est village_puits cascadelieu, before [; Climb: if (location == cascadelieu) {"Vous êtes déjà sur la colline.";} else { print "Vous grimpez la colline."; PlayerTo(cascadelieu); rtrue;} Exit: if (location == cascadelieu) { print "Vous descendez le versant ouest de la colline."; <>; } else { "Vous n'êtes pas sur la colline."; } ], has scenery concealed; Maison Maison12 "maison d'Erena et Orirau" plage_est with phrase_name 'derniere' '.name' './' '.name' '.opt(' 'd^' '.or' 'de' '.)' 'erena' '.or' 'orirau', proprio erena; Plage plage_extremiteest "Extrémité est de la plage" with description [; print "Vous êtes à l'extrémité est de la plage, délimitée par un "; ClicGauche("rocher coupant"); print " de quelques mètres de haut. Derrière le rocher se trouve une crique où les vagues sont turbulentes ; pour s'y rendre, il faut grimper vers le "; ClicDirection("nord"); print ", par la "; ClicGauche("colline"); print " qui mène à la cascade. Vous pouvez aussi revenir vers le village, à l'"; ClicDirection("ouest"); print "."; ""; ], n_to cascadelieu, u_yo cascadelieu, w_to plage_est, has ; Object rocher "rocher coupant" plage_extremiteest with description [; print "Un rocher de quelques mètres de haut, qui délimite l'extrémité est de la plage du village ; de l'autre côté, l'océan. Ça n'est pas vraiment une bonne idée que d'essayer d'y grimper dessus ; la surface est irrégulière et mouillée, et ça semble assez risqué. Mieux vaut passer par la "; ClicGauche("colline"); print " pour atteindre la crique."; ""; ], name 'rocher' 'roche' 'caillou' 'recif', parse_name ComplicatedParsing, phrase_name 'rocher' '.or' 'caillou' '.or' 'recif' 'coupant' './' 'roche' 'coupante', before [; Climb: "Ça n'est pas une bonne idée, vous vous couperiez les pieds. Mieux vaut grimper sur la colline."; ], has scenery concealed; !=========== ! Cascade Cascade cascadelieu "Cascade" with description [; print "En haut de la petite "; ClicGauche("colline"); print " se trouve une petite "; ClicGauche("cascade"); print " d'eau douce, qui se jette quelques mètres plus loin dans l'"; ClicGauche("océan"); print ". La rivière est à l'origine de la nappe phréatique de laquelle le "; ClicGauche("puits"); print ", en bas de la colline à l'"; ClicDirection("ouest"); print ", puise l'eau du village @{2014} l'eau de la rivière est parfois saumâtre, et les villageois préfèrent l'eau du puits, qui est plus pure. Vers l'"; ClicDirection("est"); print " se trouve un rebord surplombant la crique."; ""; ], s_to plage_extremiteest, d_to plage_extremiteest, e_to Crique2, w_to village_puits, before [; Listen: if (noun == 0) { <>; } ], has ; Object -> cascadeobj "cascade" with description "La petite cascade fait à peu près deux mètres de haut, et l'eau coule à débit modéré.", name 'cascade' 'chute', before [; Listen: "L'eau s'écoule et tombe, formant un bruit blanc continu audible depuis le village."; ], has scenery concealed female; Object lefauxpuits "puits" with description [; if (location == cascadelieu) {"En contrebas de la colline, vous voyez le puits du village."; } else {"À l'est de la place du village se trouve le puits."; } ], name 'puits', found_in cascadelieu village_place, before [; Take, Push, Pull, Touch, Rub: "Vous en êtes trop loin."; ], has scenery concealed ; !=========== ! Crique Crique Crique2 "Falaise surplombant la crique" with description [; print "La "; ClicGauche("crique"); print ", deux mètres plus bas, est bien connue des villageois @{2014} depuis que vous êtes petit, vous avez toujours entendu tout le monde dire qu'il ne faut pas aller dans cette crique. On ne dirait pas, mais elle est profonde, et l'eau y est très turbulente @{2014} sans doute parce que les vagues entrent dans la crique par un petit passage et rebondissent sur les parois de la falaise. Vous pouvez revenir vers la cascade à l'"; ClicDirection("ouest"); print "."; ""; ], w_to cascadelieu, d_to "C'est trop dangereux @{2014} même si vous n'êtes plus un gamin, le conseil est toujours bon à suivre.", has ; Object -> criqueobj "crique" with description "La crique, deux mètres plus bas, est bien connue des villageois @{2014} depuis que vous êtes petit, vous avez toujours entendu tout le monde dire qu'il ne faut pas aller dans cette crique. On ne dirait pas, mais elle est profonde, et l'eau y est très turbulente @{2014} sans doute parce que les vagues entrent dans la crique par un petit passage et rebondissent sur les parois de la falaise.", ! lazy name 'crique' 'baie' 'calanque', before [; Enter, Exit: <>; ], has ; !=========== ! Village Village village_place "Place du village" with description [; print "La place du village est un peu en retrait de la plage ; entourée d'"; ClicGauche("arbres"); print ", on peut y trouver de l'ombre pendant la journée, ce qui en fait le centre de la vie sociale du village @{2014} avec le "; ClicGauche("restaurant d'Anirau"); print ", à l'"; ClicDirection("ouest"); print ". L'"; ClicGauche("école"); print ", un grand bâtiment en bois, se tient au "; ClicDirection("nord"); print " de la place ; au "; ClicDirection("nord-ouest"); print " se trouvent deux maisons, qui sont celles de Vavea et de Tiniarii. La plantation de cocotiers de Maihere se trouve au bout d'un "; ClicGauche("chemin"); print " au "; ClicDirection("nord-est"); print " ; enfin, à l'"; ClicDirection("est"); print " se trouve le "; ClicGauche("puits"); print " du village."; ""; ], n_to village_ecole, s_to plage_milieu, e_to village_puits, w_to village_restaurant, in_to village_restaurant, ne_to plantationcocotiers, nw_to village_maisons, has ; Object mockrestau "restaurant d'Anirau" village_place with description "Le restaurant d'Anirau se tient sur la place du village @{2014} c'est le lieu de vie sociale du village, où tout le monde se retrouve la nuit tombée.", name 'restaurant' 'taverne' 'gargote' 'bar' 'snack' 'batiment', parse_name ComplicatedParsing, phrase_name '.name' '.opt(' 'de' '.or' 'd^' '.)' 'anirau', before [; Enter: <>; ], has scenery concealed; Village village_puits "Puits du village" with description [; print "Ici se trouve le "; ClicGauche("puits"); print " du village, qui tire son "; Tooltip("eau", "Le village n'a pas d'eau chaude @{2014} mais ça ne leur manque pas, car ils prennent des bains d'eau froide, comme les Fidjiens !"); print " d'une nappe phréatique d'eau douce sous la rivière. Le village ne boit pas l'eau de la rivière ou de la cascade, plus haut, car elle est plus sombre et saumâtre ; traiter cette eau coûterait plus cher que tirer de l'eau du puits. Vous pouvez revenir sur la place du village à l'"; ClicDirection("ouest"); print ", ou grimper la colline à l'"; ClicDirection("est"); print "."; ""; ], w_to village_place, u_to cascadelieu, e_to cascadelieu, has ; Object lepuits "puits" village_puits with description "Le puits du village pompe de l'eau en profondeur, dans la nappe phréatique qui se trouve sous la colline non loin du village. L'eau qui sort du robinet est propre et claire @{2014} bien plus propre que celle de la rivière, en fait. Vous vous souvenez d'une fois où, comme tous les gamins du village à un moment ou un autre, vous aviez joué avec le robinet pour faire une bataille d'eau @{2014} mais ça n'avait pas duré longtemps, car les adultes étaient vite arrivés et grondé tout le monde. On ne gaspille pas l'eau du village.", name 'puits' 'pompe' 'robinet' 'tuyau' 'cuve', before [; SwitchOn, Turn: "On ne gaspille pas l'eau du village."; ], has scenery concealed ; Village village_restaurant "Restaurant" with description [; print "Le restaurant appartient à Anirau et Patea, qui vivent dans une dépendance avec leurs enfants (si vous vous souvenez bien, deux garçons et une petite fille). Anirau est la cuisinière, et Patea s'occupe en général du "; ClicGauche("bar"); print " @{2014} son punch est quasiment la boisson officielle du village. Vous vous souvenez avoir passé de nombreuses soirées ici, avec le reste du village, allant souvent d'une "; ClicGauche("table"); print " à l'autre @{2014} le restaurant est bondé quasiment tous les soirs, et les gens viennent se retrouver, parler, rire, et se délecter de la cuisine d'Anirau. La salle est grande, et a un plafond plus haut que la plupart des bâtiments du village ; des "; ClicGauche("ventilateurs"); print " sont suspendus au plafond.^^Anirau est en train de laver les tables d'un coup de poignet énergique."; ""; ], e_to village_place, out_to village_place, has ; Object ventilateurs "ventilateurs" village_restaurant with description "Les ventilateurs sont suspendus au plafond ; le soir, quand le restaurant se remplit et qu'Anirau cuisine, la chaleur peut vite devenir étouffante, et les ventilateurs tournent à plein régime et en permanence.", name 'ventilateur' 'ventilateurs//p' 'plafonnier' 'plafonniers//p' 'plafond', before [; Take, Turn, Push, Pull, Touch: "Les ventilateurs sont suspendus au plafond, à plusieurs mètres de hauteur."; SwitchOn, SwitchOff: "L'électricité est coupée en ce moment."; ], has scenery concealed pluralname; Object tables "tables" village_restaurant with description "Le restaurant a une demi-douzaine de tables plutôt grandes, avec des longs bancs ; en se serrant, on pourrait y faire rentrer tout le village, mais c'est rare qu'il y ait vraiment tout le monde en même temps au restaurant.", name 'table' 'tables//p' 'banc' 'bancs//p' 'siege' 'sieges//p', before [; Enter: "Vous n'avez pas besoin de vous asseoir."; Insert: "Vous ne voyez pas pourquoi vous feriez cela."; ], has scenery concealed supporter enterable pluralname; Object bar "bar" village_restaurant with description "Le bar est fait de grandes planches en bois, et délimite le restaurant de la cuisine. Ici, c'est service au bar @{2014} Patea est toujours derrière le bar, et sert les boissons @{2014} punch, lait de coco, eau de coco, et même de la bière et des liqueurs importées de Tokeroa @{2014} et la nourriture, en allant donner les assiettes à Anirau.", name 'bar' 'planche' 'planches//p' 'alcool' 'biere' 'bieres//p' 'coco' 'punch' 'lait' 'eau' 'boisson' 'boissons//p', before [; Enter, Climb, Jump: "Vous n'osez pas passer de l'autre côté du bar."; ], has scenery concealed enterable supporter; Village village_maisons "Maisons de Tiniarii et de Vavea" with description [; print "La "; ClicGauche("maison de Vavea"); print " et la "; ClicGauche("maison de Tiniarii"); print " sont un peu en retrait de la place du village, derrière l'école. Il vous semble que le raisonnement était que la sage-femme devrait être près du centre du village, au cas où, et que l'instituteur devrait être proche de l'école @{2014} ça semble logique. Un "; ClicGauche("chemin"); print " s'enfonce dans la forêt au "; ClicDirection("nord-est"); print " ; vous pouvez aussi revenir sur la place du village au "; ClicDirection("sud-est"); print "."; ""; ], ne_to foret_profonde, se_to village_place, has ; Object cheminprofonde "chemin" village_maisons with description "Ce chemin s'enfonce dans la jungle derrière les maisons.", name 'chemin', has scenery concealed; Maison MaisonduprofTiniarii "maison de Tiniarii" village_maisons with phrase_name '.name' '.opt' 'du' 'prof' '.or' 'professeur' './' '.name' '.opt' 'de' 'tiniarii'; Maison MaisondelasagefemmeVavea "maison de Vavea" village_maisons with phrase_name '.name' '.opt' 'de' '.opt' 'la' 'sage-femme' '.or' 'vavea' './' '.name' '.opt' 'de' '.opt' 'la' 'sage' '-femme' '.or' 'femme', proprio sagefemme; Village village_ecole "Devant l'école" with description [; print "L'"; ClicGauche("école"); print " est un grand bâtiment en bois, qui sert pour l'instruction, mais est aussi le lieu où les habitants du village se réunissent pour le conseil du village. Les enfants du village vont en classe pendant l'après-midi, et Tiniarii leur apprend d'abord à lire, écrire, compter, puis leur transmet le savoir de l'île @{2014} sa faune, sa flore, mais aussi son histoire. Tous les six mois, tout le monde s'entasse dans les bateaux de Revatua et Varii et va visiter Tokeroa, pour découvrir une autre ville, une autre cuisine, une autre culture @{2014} et ramène des souvenirs, ou des livres pour agrandir la bibliothèque de l'île (deux étagères dans l'école). Vers l'"; ClicDirection("ouest"); print ", c'est la maison de Tiniarii, et celle de Vavea ; le chemin vers la plantation de cocotiers va vers l'"; ClicDirection("est"); print ". Vous pouvez également contourner le bâtiment et vous enfoncer dans la forêt au "; ClicDirection("nord-ouest"); print "."; ""; ], nw_to foret_profonde, w_to village_maisons, e_to plantationcocotiers, s_to village_place, has ; Object mockecole "école du village" with description "L'école du village est un grand bâtiment en bois @{2014} on peut y réunir tout le village, les soirs de conseil. Tiniarii y fait classe tous les après-midis aux enfants du village.", name 'ecole' 'college' 'lycee' 'batiment', parse_name ComplicatedParsing, phrase_name 'ecole' 'primaire' '.or' 'secondaire' '.or' 'maternelle', found_in village_place village_ecole, before [; Enter: <>; ], has scenery concealed female; [ ContournerSub ; if (noun == mockecole) { <>; } else {"Vous ne voyez pas comment contourner cela.";} ]; Verb 'contourner' * noun ->Contourner; !============ ! Jungle Jungle foret_chemin "Chemin dans la forêt" with description [; print "La "; ClicGauche("jungle"); print " vous entoure, dense, avec ses cocotiers et ses lianes. Vous entendez le bruit des grillons @{2014} qui ne s'arrêtent jamais vraiment. Le chemin se poursuit au "; ClicDirection("nord-est"); print ", vers les générateurs, tandis que vous pouvez revenir vers la plage au "; ClicDirection("sud"); print "."; ""; ], s_to plage_extremiteouest, ne_to foret_generateurs, before [; Listen: if (noun==0) { "Vous entendez les grillons, et un peu de mouvement derrière des feuilles, au loin. Sans doute un singe."; } ], has ; Jungle foret_profonde "Jungle profonde" with description [; print "Vous vous enfoncez dans la jungle ; il vous semble que le bruit des grillons augmente en volume. Les arbres vous entourent, et vous vous arrêtez après quelques centaines de mètres, voyant le chemin bifurquer. Vers le "; ClicDirection("nord-ouest"); print ", c'est la plantation de Torea, qui fait pousser du taro et récolte des galipes. Si vous repartez vers le "; ClicDirection("sud"); print ", vous arrivez derrière l'école, et les maisons de Vavea et Tiniarii sont au "; ClicDirection("sud-ouest"); print " ; aller à l'"; ClicDirection("ouest"); print " vous rapproche des générateurs, et la plantation de cocotiers de Mahiere est à l'"; ClicDirection("est"); print "."; ""; ], s_to village_ecole, e_to plantationcocotiers, sw_to village_maisons, nw_to plantation_taro, cant_go "Vous préférez ne pas trop vous avancer dans la forêt.", has ; Jungle plantationcocotiers "Plantation de cocotiers" with description [; print "La plantation est facilement visible : au bout du chemin, une partie entière de la jungle se transforme en des rangées de "; ClicGauche("cocotiers"); print ". Les "; ClicGauche("noix de coco"); print " poussent en hauteur, et il faut grimper aux cocotiers pour les décrocher, ou bien les secouer. La maison de Maihere et Iotua est au milieu de la plantation.^^Iotua est ici, près d'une pile de noix de coco, dont elle enlève la "; Tooltip("bourre", "Les @<< poils @>> de la noix de coco, qui forment une couche de quelques centimètres d'épaisseur."); print" à la machette."; ""; ], n_to foret_profonde, sw_to village_place, has ; Object cocotiers "cocotiers" plantationcocotiers with description [; print "Les cocotiers font une dizaine de mètres de haut @{2014} ceux-là sont mûrs, et peuvent produire des "; Tooltip("noix de coco", "Un cocotier commence à produire des noix de coco au bout de 5 ans, et n'est plus productif au bout de 70 ans."); print ". Vous seriez capable d'y grimper, mais pas avec Iotua ici."; ""; ], name 'cocotiers//p' 'cocotier' 'palmier' 'palmiers//p' 'palme' 'arbre' 'arbres//p', before [; Climb: "Iotua vous dirait sûrement d'en descendre rapidement."; ], has scenery concealed; Object desnoix "pile de noix de coco" plantationcocotiers with name 'tas' 'pile', parse_name ComplicatedParsing, phrase_name '.name' '.opt' 'de' 'noix' '.opt' 'de' 'coco' './' 'noix' '.opt' 'de' 'coco', description [; print "C'est une pile de noix de coco : Iotua est en train de les prendre, une par une, et d'enlever la "; Tooltip("bourre", "Les @<< poils @>> de la noix de coco, qui forment une couche de quelques centimètres d'épaisseur."); print " que Iouta est en train d'enlever à la machette."; ""; ], before [; Take, Pull, Push, Climb: "Ces noix de coco ne sont pas à vous."; ], has female scenery concealed; Jungle plantation_taro "Plantation de taro" ! torea fait pousser du taro et de la patate douce, et récole aussi les galipes, fruits du pandanus with description [; print "La "; Tooltip("tarodière", "Mot désignant une plantation de taro."); print " de Torea est splendide. Aménagée dans une "; ClicGauche("clairière"); print " dans la forêt, elle est organisée en "; ClicGauche("sillons"); print " remplis d'eau, creusés entre des lignes de terre surélevées, sur lesquelles le "; ClicGauche("taro"); print " pousse. Les lignes sombres alternent avec les lignes de couleur vert clair, et les feuilles sont de différentes tailles. Dans une autre clairière humide, un peu plus loin dans la forêt, Torea fait aussi pousser des "; Tooltip("patates douces", "La patate douce a besoin de beaucoup d'eau pour pousser."); print ", et il récolte également les "; Tooltip("galipes", "Fruits du pandanus, consommés surtout aux Kiribati et aux Îles Marshall."); print " des pandanus qui poussent près de la côte nord de l'île. Vous pouvez repartir vers le village, au "; ClicDirection("sud-est"); print ".^^Torea est assis sur un tronc non loin, et est en train de couper les tubercules de taro."; ""; ], se_to foret_profonde, has ; Object tarodiere "tarodière" plantation_taro with name 'tarodiere' 'clairiere', description [; print "La tarodière est aménagée dans une "; Tooltip("clairière", "Le taro est généralement planté en bord de rivière ou dans les clairières de forêts humides."); print " humide de la forêt @{2014} le "; ClicGauche("taro"); print " a besoin d'un environnement très humide pour pousser, d'où aussi les "; ClicGauche("sillons"); print " creusés par Torea pour les entourer d'eau."; ""; ], parse_name ComplicatedParsing, phrase_name 'plantation' '.opt' 'de' 'taro', before [; Take: "Elle n'est pas à vous @{2014} et il y a beaucoup trop de taro de toute façon."; ], has scenery concealed female; Object sillons "sillons" plantation_taro with name 'sillons//p' 'sillon', description [; print "Torea cultive le taro en creusant des "; Tooltip("sillons", "Il existe plusieurs façons de faire pousser le taro : culture en marais, culture inondée, culture en îlots, et sa variante de la culture en sillons, pratiquée à Futuna et au Vanuatu."); print " et en les inondant ; le taro pousse sur les bandes de terre surélevées, entouré d'eau. Ça doit être difficile à récolter..."; ""; ], has pluralname scenery concealed; Object taro "taro" plantation_taro with name 'taro' 'turbercule' 'feuille' 'feuilles//p', description "Le taro pousse en environnement humide, et tant qu'il y a beaucoup d'eau, il peut pousser toute l'année. C'est un gros tubercule, qui peut se manger de tellement de façons @{2014} frit, en purée, en burgers... @{2014} que vous ne vous en lassez jamais ! Sans doute parce que c'est une partie importante de la cuisine locale, et que vous avez grandi en en mangeant presque tous les jours.", has edible concealed scenery ; !=========== ! Cabane Jungle foret_generateurs "Générateurs du village" with description [; print "Les générateurs à diesel du village se trouvent dans une simple "; ClicGauche("cabane"); print " en bois, dont la "; ClicGauche("porte"); print " n'est jamais fermée à clé. Manuiti vient les allumer le soir venu, pour quelques heures, et en général c'est Patea qui les éteint. Vous pouvez revenir au "; ClicDirection("sud-ouest"); print " vers la plage, ou vous enfoncer plus loin dans la forêt au "; ClicDirection("nord-est"); print "."; ""; ], sw_to foret_chemin, ne_to foret_profonde, in_to Portedelacabane, has ; Object -> mockcabane "cabane" with description [; print "Les générateurs à diesel se trouvent dans cette cabane, en retrait du village à cause du bruit des générateurs à diesel. La porte n'est jamais fermée à clé. Présentement elle est "; if (self has open) {print "ouverte";} else {print "fermée";} "."; ], name 'cabane' 'cabanon' 'hutte', before [; Enter: <>; Open: <>; Close: <>; ], has enterable scenery concealed female ; Object Portedelacabane "porte de la cabane" with description [; print "La porte de la cabane où sont les générateurs à diesel n'est jamais fermée à clé @{2014} elle le sera peut-être le jour où les singes auront compris comment l'ouvrir. Elle est "; if (self has open) {print "ouverte";} else {print "fermée";} "."; ], name 'porte', parse_name ComplicatedParsing, phrase_name 'porte' '.opt(' 'd^' 'entree' '.)' '.opt' 'de' '.opt' 'la' 'cabane' '.or' 'hutte', found_in foret_generateurs cabane, door_to [; if (self in cabane) return foret_generateurs; return cabane; ], door_dir [; if (self in cabane) return out_to; return in_to; ], when_open "La porte de la cabane est ouverte.", when_closed "La porte de la cabane est fermée.", has openable female static door ; Object cabane "Dans la cabane des générateurs" with description [; print "Dans cette cabane se trouvent les deux "; ClicGauche("générateurs à diesel"); print " du village. Un "; ClicGauche("baril à diesel vide"); print " est contre le mur en face de la porte, et un "; ClicGauche("calendrier"); print " est accroché sur le mur, au-dessus du baril."; ""; ], out_to Portedelacabane, has ; Object -> generateursdiesel "générateurs à diesel" with description [; print "Le village a deux générateurs à diesel, et vous pouvez lire leur puissance sur un "; ClicGauche("cadran"); print ". Vous vous souvenez quand les anciens ont été remplacés : les gens ont décidé d'avoir deux générateurs, pour avoir un peu d'électricité quand l'un tombe en panne, et il a fallu les dimensionner pour qu'ils travaillent toujours à puissance maximale, pour optimiser le rendement."; if (modedemploi in cabane && modedemploi.found < 2) {print "^^Vous apercevez un "; ClicGauche("bout de papier"); print " entre les cuves des générateurs."; modedemploi.found = 1; } ""; ], name 'generateur' 'generateurs//p', parse_name ComplicatedParsing, phrase_name '.name' '.opt(' '.opt' 'd^' 'electricite' '.)' '.opt' 'a//' 'diesel' './' 'cuve' '.or' 'cuves//p', has pluralname concealed scenery; Object -> cadran "cadran" with description [; print "Chaque générateur a un cadran qui indique la puissance à laquelle ils sont réglés. Ils sont actuellement éteints, mais quelqu'un a fait une marque à peu près en face de la graduation correspondant à 8kW @{2014} soyons précis, c'est plutôt "; Tooltip("7.25kW", "7250 joules (unités d'énergie) générées chaque seconde."); print ". Ça doit être la puissance à laquelle ils tournent."; if (generateur_puissance % 0 == 0) {generateur_puissance++; UpdatePremierObjectif(update_Puissance); NotesNotif(); } ""; ], name 'cadran' 'jauge', has scenery concealed; Object -> modedemploi "mode d'emploi des générateurs" with found 0, description [; switch(self.found) { 0: self.found=1; "Vous regardez autour de vous, à la recherche du mode d'emploi pour les générateurs @{2014} il doit bien être quelque part par là... Après quelques minutes vous l'apercevez entre les cuves des générateurs."; 1: "Le mode d'emploi est entre les curves des générateurs @{2014} il a dû tomber..."; ! pourcentage de pertes en ligne 2: print "Vous parcourez le mode d'emploi du générateur, à la recherche d'informations utiles. Tiens, page 4 vous trouvez la mention suivante : @<< Attention ! Dans le cas où le générateur est utilisé pour un réseau électrique local, vous remarquerez peut-être une différence entre la puissance générée et la puissance consommée. Cette différence est dûe aux pertes pendant l'acheminement de l'électricité, aussi appelées pertes en ligne ; elles sont de l'ordre de ", pertes_ligne, "%. @>>"; generateur_puissance = generateur_puissance + 2; UpdatePremierObjectif(update_Pertes); print "^Mais ça n'était que la page 4 ; peut-être y'a-t-il d'autres informations intéressantes ?"; self.found++; NotesNotif(); ""; ! Information "rendement du truc" 3: print "Bingo @{2014} page 7, un tableau qui détaille l'efficacité d'un générateur en fonction de la puissance à laquelle il tourne. Donc si vous réduisez la puissance du générateur, il est moins efficace @{2014} ça n'est pas assez pour effacer les économies d'énergie, mais c'est quand même un facteur à prendre en compte."; connait_rendement = 2; UpdatePremierObjectif(update_Rendement); self.found++; NotesNotif(); ""; 4: "Vous parcourez le mode d'emploi du générateur à la recherche d'informations supplémentaires, mais rien ne vous saute vraiment aux yeux."; } ], parse_name ComplicatedParsing, name 'fascicule' 'notice' 'papier', phrase_name 'mode' '.opt(' 'd^' '.or' 'de' '.)' 'emploi' '.rest' '.opt' 'pour' '.opt' 'les' '.opt' 'generateurs' '.opt' 'a//' '.opt' 'diesel' './' 'bout' '.opt' 'de' 'papier', phrase_name2 'notice' '.rest' '.opt' 'pour' '.opt' 'les' '.opt' 'generateurs' '.opt' 'a' '.opt' 'diesel', before [; Take: switch(self.found) { 0: self.found = 2; "Vous regardez autour de vous, à la recherche du mode d'emploi pour les générateurs @{2014} il doit bien être quelque part par là... Après quelques minutes vous l'apercevez entre les cuves des générateurs ; vous vous accroupissez et, passant le bras entre les cuves, parvenez à le récupérer."; 1: self.found = 2; move self to player; "Vous vous accroupissez et passez le bras entre les curves, et récupérez le mode d'emploi avec difficulté."; 2: rfalse; } ], has concealed ; Object -> calendrier "calendrier" with description [; if (connait_conso == 0) { connait_conso = 1; print "Vous vous approchez du calendrier : chaque jour, celui qui éteint le générateur marque le niveau de diesel restant dans les générateurs. Il y a aussi des croix rouges sur certains jours @{2014} en regardant de plus près, ça doit être les jours où Revatua achète un baril de diesel, car le niveau restant augmente à chaque croix rouge, alors qu'il diminue progressivement les autres jours. Après un rapide calcul, on dirait que Revatua achète un baril tous les ", (string) jours, " jours, et le baril fait 200 litres (c'est écrit dessus), ce qui donne ", conso_initiale, " L par semaine."; UpdatePremierObjectif(update_Conso_Diesel); NotesNotif(); ""; } else { "Le village mesure les niveaux de diesel et les inscrit sur le calendrier tous les jours, ce qui vous permet de déduire que le village consomme ", conso_initiale, " L de diesel par semaine."; } ], name 'calendrier', has concealed scenery; Object -> baril "baril vide" with description [; print "Ce baril de diesel est vide @{2014} Revatua doit le ramener le jour où il achètera le nouveau. Sur le couvercle vous pouvez voir que la capacité du baril est de 200L"; if (connait_conso == 0) { connait_conso = 1; print ", et un coup d'@oeil au calendrier vous informe que Revatua achète un baril tous les ", (string) jours, " jours... donc le village consomme ", conso_initiale, "L de diesel par semaine."; UpdatePremierObjectif(update_Conso_Diesel); NotesNotif(); } else {" @{2014} un baril dure ", (string) jours, " jours au village, d'après le calendrier."; } ""; ], name 'baril' 'conteneur', parse_name ComplicatedParsing, phrase_name '.name' '.opt(' 'a//' '.or' 'de' 'diesel' '.)' '.opt' 'vide' './' '.name' '.opt(' 'a//' '.or' 'de' ').' 'diesel', phrase_name2 '.name' '.opt(' 'a//' '.or' 'd^' 'essence' '.)' '.opt' 'vide' './' '.name' '.opt(' 'a//' '.or' 'd^' ').' 'essence', ! parce que le joueur a l'habitude des barils d'essence before [; Take: "Il est plutôt lourd, et vous ne sauriez pas trop quoi faire avec."; ], has concealed scenery; !========================================================== ! Objets !==================== ! Noix de coco à manipuler par le joueur Object coconut "noix de coco" with description "C'est une noix de coco, qui a dû tomber d'un cocotier environnant.", parse_name ComplicatedParsing, name 'coco', phrase_name 'noix' '.opt' 'de' '.name', found_in foret_profonde foret_chemin, before [; Touch: "La bourre de la noix de coco est très épaisse, et assez rêche."; ], has female; Object -> coco_bourre; Object coco_coque; Object coco_lait; Object coco_chair; Object coco_coprah; ! Puzzles / trucs qu'on peut faire : ! - trouver l'idée de l'huile de coco et convaincre le cocoman d'en produire (comment? trouver quelqu'un qui veut bosser avec lui, parler au maire d'un prix de rachat de l'huile, construire une presse électrique ou une presse hydraulique?) ! sans doute le plus gros puzzle, avec le plus d'économies d'énergie donc le faire bien meaty ! - un four solaire pour la restauratrice ! - un réservoir de solaire thermique pour qui veut (mais la conso d'eau chaude dépend des maisons, et comme ça prend plein de tours à faire le joueur voudra maximiser son impact, ce qui est ce qu'on veut) ; la restauratrice et la sage-femme ont sans doute les plus gros besoins ! - faire en sorte que le pêcheur et la sage-femme finissent ensemble et déménagent dans la même maison (marginal savings mais c'est cute) ! - faire marcher le puits à l'énergie renouvelable (éolien si y'a un réservoir, hydraulique si on peut faire ça en continu ou attendre des gens qu'ils branchent le mécanisme quand ils s'en servent) ! ! trucs que j'ai pas encore compris: ! - réduire la consommation du bateau (comment? voile, réduire les besoins? pas dit que ça soit faisable) ! - est-ce qu'on peut générer du froid / de la glace à partir d'une de ces sources? pour garder le poisson au frais et tout ! ! Questions qui restent : ! - est-ce qu'il y a l'eau chaude ? (est-ce qu'ils prennent des bains d'eau chaude?) ! - comment fait-il sécher le coprah? (biomasse à partir des noix de coco, non ?) ! - comment fait-il sécher les poissons (si poissons il y a) ! - ventilateurs à l'hydraulique? au vent? ! trouvé ailleurs : les gens sur une île n'ont pas vraiment d'idée du temps qui passe (en terme de jours, etc), même si ils doivent compter puisqu'il faut savoir quand c'est jour de marché etc. Donc on laisse tomber l'idée de chronométrer le temps (1 tour 1 minute) ; le temps est fluide, et quand tu fais quelque chose qui prend du temps, le temps défile et c'est la fin de la journée. ! Est-ce qu'on compte les jours ? je sais pas ! ne pas oublier : ! moins le générateur est chargé et moins il est efficace ! moins on utilise de diesel, moins le marchand fait des aller-retours juste pour ça