! 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. ! ------------------------------------------ ! Sequenza onirica ! ------------------------------------------ ! Routine di inizio e fine sogno: tutti gli oggetti del giocatore sono temporaneamente spostati nel magazzino [ dreambegin; while(child(player)) move child(player) to magazzino; dreaming=TRUE; phase=4; magic.obliterate(); hintlist.clear(); addhint(h_dream); waitkey(); MakeMovie(3); PlayerTo(SDeserto1,2); rtrue; ]; [ dreamend; waitkey(); MakeMovie(4); while(child(player)) remove child(player); while(child(magazzino)) move child(magazzino) to player; dreaming=FALSE; hintlist.clear(); addhint(h_nextday); Achieved(22); print "Gridando, madido di sudore, ti risvegli nel tuo letto... Era un sogno, un incubo... Era solo un sogno... solo un sogno...^^"; remark(5); waitkey(); dreaming=FALSE; ResetImage(Window_img); ResetImage(Forest_img); ResetImage(Iarin_img); ResetImage(Square_img); ResetImage(MineDown_img); nextday(); rtrue; ]; ORoom SDeserto1 "Vagando in un deserto" with description "Stai sognando, ne sei certo... Eppure tutto pare cos@`i reale, impossibilmente reale... Questa sabbia grigio-azzurra in cui affondano i tuoi piedi, il viola scuro del cielo che ti sovrasta e brillanti costellazioni che non conosci, che non hai mai visto, che forse nessuno ha mai visto, che sai non esistere... Il freddo che senti forse non ti avvolge, ma @`e dentro di te.", name 'deserto', n_to SDeserto2, ne_to SDeserto2, e_to SDeserto2, se_to SDeserto2, s_to SDeserto2, sw_to SDeserto2, w_to SDeserto1, nw_to SDeserto2, before [; Listen: "Silenzio... Nemmeno il sibilo del vento..."; ], cant_go "Il deserto si stende attorno a te, senza fine.", initial [; AbovePicture(Desert_img, -1, -1); ], has light; Object Ssabbia "sabbia" with name 'sabbia' 'rena', article "la", description "Mai hai visto sabbia di questo colore...", before [; Take, Touch, Search: if (self hasnt general) { give self general; move Spugnale to real_location; "Affondi la mano tra la sabbia e le tue dita portano alla luce uno strano pugnale."; } "Raccogli un pugno di sabbia e la lasci scorrere tra le dita... @`e incredibilmente fine..."; ], react_before [; Examine: if (noun == d_obj or terreno) <>; ], found_in SDeserto1 SDeserto2, has scenery; Object Spugnale "pugnale" with name 'pugnale' 'coltello' 'stiletto', description "Un pugnale di strana foggia, realizzato in metallo nero, cesellato e affilato, assetato di sangue."; Object Scielo "cielo" with name 'cielo' 'stelle' 'costellazioni', article 'il', description "Ti opprime, questo cielo oscuro senza sole, rischiarato da stelle che non appartengono al tuo cielo, che non conosci, che non riconosci...", before [; Examine, AutoCast: ; default: "Cos@`i lontano..."; ], found_in SDeserto1 SDeserto2 SPorta SStrada SIsola SForesta SVulcano, react_before [; examine, search: if (noun==u_obj) <>; ], has scenery; ORoom SDeserto2 "Vagando in un deserto" with description "Questa strana sabbia sotto, questo strano cielo sopra, un sogno reale, troppo reale, che si colora con le tinte dell'incubo... Il deserto attorno e delle alte mura, una citt@`a, una fortezza, non sai dirlo, in lontananza, a oriente.", name 'deserto', n_to SDeserto2, ne_to SPorta, e_to SPorta, se_to SPorta, s_to SDeserto1, sw_to SDeserto1, w_to SDeserto1, nw_to SDeserto1, before [; Listen: "Silenzio... Nemmeno il sibilo del vento..."; ], cant_go "Il deserto si stende attorno a te, senza fine, e verso oriente le alte mura.", has light; Direction "citt@`a" with name 'citta' 'citt@`a' 'citta^' 'alte' 'mura' 'fortezza', dir_to e_obj, description "Lontana, sorge in mezzo al deserto, verso est." has female; Object SPorta "La porta di una citt@`a" with description "Le mura si stendono quasi fin dove lo sguardo le pu@`o abbracciare, in esse si apre una porta enorme, e oltre una citt@`a dove regna il silenzio, deserta come le sabbie alle tue spalle. Entrare @`e disperazione, non entrare @`e disperazione.", name 'porta' 'citta' 'citt@`a' 'citta^' 'fortezza', before [; Listen: "Silenzio... Nemmeno il sibilo del vento..."; ], ne_to "Le mura, troppo alte e robuste, sul tuo cammino", se_to "Le mura, troppo alte e robuste, sul tuo cammino", n_to SPorta, s_to SPorta, e_to SStrada, w_to SDeserto2, nw_to SDeserto2, sw_to SDeserto2, cant_go "Impossibile...", has light; Prop -> "mura" with name 'mura' 'muro', description "Le mura, di enormi mattoni di nera argilla cotta al sole, alte e imponenti.", before [; Climb, Enter: "Troppo alte, perfettamente liscie."; ], has female pluralname static; Direction -> "deserto" with name 'deserto' 'sabbia' 'rena', dir_to w_obj, description "Alle tue spalle il deserto si stende infinito."; ORoom SStrada "Una strada" with description "La strada si snoda tra gli edifici di questa citt@`a, case e palazzi con forme e proporzioni che ti sono quasi orribili alla vista, lunghi colonnati ai lati. Solo la certezza di essere in un sogno ti aiuta a rimanere calmo. O forse non stai sognando... Forse tutto questo @`e vero, questa citt@`a, i palazzi che ti circondano, i resti di un incendio o di un crollo che sembrano testimoniare la caducit@`a delle cose, anche quelle eterne, confrontate ad un tempo infinito...", name 'strada' 'citta' 'citt@`a' 'citta^' 'fortezza' 'mura', before [; Listen: "Silenzio... Nessuna voce, nessun rumore..."; ], w_to SPorta, e_to SStrada, n_to SRudere, s_to SPalazzo, cant_go "La strada continua verso est, sempre uguale a se stessa, e verso ovest, verso la porta di questa citt@`a. I resti di un incendio ", initial [; LeftPicture(Ruins_img, -1, -1); ], has light; Prop -> "palazzi" with name 'case' 'palazzi' 'edifici' 'costruzioni' 'muri' 'muro', description "Folle architetto colui che ha pensato tutto ci@`o, folle e inumano. Enormi edifici, forme strane, dementi, porte che si aprono come antri, come l'enorme porta alle tue spalle, verso sud, che si apre in un enorme e tetro palazzo.", cant_go "Queste costruzioni sembrano sfidare il tuo intelletto, beffandolo.", has pluralname; Direction -> "palazzo" with name 'palazzo' 'casa' 'edificio' 'costruzione' 'tetro' 'enorme' 'porta', dir_to s_obj, description "Pi@`u terribile degli altri, ti attende come pronto a divorarti."; Direction -> "rudere" with name 'resti' 'di' 'incendio' 'rudere', dir_to n_obj, description "Pare incredibile che il fuoco possa bruciare qualcosa in questa citt@`a immobile. Forse questo palazzo @`e bruciato da sempre."; Prop -> "colonne" with name 'colonne' 'colonna' 'colonnati' 'colonnato', description "Altissime le colonne di pietra nera si alzano oltre il limite del tuo sguardo.", cant_go "Le colonne sembrano sfuggirti, come linee che conducono oltre il limite dello spazio.", has female pluralname; ORoom SRudere "I resti di un'incendio" with description "Pare che solo i muri di questo palazzo siano rimasti in piedi. L'interno completamente in rovina, fiamme antiche hanno divorato tutto, spente da anni, da secoli, da eoni. Le tenebre infrante solo dalla tenue luce che dall'oscuro cielo passa nell'apertura che hai attraversato.", name 'rudere' 'palazzo' 'edificio', s_to SStrada, before [; Listen: "Silenzio... Nessuna voce, nessun rumore..."; ], cant_go "Solo un'apertura si apre nelle robuste mura, verso sud.", has light; Prop -> "muri" with name 'muri' 'muro' 'mura' 'pareti', description "Sui muri anneriti intravedi affreschi, appena distinguibili, immagini di orrori indescrivibili, di orribili riti svoltesi in questo e in altri luoghi nei tempi passati o forse soltanto ieri, forse oggi...", has pluralname static; Object -> necronomicon "libro" with name 'libro' 'maledetto' 'necronomicon', description "Un grosso libro, che pare proiettare nella tua mente delle oscure verit@`a prive di senso, rilegato in pelle nera.", initial "Un libro giace dimenticato tra la cenere.", before [; Read: NoPicture(); deadflag=1; "Inizi a scorrere le pagine del libro, il suono notturno degli esseri sotterranei. L'antica e folle saggezza contenuta nelle sue parole ha la meglio sulla tua psiche indebolita. La follia ti ghermisce mentre non puoi far altro che leggere e rileggere le ingiallite pagine del maledetto volume, per sempre...^^Non ti risveglierai mai da quest'incubo..."; ], has legible; ORoom SPalazzo "Un tetro palazzo" with description "Attraverso una porta alta, forse concepita per un titanico essere, i tuoi piedi risuonano sulla solida pietra di questa costruzione. Forse un'abitazione di un essere non completamente umano, forse anticamera di un tempio di qualche culto oscuro e dimenticato, forse il luogo dove antichi dei possono ritornare sulla terra. Nere colonne reggono il soffitto, e una scala scende nelle viscere della terra.", name 'palazzo' 'edificio' 'abitazione' 'muro' 'muri' 'mura' 'pareti', n_to SStrada, d_to STempio, before [; Listen: "Solo l'eco dei tuoi passi..."; ], cant_go "I tuoi passi in questa terra d'incubo sono fermati da robusta pietra, solo l'enorme porta si apre verso nord, e solo la scala scende verso le viscere.", has light; Prop -> "colonne" with name 'colonne' 'colonna', description "Di basalto nero, le colonne paiono pulsare malvagit@`a, come il cuore oscuro delle stesse tenebre, di male eterno.", has female pluralname static; Direction -> "scala" with name 'scala' 'scalini' 'scalino', dir_to d_obj, description "La scala scende, formando un'impossibile spirale, verso l'abisso, verso le tenebre pi@`u scure.", before [; Exit: <>; Climb: <>; ], has female; IRoom STempio "Un tempio" with description "Le alte scale che ti hanno portato in questo luogo sembrano sparire sotto i tuoi piedi, precludendoti ogni via d'uscita. L'enormit@`a di questa sala ti toglie quasi il fiato, esseri mostruosi la riempiono, quasi assorti in una blasfema preghiera, ispirati dagli orribili simboli che adornano le pareti, e oltre queste creature inumane, lontano da te, scorgi un'altare dove un rito orribile si sta svolgendo.", name 'tempio', before [; Listen: "Orribili litanie riempiono l'aria."; ], cant_go "Non hai vie d'uscita. Non adesso, non ora.", has light; Prop -> "simboli" with name 'simboli' 'simbolo' 'pareti' 'muri' 'mura' 'muro', description "Cerchi di osservare quei simboli, ma il tuo animo si riempie di sgomento, devi volgere lo sguardo altrove.", cant_go "I simboli sembrano sfuggirti, in ogni istante, e allo stesso tempo guidarti verso l'altare.", has pluralname; Object -> SCreature "creature" with name 'creature' 'creatura' 'esseri' 'essere', description "Creature che non esistono, o che non dovrebbero esistere, la cui sola esistenza @`e infame offesa a tutto il creato.", life [; "Non osi avvicinarti a questi esseri, che sai essere antichi come il tempo e dimenticati."; ], before [; Examine, AutoCast: ; default: "Non osi, non puoi nemmeno pensarlo."; ], has scenery animate pluralname; Object -> SAltare "altare" with name 'altare' 'rito' 'rituale' 'sacerdote', before [; AutoCast: ; Examine: print "Volgi il tuo sguardo sull'orribile altare. Un sacerdote, pare un uomo come te, solleva la lama del pugnale sul petto di una giovane, una ragazza che sembra familiare ai tuoi occhi. Il sacerdote alza la testa, volgendosi verso di te, prima di vibrare il colpo. Puoi vederlo, ora. Con orrore il volto che vedi @`e il tuo, e un male senza fine brilla nei tuoi occhi. Volgi lo sguardo per non vedere il nero acciaio scendere per togliere vita e fuggi. Non sai dove, non sai come. Lontano da qui. Pi@`u lontano possibile.^^"; waitkey(); PlayerTo(SIsola,2); rtrue; default: "Troppo lontano"; ], has scenery; ORoom SIsola "Un'isola" with description "Non sai come, hai corso fin quanto il fiato te lo ha permesso, ora sei esausto, sei finalmente giunto all'aperto. Su di un'isola, poco pi@`u che uno scoglio affiorante, poco lontano dalla terra ferma, da un villaggio su cui svetta un'alto faro. Tutto brilla di una tenue luminescenza violacea. Il terreno sotto i tuoi piedi vibra quietamente.", name 'isola' 'scoglio' 'mare', before [; Swim: "Il mare in tempesta, sarebbe la tua fine."; Listen: if (self.counter>=3) "Un flebile rumore, pianto di un bambino, riempie l'aria."; "Solo risacca, onda dopo onda, mare sugli scogli."; ], cant_go "Le acque fredde di questo mare ti circondano.", counter 0, each_turn [; self.counter++; switch(self.counter) { 2: "^Ti rendi conto che sotto di te qualcosa sta accadendo. Sai che dovresti essere in quel luogo. Altri stanno lottando per la salvezza, ma senza di te la loro lotta @`e vana."; 3: "^La fine di ogni speranza. Una vita @`e stata spezzata, un cancello @`e stato infranto. Niente sar@`a pi@`u come prima. Ti sembra di sentire il pianto di un bambino venire dal villaggio."; 4: print "^Ad un tratto la roccia attorno a te si infrange e una colonna di luce oscura si proietta alta verso il cielo, da questa piccola isola. Sfere di pura malvagit@`a danzano in essa e guardandole senti vacillare la tua mente. Le rocce sprofondano sotto i tuoi piedi. Ti lasci affondare nelle gelide acque, in te @`e solo disperazione.^^"; waitkey(); PlayerTo(SForesta,2); rtrue; } ], initial [; AbovePicture(Island_img, -1, -1); ], has light; Prop -> "villaggio" with name 'villaggio' 'faro', description "In lontananza le misere case di un villaggio di pescatori, e tra esse un faro acceso cerca invano di gettare lontano la sua luce.", cant_go "Il villaggio e il faro sono distanti, oltre il braccio di mare che ti separa dalla terra ferma."; ORoom SForesta "Una foresta" with description "Ti ritrovi d'un tratto in una foresta d'incubo. Gli alberi paiono cercare di bloccare la tua strada, mentre le piante attorno a te tentano di ghermirti con i loro viticci malati, moribondi. Una strana luce proviene da settentrione.", name 'foresta' 'alberi' 'piante' 'vegetazione', before [; Listen: "Un suono che non sembra appartenere a questo mondo... ti pare che provenga da nord..."; ], n_to SVulcano, ne_to SVulcano, nw_to SVulcano, e_to SForesta, w_to SForesta, s_to SForesta, se_to SForesta, sw_to SForesta, cant_to "La foresta blocca i tuoi passi, solo una luce proviene da nord.", initial [; RightPicture(Shubtree_img, -1, -1); ], has light; Direction -> "luce" with name 'luce', dir_to n_obj, description "Qualcosa sta accadendo a nord.", has female; Prop -> "piante" with name 'piante' 'viticci', description "Orribili viticci avvizziti cercano di afferrarti.", cant_go "I viticci ti sfuggono strisciando sul terreno.", has female pluralname; ORoom SVulcano "Ai piedi di un vulcano" with description "La foresta muore, verso nord, aprendosi in una piana desolata ai piedi di un alto vulcano. Lo riconosci, @`e il monte Kalnam, e sta eruttando fuoco. E in questa piana, orribile a vedersi, una macabra folle danza ha luogo. Undici esseri mostruosi, alti metri e metri, simili a orribili alberi di carne, che una voce che risuona nella tua mente - in ogni mente - chiama figli. Essi danzano attorno ad una pietra. Una pietra circolare di basalto nero. Circondati da una distesa di cadaveri.", name 'piana' 'pianura', before [; Listen: "Il canto delle creature suggerisce alla tua mente disperazione e follia."; ], cant_go "La disperazione ti avvolge. Non hai la forza di allontanarti.", has light; Prop -> "vulcano" with name 'vulcano' 'monte' 'kalnam' 'eruzione' 'fuoco' 'lava', description "Il vulcano, che credevi spento, erutta lava, scagliando verso il cielo cenere e lapilli, e il suo rumore @`e come una bestemmia immane pronunciata in una lingua sconosciuta.", cant_go "Il vulcano domina l'intera piana, lontano e irraggiungibile."; Object -> Scuccioli "cuccioli" with name 'esseri' 'creature' 'figli' 'cuccioli', description "Abomini, creature non degne di esistere. Eppure qualcosa dentro di te conosce la verit@`a, e sa che simili esseri vagano per il mondo.", life [; "Il terrore ti impedisce di avvicinarti."; ], before [; Examine, AutoCast: rfalse; default: "Il terrore ti impedisce di avvicinarti."; ], has scenery animate pluralname; Object -> Spietra "pietra" with name 'pietra' 'basalto', description "Troppo familiare @`e quella pietra. E il ricordo di un'altra danza attorno ad essa ti colpisce.", before [; Examine, AutoCast: ; default: "Gli esseri sono tra te e la pietra."; ], has scenery; Object -> Scadaveri "cadaveri" with name 'cadaveri' 'cadavere' 'corpi' 'corpo', description [; print "Il tuo sguardo cade su quei corpi brutalmente massacrati. Riconosci in alcuni di essi gli abitanti della valle. Vedi il grasso sacerdote di Maral. E la giovane cameriera del barone. Riconosci anche il corpo dell'alchimista. E immenso dolore provi vedendo il giovane corpo della povera Iarin. Poi scorgi anche, tra gli altri, il tuo cadavere. A questa visione la tua mente vacilla, sprofondando verso gli abissi della follia.^^"; dreamend(); rtrue; ], before [; Examine, AutoCast: ; default: "Non puoi far niente. Solo provare orrore."; ], has scenery pluralname;