! La Pietra della Luna ! Avventura Testuale realizzata da Paolo Lucchesi ! da un'idea di Paolo Lucchesi, Andrea Gnesi e Stefano Masi ! Questo prodotto e' libero, rilasciato sotto licenza GPL (Gnu Public License), ! riportata nel file allegato gpl.txt. ! Questo prodotto e' distribuito senza alcuna garanzia. L'autore non pu@`o essere ! ritenuto responsabile per qualsiasi danno dovuto direttamente o indirettamente ! all'uso del prodotto. ! ------------------------------------------ ! Il tempio druidico ! ------------------------------------------ IRoom DIngresso "L'ingresso" with description "Il fusto di una enorme quercia attraversa dal pavimento al soffitto una vasta caverna oblunga, scavata laboriosamente nella roccia resa quasi priva di asperit@`a e che pare emanare una tenue luminosit@`a. Come incastonata nella parete, una sfera di vetro contiene al suo interno quello che sembra un virgulto, e una galleria si apre nella parete sud, scendendo verso il buio.", name 'ingresso' 'caverna' 'pietra', s_to DTunnel, cant_go "L'unico tunnel conduce verso sud.", initial [; RightPicture(Orb_img, -1, -1); ], has light; Direction -> "galleria" with name 'galleria' 'corridoio', dir_to s_obj, has female; Object -> fusto "Il fusto di una quercia" with name 'quercia' 'albero' 'pianta' 'tronco' 'fusto' 'legno', description "Il tronco dell'albero incredibilmente attraversa verticalmente la caverna, e osservandolo hai la precisa sensazione di essere arrivato qui sotto attraverso di esso. Su di esso @`e inciso il simbolo di una scala a chiocciola.", aura "Il fusto emana un'aura benefica e una sensazione che potresti definire come ~viaggio~ o ~spostamento~.", before [; Touch: print "Appoggi la mano sul legno della quercia e ancora una volta ti senti portare attraverso di essa, fino a ritrovarti all'aria aperta.^^"; solved(h_ritorno); PlayerTo(Radura,2); if (iarin.follower) { Achieved(23); move iarin to real_location; print "^", (The)iarin, " appare dal nulla accanto a te, come se fosse uscita anch'essa dalla quercia.^"; } rtrue; Attack: "Non riesci a capire come mai, ma ti senti incapace di danneggiare quest'albero."; Girdle: "Come l'energia lo avvolge, percepisci che il fusto di quercia @`e gi@`a protetto magicamente."; Missile: "Il dardo incredibilmente manca il bersaglio."; ], each_turn [; addhint(h_ritorno); ], has scenery; Object -> sfera "sfera di vetro" with name 'sfera' 'palla' 'vetro' 'virgulto' 'piantina', description "Una sfera di vetro perfettamente incastrata nella parete contiene al proprio interno un piccolo virgulto che, ai tuoi occhi, pare quasi il simbolo stesso della vita.", aura "La sfera emana un'aura che ti suggerisce la parola ~visione~.", before [; Touch, Take: if (self has general) "Tocchi la sfera, ma non accade niente."; Achieved(13); give self general; "Come appoggi la mano sulla sfera, ai tuoi occhi appare l'immagine di una immensa, innaturale oscurit@`a che si stende su di un lago che sai essere di sangue, mentre sullo sfondo vedi troneggiare l'oscura sagoma di un vulcano, che pare per@`o un essere potente e antichissimo che emana una malvagit@`a infinita. Per tua fortuna la visione dura solo pochi attimi."; Girdle: give self solid; "L'energia del tuo incantesimo si avvolge delicatamente attorno alla sfera, come se entrasse in sintonia con altri poteri gi@`a presenti in essa."; Attack: "Non sai spiegarti come mai, ma non riesci ad alzare la mano contro la sfera di vetro."; Missile: "Il dardo incredibilmente manca il bersaglio."; ], has scenery female; DRoom DTunnel "Un tunnel" with description "Un tunnel che traccia una ampia curva, andando da nord a est. Le pareti sono scavate perfettamente nella dura roccia, e pare che nessuno abbia messo pi@`u piede qui per secoli.", name 'galleria' 'caverna' 'pietra', n_to DIngresso, e_to DCaverna1, cant_go [; if (location~=thedark) "Il tunnel conduce a nord e a est."; "A tentoni riesci a trovare solo roccia da quella parte."; ]; DRoom DCaverna1 "Una caverna" with description "Anche questa caverna @`e attraversata da una quercia, solo di poco pi@`u esile di quella presente nell'ingresso. Due gallerie si aprono verso sud e verso ovest, nella roccia quasi perfettamente priva di asperit@`a.", name 'caverna' 'pietra', w_to DTunnel, s_to DCascata, before [; Listen: "Senti un rumore d'acqua provenire da sud."; ], cant_go [; if (location~=thedark) "Le gallerie portano a sud e a ovest."; "A tentoni riesci a trovare solo roccia da quella parte."; ], has female; Prop -> "gallerie" with name 'galleria' 'gallerie' 'corridoio' 'corridoi' 'tunnel', description "Le gallerie portano a sud e a ovest.", cant_go "Le gallerie portano a sud e a ovest.", has pluralname female; Object -> fusto2 "fusto di una quercia" with name 'quercia' 'albero' 'pianta' 'tronco' 'fusto' 'legno', description [; addhint(h_quercia2); print "Il tronco dell'albero attraversa verticalmente la caverna dal pavimento al soffitto"; if (player has msight) { self.add_to_scope = simboli; print ", e emana una tenue aura luminosa. Su di esso brillano chiari i simboli di un bastone, un occhio, un sole e una clessidra"; } "."; ], add_to_scope 0, aura "Il fusto emana un'aura benefica e una sensazione che potresti definire come ~viaggio~ o ~spostamento~.", before [; Touch: give self general; addhint(h_quercia2); "Appoggi la mano sul legno della quercia e senti attraverso di te una piacevole, quasi familiare energia."; Girdle: "Il tuo incantesimo @`e quasi inesistente al confronto delle energie che proteggono gi@`a quest'albero."; Attack: "Non riesci a capire come mai, ma ti senti incapace di recar danno a quest'albero maestoso."; Missile: "Il dardo incredibilmente manca il bersaglio."; ], react_before [i wd c f a; ! Similmente alla quercia della foresta, controlliamo la formula Say, Autosay: c=0; f=0; a=0; wn=consult_from; if (action==##Autosay) { a++; if (firsttopic=='carnissar') c++; } for (i=0: i "galleria" with name 'galleria' 'corridoio', dir_to n_obj, has female; Object -> cascata "cascatella" with name 'cascata' 'cascatella' 'fiume' 'canale', description [; give self general; addhint(h_canale); print "La cascatella ha un aria invitante. Il fiume sgorga da una larga fessura tra le rocce e, dopo un salto di un paio di metri, finisce nel laghetto sottostante. "; if (sasso in parent(self)) { "Noti anche un piccolo canale artificiale, quasi alla base della cascata, ostruito da una pietra."; } "Noti anche un piccolo canale artificiale che viene alimentato dalla cascata."; ], aura "L'acqua emana un'aura di purezza.", before [; Open: if (easy && mazzuolo in player) <>; "Buona idea, ma come?"; Unlock: if (second == mazzuolo) <>; "Non credi sia il sistema giusto."; Enter: "L'acqua pare troppo fredda per bagnarsi."; Drink: "Fredda, ma dissetante..."; ], react_before [; Listen: "Senti solo il rumore della cascata."; ], has scenery female; Object ->lLaghetto "laghetto" with name 'lago' 'laghetto' 'acqua', description "La cascatella forma un piccolo laghetto da cui poi l'acqua limpidissima defluisce attraverso le rocce del fondo.", aura "L'acqua emana un'aura di purezza.", before [; Enter: "L'acqua pare troppo fredda per bagnarsi."; Drink: "Fredda, ma dissetante..."; ], has scenery; Object -> sasso "pietra" with name 'sasso' 'pietra' 'ostruzione', description "Una pietra, grossa due volte il tuo pugno, ostruisce completamente, incastrandosi nella roccia, il piccolo canale di scolo.", before [; Examine: addhint(h_canale); rfalse; Take, Push, Pull: "La pietra @`e incastrata, non riesci a toglierla."; Open: if (easy && mazzuolo in player) <>; "Buona idea, ma come?"; Attack, Unlock: if (second==mazzuolo) { if (self has solid) "Con un colpo ben assestato del mazzuolo colpisci la pietra, ma questa resiste innaturalmente nella sua posizione."; solved(h_canale); remove self; "Con un colpo ben assestato del mazzuolo mandi in frantumi la roccia e l'acqua riprende a scorrere nel piccolo canale."; } if (action==##Attack) { if (easy && second == 0 or NULL && mazzuolo in player) <>; "Il tuo colpo non riesce a smuovere la pietra."; } "Non riesci a sbloccarla."; Missile: if (self has solid) rfalse; "Il dardo colpisce la pietra, ma non riesce ad infrangerla."; ], has scenery female; DRoom DCavernaStatue "Caverna delle statue" with description "Le prime cose che balzano agli occhi in questa caverna perfettamente scavata nella roccia, oltre al fusto di quercia che la attraversa dal soffitto al pavimento, sono due statue alte almeno quattro metri, ai due lati dell'ingresso di un tunnel che conduce verso nord. Una galleria pi@`u piccola porta verso est.", name 'caverna' 'pietra', e_to DCavernaVasca, n_to DCorridoio1, cant_go [; if (location~=thedark) "Le gallerie portano a nord e a est."; "A tentoni riesci a trovare solo roccia da quella parte."; ], has female; Prop -> "gallerie" with name 'galleria' 'gallerie' 'corridoio' 'corridoi', description "Le gallerie portano a nord e a est.", cant_go "Le gallerie portano a nord e a est.", has pluralname female; Object -> dstatue "statue" with pname 'statue' '.or' 'statua' '.or' 'sacerdoti' '.or' 'druidi' '.p' 'libro' '.x' 'aperto', description [; give self general; "Le due statue rappresentano due uomini anziani ma ancora vigorosi, probabilmente due sacerdoti della religione originariamente professata in questo luogo e di cui i figli della valle sono gli ultimi seguaci. Uno di essi tiene in mano un libro aperto su cui puoi leggere queste parole: @<>"; ], before [; Push, Pull, Turn, Take, LookUnder: "Sono enormemente troppo pesanti. Non potresti spostarle nemmeno di un unghia."; Search: <>; Touch: "La roccia @`e perfettamente lavorata, e ancora ben levigata."; Attack: "Non riusciresti nemmeno a scalfirle."; ], has scenery pluralname; Object -> fusto3 "Il fusto di una quercia" with name 'quercia' 'albero' 'pianta' 'tronco' 'fusto' 'legno', description "Il tronco dell'albero attraversa verticalmente la caverna. Anche su di esso @`e inciso il simbolo di una scala a chiocciola.", aura "Il fusto emana un'aura benefica e una sensazione che potresti definire come ~viaggio~ o ~spostamento~.", before [; Touch: print "Appoggi la mano sul legno della quercia e ancora una volta ti senti portare attraverso di essa, fino a ritrovarti nella caverna sovrastante.^^"; PlayerTo(DCaverna1,2); if (iarin.follower) { move iarin to real_location; print "^Un momento dopo ", (the)iarin, " appare accanto a te.^"; } rtrue; Attack: "Non riesci a capire come mai, ma ti senti incapace di recar danno a quest'albero maestoso."; Girdle: "Come l'energia lo avvolge, percepisci che il fusto di quercia @`e gi@`a protetto magicamente."; Missile: "Il dardo incredibilmente manca il bersaglio."; ], has scenery; DRoom DCavernaVasca "Caverna della vasca" with description [; print "Questa piccola caverna, anch'essa perfettamente scavata, ospita al suo interno una larga vasca semicircolare. Su di una parete ci sono due mensole di roccia. L'unica galleria conduce verso ovest, ma una piccola scala a chiocciola di pietra porta ad un'apertura nel soffitto.^"; if (dvasca has general && self hasnt general) { give self general; "^Come ti aspettavi, adesso la vasca @`e piena d'acqua limpida."; } rtrue; ], name 'caverna' 'pietra', w_to DCavernaStatue, u_to [; if (location==thedark) "Al buio non osi nemmeno tentare..."; return(DCavernaMecc); ], cant_go [; if (location~=thedark) "Una galleria che porta ad ovest e una scala che sale sono le uniche uscite."; "A tentoni riesci a trovare solo roccia da quella parte."; ], initial [; if (dvasca has general) AbovePicture(Pool_img, -1, -1); ], has female; Direction -> "galleria" with name 'galleria' 'corridoio', dir_to w_obj, has female; Object -> "scala" with pname 'scala' '.or' 'scalinata' '.x' 'a' '.x' 'chiocciola' '.p' 'apertura' '.or' 'botola', description "La piccola scala a chiocciola, scavata da un unico pezzo di roccia, arriva al soffitto, ad un'apertura larga appena quanto basta per far passare una persona.", before [; Exit: "La scala sale soltanto."; Climb, Enter: <>; ], has scenery female; Object -> dmensole "mensole" with pname 'mensole' '.or' 'mensola' '.or' 'ripiani' '.or' 'ripiano' '.x' 'di' '.x' 'pietra', description [; if (player in dvasca && dvasca has general) "Sulle mensole hai posato i tuoi abiti e tutta la tua roba."; "Probabilmente due ripiani di roccia su cui lasciare gli abiti."; ], describe [; if (player in dvasca && dvasca has general) "I tuoi abiti e i tuoi oggetti sono in ordine sopra i due ripiani di pietra."; rtrue; ], react_before [; Examine: rfalse; default: if ((noun ~= 0 or NULL) && player in dvasca && dvasca has general) if (noun in self) "Dovresti uscire dalla vasca, prima."; ], before [; LetGo: if (player in dvasca && dvasca has general) "Dovresti uscire dalla vasca, prima."; ], has supporter female pluralname; Prop -> "canali" with name 'canali' 'canale' 'condotti' 'condotto' 'condotta', description [; if (dvasca has general) "Nella roccia si aprono i due piccoli canali da cui @`e scesa l'acqua che ha riempito la vasca."; print "Due piccoli canali, probabilmente un tempo usati per riempire la vasca, si aprono nella roccia. Sono completamente asciutti, e sembrano provanire dall'alto.^"; if (easy && cascata has general) "Ti chiedi se questi canali siano in qualche modo collegati alla cascatella che hai visto prima."; rtrue; ], before [; Search: "Non sembra che i canali nascondano niente."; Receive: "Rischi di perdere qualsiasi oggetto venga inserito nei canali."; ], has pluralname static; Object -> dvasca "vasca" with name 'vasca' 'acqua', wiarin 0, description [; addhint(h_vasca); print "Una larga vasca semicircolare, scavata nella roccia e profonda pi@`u di un metro, con quattro scalini che permettono di accederci facilmente; due piccoli canali si aprono sopra la vasca."; if (self has general) print " La vasca @`e piena di un'acqua perfettamente limpida"; else print " La vasca @`e vuota"; if (player has msight) print " e emana una tenue luminescenza"; "."; ], aura [; if (self hasnt general) "La vasca emana un'aura benefica di cambiamento."; "La vasca emana un'aura che definiresti di purezza."; ], after [; Enter: if (self has general) { while(child(player)) { give child(player) concealed; move child(player) to dmensole; } inwater=true; solved(h_sacro); Achieved(16); if (iarin in parent(self)) { Achieved(24); move iarin to self; solved(h_iarinvasca); if (iarin.todruid>0 && iarin.todruid<12) iarin.todruid = 12; if (self.wiarin > 0) "Ti rivolgi verso ", (the)iarin, " dicendo: @<>.^ Lei annuisce dicendo: @<>. Cos@`i ancora una volta vi voltate dandovi le spalle, liberandovi di abiti e oggetti, per poi scivolare nell'acqua fresca e purificante."; self.wiarin = 1; LeftPicture(Bath_img, -1, -1); "@<> dici, rivolto a ", (the)iarin, ".^ @<> risponde lei, @<>, e si volta, dandoti le spalle e iniziando a spogliarsi dei suoi abiti. A malincuore ti volti a tua volta e ti liberi dei tuoi vestiti e degli altri oggetti. Poi, senza dire una parola e cercando di volgere lo sguardo altrove, vi immergete nell'acqua fresca ma non gelida, lasciandovi pervadere dalla sensazione di purezza e tranquillit@`a."; } "Ti liberi degli abiti e degli altri oggetti e ti immergi nella vasca. L'acqua @`e molto meno fredda di quanto di saresti aspettato. Una sensazione di leggerezza e di tranquillit@`a ti pervade."; } addhint(h_vasca); rfalse; Exit: if (self has general) { while(child(dmensole)) { give child(dmensole) ~concealed; move child(dmensole) to player; } if (iarin in self) { NoPicture(); move iarin to parent(self); if (self.wiarin > 1) "Uscite dalla vasca e, dandovi sempre le spalle, vi rivestite dei vostri abiti. Mentre riprendi la roba lasciata sulle mensole vedi ", (the)iarin, " che sorride serena."; self.wiarin = 2; "Sempre in silenzio tu e ", (the)iarin, " uscite dalla vasca e, continuando a darvi le spalle, vi rivestite dei vostri abiti. Poi, mentre stai riprendendo ci@`o che avevi lasciato sulle mensole, ", (the)iarin, " si volta verso di te e ti sorride prima di dire: @<>."; } "Esci dalla vasca, indossi nuovamente i tuoi abiti e riprendi ci@`o che avevi lasciato sulle mensole."; } ], react_before [; Exit: if (noun == 0 or NULL) <>; ], has scenery enterable female container open; DRoom DCavernaMecc "Caverna sopra la vasca", with description "Questa piccola caverna @`e ben scavata, sebbene non perfettamente. L'unica uscita @`e una piccola apertura nel pavimento. La caverna contiene solo una strana ruota dentata, posta nella parte pi@`u alta della caverna.", name 'caverna' 'pietra', before [; Listen: if (sasso notin DCascata) "Senti il rumore di acqua che scorre nella roccia."; ], d_to [; if (location==thedark) "Al buio non osi nemmeno tentare..."; return(DCavernaVasca); ], cant_go [; if (location~=thedark) "Puoi solo scendere."; "A tentoni riesci a trovare solo roccia da quella parte."; ], has female; Object -> dscala "scala" with pname 'scala' '.or' 'scalinata' '.x' 'a' '.x' 'chiocciola' '.p' 'apertura' '.or' 'botola', description "Attraverso l'apertura vedi la scala a chiocciola che scende nella caverna sottostante.", before [; Climb: "La scala scende soltanto."; Exit, Enter: <>; ], has scenery female; Object -> meccanismo "meccanismo", with name 'ruota' 'dentata' 'meccanismo' 'ingranaggio', description "Una ruota dentata giace su di un perno di roccia, a circa quattro metri dal pavimento. Pare collegata ad altri meccanismi che si trovano all'interno delle pareti di roccia, ed @`e bloccata da una barra di metallo.", before [; Examine, Autocast: rfalse; ThrownAt: "Non riesci a smuoverla."; Missile: if (self has solid) rfalse; "Il dardo la colpisce, ma senza risultato."; default: "@`E fuori dalla tua portata."; ], has scenery; Object -> barra "barra di metallo", with name 'barra' 'di' 'ferro' 'metallo' 'fermo' 'blocco' 'perno', description "Un'estremit@`a della barra di metallo fissata su di un perno tiene ferma la ruota dentata. Dall'altra estremit@`a probabilmente pendeva una corda che permetteva di azionare il meccanismo.", before [; Examine, Autocast: rfalse; ThrownAt: "Non riesci a colpire il punto esatto per smuoverla."; Missile: if (self has solid) rfalse; if (sasso in DCascata) "Il dardo colpisce la barra facendola ruotare sul perno e liberando la ruota dentata, che per@`o rimane immobile, e viene nuovamente bloccata subito dopo."; give dvasca general; give DCavernaVasca waterhere; solved(h_vasca); Achieved(15); "Il dardo colpisce la barra facendola ruotare sul perno e sbloccando la ruota dentata, che inizia a ruotare. Senti scorrere l'acqua nella caverna sottostante. Poi la ruota si ferma e viene bloccata di nuovo."; default: "@`E troppo lontana da te."; ], has scenery female; DRoom DCorridoio1 "Un corridoio" with description "Un corridoio scavato nella dura roccia conduce da sud a nord. Sulle pareti, al solito prive di asperit@`a, ad intervalli regolari si incontrano bassorilievi identici tra loro che rappresentano una quercia.", name 'corridoio' 'galleria' 'pietra', s_to DCavernaStatue, n_to DCorridoio2, cant_go [; if (location~=thedark) "Puoi andare a nord e a sud."; "A tentoni riesci a trovare solo roccia da quella parte."; ]; Prop "bassorilievi" with name 'bassorilievo' 'bassorilievi' 'quercia' 'querce' 'incisioni' 'incisione', description "I bassorilievi incisi della pietra rappresentano una quercia in tutto simile a quella che dominava la radura.", before [; Touch: "Ottima lavorazione."; ], found_in DCorridoio1 DCorridoio2, has pluralname static; DRoom DCorridoio2 "Un corridoio" with description [; print "Il corridoio curva ad angolo retto, portando a sud e a est. Anche qui, sulle pareti perfettamente scavate, si ripetono le querce incise a bassorilievo."; if (self has general) " Un passaggio si apre nella parete nord."; ""; ], name 'corridoio' 'galleria' 'pietra', before [; Examine, Search, Touch: ! Ricerca sulle pareti if (noun==n_obj or pareti && self hasnt general) { solved(h_statue); give self general; "Ben nascosta, quasi invisibile, sulla parete rivolta verso nord, una piccola piastra reagisce alla pressione della tua mano; parte del muro ruota su se stesso rivelando un passaggio in quella direzione."; } if (noun==n_obj or pareti) "Le pareti non nascondono altro."; ], s_to DCorridoio1, e_to DCorridoio3, n_to [; if (self has general) return DTempio; rfalse; ], cant_go [; if (location~=thedark) { if (self has general) "Puoi andare a nord, a est o a sud."; "Puoi andare a est e a sud."; } "A tentoni riesci a trovare solo roccia da quella parte."; ]; !Object -> pareti "pareti" ! with name 'parete' 'pareti' 'muro' 'muri' 'mura', ! has scenery female pluralname; DRoom DCorridoio3 "Corridoio delle statue" with description "Il corridoio si allarga, portando da ovest a est, scavato con maestria nella roccia. Quattro imponenti statue di guerrieri sembrano essere in questo luogo per proteggere il passaggio.", name 'corridoio' 'galleria' 'pietra', try 0, w_to DCorridoio2, e_to [; addhint(h_statue); self.try++; switch (self.try) { 1: "Muovi i tuoi passi per oltrepassare questo corridoio, ma subito le statue si animano. A questa vista, ti fermi."; 2: print "Provi a procedere lungo il corridoio, ma le statue si muovono, bloccandoti il passaggio e alzando le loro armi.^"; if (easy && dstatue has general) "Ti chiedi se hai ben interpretato le parole incise sul libro di pietra."; rtrue; 3: NoPicture(); deadflag=1; "Disperatamente tenti di passare oltre le statue, ma non sei abbastanza veloce. Le loro enormi spade si abbattono su di te. Poi le tenebre calano..."; } ], cant_go [; if (location~=thedark) "Puoi andare a est e a ovest."; "A tentoni riesci a trovare solo roccia da quella parte."; ]; Object -> statueguerrieri "statue" with name 'statua' 'statue' 'guerrieri' 'guerriero' 'guardiano' 'guardiani', description "Alte quasi quattro metri, queste statue, identiche fra loro, rappresentano un possente guerriero armato di spada.", aura "Le statue emanano un'aura di minaccia e di punizione.", life [; "Le statue non reagiscono minimamente alla tua presenza."; ], before [; Touch: "Roccia perfettamente scavata."; Attack: "I tuoi colpi non riescono nemmeno a scalfirle."; Missile, Girdle: "L'energia del tuo incantesimo viene respinta dalle statue."; ], has scenery pluralname animate; DRoom DTempio "Un tempio" with description "Questa caverna di forma circolare ricorda per molti versi un piccolo tempio. Infatti quattro colonne sostengono la volta del soffitto, due piccole vasche sono ai lati dell'ingresso e al centro un blocco di marmo alto circa un metro potrebbe essere un perfetto altare. L'ingresso si trova a sud e un passaggio si apre verso nord.", name 'tempio' 'caverna' 'pietra', s_to DCorridoio2, n_to [; if (inwater) { if (self hasnt general) { give self general; Achieved(17); print "Percorrendo il passaggio hai la precisa sensazione di un'energia che avrebbe potuto respingerti, ma che ~sceglie~ di lasciarti entrare.^"; } return(DSacro); } addhint(h_sacro); "Provi a inoltrarti nel passaggio ma qualcosa, come una mano invisibile, ti respinge indietro."; ], cant_go [; if (location~=thedark) "Puoi andare a nord e a sud."; "A tentoni riesci a trovare solo roccia da quella parte."; ]; Direction -> "ingresso" with name 'ingresso' 'corridoio' 'galleria', dir_to s_obj; Direction -> "passaggio" with name 'passaggio' 'tunnel', dir_to n_obj; Prop -> "colonne" with name 'colonne' 'colonna' 'terra' 'acqua' 'fuoco' 'aria' 'incisioni' 'elementi', description "Delle incisioni sulle quattro colonne rappresentano allegorie dei quattro elementi.", has female pluralname static; Prop -> "vasche" with name 'vasche' 'vasca' 'piedistallo', description "Le due piccole vasche, rette su un piedistallo di pietra, sono vuote.", before [; Receive: "Le vasche non sono fatte per contenere oggetti."; ], has scenery female pluralname; Prop -> "blocco di marmo" with pname 'altare' '.or' 'blocco' '.x' 'di' '.x' 'marmo' '.p' 'bassorilievo' '.or' 'quercia', description "Sulla parte superiore del blocco di marmo vedi ancora una volta il familiare bassorilievo della quercia.", before [; Search, LookUnder: "Il blocco di marmo non nasconde niente."; Take, Push, Pull, Turn: "Il blocco di marmo @`e estremamente pesante, non riusciresti mai spostarlo."; Receive: "Ti mette a disagio l'idea di appoggiare oggetti su questo altare."; Touch: "Il marmo @`e perfettamente liscio."; ], has supporter; IRoom DSacro "Il luogo sacro" with description [; print "Questa piccola e spoglia caverna sembra poter infondere nell'animo di chi vi si trova una pace e una serenit@`a immense. Una tenue luminosit@`a riempie l'ambiente, e un piccolo altare si erge al centro della stanza"; if (dnicchia in self) print "; accanto ad esso una piccola nicchia si apre nella parete di roccia"; ". Un passaggio verso sud conduce al tempio."; ], name 'caverna' 'pietra' 'luogo' 'sacro', s_to DTempio, cant_go "L'unica uscita @`e a sud.", initial [; RightPicture(Altar_img, -1, -1); ], has light; Direction -> "passaggio" with name 'passaggio' 'galleria' 'tempio', dir_to n_obj; Object -> dleggio "leggio" with pname 'leggio' '.x' 'di' '.or' 'in' '.x' 'pietra', description "Un semplice leggio in pietra.", describe [; if (child(self)) print "^Un libro rimane appoggiato su di un leggio.^"; rtrue; ], before [; Search, LookUnder: "Il leggio non nasconde niente."; Take, Push, Pull, Turn: "Il leggio @`e scavato nella stessa roccia che costituisce la caverna dove ti trovi."; Receive: if (noun hasnt legible) "@`E un leggio. @`E fatto solo per ospitare libri."; if (child(self)) "C'@`e gi@`a un libro sul leggio."; rfalse; ], has supporter; Prop -> "altare" with pname '.x' 'piccolo' 'altare' '.or' 'blocco' '.x' 'di' '.or' 'in' '.x' 'pietra' '.p' 'incisione' '.x' 'a//' '.x' 'forma' '.x' 'di' '.x' 'foglia' '.x' 'di' '.x' 'quercia', description "Un piccolo altare in pietra, semplice e privo di decorazioni, a parte un'incisione a forma di foglia di quercia.", before [; Take, Push, Pull, Turn, LookUnder: "L'altare @`e scavato nella stessa roccia che costituisce la caverna dove ti trovi."; Receive: if (noun == fiala) rfalse; "Hai l'impressione che non sia giusto appoggiare oggetti su questo piccolo altare."; Touch: "Appoggiando la mano alla roccia dell'altare provi una sensazione benevola."; ], has supporter; Prop dnicchia "nicchia" with name 'nicchia', description [; print "Una piccola nicchia aperta nella parete di roccia."; if (fiala in self) print " All'interno vedi una piccola fiala."; ""; ], before [; Receive: if (noun == fiala) rfalse; "Preferisci non mettere niente in questa nicchia, non pensi sia giusto."; ], has container open; Object -> fiala "piccola fiala" with name 'fiala' 'liquido' 'trasparente', description [; if (self.empty) "Una piccola fiala ormai vuota."; print "Una piccola fiala contenente un liquido trasparente"; if (self has open) print ", aperta."; else print ", chiusa e sigillata."; if (player has msight) " La fiala emette una luminescenza dorata."; ""; ], aura [; if (self.empty) "La fiala non emana pi@`u alcuna aura."; "La fiala emana un'aura di estrema vitalit@`a."; ], initial "All'interno della nicchia c'@`e una piccola fiala.", empty FALSE, count 0, before [; Open: if (self has open) "La fiala @`e gi@`a aperta."; give self open; "Con delicatezza rompi il sigillo e apri la fiala."; Drink: if (self hasnt open) "La fiala @`e chiusa."; if (self.empty) "La fiala @`e vuota."; self.empty=TRUE; "Bevi il contenuto della fiala e ti senti pieno di energia, pieno di vita."; Empty: if (self hasnt open) "La fiala @`e chiusa."; if (self.empty) "La fiala @`e vuota."; if (easy && ishere(corpoiarin)) <>; self.empty=TRUE; "Rovesci per terra il contenuto della fiala."; PutOn, EmptyT: if (self hasnt open) "La fiala @`e chiusa."; if (self.empty) "La fiala @`e vuota."; if (second == corpoiarin) { self.empty=TRUE; if (corpoiarin notin pietre) "Versi il liquido sulle ferite che hanno dilaniato il corpo della ragazza, ma esse sono troppe e troppo gravi."; solved(h_iarincura); Achieved(38); MakeMovie(8); print "Versi il liquido sulla ferita che ha squarciato il seno e il cuore di Iarin, e - stupito e meravigliato - vedi come in pochi attimi la carne della ragazza si rimargini, lasciando solo un'esilissima, quasi invisibile cicatrice. Ad un tratto il seno della giovane si solleva quando il suo petto si riempie del primo respiro; la ragazza riapre i suoi occhi dolcissimi e dice sorridendoti: @<>^"; waitkey(); endscene(1); rtrue; } "Non ne vedi il motivo."; ], after [; Take: if (self hasnt moved && ishere(iarin)) { if (~~iarin.showfiala) { iarin.showfiala=TRUE; iarin.trust++; } print_ret (The)iarin, " ti osserva mentre prendi delicatamente la fiala, per poi dire: @<>"; } ], each_turn [; if ((~~self.empty) && self has open) if (++self.count >= 6) { self.empty=TRUE; "^Ti accorgi che il contenuto della fiala @`e evaporato."; } ] has female;