!% -~D !% -~S !% +include_path=..\lib\base,..\lib\contrib,..\games\Reflejos !Poner "% -~S" (sin las ") permite compilar para generar archivo Reflejos.z5 (máquina Z versión 5) !Poner "!% -~D" al principio del archivo (sin las ") permite compilar en modo Release (No Debug) ! "Reflejos blancos" ! ! REALIZADO POR: Sebastián Armas ! ! Copyright (C) 2010 ! CONSTANTES Constant Historia "~Reflejos blancos~^ Un breve interludio nocturno"; Constant Titular "^Realizado por: Sebastián Armas (Incanus)^ (C) Año 2011^^ Ingresa AYUDA para indicaciones generales y otros comandos.^ Ingresa PISTAS para resolver problemas o salir de atascos.^ Ingresa ANIMAR para alternar entre texto animado y texto normal.^^"; Serial "010101"; Release 1; ! v01.01.01: ! ! Publicación para la FICOMP 2011 Constant ADMITIR_COMANDO_SALIDAS; ! Constant DEBUG; ! No queremos usar los comandos 'Lugares' y 'Objetos' Constant NO_LUGARES; ! Puntuación con sistema de tareas Constant HAY_TAREAS; Constant PUNTUACION_MAX 8; Constant NUMERO_TAREAS = 8; ! El array que contiene los puntos por cada tarea realizada... ! 0 1 2 3 4 5 6 7 (en total son 8 tareas) Array puntuacion_tareas -> 1 1 1 1 1 1 1 1; ! (de 1 punto cada una) ! Arrays para movimiento de PSIs ! El array que contiene la ruta circular del vampiro ! Partiendo en el Paseo_W, se detiene dos turnos y luego avanza en torno al perimetro ! del parque Array VampiroDistraido --> obj_n 0 0 obj_e 0 0 obj_e 0 0 obj_s 0 0 obj_s 0 0 obj_o 0 0 obj_o 0 0 obj_n 0 0; ! Tenemos Curiosidades Constant HAY_CURIOSIDADES; ! Definiciones para curiosidades [curiosidades; ZIPI_RunMenuT(ZIPI_Menu10); ]; !-------------- Include -------------- Include "zipi.inf"; ! Módulo para Menues Include "EParser"; ! Módulo para InformATE! ! MensajesAlternativos [MensajeMuerte; style fixed; style bold; switch(banderafin) { 3: print "*** Soy libre al fin, pero la Cacería seguirá sin mí ***^^"; style roman; 4: print "*** Estoy muerto, estoy vivo ***^^"; style roman; 5: banderafin = 2; print "*** He vencido, pero la he perdido ***^^"; style roman; } style roman; rfalse; ]; ! Codigo para Puntuacion por Tareas ! Imprimir el nombre de cada tarea dada [ ImprimirTareas tarea; print "por "; switch(tarea) { 0: "coger rosas para novia"; 1: "coger rosas para protegerse"; 2: "distraer vampiro con guijarros"; 3: "pedir ayuda al cura"; 4: "lavar mordida con agua bendita"; 5: "conseguir ~estaca~ afilada y ~martillo~"; 6: "atraer vampiro a fuente"; 7: "destruir al vampiro"; } ]; ! Imprime el rango que el jugador a conseguido de acuerdo a la ! puntuacion que tiene actualmente [ ImprimirRango; print ", otorgándote el rango de: ~"; switch (puntuacion) { ! la variable global de puntuacion 0 to 1 : print "Noviecillo"; 2 to 3 : print "Comprometido"; 4 to 6 : print "Amante"; 7 to 8 : print "Cazador"; } print_ret "~."; ]; Include "Msg1P"; ! Módulo para mensajes de InformATE! en primera persona singular ("yo") Include "Acciones"; ! Módulo para InformATE! Include "PNJMovil"; ! Módulo para movimiento de PSIs Include "Gramatica"; ! Módulo para InformATE! Include "Cortos_mod"; ! Módulo para texto animado ATENCION: fue modificado para usar ANIMAR Include "Decorado"; ! Módulo para descripcion de decorados Attribute legible; ! Definiciones para lectura !------------ End Include ------------ ! Ayuda de la Aventura ! Aquí va el código ZIPI ZIPI_Menu ZIPI_Menu1 with ZIPI_titulo "Ayuda de la Aventura", ZIPI_item ZIPI_Menu2 ZIPI_Menu3 ZIPI_Otro2 ! ZIPI_Menu10 ; ZIPI_Menu ZIPI_Menu2 with ZIPI_titulo "Instrucciones", ZIPI_item ZIPI_Otro0 ZIPI_Otro1 ; ZIPI_Menu ZIPI_Menu3 with ZIPI_titulo "Pistas", ZIPI_item ZIPI_Menu4 ZIPI_Menu5 ZIPI_Menu6 ; ZIPI_Menu ZIPI_Menu4 with ZIPI_titulo "Antes de la Cita", ZIPI_item ZIPI_Pista0 ZIPI_Pista1 ; ZIPI_Menu ZIPI_Menu5 with ZIPI_titulo "Durante la Cita", ZIPI_item ZIPI_Pista2 ZIPI_Pista3 ZIPI_Pista4 ; ZIPI_Menu ZIPI_Menu6 with ZIPI_titulo "Finalizando la Cita", ZIPI_item ZIPI_Menu7 ZIPI_Pista8 ZIPI_Menu9 ; ZIPI_Menu ZIPI_Menu7 with ZIPI_titulo "Implementos", ZIPI_item ZIPI_Menu8 ZIPI_Pista7 ; ZIPI_Menu ZIPI_Menu8 with ZIPI_titulo "A palos...", ZIPI_item ZIPI_Pista5 ZIPI_Pista6 ; ZIPI_Menu ZIPI_Menu9 with ZIPI_titulo "Despedida", ZIPI_item ZIPI_Pista9 ZIPI_Pista10 ZIPI_Pista11 ; ZIPI_Menu ZIPI_Menu10 with ZIPI_titulo "Curiosidades y Otros", ZIPI_item ZIPI_Menu11 ZIPI_Otro15 ; ZIPI_Menu ZIPI_Menu11 with ZIPI_titulo "Curiosidades", ZIPI_item ZIPI_Menu12 ZIPI_Menu13 ; ZIPI_Menu ZIPI_Menu12 with ZIPI_titulo "Del comportamiento público", ZIPI_item ZIPI_Otro3 ZIPI_Otro4 ZIPI_Otro5 ZIPI_Otro6 ; ZIPI_Menu ZIPI_Menu13 with ZIPI_titulo "De la Cacería", ZIPI_item ZIPI_Otro7 ZIPI_Menu14 ZIPI_Otro11 ZIPI_Otro12 ZIPI_Otro13 ZIPI_Otro14 ; ZIPI_Menu ZIPI_Menu14 with ZIPI_titulo "De la protección", ZIPI_item ZIPI_Otro8 ZIPI_Otro9 ZIPI_Otro10 ; ZIPI_Pista ZIPI_Pista0 with ZIPI_titulo "Flores para tu chica", ZIPI_pistas "Si quieres flores para tu chica, puedes ir primero al centro del parque..." "...y de ahí, ve al norte..." "...y por último al este para entrar al rosedal." "Puedes coger unas flores..." "...con COGER FLORES." ; ZIPI_Pista ZIPI_Pista1 with ZIPI_titulo "Esperando a tu chica", ZIPI_pistas "Como habían quedado de reunirse en la glorieta..." "...dirígete a la parte sur del parque..." "...y avanza al este o al oeste hasta llegar a la glorieta." "Espera tranquilo..." "...usando el comando ESPERAR..." "...varias veces hasta que veas llegar a tu chica." ; ZIPI_Pista ZIPI_Pista2 with ZIPI_titulo "Manteniendo la debida distancia", ZIPI_pistas "Para protegerte del ataque de tu chica..." "...necesitarás unas rosas salvajes..." "...que abundan en el rosedal del parque." "Para llegar al rosedal, puedes ir primero al centro del parque..." "...y de ahí, ve al norte..." "...y por último al este para entrar al rosedal." "Puedes coger unas flores..." "...con COGER FLORES." "Si tu chica te ataca, la repelerán las flores." ; ZIPI_Pista ZIPI_Pista3 with ZIPI_titulo "Pidiendo ayuda en forma discreta", ZIPI_pistas "Si necesitas ayuda profesional..." "...de la introducción sabrás que conoces a un sacerdote..." "...y como tienes un teléfono, puedes pedir ayuda..." "...llamando al sacerdote..." "...con LLAMA A SACERDOTE o LLAMA POR TELEFONO." "Si aun no has distraído a tu chica..." "...entonces, cuando lo consigas..." "vuelve a llamarlo y el sacerdote vendrá al parque en tu ayuda." ; ZIPI_Pista ZIPI_Pista4 with ZIPI_titulo "Distrayendo a tu chica", ZIPI_pistas "Para mantener distraída a tu chica..." "...necesitarás algo que puedas desparramar en cantidades." "Las flores no sirven, pues tu chica las hace polvo." "Hay un sitio en el parque donde hay cosas pequeñas en cantidades." "Para llegar al jardín japonés, puedes ir primero al centro del parque..." "...y de ahí, ve al sur..." "...y por último al oeste para entrar al jardín japonés." "Fíjate en las cosas que componen el jardín japonés..." "...y verás unos guijarros:" "Examínalos con EXAMINA GUIJARROS..." "...y verás que sirven de distracción." "Cógelos con COGE GUIJARROS..." "...y luego ve dejándolos por el perímetro del parque..." "...con DEJA GUIJARROS en cada parte del paseo exterior." ; ZIPI_Pista ZIPI_Pista5 with ZIPI_titulo "Conseguir la estaca", ZIPI_pistas "Para hacerte con una estaca..." "...necesitas madera a tu alcance." "Los árboles y sus ramas no te han de servir." "Ve a los juegos infantiles al norte del parque..." "...y fíjate en las estructuras..." "... y sus escalones." "Tira de uno de ellos...." "...hasta que consigas hacerte con uno." "Ahora, te falta afilarla." ; ZIPI_Pista ZIPI_Pista6 with ZIPI_titulo "Afilar la estaca", ZIPI_pistas "Para afilar la estaca..." "...necesitas algo grande y duro con qué hacerlo." "Hay un sitio en el parque donde hay piedras para ello." "Para llegar al jardín japonés, puedes ir primero al centro del parque..." "...y de ahí, ve al sur..." "...y por último al oeste para entrar al jardín japonés." "Fíjate en las cosas que componen el jardín japonés..." "...y verás una roca." "Afila la estaca en ella..." "con AFILA ESTACA EN ROCA" ; ZIPI_Pista ZIPI_Pista7 with ZIPI_titulo "...y a piedras", ZIPI_pistas "Para clavar la estaca..." "...necesitas algo duro con qué hacerlo." "Hay un sitio en el parque donde hay piedras para ello." "Para llegar al jardín japonés, puedes ir primero al centro del parque..." "...y de ahí, ve al sur..." "...y por último al oeste para entrar al jardín japonés." "Fíjate en las cosas que componen el jardín japonés..." "...y verás una hilera de cantos." "Coge uno." ; ZIPI_Pista ZIPI_Pista8 with ZIPI_titulo "Seducción", ZIPI_pistas "Para dejar un rastro de sangre..." "...necesitas con qué cortarte o pincharte primero." "Si no tienes rosas..." "prueba con otra cosa: mira en el menú previo ~Implementos~, ítem ~A palos...~" "Ahora, dirígete al perímetro del parque..." "...en cualquier localidad en línea recta al centro." "Córtate o pínchate..." "con CORTATE CON o PINCHATE CON ..." "y avanza hacia el centro del parque." "Córtate o pínchate hasta completar el rastro." ; ZIPI_Pista ZIPI_Pista9 with ZIPI_titulo "Esperando a tu chica", ZIPI_pistas "Si ya dejaste el rastro de sangre..." "...ahora tienes que esperar en el centro del parque..." "...usando el comando ESPERAR..." "...varias veces hasta que veas llegar a tu chica." ; ZIPI_Pista ZIPI_Pista10 with ZIPI_titulo "Sorprendiendo a tu chica", ZIPI_pistas "Para acabar con el vampiro..." "...primero debes inmovilizarla." "Usa el frasco de agua bendita..." "...arrojándoselo..." "...con ARROJA FRASCO A CHICA." ; ZIPI_Pista ZIPI_Pista11 with ZIPI_titulo "Despidiéndote de tu chica", ZIPI_pistas "Si ya inmovilizaste a tu chica..." "...mátala de una vez..." "...usando la estaca..." "...con MATA A CHICA o MATA A CHICA CON ESTACA." ; ZIPI_Otro ZIPI_Otro0 with ZIPI_titulo "Comandos Principales", ZIPI_ejecutar [; print "Las órdenes siguientes son básicas y pueden encontrarse en casi cualquier aventura conversacional. El jugador puede tratar siempre de hacer otras acciones.^^"; style fixed; print "ayuda"; style roman; print " : obtener esta ayuda.^"; style fixed; print "puntuacion"; style roman; print " : obtener puntaje acumulado en el juego.^"; style fixed; print "puntuacion total"; style roman; print " : obtener puntaje acumulado en el juego, con detalle por tareas cumplidas.^"; style fixed; print "pistas"; style roman; print " : obtener pistas para resolver el juego (evite la tentación...).^"; style fixed; print "animar"; style roman; print " : alternar texto animado con texto normal.^"; style fixed; print "save, guardar"; style roman; print " : grabar el estado actual de la partida (recomendable...).^"; style fixed; print "load, cargar"; style roman; print " : recuperar un estado de partida ya guardado.^"; style fixed; print "quit, fin, terminar"; style roman; print " : terminar la partida en juego.^^"; style fixed; print "n, norte"; style roman; print " : desplazarse al norte.^"; style fixed; print "s, sur"; style roman; print " : desplazarse al sur.^"; style fixed; print "e, este"; style roman; print " : desplazarse al este.^"; style fixed; print "o, w, oeste"; style roman; print " : desplazarse al oeste.^"; style fixed; print "a, u, arriba, subir"; style roman; print " : subir.^"; style fixed; print "b, d, abajo, bajar"; style roman; print " : bajar.^"; style fixed; print "entrar en x, ir a x"; style roman; print " : ir desde la ubicación actual al lugar x.^"; style fixed; print "subir a x, montar en x"; style roman; print " : subirse al objeto x.^"; style fixed; print "salir, salir de x"; style roman; print " : salir del lugar o del objeto x.^"; style fixed; print "salidas"; style roman; print " : mostrar las salidas del lugar.^"; style fixed; print "i, inventario"; style roman; print " : mostrar una lista de los objetos llevados.^"; style fixed; print "mirar"; style roman; print " : mostrar una descripción del lugar en que estás.^^"; style fixed; print "ex x, examinar x"; style roman; print " : mostrar una descripción del lugar u objeto x.^"; style fixed; print "buscar en x, mirar en x"; style roman; print " : revisar el objeto x para ver si contiene algo más...^"; style fixed; print "leer x"; style roman; print " : si x tiene texto para leer, leer el texto en x.^"; style fixed; print "coger x, dejar x"; style roman; print " : el objeto x pasa a ser o deja de ser llevado.^"; style fixed; print "meter x en y"; style roman; print " : el objeto x deja de ser llevado y queda dentro de y.^"; style fixed; print "sacar y de x"; style roman; print " : el objeto y sale de x y pasa a ser llevado.^^"; style fixed; print "tirar de x"; style roman; print " : tirar del objeto x.^"; style fixed; print "empujar x"; style roman; print " : empujar el objeto x.^^"; style fixed; print "afila x con y"; style roman; print " : Afila el objeto x con el objeto y.^"; style fixed; print "corta x con y"; style roman; print " : Corta el objeto x con el objeto y.^"; style fixed; print "golpea x con y"; style roman; print " : Golpea el objeto x con el objeto y.^^"; style fixed; print "habla con x"; style roman; print " : Habla al personaje x.^"; style fixed; print "dale y a x"; style roman; print " : Entrega el objeto y al personaje x.^"; style fixed; print "muestra y a x"; style roman; print " : Enseña el objeto y al personaje x.^"; style fixed; print "lanza y a x"; style roman; print " : Arroja el objeto y al personaje x.^"; style fixed; print "mata x con y"; style roman; print " : Mata al personaje x usando el objeto y.^"; ]; ZIPI_Otro ZIPI_Otro1 with ZIPI_titulo "Otros Comandos", ZIPI_ejecutar [; print "Las órdenes, en general, se pueden dar según:^"; style fixed; print ""; style roman; print " o bien^"; style fixed; print " "; style roman; print " o bien^"; style fixed; print " ^"; style roman; ]; ZIPI_Otro ZIPI_Otro2 with ZIPI_titulo "Agradecimientos", ZIPI_ejecutar [; print "A mis infatigables alfa testers: Johan Paz y Comely.^^"; print "A mis incansables beta testers: Gizmo y Elaine.^^"; print "A toda la comunidad IF española: el foro del CAAD y tantísimos sitios web con ejemplos y documentos invaluables.^^"; print "A Alessandro Schillaci y Luis Fernández, creadores de JIF (en español), un pedazo de herramienta para el desarrollo en InformATE!^^"; print "A Baltasar, el Arquero, creador de txtMap, un pedazo de herramienta para el desarrollo de aventuras.^^"; print "A Joruiru, por código sugerido.^^"; print "A todos los que luchan toda la vida, a ellos que son los imprescindibles.."; ]; ZIPI_Otro ZIPI_Otro3 with ZIPI_titulo "De la decencia", ZIPI_ejecutar [; print "Intenta sacarte la ropa."; ]; ZIPI_Otro ZIPI_Otro4 with ZIPI_titulo "Del esparcimiento", ZIPI_ejecutar [; print "Prueba a treparte a los juegos infantiles antes y después de encontrarte con tu novia. Escucha el agua de la fuente..."; ]; ZIPI_Otro ZIPI_Otro5 with ZIPI_titulo "Del cuidado personal", ZIPI_ejecutar [; print "Tócate. Huélete. Intenta cortarte (así: CORTARTE) antes y después de encontrarte con tu novia."; ]; ZIPI_Otro ZIPI_Otro6 with ZIPI_titulo "De la salud", ZIPI_ejecutar [; print "Intenta beber más de 4 veces en la fuente."; ]; ZIPI_Otro ZIPI_Otro7 with ZIPI_titulo "De la presa", ZIPI_ejecutar [; print "Después de encontrarte con tu novia, prueba a tocarla o siquiera mirarla más de una vez y si eres mordido inténtalo de nuevo..."; ]; ZIPI_Otro ZIPI_Otro8 with ZIPI_titulo "De la floricultura", ZIPI_ejecutar [; print "Prueba a cortar rosas en el rosedal antes y después de encontrarte con tu novia."; ]; ZIPI_Otro ZIPI_Otro9 with ZIPI_titulo "De los regalos florales", ZIPI_ejecutar [; print "Una vez que las tengas, prueba a dejar el ramo de flores. Intenta olerlas antes y después de ser mordido por tu novia."; ]; ZIPI_Otro ZIPI_Otro10 with ZIPI_titulo "De los objetos de culto", ZIPI_ejecutar [; print "Prueba a sacarte el crucifijo de tus padres, antes y después (si le ofreciste flores) de encontrarte con tu novia. Prueba también a dejar el crucifijo del sacerdote"; ]; ZIPI_Otro ZIPI_Otro11 with ZIPI_titulo "De la seguridad en espacios públicos", ZIPI_ejecutar [; print "Intenta coger los faroles, los focos, la propia luz..."; ]; ZIPI_Otro ZIPI_Otro12 with ZIPI_titulo "De las herramientas del oficio", ZIPI_ejecutar [; print "Prueba a cortar árboles y ramas antes y después de encontrarte con tu novia. Trata de coger un adoquín, un poste o una barra de los juegos infantiles..."; ]; ZIPI_Otro ZIPI_Otro13 with ZIPI_titulo "De la ayuda de fuerzas superiores", ZIPI_ejecutar [; print "Prueba a rezar antes y después de encontrarte con tu novia o después de ser mordidos."; ]; ZIPI_Otro ZIPI_Otro14 with ZIPI_titulo "De las medidas extremas", ZIPI_ejecutar [; print "^^"; print "Prueba a suicidarte (así: SUICIDATE o MATATE) antes y después de encontrarte con tu novia o después de ser mordidos. Después de ser mordido, tendrás ~éxito~ si usas una estaca afilada..."; ]; ZIPI_Otro ZIPI_Otro15 with ZIPI_titulo "Historia de ~Reflejos blancos~^^", ZIPI_ejecutar [; style bold; print "Sobre la Creación de la Obra^^"; style roman; print "Una vez convocada la FICOMP 2011, y habida mi grata experiencia en la edición anterior, no puede menos que presentarme a esta también.^"; print "Si bien tenía un par de proyectos en carpeta, el que más se prestaba para esta ocasión es esta secuela de ~Pan de ajo~, que ya venía madurando en mi ~archivo mental de argumentos~.^"; print "Y aquí está el resultado.^^"; style bold; print "Sobre el Tema de la Obra^^"; style roman; print "Todos disfrutamos de una existencia relativamente cómoda y segura no en base sólo a nuestro esfuerzo; múltiples son las personas que día a día trabajan, las más de las veces con magras o nulas recompensas, para proporcionarnos servicios básicos (y otros no tanto) sin los cuales sería muy trabajoso (o doloroso) nuestro día a día.^"; print "Además de eso, no pocas de esas personas que nos acompañan y ayudan sobrellevan heridas y experiencias personales muy dolorosas con una sonrisa en los labios, en forma silenciosa y anónima.^"; print "Para muchas de estas personas, la negación, ese mecanismo de supervivencia de la especie en cuanto a atavismo de regresión a una ~insensibilidad animal~, les resulta especialmente útil para sobrevivir ¡como sea, al costo emocional que sea! ante catástrofes y tragedias... pero todo tiene límites.^^"; print "Todos tenemos nuestro límite.^^"; print "En el caso del protagonista del presente relato, su límite (su quiebre) fue el tener que asumir personalmente este karma horroroso de la cacería de vampiros.^^"; print "Otras personas, sin tanta fantasía o folclor de vampiros de por medio, asumen todos los días (sin que nos enteremos) otras tareas o penas no menos pesadas, llevadas por un altruismo que raya en el heroísmo.^^"; print "Acuden entonces a colación estos versos del poeta alemán Bertolt Brecht:^^"; print "Hay hombres que luchan un día^"; print "y son buenos.^"; print "Hay otros que luchan un año^"; print "y son mejores.^"; print "Hay quienes luchan muchos años^"; print "y son muy buenos.^"; print "Pero hay los que luchan toda la vida:^"; print "ésos son los imprescindibles.^^"; print "Y en esos imprescindibles descansamos, todos nosotros, toda la vida...^^"; style bold; print "Santiago de Chile, 20 de Julio, 2011 "; style roman; ]; ! CLASES GENERICAS ! Meta Clase para Habitaciones Class Habitacion class Lugar ! Usa clase Lugar, declarada en PNJMovil with descripcion [; if ( (accion==##Mirar) || (self hasnt visitado) ) self.descripcion_larga(); else self.descripcion_corta(); ], descripcion_larga "descripción larga de la habitación", descripcion_corta "descripción corta de la habitación", antes [; Nadar: if (uno==0) "No estoy cerca del agua..."; else if (uno~=Fuente) print_ret "No se puede nadar en ", (el) uno, "..."; Meterse: if (uno==0) "¿Y dónde voy a sentarme...?"; !num Comer: if (uno==0) "Pero... si aquí no hay nada para comer..."; Beber: if (uno==0) "Pero... si aquí no hay nada para beber..."; Soplar, Gesticular : "Me pongo a hacer morisquetas y meneo los brazos y piernas..."; Dormir : "Qué más quisiera, pero, bueno, no estoy en casa..."; Despertarse : "Más despierto, imposible."; Tacos : "Mis padres me educaron mejor que eso..."; Rezar: if (Vampiro hasnt general) ! El Vampiro no ha sido revelado aun "Se me han pegado algunas costumbres en la iglesia, así que doy una breve acción de gracias por mi salud, mi trabajo, el cariño de mi chica y por la bendita paz que siento en esta noche..."; else if (Jugador has encendido) ! Ya funimos mordidos "Visto que de poco ha servido en el pasado y en mi presente, decido que ya no vale la pena..."; else "Rezo para que esta maldita noche termine de una puta vez, con mi chica libre del tormento y con mi espíritu lo menos podrido posible.^ Ruego a todo lo que es santo para que esta maldición de la Cacería termine alguna jodida vez.^ Pido al Cielo la fuerza para llevar a cabo esta mierda de ~trabajo~ sin enloquecer y empezar a clavarles estacas en el pecho a los mamones e inocentes que viven ignorantes a este infierno gracias al sacrificio anónimo, mío y de todos los Cazadores, desde el principio de la puta Cacería.^ Pido perdón por mi franqueza y falta de respeto en mis plegarias, pero es que estoy algo tenso y abatido por la pena y la angustia.^^ Amén..."; ! Hablar: ! if (otro==0) { ! if (Vampiro hasnt general) ! El vampiro no se ha revelado ! "No veo razón para alterar la paz del parque..."; ! else ! "Grito mi desesperación, pero los ecos se pierden inútilmente en el parque..."; ! } Responder: print "Para hablar con los personajes, usa:^"; style fixed; print "HABLA CON "; style roman; rtrue; Escuchar: if (uno==0) "El parque está en completo silencio..."; BuscarEn, Tocar: if (uno == obj_arriba) "No alcanzo..."; else if (uno == obj_abajo) { if (otro==0) <>; else <>; } Ir: if ( (Vampiro has general) && (Vampiro in self) && (self hasnt general) && (self~=RosedalNE) && (Jugador hasnt encendido) ) { ! No atacamos al salir si ya fuimos mordidos. give Vampiro encendido; <>; } Examinar: if (uno == obj_arriba) { "El cielo se ve límpido y sin nubes, pero ya está muy oscuro."; } else if (uno == obj_abajo) <>; ], despues [; Mirar: ! Recordatorio si el rastro ya está puesto if ( (Localizacion~=PlazaCentro) && (PlazaCentro has encendido) ) print "^El rastro está listo y la trampa está puesta: mejor me voy a la fuente, mi chica no tardará en llegar..."; rfalse; ], has luz; ! Clase para PSI Class PSI class PNJMovil ! Usa clase PNJMovil, declarada en PNJMovil with nombre_m 'cuerpo' 'mano' 'pie' 'brazo' 'dedo' 'musculo' 'pelo' 'pecho' 'torso' 'puno', nombre_mp 'manos' 'pies' 'brazos' 'dedos' 'musculos' 'pelos' 'punos', nombre_f 'pierna' 'cintura' 'cara' 'piel' 'una' 'espalda', nombre_fp 'piernas' 'unas' 'espaldas', descripcion [; if (self hasnt general) { give self general; self.descripcion_larga(); } else { give self ~general; self.descripcion_corta(); } rtrue; ], descripcion_larga "descripción larga del PSI", descripcion_corta "descripción corta del PSI", antes [; Coger, Empujar: <>; Frotar, Probar, Oler: <>; BuscarEn: <>; ], vida [; Responder: print "Para hablar con los personajes, usa:^"; style fixed; print "HABLA CON "; style roman; rtrue; ], has animado; ! Clase para Objetos que el jugador puede coger y manipular ! y que son parte de algún puzzle Class Objeto_Puzzle class Object with descripcion [; if (self hasnt general) { give self general; if (self.descripcion_larga ofclass string) self.descripcion_larga(); else indirect(self.descripcion_larga); } else { give self ~general; if (self.descripcion_corta ofclass string) self.descripcion_corta(); else indirect(self.descripcion_corta); } rtrue; ], descripcion_larga "descripción larga del objeto", descripcion_corta "descripción corta del objeto", antes [; BuscarEn: <>; Oler: "No parece que huela a nada especial."; Escuchar: "No produce ningún sonido."; ! Quemar : ! "Mejor que no: en una ciudad como Roma, los incendios siempre terminan en tragedia."; ], has ~general; ! Clase para Objetos que son parte del jugador Class Objeto_Jugador class Object ; ! El Jugador Objeto_Jugador miJugador with descripcion [; print "Soy un tío normal, de poco más de 17 años. No soy muy grande para mi edad, pero estoy en buen estado físico. En fin, soy un muchacho como cualquier otro... "; if (self has encendido) ! Ya fuimos mordidos "salvo una herida fea en mi cuello."; if (Vampiro hasnt general) ! El Vampiro no ha sido revelado aun "exceptuando por mi historia personal, claro."; else "exceptuando por mi negocio, claro."; ], antes [; Tocar : "Tengo la piel tersa: no salgo mucho al sol, es verdad."; Oler : "Estoy impecable, vine aseado..."; Atacar, Suicidar: if (Vampiro hasnt general) ! El Vampiro no ha sido revelado aun "Lo pense al día siguiente de matar a papá, pero ahora no lo haría por nada del mundo. Estoy feliz y voy a encontrarme con mi chica..."; else if (Jugador has encendido) { ! Ya fuimos mordidos if (otro~=Estaca) { print "No es mala idea, pero "; if (otro==0) "dudo que pueda suicidarme con las puras manos..."; else print_ret (el) otro, " no sirve de mucho para cometer suicidio..."; } else { ! Tenemos la Estaca if (Estaca hasnt encendido) ! Estaca sin afilar "No es mala idea, pero ¿con una estaca sin afilar? ni de broma, dolerá más de lo necesario..."; else { if (Cura in Localizacion) { print "Aferro la estaca con dos manos y la apunto con cuidado a mi pecho... pero el cura grita ~¡Hijo, qué haces!~ y me interrumpe.^^ Joder.^^"; <>; } else { SuicidioEstaca.proyeccion(); PararDaemon(self); PararDaemon(Vampiro); banderafin = 3; rtrue; } } } } else "No es mala idea, pero prefiría terminar el detalle pendiente de matar a mi chica primero..."; Cortar: if (Vampiro hasnt general) ! El Vampiro no ha sido revelado aun "Nada de cortes: quiero estar presentable para mi cita..."; else if (Cura hasnt encendido) ! Aun no nos hemos encontrado con el Cura "Ya hay bastantes cosas peligrosas en mi negocio, como para hacermelas yo solo."; else if (PlazaCentro has encendido) { print ! El rastro ya está listo "No hace falta: el rastro está listo y la trampa está puesta.^"; if (Localizacion == PlazaCentro) "Mejor espero tranquilo a mi chica, aquí junto a la fuente..."; else "Mejor voy a la fuente, no debo hacer esperar a mi chica..."; } ! Con qué cortarnos else if ( (otro==0) && (Estaca notin Jugador) && (RamoRosas notin Jugador) ) ! No tenemos nada con qué cortarnos "Algo con qué poder hacerme corte me hace falta primero..."; else if ( ( ((otro==0) && (RamoRosas in Jugador)) || (otro==RamoRosas) ) && ((Estaca notin Jugador) || (Estaca hasnt encendido) || (Martillo notin Jugador)) ) ! Tenemos las Rosas, pero no tenemos el equipamiento "Aun no estoy equipado para... darle descanso a mi chica: de poco serviría dejar un rastro ahora. Mejor conseguir el equipamiento completo antes."; else if ( ( ((otro==0) && (Estaca in Jugador)) || (otro==Estaca) ) && ((Estaca hasnt encendido) || (Martillo notin Jugador)) ) { ! No tenemos las Rosas if (Estaca hasnt encendido) ! Nos falta afilar la Estaca "Hay que afilar la estaca primero..."; else ! No tenemos el "martillo" "Aun no estoy equipado para... darle descanso a mi chica: de poco serviría dejar un rastro ahora. Mejor conseguir algo con qué clavar la estaca antes."; } else { ! Tenemos el Ramo de Rosas o la Estaca afilada con su "martillo" ! Dónde Cortarnos switch (Localizacion) { ! No cortarse en lugares inútiles Paseo_NE, Paseo_NW, Paseo_SE, Paseo_SW: "Aquí no: tengo que dejar un rastro lo más directo posible..."; PlazaCentro, RosedalNE, JardinJaponesSW: "Aquí no: mi novia está aun dando vueltas por el contorno del parque. Si me hago cortes en este lugar, no servirá de nada..."; ! Dónde cortarse, evitando cortes redundantes ! Ruta Norte PlazaNorte: ! No cortarse aquí si ya inciamos otro rastro if ((GotasSangrePlazaSur notin Limbo) || (GotasSangrePaseoS notin Limbo) ) "Ya inicie otro rastro: mejor completo ese primero..."; else if (GotasSangrePlazaNorte in Localizacion) "No hace falta: ya hay bastante sangre por aquí..."; else { move GotasSangrePlazaNorte to Localizacion; if (GotasSangrePaseoN notin Limbo) ! Fin de rastro si ya sembramos al sur give PlazaCentro encendido; } Paseo_N: ! No cortarse aquí si ya inciamos otro rastro if ((GotasSangrePlazaSur notin Limbo) || (GotasSangrePaseoS notin Limbo) ) "Ya inicie otro rastro: mejor completo ese primero..."; else if (GotasSangrePaseoN in Localizacion) "No hace falta: ya hay bastante sangre por aquí..."; else { move GotasSangrePaseoN to Localizacion; if (GotasSangrePlazaNorte notin Limbo) ! Fin de rastro si ya sembramos al norte give PlazaCentro encendido; } ! Ruta Sur PlazaSur: ! No cortarse aquí si ya inciamos otro rastro if ((GotasSangrePlazaNorte notin Limbo) || (GotasSangrePaseoN notin Limbo) ) "Ya inicie otro rastro: mejor completo ese primero..."; else if (GotasSangrePlazaSur in Localizacion) "No hace falta: ya hay bastante sangre por aquí..."; else { move GotasSangrePlazaSur to Localizacion; if (GotasSangrePaseoS notin Limbo) ! Fin de rastro si ya sembramos al sur give PlazaCentro encendido; } Paseo_S: ! No cortarse aquí si ya inciamos otro rastro if ((GotasSangrePlazaNorte notin Limbo) || (GotasSangrePaseoN notin Limbo) ) "Ya inicie otro rastro: mejor completo ese primero..."; else if (GotasSangrePaseoS in Localizacion) "No hace falta: ya hay bastante sangre por aquí..."; else { move GotasSangrePaseoS to Localizacion; if (GotasSangrePlazaSur notin Limbo) ! Fin de rastro si ya sembramos al norte give PlazaCentro encendido; } ! Ruta Oeste Paseo_W: ! No cortarse aquí si ya inciamos otro rastro if ((GotasSangrePlazaNorte notin Limbo) || (GotasSangrePaseoN notin Limbo) || (GotasSangrePlazaSur notin Limbo) || (GotasSangrePaseoS notin Limbo) ) "Ya inicie otro rastro: mejor completo ese primero..."; else { move GotasSangrePaseoW to Localizacion; ! Fin de rastro give PlazaCentro encendido; } ! Ruta Este Paseo_E: ! No cortarse aquí si ya inciamos otro rastro if ((GotasSangrePlazaNorte notin Limbo) || (GotasSangrePaseoN notin Limbo) || (GotasSangrePlazaSur notin Limbo) || (GotasSangrePaseoS notin Limbo) ) "Ya inicie otro rastro: mejor completo ese primero..."; else { move GotasSangrePaseoE to Localizacion; ! Fin de rastro give PlazaCentro encendido; } } ! Marcamos la localidad con Sangre give Localizacion abierto; ! Como Cortarnos if ( ((otro==0) && (RamoRosas in Jugador)) || (otro==RamoRosas) ) print "Me hago un corte en la mano con las espinas de las rosas. Aunque, como hijo de cazador coagulo casi instantáneamente (esa maravillosa dieta con ajos y algo de herencia, supongo) pronto hay gotas de mi sangre en el suelo del parque"; else print "Me hago un corte en la mano con la punta la estaca. Aunque, como hijo de cazador, coagulo casi instantáneamente (esa maravillosa dieta con ajos y algo de herencia, supongo) pronto hay gotas de mi sangre en el suelo del parque"; if (PlazaCentro has encendido) { ! El rastro ya está listo ", dejando el rastro listo y la trampa puesta.^ Mejor voy a la fuente, no debo hacer esperar a mi chica..."; } else "."; } Escuchar : "Mi corazón late bien, mi respiración está tranquila... estoy en forma."; Frotar : "Frotándome con energía, gano un poco de calor."; ], ! Ciclo automático para mordida de Vampiro cada_turno [; ! El ciclo se incia si somos mordidos if (self has encendido) ArrancarDaemon(self); ], cantidad 30, daemon [; ! El ciclo se detiene si no estamos mordidos if (self hasnt encendido) { self.cantidad=30; PararDaemon(self); rtrue; } if (self.cantidad > 0) self.cantidad--; switch(self.cantidad) { 15: "^Siento algo de cansancio..."; 7: "^Me siento muy cansado..."; 5: "^Ya casi no tengo ganas de nada..."; 3: "^Un hastío profundo me invade..."; 0: ! Muerte si no está el cura if (Cura in Localizacion) { print "Casi ya sin fuerzas, miro al cura y le hablo. "; <>; } else { MordidaMata.proyeccion(); PararDaemon(self); PararDaemon(Vampiro); banderafin = 4; rtrue; } }; ] ; ! La ropa del Jugador Objeto_Jugador Ropa "ropa puesta" miJugador with nombre_f 'ropa' 'camiseta', nombre_mp 'pantalones' 'zapatillas', adjetivos 'puesta' 'usada', listarse "mi ropa puesta", descripcion "Son una camiseta, unos pantalones y un par de zapatillas. Ropa cómoda para la calle...", antes [; Desvestir : "¿Y andar desnudo? Si me pillaran luego la policía... demasiadas explicaciones."; ], cada_turno [; ! Se arranca el ciclo cuando llamamos por telefono y hemos esparcido las piedras if (Telefono has abierto) ArrancarDaemon(self); ], cantidad 3, daemon [; ! El ciclo se detiene cuando el cura ha llegado if (Cura has abierto) { self.cantidad=3; PararDaemon(self); rtrue; } if (self.cantidad > 0) self.cantidad--; else { PararDaemon(self); give Cura abierto; ! El cura ha llegado move Cura to Paseo_W; if (Jugador in Paseo_W) print "De pronto, veo que el cura ha llegado al parque. Me saluda rápido con un ~Vamos a la fuente, hijo~ y se marcha apurado.^"; move Cura to PlazaCentro; if (Jugador in PlazaCentro) "De pronto, veo que el cura ha llegado casi corriendo hasta la fuente. Me saluda azorado con un ~Hola, hijo~ y se detiene a tomar aliento..."; ! else ! rtrue; }; ] has femenino prenda puesto; ! La herida del Jugador Objeto_Jugador Herida "herida" with nombre_f 'herida' 'afeitada', nombre_m 'cuello' 'corte' 'afeitado', adjetivos 'seca' 'fea', descripcion [; if (self hasnt encendido) ! Aun no fuimos mordidos "Estoy implecable: me afeité con esmero y no deje corte ni herida alguna..."; else { ! Ya fuimos mordidos if (Cura hasnt abierto) ! El cura aun no ha llegado "Tengo una herida de mordida en mi cuello. La herida está seca: algo de herencia genética, supongo..."; else "La herida de mordida desapareció por completo. Estoy a salvo... de momento, claro está."; } ], antes [; Tirar, Empujar, Oler, Frotar: if (self hasnt encendido) ! Aun no fuimos mordidos "No hace falta... estoy impecable."; else{ ! Ya fuimos mordidos if (Cura hasnt abierto) ! El cura aun no ha llegado "No me interesa, curiosamente..."; else "No hace falta: estoy impecable... otra vez."; } Dejar, Tocar: <>; ], esta_en [; ! Se usa esta solución para que no aparezca en el inventario return true; ], has femenino escenario; Objeto_Puzzle Telefono "teléfono móvil" miJugador with articulos "Un" "un" "mi", nombre 'telefono' 'celular' 'fono' 'aparato' 'movil', adjetivos 'cura' 'sacerdote' 'padre', listarse [; if (etapa_inventario==2) { if (self has encendido) print ", encendido"; else print ", apagado"; } ], descripcion_larga [; print "Es un teléfono móvil sencillo: para hablar por teléfono y ya. No digo que estaría mal tener un teléfono ~inteligente~, pero habida la cantidad de funciones con que los recargan, no es raro que la batería les dure poco y nada... y eso no es para mí.^ En este momento está "; if (self has encendido) print "encendido: no sirve de mucho si no."; else print "apagado."; if (Vampiro has general) "^Resulta útil para pedir ayuda profesional, si se ve que el trabajo está complicándose."; else "^Resulta útil para estar en contacto con la gente que uno conoce."; ], descripcion_corta [; print "Es un teléfono móvil sencillo. Está "; if (self has encendido) print "encendido."; else print "apagado."; if (Vampiro has general) "^Resulta útil para pedir ayuda profesional, si se ve que el trabajo está complicándose."; else "^Resulta útil para estar en contacto con la gente que uno conoce."; ], antes [; Cerrar: "Está bien ensamblado, no hace falta ajustarle nada."; Abrir: "No voy a darle mantenimiento a mi teléfono justo ahora..."; Apagar : if (self has encendido) { if (Cura hasnt encendido) ! Aun necesitamos al cura para que nos ayude "Mala idea. Necesito estar comunicado en este momento."; else { give self ~encendido; "Apago el teléfono."; } } else "Ya está apagado."; Quemar, Encender : if (self hasnt encendido) { give self encendido; "Enciendo el teléfono."; } else "Ya está encendido."; Hablar, Llamar : if (self hasnt encendido) "Habrá que encenderlo primero..."; if (Vampiro hasnt general) ! Vampiro no ha sido revelado "Mejor no distraerme ahora... es con mi chica que tengo que hablar y no por teléfono."; ! Logica para llamadas else if (Jugador hasnt general) { ! Llamada Inicial ! puntuacion++; Conseguido(3); give Jugador general; LlamadaCuraInicial1.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^^^",0); LlamadaCuraInicial2.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^^^",0); LlamadaCuraInicial3.proyeccion(); if (Piedritas hasnt general) { LlamadaCuraInicialSinPiedritas.proyeccion(1); give self ~abierto; } else ! Activar el ingreso del Cura en el Parque give self abierto; if (Jugador has encendido) LlamadaCuraInicialMordido.proyeccion(1); if (velocidad_texto == 0) print "Y cuelga."; else PrintAutoPausa("Y cuelga.",0); if (velocidad_texto == 0) PrintPausa("^^",0); if ( (Estaca notin Jugador) || (Martillo notin Jugador) ) LlamadaCuraInicialFin.proyeccion(); rtrue; } else if (self hasnt abierto) { ! Tenemos pendiente la 2a llamada al Cura if (Piedritas hasnt general) { print "No debo llamar al padre todavía: mi chica aún no está distraída"; if (Jugador has encendido) print ! Ya fuimos mordidos "; si lo llamo ahora, puede que el cura tenga que lidiar con dos vampiros"; "..."; } else { give self abierto; ! Activar el ingreso del Cura en el Parque "Llamo al teléfono móvil del cura.^ Cuando contesta, sólo digo ~Ahora, padre~ y cuelgo."; } } else "No hace falta que llame a nadie más..."; Lanzar, Dejar : "Mala idea. Será sencillo, pero no los regalan..."; ], has masculino encendido; Objeto_Puzzle CrucifijoPadres "crucifijo de metal" miJugador with articulos "Un" "un" "mi", nombre_m 'crucifijo', nombre_f 'cruz' 'cadena', adjetivos 'metalico' 'metal', listarse [; if (etapa_inventario==2) { if ( (Vampiro notin Limbo) && (Vampiro has general) ) print ", brillando levemente"; rtrue; } ], descripcion_larga [; print "El crucifijo metálico que me dejaron mis padres: uno de los pocos recuerdos que conservo de ellos, por lo que no me separo de él jamás. Lo llevo al cuello con una cadena."; if ( (Vampiro notin Limbo) && (Vampiro has general) ) "^Está brillando levemente. ^Qué consuelo saber que esta cosa sigue funcionando bien..."; else ".."; ], descripcion_corta [; print "El crucifijo metálico que me dejaron mis padres. Lo llevo al cuello con una cadena."; if ( (Vampiro notin Limbo) && (Vampiro has general) ) "^Está brillando levemente. ^Qué consuelo saber que esta cosa sigue funcionando bien..."; else ".."; ], antes [; Tocar: "Es liso y frío."; Dejar, Desvestir: if ( (Vampiro notin Limbo) && (Vampiro has general) ) "Aprecio mucho mi cabeza y no me gustaría separarme de ella..."; else "Aprecio mucho el crucifijo y no me gustaría separarme de él..."; ], has masculino puesto; ! Clase para Objetos del escenario manipulables por el jugador y que ! pueden ser parte de algún puzzle Class Objeto_Escenario class Object with descripcion [; if (self hasnt general) { give self general; self.descripcion_larga(); } else { give self ~general; self.descripcion_corta(); } rtrue; ], descripcion_larga "descripción larga del objeto", descripcion_corta "descripción corta del objeto", antes [; BuscarEn: <>; Examinar: rfalse; Frotar : "No voy a estar limpiándolo todo, tengo otras cosas que hacer."; Quemar : "Mejor que no: los incendios siempre terminan en tragedia."; Coger, Empujar : "No voy a empezar a desordenarlo todo..."; Oler: "No parece que huela a nada especial."; Escuchar: "No produce ningún sonido."; ], has escenario; Class Escanos ! Escaños del parque class Objeto_Escenario with nombre 'escano' 'asiento', nombre_mp 'escanos' 'asientos', adjetivos 'madera' 'fierro' 'pintado' 'pintados' 'verde', descripcion "Los escaños del parque están hechos de fierro y madera, pintados de un color verde más bien neutro.", antes [; Tocar: "Son rugosos y asperos."; Cortar, Coger, Empujar, Tirar, Girar: if (Vampiro hasnt general) ! El vampiro no se ha revelado "No veo razón para estar rompiendo los escaños..."; else if (Estaca in Jugador) "No hace falta, ya tengo una estaca a mano."; else "La madera no me va a servir para lo que necesito: mala tensión superficial, se romperá al primer golpe."; ], despues [; Meterse: "Me siento en uno de los escaños. Cómodo, pero nada especial..."; ], has masculino nombreplural soporte entrable; ! Clase para Objetos de Localidad Class Objeto_Localidad class Objeto_Escenario with antes [; Escuchar: <>; Empujar, Coger : "No creo poder con eso..."; ]; ! Objeto para que reaccione a <>> Objeto_Localidad Objeto_Localidad_Generico "lugar" with nombre_m 'lugar' 'sitio' 'parque', nombre_f 'localidad', descripcion [; ! np = 2; ! switch (SiguientePalabra()) { ! 'lugar' : <>; ! default : "No veo eso que dices."; ! }; ], antes [; Salirse: <>; ], esta_en [; return true; ], has masculino; ! La luz Objeto_Escenario Objeto_Luz "luz" with nombre_f 'luz' 'semi' 'penumbra' 'sombra' 'oscuridad' 'noche', nombre_fp 'penumbras' 'sombras', descripcion "Está muy oscuro y apenas se ve algo entre las sombras. Los faroles iluminan para caminar y poco más.", antes [; Empujar, Coger, Tocar, Frotar : "Si supiera cómo, le pasaría el dato a la Organización: las calles serían más seguras..."; ], esta_en [; return true; ], has femenino; Class Focos class Objeto_Escenario with nombre_m 'foco', nombre_mp 'focos', nombre_fp 'luces', descripcion "Son focos ornamentales, ubicados con gusto y cuidado para iluminar los detalles de los adornos del parque.", antes [; Frotar, Tocar: "Mejor que no: han de estar calientes y me quemaría seguro..."; Empujar, Coger, Tirar, Girar : "Mejor que no, no creo que sirva de mucho dejar a oscuras las cosas..."; ], has masculino nombreplural; Objeto_Escenario Faroles "faroles" with nombre_m 'farol' 'poste', nombre_mp 'faroles' 'postes', adjetivos 'metal' 'metalicos' 'metalico', descripcion "Son faroles sobre postes metálicos: la luz que emiten sirve para caminar y poco más.", antes [; Empujar, Coger, Tocar, Frotar, Tirar, Girar : if (Vampiro hasnt general) ! El vampiro no se ha revelado "Mejor que no, no creo que sirva de mucho quedarme a oscuras..."; else if (Estaca in Jugador) "No hace falta, ya tengo una estaca a mano."; else "El poste del farol es de metal, de estaca no me sirve. Necesito algo de madera..."; ], esta_en [; return true; ], has masculino nombreplural; Objeto_Escenario Arboles "arboles" with nombre_m 'arbol' 'tronco', nombre_mp 'arboles' 'tronco', adjetivos 'madera', descripcion "Los árboles, repartidos a lo largo de los senderos, dan vida al parque. Las sombras les dan formas muy sugerentes a los troncos y las ramas.", antes [; Tocar: "Los troncos son rugosos y asperos."; Cortar, Empujar, Coger, Frotar, Tirar, Girar : if (Vampiro hasnt general) ! El vampiro no se ha revelado "No veo razón para estar afeando el parque..."; else "Aunque tuviera con qué cortarlos, la madera no me va a servir para lo que necesito: demasiado gruesa y tosca."; ], esta_en [; return true; ], has masculino nombreplural; Objeto_Escenario Ramas "ramas" with nombre_m 'rama', nombre_mp 'ramas', adjetivos 'madera', descripcion "Las ramas se pierden en las sombras, sosteniendo el cielo del parque...", antes [; Tocar: "Las ramas a mi alcance son rugosas y ásperas."; Cortar, Empujar, Coger, Frotar, Tirar, Girar : if (Vampiro hasnt general) ! El vampiro no se ha revelado "No veo razón para estar afeando el parque..."; else "Las ramas a mi alcance son demasiado grandes y gruesas: no tengo las herramientas necesarias para trabajarlas y conseguir una estaca..."; ], esta_en [; return true; ], has femenino nombreplural; Objeto_Escenario Hojas "hojas" with nombre_m 'follaje', nombre_f 'hoja', nombre_fp 'hojas', descripcion "Las hojas están sólo en el follaje, ya que el parque está impecable...", antes [; Cortar, Empujar, Coger, Tocar, Frotar, Tirar, Girar : "Están fuera de mi alcance..."; ], esta_en [; return true; ], has femenino nombreplural; ! Meta clase DecoradoAmpliado !Class Decorado_Ampliado ! class Decorado !with ! antes [; ! Quemar: ! "Mejor que no: los incendios siempre terminan en tragedia."; ! Examinar: rfalse; ! Coger: "Mejor no sobrecargarme..."; ! Empujar: "No parece que se pueda empujar..."; ! Oler: ! "No parece que huela a nada especial..."; ! Escuchar: ! "No produce ningún sonido..."; ! BuscarEn: <>; ! default: ! "¿¡Y para qué diablos voy a hacer eso, eh?!..."; ! ]; Objeto_Escenario Objeto_Piso "piso" with nombre_m 'piso' 'suelo' 'sendero', nombre_mp 'senderos', descripcion [; print "El suelo de los senderos es de adoquines"; if (Localizacion == RosedalNE) print ", con algunas rosas salvajes aquí y allá"; if (Localizacion has general) ! Hay piedritas print ", con guijarros esparcidos por doquier"; if ( (Localizacion has abierto) && (Localizacion~=PlazaCentro) ) ! Hay gotas de sangre. print ": se ven unas gotas de sangre entre todo ello"; "."; ], antes [; Coger: <>; Tocar: <>; BuscarEn: "No es más que el suelo del parque, gastado por el uso y barrido con frecuencia..."; Frotar: <>; ], esta_en [; return true; ], has masculino; Objeto_Escenario Adoquines "adoquines" with nombre_m 'adoquin', nombre_mp 'adoquines', adjetivos 'cemento', descripcion "Los adoquines son de cemento y se ven bastante sólidos.", antes [; Tocar: "Duros y compactos."; BuscarEn: "No hay nada entre los adoquines..."; Frotar: "La municipalidad ya se hace cargo..."; Tocar: "Los adoquines son rugosos y asperos."; Empujar, Coger, Tocar, Tirar, Girar : if (Vampiro hasnt general) ! El vampiro no se ha revelado "No veo razón para estar afeando el parque..."; else "Aunque tuviera con qué sacarlos, son demasiado grandes e inmanejables para que los usara para clavar nada..."; ], esta_en [; return true; ], has masculino nombreplural; Objeto_Escenario Objeto_Techo "techo" with nombre 'techo' 'cielo', descripcion [;<>;], antes [; Coger: <>; Quemar: <>; Tocar: <>; BuscarEn: <>; Frotar: "Que la municipalidad se haga cargo... si puede, je."; ], esta_en [; return true; ], has masculino; ! Los postes de señalización, para las salidas Objeto_Escenario PosteSalidas "poste de orientación" with nombre_m 'poste' 'letrero', nombre_mp 'letreros', nombre_f 'senal', nombre_fp 'senales', adjetivos 'plastico' 'senalizacion' 'senaletica' 'orientacion', describir "En un rincón, veo uno de los postes de orientación, discretamente instalado.", descripcion [; print "Del poste de señalización cuelga"; if ((Localizacion == RosedalNE) || (Localizacion == JardinJaponesSW)) print " un letrero "; else print "n letreros "; print "con indicaciones para orientarse. "; <>; ], antes [; Leer: <>; Cortar, Coger, Empujar, Tirar, Girar: if (Vampiro hasnt general) ! El vampiro no se ha revelado "No veo razón para estar destrozando la señalética..."; else if (Estaca in Jugador) "No hace falta, ya tengo una estaca a mano."; else "El poste de señalización es de plástico, de estaca no me sirve. Necesito algo de madera..."; ], esta_en [; return true; ], has masculino ~escenario legible; ! Habitación Limbo Habitacion Limbo "El Limbo" with descripcion "¡Eh! ¿Cómo has llegado aquí? Estos Betatesters...", afuera PlazaCentro, has luz; ! Objetos del Jugador ! ================= Localidades =============== ! El centro del parque Habitacion PlazaCentro "El centro del parque" with descripcion_larga "El corazón del parque está dominado por una magnífica fuente de agua rodeada de escaños. La fuente, que está justo al centro de los cuatro senderos que convergen en este sitio, se ve hermosa, iluminada con focos desde abajo, reluciente y prístina.^ El agua sube y baja sin cesar: ya sea por olvido o diseño, los surtidores ornamentales siguen funcionando a toda marcha, a pesar de que ya es noche cerrada.", descripcion_corta "Estoy al centro del parque, junto a la fuente de agua y sus escaños. La fuente sigue funcionando a pesar de que ya es noche cerrada.", al_n Paseo_N, al_s Paseo_S, al_e Paseo_E, al_o Paseo_W, afuera Paseo_N, ! Ciclo automático para llegada de Vampiro después de que ponemos el rastro de sangre cada_turno [; ! El ciclo se incia si pusimos el rastro de sangre if (self has encendido) ArrancarDaemon(self); ], cantidad 4, daemon [; ! El ciclo se detiene si ya pasaron 4 turnos if (self hasnt encendido) { self.cantidad=4; PararDaemon(self); rtrue; } if (self.cantidad > 0) self.cantidad--; switch(self.cantidad) { 0: ! Llega el Vampiro siguiendo el rastro ! puntuacion++; Conseguido(6); give self ~encendido; give self abierto; PararDaemon(self); PararDaemon(Vampiro); move Vampiro to self; if (Jugador in self) { ! Si el texto no está animado, lo forzamos if (velocidad_texto == 0) velocidad_texto=25; PrintAutoPausa("De pronto, ",0); PrintAutoPausa("una niebla aparece ",0); PrintAutoPausa("del otro lado de la fuente: ",0); PrintAutoPausa("en cuestión de segundos ",0); PrintAutoPausa("adquiere solidez... ",0); PrintAutoPausa("y en lugar de la niebla ",0); ! Si el texto no estaba animado, lo devolvemos a no animado if (velocidad_texto == 25) velocidad_texto=0; "está mi chica."; } else rtrue; }; ], antes [; Nadar: if (uno==0) <>; else if (uno~=Fuente) print_ret "No se puede nadar en ", (el) uno, "..."; Meterse: if (uno==0) <>; Beber: if (uno==0) <>; Salidas: "Por el norte se llega al rosedal y más allá a los juegos infantiles; al sur está el jardín japonés y la glorieta al final del paseo. Por el este y el oeste se puede llegar al paseo que rodea el parque."; Ir: if (Cura in self) { print "Mejor es que me entienda con el cura cuanto antes. "; <>; } else if (self has encendido) "El rastro está listo y la trampa está puesta: debo tener paciencia y esperar a que llegue mi chica..."; else if (self has abierto) "Tengo que acabar con esto aquí y ahora: no hay ningún otro sitio donde deba estar..."; ]; ! Decorados Objeto_Localidad Objeto_Localidad_PlazaCentro "centro del parque" with nombre_m 'centro', adjetivos 'parque', descripcion [; if (Localizacion == PlazaCentro) <>; else "Puedes ver el centro del parque, con su fuente de agua."; ], antes [; BuscarEn: <>; Salirse: if (Localizacion == PlazaCentro) <>; else "No estoy al centro del parque..."; Meterse, Entrar: if (Localizacion == Paseo_N) <>; else if (Localizacion == Paseo_S) <>; else if (Localizacion == Paseo_E) <>; else if (Localizacion == Paseo_W) <>; else ! En el centro de la Plaza "Ya estoy al centro del parque."; Probar, Beber : <>; ], esta_en [; if ( (Localizacion == PlazaCentro) || (Localizacion == Paseo_N) || (Localizacion == Paseo_S) || (Localizacion == Paseo_E) || (Localizacion == Paseo_W) ) return true; ], has masculino escenario comestible; Objeto_Escenario Fuente "fuente" with nombre_f 'fuente', adjetivos 'magnifica' 'hermosa' 'reluciente' 'pristina', descripcion_larga "La fuente es magnífica. Rodeada de escaños, está justo al centro de los cuatro senderos que convergen en este sitio. Se ve hermosa, iluminada con focos desde abajo, reluciente y prístina.^ El agua sube y baja sin cesar de sus surtidores ornamentales, que siguen funcionando a toda marcha, a pesar de que ya es noche cerrada.", descripcion_corta "La fuente, rodeada de escaños, es magnífica. Se ve hermosa, iluminada con focos desde abajo: el agua sube y baja de sus surtidores ornamentales, que siguen funcionando a pesar de que ya es noche cerrada.", antes [; BuscarEn: if (Localizacion ~= PlazaCentro) "Tendré que acercarme más para eso..."; else if (Vampiro hasnt general) ! El vampiro no se ha revelado "Veo mi rostro, reflejado en el agua. Estoy relajado, vaya..."; else { print "Veo mi rostro, reflejado en el agua. Estoy tenso, qué sorpresa.."; if (Jugador has encendido) ! Fuimos mordidos ". y ahora, para complicar todo, tengo una fea herida en el cuello."; else "."; } Salirse: if (Localizacion == PlazaCentro) <>; else "No estoy al centro del parque..."; Nadar : if (Localizacion ~= PlazaCentro) "Tendré que acercarme más para eso..."; else <>; Meterse, Entrar: if (Localizacion == Paseo_N) <>; else if (Localizacion == Paseo_S) <>; else if (Localizacion == Paseo_E) <>; else if (Localizacion == Paseo_W) <>; else ! En el centro de la Plaza "De ninguna manera, terminaría empapado..."; Probar, Beber : if (Localizacion ~= PlazaCentro) "Tendré que acercarme más para eso..."; else <>; ], esta_en [; if ( (Localizacion == PlazaCentro) || (Localizacion == Paseo_N) || (Localizacion == Paseo_S) || (Localizacion == Paseo_E) || (Localizacion == Paseo_W) ) return true; ], has femenino escenario comestible; Escanos EscanosPlazaCentro "escaños" PlazaCentro; Focos FocosPlazaCentro "focos" PlazaCentro; Objeto_Escenario Surtidores "surtidores de la fuente" PlazaCentro with nombre_m 'surtidor', nombre_mp 'surtidores', adjetivos 'limpio' 'limpios' 'frio' 'frios' 'ornamental' 'ornamentales' 'metal' 'fuente', descripcion [; print "Los surtidores ornamentales brillan de limpios, y el metal captura la luz y la refleja en el agua"; if (Cura has encendido) "... que ahora brilla levemente. Ahora es agua bendita."; else "."; ], antes [; Escuchar: <>; Coger, Tirar, Empujar, Girar : "El metal es suave y frío al tacto... y no hay como moverlos de su sitio."; Tocar: "El metal es suave y frío al tacto..."; Probar, Beber : <>; ], has masculino nombreplural comestible; Objeto_Escenario Agua "agua de la fuente" PlazaCentro with nombre_f 'agua', adjetivos 'limpia' 'fresca' 'fria' 'bendita' 'fuente', descripcion [; print "El agua de la fuente se ve limpia y fresca"; if (Cura has encendido) "... y brilla levemente. Ahora es agua bendita."; else "."; ], capacidad 0, antes [; BuscarEn: <>; Escuchar: "Escucho un rato la caída del agua.^ La música del agua, siempre cambiante, sin pausas pero sin estridencias, es un bálsamo de paz..."; Coger, Tocar, Empujar, Tirar, Girar : "El agua es suave y fría al tacto. Se escapa dulcemente entre mis dedos..."; Probar, Beber : if (Cura hasnt encendido) { self.capacidad = self.capacidad + 1; if (self.capacidad == 1) "Bebo de la fuente. El agua está fresca..."; else if (self.capacidad < 4) "Bebo un poco más..."; else "Mejor que no. Si no, me darán ganas de orinar..."; } else "No puedo hacer eso: ahora es agua bendita."; Oler : "Es un olor fresco, suave e insulso... menos mal. Digo, es agua."; ! Tirar: ! if ( (Vampiro hasnt general) || (otro==0) ) ! El vampiro no se ha revelado ! "No veo razón para estar mojando el parque..."; ! else if (otro == Vampiro) { ! if (Vampiro hasnt abierta) ! Aun no inmovilizamos al Vampiro ! "No le daría de lleno y apenas le haría efecto: mejor le arrojo el frasco..."; ! else ! "Ya no hace falta. Es hora de terminar con esto..."; ! } else print_ret ! "Nada conseguría mojando ", (el) uno, "."; ], has masculino comestible; ! PSI PSI Cura "sacerdote" Limbo with nombre 'cura' 'sacerdote' 'hombre' 'padre', adjetivos 'viejo' 'apurado' 'preocupado', descripcion [; print "El padre se ve preocupado y me mira con inquietud, mientras aferra un crucifijo grande en las manos. "; <>; ], describir "El sacerdote está de pie al lado de la fuente.", vida [; Besar, Atacar: print "No puedo hacer esos somos colegas. Mejor es que hablemos, que el tiempo corre. "; <>; Hablar: give self encendido; HablarCuraInicial.proyeccion(1); if (velocidad_texto == 0) PrintPausa("^^^^",0); if (Jugador has encendido) { CuraLimpiaHerida.proyeccion(); ! puntuacion++ Conseguido(4); give Jugador ~encendido; } HablarCuraBendicion.proyeccion(1); if (velocidad_texto == 0) PrintPausa("^^^^",0); HablarCuraDespedida.proyeccion(); move self to Limbo; move CrucifijoCura to Jugador; move FrascoAguaBendita to Jugador; rtrue; ], has masculino; ! Objetos de Puzzle Objeto_Puzzle CrucifijoCura "crucifijo de madera" Limbo with nombre_m 'crucifijo', nombre_f 'cruz', adjetivos 'madera' 'cura' 'sacerdote' 'padre', listarse "una cruz de madera, brillando suavemente", descripcion_larga "El crucifijo de madera del sacerdote: bastante más grande y poderoso que el que me dejaran mis padres, me protegerá en forma más permanente.^ Está brillando suavemente, pero es sólo apariencia: su poder es enorme...", descripcion_corta "El crucifijo de madera del sacerdote.^ Está brillando suavemente, pero es sólo apariencia: su poder es enorme...", antes [; Tocar: "Es liso y cálido."; Dejar: "Ni de broma, es mejor que un seguro de vida..."; ], has masculino; Objeto_Puzzle FrascoAguaBendita "frasco de agua bendita" Limbo with nombre_m 'frasco', nombre_f 'agua', adjetivos 'bendita' 'vidrio' 'cura' 'sacerdote' 'padre', listarse "un frasco con agua bendita, brillando suavemente", descripcion_larga "El frasco de agua bendita del sacerdote; es de cristal muy fino, pero como voy a usarlo como arma arrojadiza, la idea es justamente que se rompa al contacto: prefiero no tener que aplicar el contenido directamente...", descripcion_corta "El frasco de agua bendita del sacerdote: prefiero arrojarlo a tener que aplicar el contenido directamente...", antes [; Tocar: "Es liso y frío."; Dejar: "Ni de broma, es lo único que tengo para arrojarle a mi chica..."; Abrir: "¿Y arriesgarme a perder el contenido? Nones..."; Probar, Beber : "No puedo hacer eso: es agua bendita."; ], has masculino comestible; ! La sangre del Jugador Class GotasSangre class Objeto_Escenario with nombre_f 'gota' 'sangre', nombre_fp 'gotas', adjetivos 'roja' 'rojas' 'redonda' 'redondas' 'pequena' 'pequenas' 'viscosa' 'viscosas' 'tibia' 'tibias', descripcion [; if ( (Localizacion == Paseo_N) || (Localizacion == Paseo_S) ) "Son gotas de mi sangre en el suelo."; else "Son gotas de mi sangre, mezcladas entre los guijarros."; ], antes [; Probar, Comer, Beber: "No gracias: son para mi chica y no tengo mayor interés en probar sangre.^ Eso es para la presa, no para el Cazador."; Tocar: "Son tibias y viscosas. Un bocado para mi chica..."; Coger: "Mejor que no. Sirven para atraer a mi novia..."; ], has femenino nombreplural comestible; GotasSangre GotasSangrePlazaSur "gotas de sangre" Limbo; GotasSangre GotasSangrePlazaNorte "gotas de sangre" Limbo; GotasSangre GotasSangrePaseoE "gotas de sangre" Limbo; GotasSangre GotasSangrePaseoW "gotas de sangre" Limbo; GotasSangre GotasSangrePaseoN "gotas de sangre" Limbo with describir "Hay algunas gotas de sangre en el suelo." has ~escenario; GotasSangre GotasSangrePaseoS "gotas de sangre" Limbo with describir "Hay algunas gotas de sangre en el suelo." has ~escenario; ! La glorieta Habitacion PlazaSur "La glorieta" with descripcion_larga [; print "El extremo sur del parque está enmarcado por una bellísima glorieta, rodeada de escaños. La glorieta está justo en medio del paseo, que aquí se ensancha para recibir a los transeúntes.^ La glorieta es casi enteramente blanca y su hermosa sencillez reluce a la luz de algunos focos disimulados"; if (Vampiro in Limbo) ".^Es el lugar perfecto para un encuentro nocturno."; else "."; ], descripcion_corta "Estoy en el extremo sur del parque, cerca de la glorieta, toda blanca y reluciente a la luz de varios focos, con algunos escaños por aquí y por allá.", al_n Paseo_S, al_e Paseo_SE, al_o Paseo_SW, afuera Paseo_S, ! Ciclo automático para que llegue la novia del protagonista tras 3 turnos de espera cada_turno [; ArrancarDaemon(self); ], cantidad 2, daemon [; if ( (Vampiro notin Limbo) || (Jugador notin self) ) { self.cantidad=2; PararDaemon(self); rtrue; } if (self.cantidad > 0) self.cantidad--; else { move Vampiro to self; PararDaemon(self); ! Si el texto no está animado, lo forzamos if (velocidad_texto == 0) velocidad_texto=25; PrintAutoPausa("De pronto, ",0); PrintAutoPausa("veo a mi novia llegar, ",0); PrintAutoPausa("caminando lentamente hasta el pie de la glorieta, ",0); PrintAutoPausa("sin que yo pueda oír nada. ",0); PrintAutoPausa("Qué raro...^",0); ! Si el texto no estaba animado, lo devolvemos a no animado if (velocidad_texto == 25) velocidad_texto=0; <>; }; ], antes [; Meterse: if (uno==0) <>; Salidas: "Por el norte se puede llegar al jardín japonés y más allá al centro del parque. Por el este y el oeste se puede continuar por el paseo que rodea el parque."; Ir: if ( (Vampiro in self) && (Vampiro hasnt general) ) { print "Antes de moverme, mis ojos se posan sobre mi chica.^^"; <>; } ], ; ! PSI PSI Vampiro "chica" Limbo with nombre 'novia' 'chica' 'mujer' 'vampiro', adjetivos 'hermosa' 'atractiva' 'sensual' 'palida', describir [; if (Jugador in Localizacion) { if (self hasnt general) "Mi novia me espera al pie de la glorieta."; else if (Localizacion == RosedalNE) "Mi novia está contemplando el rosedal con una mezcla de ira y asco."; else if (self has abierto) ! Le lanzamos el frasco de agua bendita "Mi novia se revuelca en el suelo, dando alaridos y tratando inútilmente de apagar las llamas blancas que la envuelven."; else if (PlazaCentro has abierto) ! El rastro de sangre fue seguido "Mi novia me observa, con una sonrisa sensual en sus labios manchados de sangre."; else if (Localizacion hasnt general) "Mi novia me observa, con una sonrisa sensual en los labios: lo mejor es estar absolutamente inmóvil y esperar a que ella actúe..."; else "Mi novia observa el suelo sin moverse. Sus ojos se mueven de un lado a otro, mirando los guijarros..."; } ], descripcion [; ! El Vampiro aun se se revela if (self hasnt general) { give self general; VampiroMiradaPrimeraVez.proyeccion(1); if (velocidad_texto == 0) PrintPausa("^^",0); ! El Vampiro se revela y no tenemos Ramo de flores if (RamoRosas notin Jugador){ VampiroRetrocedeSinRamo.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); VampiroPrimeraVezRecuerdos.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); VampiroPrimeraVezFinSinRamo.proyeccion(); move CrucifijoPadres to Limbo; } ! El Vampiro se revela y tenemos Ramo de flores else { VampiroRetrocedeConRamo.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); VampiroPrimeraVezRecuerdos.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); VampiroPrimeraVezFinConRamo.proyeccion(); move RamoRosas to Limbo; } ! Se inicia el movimiento aleatorio del Vampiro move self to PlazaCentro; ArrancarDaemon(self); PNJ_Ruta(self, MOVIMIENTO_ALEATORIO, 50); rtrue; } else if (self has abierto) ! Ya le lanzamos el frasco de agua bendita "Mi novia se revuelca en el suelo, dando alaridos y gritando como un animal, mientras trata inútilmente de apagar las llamas blancas que la envuelven, sin consumirla del todo.^ Es hora ya de acabar con esto de una vez..."; else { ! Descripcion general en otros casos print "Mi novia está parada, inmóvil como estatua. A pesar de que su pecho se mueve regularmente, el aire no parece condensarse al salir de su boca... en la que se dibuja una sonrisa sensual y fascinante, "; if (PlazaCentro has abierto) print ! El rastro de sangre fue seguido "en la que veo gotas de sangre: mi sangre que debió lamer del suelo..."; else if (Localizacion has general) print "aunque el suelo atrae toda su atención. Sus ojos se mueven de un lado a otro, mirando los guijarros...^"; else print "mientras que sus ojos me observan fijamente...^"; if (Jugador hasnt encendido) { ! Si aun no fuimos mordidos print "^Me siento poderosamente atraído por ella... "; if (PlazaCentro has abierto) ! Si ha seguido el rastro hasta la fuente "pese a todo, pero puedo mirarla, al menos, sin caer en su influjo."; else if (self hasnt encendido) { ! Una advertencia previa give self encendido; "pero sé que debo resistirme a mirarla demasiado: sería una pésima idea caer en su influjo."; } else { ! Cedemos a la tentación print "y mi voluntad se evapora al verla ahí, hermosa y reluciente.^ Y doy un paso en su dirección.^"; <>; } } else ! Si fuimos mordidos "^Cada vez que la observo, se apodera de mí una gran lasitud..."; } ], antes [; Tocar: if (self has abierto) ! Ya le lanzamos el frasco de agua bendita "Me le acerco, desesperado, pero mi chica, envuelta en llamas, no presta atención a otra cosa que no sea intentar apagarlas..."; else if (self hasnt general) ! Aun no se ha revelado como Vampiro <>; else if (otro==FrascoAguaBendita) "Mala idea sería intentarlo: si trato de tocarla con el frasco, intentará hacer presa de mí: debo arrojárselo, como dijo el cura..."; else if (Jugador hasnt encendido) { ! Si aun no fuimos mordidos print "Me siento poderosamente atraído por ella... "; if (PlazaCentro has abierto) ! Si ha seguido el rastro hasta la fuente "pese a todo, pero sé que debo resistirme a acercarme demasiado: sería una pésima idea caer en su influjo."; else if (self hasnt encendido) { ! Una advertencia previa give self encendido; "pero sé que debo resistirme a acercarme demasiado: sería una pésima idea caer en su influjo."; } else { ! Cedemos a la tentación print "y mi voluntad se evapora al verla ahí, hermosa y reluciente.^ Y doy un paso en su dirección.^"; <>; } } else ! Si fuimos mordidos "^Cada vez que lo pienso, se apodera de mí una gran lasitud..."; ], vida [; Dar, Mostrar : if (self has abierto) ! Ya le lanzamos el frasco de agua bendita "Envuelta en llamas, mi chica no presta atención a otra cosa que no sea intentar apagarlas..."; else if (uno == RamoRosas) { if (self hasnt general) { ! El Vampiro es revelado give self general; VampiroRamoPrimeraVez.proyeccion(1); if (velocidad_texto == 0) PrintPausa("^^",0); VampiroRetrocedeConRamo.proyeccion(); ! Nos protege el Ramo de Rosas if (velocidad_texto == 0) PrintPausa("^^",0); VampiroPrimeraVezRecuerdos.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); VampiroPrimeraVezFinConRamo.proyeccion(); move RamoRosas to Limbo; ! Se inicia el movimiento aleatorio del Vampiro move self to PlazaCentro; ArrancarDaemon(self); PNJ_Ruta(self, MOVIMIENTO_ALEATORIO, 50); rtrue; ! El Vampiro no ha seguido el rastro hasta la fuente } else if (PlazaCentro hasnt abierto) { print "Mi novia hace un gesto de asco al ver las flores, a la par que se aleja de mí a perderse."; if (Localizacion ~= RosedalNE) { ! Si hay guijarros sembrados if ((Piedritas has general) || (Localizacion has general)) print ".. pero al ver los guijarros se detiene en seco, y los mira fascinada."; else if (Localizacion ~= PlazaCentro) move self to PlazaCentro; else move self to JardinJaponesSW; move RamoRosas to Limbo; "^Miro el ramo y veo cómo sus tallos y flores se deshacen, caen al suelo y se desintegran, desapareciendo en nada."; } else "^"; } else "El ramo de rosas no me servirá para acabar con ella..."; } else if (uno == CrucifijoPadres) { print "Me llevo las manos al cuello... "; give self encendido; <>; } else if (uno == CrucifijoCura) { "Aferro el crucifijo del sacerdote y lo pongo frente al rostro de mi chica.^ Una luz enorme, blanquísima, sale del crucifijo, extendiéndose como un muro en llamas entre nosotros... y mi chica retrocede, gruñendo."; } else if (uno == FrascoAguaBendita) { "Al ver el frasco brillando mi chica retrocede, gruñendo: claramente, no le gusta tenerlo cerca..."; } else if ( (uno == Estaca) || (uno == Martillo) ){ print "Mi novia sonrie en forma espantosa, haciendo un gesto hacia "; print (el) uno; ", como invitándome a atacarla..."; } else { print "A mi novia no le interesa "; print (el) uno; ""; } Hablar : if (self has abierto) ! Ya le lanzamos el frasco de agua bendita "Envuelta en llamas, mi chica no presta atención a otra cosa que no sea intentar apagarlas..."; else if (self hasnt general) { ! El Vampiro es revelado give self general; VampiroHablaPrimeraVez.proyeccion(1); if (velocidad_texto == 0) PrintPausa("^^",0); if (RamoRosas notin Jugador) { ! Nos protege el Crucifijo VampiroRetrocedeSinRamo.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); VampiroPrimeraVezRecuerdos.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); VampiroPrimeraVezFinSinRamo.proyeccion(); move CrucifijoPadres to Limbo; } else { ! Nos protege el Ramo de Rosas VampiroRetrocedeConRamo.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); VampiroPrimeraVezRecuerdos.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); VampiroPrimeraVezFinConRamo.proyeccion(); move RamoRosas to Limbo; } ! Se inicia el movimiento aleatorio del Vampiro move self to PlazaCentro; ArrancarDaemon(self); PNJ_Ruta(self, MOVIMIENTO_ALEATORIO, 50); rtrue; } else ! Encuentros posteriores "Mi novia no responde y sacude la cabeza, con una expresión confundida e iracunda."; Besar: if (self has abierto) ! Ya le lanzamos el frasco de agua bendita "Me le acerco, desesperado, pero mi chica, envuelta en llamas, no presta atención a otra cosa que no sea intentar apagarlas..."; else if (self hasnt general) { ! Aun no se ha revelado como Vampiro print "Vamos, que es mi chica, pero quiero ir con calma...^"; <>; } else ! Encuentros posteriores "Me siento poderosamente atraído por ella... pero aun tengo suficiente voluntad para resistirme: sería una pésima idea acercarme más."; Lanzar: ! El Vampiro no ha seguido el rastro hasta la fuente if (PlazaCentro hasnt abierto) { print "No es el momento; mi chica esquivaría ", (el) uno, " con facilidad"; if (uno==FrascoAguaBendita) " y luego no tendría con qué inmovilizarla."; else "."; } else ! El Vampiro ya ha seguido el rastro hasta la fuente if (uno~=FrascoAguaBendita) { print ! Intentamos arrojar otra cosa "En este momento no servirá de nada: "; if (self hasnt abierto) print_ret ! Aun no inmovilizamos al Vampiro "mi chica esquivaría ", (el) uno, " con facilidad. Primero debo lanzarle el frasco con agua bendita, como dijo el cura..."; else { print "ahora es el momento de matar"; if (uno~=Estaca) print " con la estaca"; "..."; } } else { ! Inmovilizamos al Vampiro con agua bendita give self abierto; move FrascoAguaBendita to Limbo; "Mi chica intenta esquivar el frasco, pero la cercanía con la fuente la ha debilitado bastante: su movimiento es torpe, lento y el frasco le da de lleno en el pecho... y con un alarido, su cuerpo estalla en llamas blancas, que ella intenta apagar, revolcándose frenéticamente en el suelo..."; } Atacar: if (self hasnt general) { ! Aun no se ha revelado como Vampiro print "¡¿Cómo voy a hacer eso!? Es mi chica... mejor voy a saludarla.^"; <>; } ! Encuentros posteriores ! Si ya le echamos el frasco o atraimos el Vampiro a la fuente... if ( (self has abierto) || (PlazaCentro has abierto) ) give self ~encendido; ! ...desactivamos el modo tentación y el Vampiro no nos atacará else if (Jugador has encendido) ! Si ya fuimos mordidos "Me siento poderosamente atraído por ella... y ya no soy capaz de albergar agresión alguna hacia ella."; ! Si no está inmovilizado y aun no sigue el rastro y hemos cedido a la tentación ! el Vampiro nos ataca else if ( (self has encendido) && (self hasnt abierto) && (PlazaCentro hasnt abierto) ) print "Antes de que pueda pestañear, mi chica se me arroja encima.^^"; ! Atacar o defenderse con el Ramo de flores if ( ((otro==0) && (RamoRosas in Jugador)) || (otro==RamoRosas) ) { give self ~encendido; ! Desactivamos el modo tentación <>; } ! Atacar con el Agua Bendita if ( (self hasnt encendido) && ! Atacamos (((otro==0) && (FrascoAguaBendita in Jugador)) || (otro==FrascoAguaBendita)) ) <>; ! Atacar con la Estaca else if ( (self hasnt encendido) && ! Atacamos (((otro==0) && (Estaca in Jugador)) || (otro==Estaca)) ) { if (Estaca hasnt encendido) ! Estaca sin afilar "¿Con una estaca sin afilar? Ni de broma..."; else if (Martillo notin Jugador) ! No tenemos el ~el martillo~ "¿Y le voy a clavar la estaca con las manos? No creo que pueda..."; else if (PlazaCentro hasnt abierto) ! El Vampiro no ha seguido el rastro hasta la fuente <>; else if (self hasnt abierto) ! Aun no inmovilizamos al Vampiro <>; else { ! Matamos al vampiro con la estaca ! puntuacion++; Conseguido(7); banderafin = 5; MataVampiro1.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); MataVampiro2.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); MataVampiro3.proyeccion(); rtrue; } } ! Atacar con el Martillo else if ( (self hasnt encendido) && ! Atacamos (((otro==0) && (Martillo in Jugador)) || (otro==Martillo))) { print "No le haré mucho daño con la piedra"; if (Estaca in Jugador) print ": mejor lo intento con mi estaca"; "..."; } ! Resto de la rutina de ataque ! Nos defendemos o atacamos con la Cruz del Cura else if ( ((otro==0) && (CrucifijoCura in Jugador)) || (otro==CrucifijoCura) ) { give self ~encendido; ! Desactivamos el modo tentación "Cuando tengo su rostro a centímetros del mío, mi mano, moviéndose por su propia cuenta, aferra el crucifijo del sacerdote y lo pone frente a su rostro.^ Una luz enorme, blanquísima, sale del crucifijo, extendiéndose como un muro en llamas entre nosotros... y mi chica retrocede, gruñendo."; } ! Nos defendemos con la Cruz de los padres else if (CrucifijoPadres in Jugador) { give self ~encendido; move CrucifijoPadres to Limbo; CrucifijoPadresEstalla.proyeccion(1); ! Si hay guijarros sembrados if ((Piedritas has general) || (Localizacion has general)) ".. pero al ver los guijarros se detiene en seco, y los mira fascinada."; else if (Localizacion ~= PlazaCentro) move self to PlazaCentro; else move self to JardinJaponesSW; ""; } else { ! Sin nada que defendernos, nos muerden give self ~encendido; ! Desactivamos el modo tentación give Jugador encendido; give Herida encendido; MordidaVampiro.proyeccion(1); ! Si hay guijarros sembrados if ((Piedritas has general) || (Localizacion has general)) "...pero al ver los guijarros se detiene en seco, y los mira fascinada."; else if (Localizacion ~= PlazaCentro) move self to PlazaCentro; else move self to JardinJaponesSW; rtrue; } ], pnj_ha_llegado [; ! Si ya están sembradas laspiedritas en el perímetro del parque ! y estamos al inicio de la ruta, reiniciamos el recorrido cirvular del Vampiro if (Piedritas has general) PNJ_Ruta(self, MOVIMIENTO_PREFIJADO, VampiroDistraido,24); ], accion_antes [; ! El vampiro se va cuando llegamos al Rosedal if ( (self in RosedalNE) && (Jugador in RosedalNE) ) { move self to Paseo_N; "Al verme por aquí, mi novia sisea furiosa y se marcha."; } ], accion_despues [; ! El vampiro se aleja si estamos en el Rosedal al llegar if ( (self in RosedalNE) && (Jugador in RosedalNE) ) { move self to Paseo_N; "Al verme por aquí, mi novia sisea furiosa y se marcha."; } ], has femenino; ! Decorados Objeto_Localidad Objeto_Localidad_PlazaSur "sur" with nombre_m 'extremo' 'paseo', adjetivos 'parque' 'sur', descripcion [; if (Localizacion == PlazaSur) <>; else "Puedes ver el extremo sur del parque, con su glorieta."; ], antes [; Salirse: if (Localizacion == PlazaSur) <>; else "No estoy en la glorieta..."; Meterse, Entrar: if (Localizacion == Paseo_S) <>; else if (Localizacion == Paseo_SE) <>; else if (Localizacion == Paseo_SW) <>; else ! En el sur de la Plaza "Ya estoy en la glorieta."; ], esta_en [; if ( (Localizacion == PlazaSur) || (Localizacion == Paseo_S) || (Localizacion == Paseo_SE) || (Localizacion == Paseo_SW) ) return true; ], has masculino escenario; Objeto_Escenario Glorieta "glorieta" with nombre_f 'glorieta' 'estructura', adjetivos 'bella' 'bellísima', descripcion_larga [; print "La glorieta, rodeada de escaños, está justo en medio del paseo. Es casi enteramente blanca y su hermosa sencillez reluce a la luz de algunos focos disimulados"; if ( (Vampiro in PlazaSur) && (Vampiro hasnt general) ) "... todo ello enmarca perfectamente a mi chica, que me espera al pie de la estructura."; else "."; ], descripcion_corta [; print "La glorieta, blanca y sencilla, reluce a la luz de algunos focos disimulados"; if ( (Vampiro in PlazaSur) && (Vampiro hasnt general) ) "... y mi chica, no menos hermosa, espera al pie de la estructura."; else "."; ], antes [; Salirse: if (Localizacion == PlazaSur) <>; else "No estoy en la glorieta..."; Meterse, Entrar: if (Localizacion == Paseo_S) <>; else if (Localizacion == Paseo_SE) <>; else if (Localizacion == Paseo_SW) <>; else ! En el sur de la Plaza "No hay donde sentarse en la glorieta. Para eso, mejor usar los escaños..."; ], esta_en [; if ( (Localizacion == PlazaSur) || (Localizacion == Paseo_S) || (Localizacion == Paseo_SE) || (Localizacion == Paseo_SW) ) return true; ], has femenino escenario; Escanos EscanosPlazaSur "escaños" PlazaSur; Focos FocosPlazaSur "focos" PlazaSur; ! Los juegos infantiles Habitacion PlazaNorte "Los juegos infantiles" with descripcion_larga "El extremo norte del parque está dedicado enteramente a los más pequeños, equipado con juegos infantiles y escaños para el descanso de los padres.^ Las estructuras de los juegos son muy complejas: sus escalones de madera las hacen parecer un pequeño laberinto de ensueño. Aunque estén desiertos a esta hora, durante el día han de estar repletos de chiquillos.", descripcion_corta "Estoy el extremo norte del parque, junto a los juegos infantiles, desiertos a esta hora.", al_s Paseo_N, al_e Paseo_NE, al_o Paseo_NW, afuera Paseo_N, antes [; Meterse: if (uno==0) <>; Salidas: "Por el sur se puede llegar al rosedal y más allá al centro del parque. Por el este y el oeste se puede continuar por el paseo que rodea el parque."; ], ; ! Decorados Objeto_Localidad Objeto_Localidad_PlazaNorte "norte" with nombre_f 'juegos', adjetivos 'parque' 'norte', descripcion [; if (Localizacion == PlazaNorte) <>; else "Puedes ver el extremo norte del parque, con sus juegos."; ], antes [; Trepar: <>; Salirse: if (Localizacion == PlazaNorte) <>; else "No estoy en los juegos..."; Meterse, Entrar: if (Localizacion == Paseo_N) <>; else if (Localizacion == Paseo_NE) <>; else if (Localizacion == Paseo_NW) <>; else ! En el norte de la Plaza <>; ], esta_en [; if ( (Localizacion == PlazaNorte) || (Localizacion == Paseo_N) || (Localizacion == Paseo_NE) || (Localizacion == Paseo_NW) ) return true; ], has femenino escenario; Escanos EscanosPlazaNorte "escaños" PlazaNorte; Objeto_Escenario Estructuras "estructuras" PlazaNorte with nombre_m 'laberinto' 'entramado', nombre_f 'estructura' 'barra', nombre_fp 'estructuras' 'barras', adjetivos 'juegos' 'metal' 'ensueno', descripcion_larga "Las estructuras de los juegos son muy complejas: una ingeniosa mezcla de barras de metal con escalones de madera crean un pequeño laberinto que los niños recorrerían a gusto: los escalones se instalaron con cuidado para que la distancia de separación estimulara a los niños, pero no les dificultara excesivamente la tarea de trepar.", descripcion_corta "Las estructuras de los juegos son muy complejas: una ingeniosa mezcla de barras de metal con escalones de madera para estimular a los niños atrepar.", antes [; Trepar, Meterse: if (Vampiro hasnt general) ! El vampiro no se ha revelado "Estoy tentado, pero mi chica me espera..."; else if (Jugador has encendido) ! Ya fuimos mordidos "Me siento demasiado cansado para ello..."; else "Ya no tengo tiempo para esos juegos inocentes: la Cacería me llama..."; Tocar: "Las barras son lisas y suaves."; Cortar, Coger, Empujar, Tirar, Girar: if (Vampiro hasnt general) ! El vampiro no se ha revelado "No veo razón para estar rompiendo los juegos infantiles..."; else "Las barras son de metal, de estacas no me sirven. Los escalones, en cambio..."; ], has femenino nombreplural; ! Objetos de Puzzle Objeto_Puzzle Estaca "estaca de madera" Limbo with nombre_f 'estaca', nombre_m 'escalon' 'peldano' , adjetivos 'madera' 'larga' 'gruesa' 'rugosa' 'aspera' 'improvisada', listarse [; if (etapa_inventario==2) { if (self has encendido) print ", afilada"; rtrue; } ], descripcion_larga [; print "Es una estaca de madera "; if (self hasnt encendido) print "sin afilar"; else print "afilada"; " y es la cosa más improvisada que he visto en mucho tiempo. A mis padres nunca les gustó la improvisación, pero el quedarse sin herramientas de trabajo en un apuro tampoco era de su estilo, así que creo que mi solución les habría gustado..."; ], descripcion_corta [; print "Es una estaca de madera "; if (self hasnt encendido) print "sin afilar"; else print "afilada"; " más bien improvisada, pero servirá..."; ], antes [; Tocar: "Es rugosa y áspera."; Clavar: if (otro==0) {; if (Vampiro in Localizacion) <>; else if (Estaca hasnt encendido) ! Estaca sin afilar "¿Con una estaca sin afilar? Ni de broma..."; else if (Martillo notin Jugador) ! No tenemos el ~el martillo~ "¿Y con qué voy a clavar la estaca, con las manos?"; else if (Cura in Localizacion) <>; else "Y dónde voy a clavarla?"; } else if (otro==Martillo) { if (Estaca hasnt encendido) ! Estaca sin afilar "¿Con una estaca sin afilar? Ni de broma..."; else if (Cura in Localizacion) <>; else "Y dónde voy a clavarla?"; } else if (otro==Cura) <>; else if (otro==Vampiro) <>; else if (otro==Jugador) ! Suicidio <>; else "La estaca no sirve para eso..."; Dejar: "De ninguna manera: con todo el trabajo que me ha dado la ~estaca~..."; Afilar : if (self has encendido) "No hace falta, ya esta bien afilada..."; else if (otro==0) "¿Y con qué voy a afilarla?..."; else if (otro==PiedraGrande) { give self encendido; print "Con cuidado, raspo la punta de la estaca con la roca, hasta dejarla bien afilada"; if (Martillo in Jugador) { ! Ya tenemos el ~martillo~ ! puntuacion++; Conseguido(5); ": junto con mi ~martillo~ improvisado ya estoy listo para la cacería."; } else ".^Ahora, me hace falta algo que me sirva de martillo..."; } else "Con eso no puedo afilarla de ninguna manera..."; ], has femenino; ! Objetos de Escenario Objeto_Escenario Escalones "escalones" PlazaNorte with nombre_m 'escalon' 'peldano', nombre_mp 'escalones' 'peldanos', adjetivos 'madera' 'largo' 'largos' 'grueso' 'gruesos' 'rugoso' 'rugosos' 'rugosa' 'aspero' 'asperos' 'aspera', descripcion_larga "Los escalones son de madera rugosa y áspera. Se instalaron con cuidado para que la distancia de separación estimulara a los niños, pero no les dificultara excesivamente la tarea de trepar.", descripcion_corta "Los escalones, de madera rugosa y áspera, están separados entre sí.", cantidad 4, antes [; Trepar, Meterse: <>; Tocar: "Son rugosos y asperos."; Coger, Empujar, Tirar, Girar: if (Vampiro hasnt general) ! El vampiro no se ha revelado "No veo razón para estar rompiendo los juegos infantiles..."; if (Estaca in Jugador) "No hace falta, ya tengo uno a mano."; else { self.cantidad--; switch (self.cantidad) { 3: "Tiro de uno de los escalones, pero están bien sujetos. Tendré que intentarlo de nuevo."; 2: "Sigo tirando del escalón, pero todavía se me resiste."; 1: "Otro poco más..."; 0: move Estaca to Jugador; self.cantidad = 3; "Por fin logro arrancar el escalón que me servirá como estaca improvisada.^ Ahora, habrá que afilarla..."; } } ], has masculino nombreplural; ! El paseo interior norte Habitacion Paseo_N "El paseo interior" with descripcion_larga "El paseo interior discurre de norte a sur y comunica la fuente al centro del parque con los juegos. Al este se ve un sendero que comunica con el rosedal, uno de los orgullos del parque.", descripcion_corta "Estoy en el paseo interior, entre la fuente y los juegos. Al este se ve el rosedal.", al_n PlazaNorte, al_s PlazaCentro, al_e RosedalNE, adentro RosedalNE, afuera PlazaCentro, antes [; Salidas: "El paseo llega a los juegos infantiles siguiendo al norte y por el sur al centro del parque; por el este se accede al rosedal."; ], ; ! Decorados Objeto_Localidad Objeto_Localidad_PaseoInterior "interior" with nombre_m 'paseo', adjetivos 'parque' 'interior', descripcion [; if ( (Localizacion == Paseo_N) || (Localizacion == Paseo_S) ) <>; else "Puedes ver el paseo interior del parque."; ], antes [; Salirse: if ( (Localizacion == Paseo_N) || (Localizacion == Paseo_S) ) <>; else "No estoy en el paseo interior del parque..."; Meterse, Entrar: if (Localizacion == PlazaCentro) <>; else if (Localizacion == PlazaSur) <>; else if (Localizacion == PlazaNorte) <>; else if (Localizacion == RosedalNE) <>; else if (Localizacion == JardinJaponesSW) <>; else if (Localizacion == PlazaNorte) <>; else ! En el centro de la Plaza "Ya estoy en el paseo interior del parque."; ], esta_en [; if ( (Localizacion == Paseo_N) || (Localizacion == Paseo_S) || (Localizacion == RosedalNE) || (Localizacion == JardinJaponesSW) || (Localizacion == PlazaCentro) || (Localizacion == PlazaSur) || (Localizacion == PlazaNorte) ) return true; ], has masculino escenario; ! El rosedal Habitacion RosedalNE "El rosedal" with descripcion_larga [; print "El rosedal es uno de los orgullos del parque. Fue construido con varios entramados de metal, los que ahora apenas se ven cargados como están de rosas de varias especies y colores: un par de escaños invitan a descansar y contemplar las rosas.^ La fragancia de las flores, aunque muy suave, podría ser abrumadora si hiciera calor.^ Las únicas rosas al alcance de la mano son rosas salvajes, como las que ponían mis padres en setos en torno a la casa, como protección"; ! El Vampiro no se ha revelado y no tenemos flores para la chica if ((Vampiro hasnt general) && (RamoRosas notin Jugador)) ".^No sería mala idea coger algunas flores para llevarle a mi chica..."; else "."; ], descripcion_corta [; print "Estoy en el rosedal, rodeado por la suave fragancia de las rosas y con un par de escaños para descansar aquí. Muchas rosas diferentes... y rosas salvajes al alcance de la mano"; ! El Vampiro no se ha revelado y no tenemos flores para la chica if ((Vampiro hasnt general) && (RamoRosas notin Jugador)) ".^No sería mala idea coger algunas flores para llevarle a mi chica..."; else "."; ], al_o Paseo_N, afuera Paseo_N, antes [; Meterse: if (uno==0) <>; Salidas: "Por el oeste se puede salir al paseo interior."; ], ; ! Objetos de Puzzle Objeto_Puzzle RamoRosas "ramo de rosas" Limbo with nombre_m 'ramo' 'flor', nombre_mp 'flores', nombre_f 'rosa' 'espina', nombre_fp 'rosas' 'espinas', adjetivos 'salvaje' 'salvajes', descripcion_larga "Un hermoso ramo de rosas salvajes. Papá nunca le habría regalado uno como este a mamá pero mi chica es otra cosa. Tiene algunas espinas aquí y allá pero, bueno, una rosa es un rosa y todo es rollo...", descripcion_corta "Un hermoso ramo de rosas salvajes, con algunas espinas aquí y allá.", antes [; Tocar: if (Cura has encendido) ! Si estamos atrayendo al Vampiro <>; else if (Jugador has encendido) ! Fuimos mordidos "Con cuidado para no pincharme, toco sus pétalos. Son suaves, sedosos... y me producen un escozor desagradable."; else "Con cuidado para no pincharme, toco sus pétalos. Son suaves y sedosos..."; Oler: if (Jugador has encendido) ! Fuimos mordidos "Su olor es cálido, fragante... y nauseabundo."; else "Su olor es cálido, fragante y delicado."; Cortar: "Mejor las dejo así: si sigo cortándolas, me voy a quedar sin ramo..."; Dejar: if (Vampiro has general) ! El Vampiro ha sido revelado "Si mi novia me encuentra sin ellas, me mata...^ Y no es una expresión..."; else "Prefiero entregárselas a mi novia primero..."; ], has masculino; ! Decorados Objeto_Localidad Objeto_Localidad_RosedalNE "rosas en el macizo del rosedal" with nombre_m 'rosedal' 'rosal' 'flor' 'macizo', nombre_mp 'flores', nombre_f 'rosa', nombre_fp 'rosas', adjetivos 'parque' 'salvaje' 'salvajes' 'suelo', descripcion [; if (Localizacion == RosedalNE) "Un enorme y fragante macizo de rosas salvajes, justo al alcance de la mano. Algunas se han caido y están en el suelo."; else "Puedes ver el rosedal, pletórico de flores."; ], antes [; Tocar: if (Jugador has encendido) ! Fuimos mordidos "Con cuidado para no pincharme, toco sus pétalos. Son suaves, sedosos... y me producen un escozor desagradable."; else "Con cuidado para no pincharme, toco sus pétalos. Son suaves y sedosos..."; Salirse: if (Localizacion == RosedalNE) <>; else "No estoy en el rosedal..."; Meterse, Entrar: if (Localizacion == Paseo_N) <>; else ! En el rosedal "Ya estoy en el rosedal."; Oler: if (Localizacion ~= RosedalNE) "Estoy algo lejos aun y mi olfato no es tan fino..."; else { if (Jugador has encendido) ! Fuimos mordidos "Su olor es cálido, fragante... y nauseabundo. Son demasiadas flores."; else "Su olor es cálido y fragante... y algo abrumador. Son muchísimas flores."; } Cortar: if (Localizacion ~= RosedalNE) "Estoy algo lejos aun y mi brazos son de largo normal..."; else if (Jugador has encendido) ! Fuimos mordidos "La sola idea me da mareos..."; else if (RamoRosas in Limbo) { if (CrucifijoCura in Jugador) "No hace falta: la cruz del sacerdote es protección suficiente..."; else { if (Vampiro hasnt general) { print ! El Vampiro aun no ha sido revelado. "No hay para que cometer vandalismos: puedo coger algunas del suelo...^"; <>; } else { Conseguido(1); give RamoRosas general; move RamoRosas to Jugador; "Lo lamento por el parque, pero no tengo tiempo para miramientos, así que, con cuidado para no pincharme, corto un ramo de flores."; } } } else "No es buena idea; ya tengo un ramo y no quiero afear el rosedal sacándolas a destajo."; Coger: if (Localizacion ~= RosedalNE) "Estoy algo lejos aun y mi brazos son de largo normal..."; else if (Jugador has encendido) ! Fuimos mordidos "La sola idea me da mareos..."; else if (RamoRosas in Limbo) { if (CrucifijoCura in Jugador) "No hace falta: la cruz del sacerdote es protección suficiente..."; else { move RamoRosas to Jugador; if (Vampiro in Limbo) ! puntuacion++; Conseguido(0); ! Si no nos hemos protegido contra el vampiro aun else if (RamoRosas hasnt general) { ! puntuacion++; Conseguido(1); give RamoRosas general; } "Con cuidado para no pincharme, hago un ramo de flores cogiendo las más limpias del suelo."; } } else "No es buena idea; ya tengo un ramo y no quiero afear el rosedal sacándolas a destajo."; ], esta_en [; if ( (Localizacion == RosedalNE) || (Localizacion == Paseo_N)) return true; ], has femenino nombreplural escenario; Escanos EscanosRosedalNE "escaños" RosedalNE; Objeto_Escenario Entramados "entramados" RosedalNE with nombre_m 'entramado', nombre_mp 'entramado', nombre_f 'estructura' 'barra', nombre_fp 'estructuras' 'barras', adjetivos 'metal', descripcion "Los entramados de barras de metal sostienen el rosedal, el que ha crecido al punto que ahora apenas se ven cargados como están de rosas de varias especies y colores.", antes [; Tocar, Cortar, Coger, Empujar, Tirar, Girar: "Está fuera de mi alcance..."; ], has masculino nombreplural; ! El paseo interior sur Habitacion Paseo_S "El paseo interior" with descripcion_larga "El paseo interior discurre de norte a sur y comunica la fuente al centro del parque con la glorieta. Al oeste se ve un sendero que comunica con el jardín japonés, uno de los orgullos del parque.", descripcion_corta "Estoy en el paseo interior, entre la fuente y la glorieta. Al oeste se ve el jardín japonés.", al_n PlazaCentro, al_s PlazaSur, al_o JardinJaponesSW, adentro JardinJaponesSW, afuera PlazaCentro, antes [; Salidas: "El paseo llega a la glorieta siguiendo al sur y por el norte al centro del parque; por el oeste se accede al jardín japonés."; ], ; ! El jardín japonés Habitacion JardinJaponesSW "El jardín japonés" with descripcion_larga "El jardín japonés es, después del rosedal, el otro motivo de orgullo del parque.^ Fue construido por un maestro nipón y es cuidado con esmero por sus discípulos, que mantienen sus guijarros esparcidos con gusto, vigilando que la hilera de cantos que la rodea no se desordene y que la roca que está en medio de todo luzca impecable.^ Su belleza, silenciosa y tranquila, no es de gusto de todo el mundo, pero a mí me gusta visitarlo, sentarme en alguno de los escaños y respirar su ~calma intensa~.", descripcion_corta "Estoy en el jardín japonés de piedras, contemplando su serena belleza.^ Frente a los escaños hay algunos guijarros esparcidos, rodeadas de una hilera de cantos y con una roca en medio de todo.", al_e Paseo_S, afuera Paseo_S, antes [; Meterse: if (uno==0) <>; Salidas: "Por el este se puede salir al paseo interior."; ], has general, ; ! Decorados Objeto_Localidad Objeto_Localidad_JardinJaponesSW "jardín japonés" with nombre_m 'jardin', adjetivos 'parque' 'piedra' 'piedras' 'japones', descripcion [; if (Localizacion == JardinJaponesSW) <>; else "Puedes ver el jardín japonés, silencioso y sereno."; ], antes [; Salirse: if (Localizacion == JardinJaponesSW) <>; else "No estoy en el jardín japonés..."; Meterse, Entrar: if (Localizacion == Paseo_S) <>; else ! En el jardín japonés "Ya estoy en el jardín japonés."; ], esta_en [; if ( (Localizacion == JardinJaponesSW) || (Localizacion == Paseo_S)) return true; ], has masculino escenario general; Escanos EscanosJardinJaponesSW "escaños" JardinJaponesSW; ! Objetos de Puzzle Objeto_Puzzle Martillo "canto negro" Limbo with nombre_f 'piedra', nombre_m 'canto' 'martillo' , adjetivos 'duro' 'dura' 'suelto' 'suelta' 'negro' 'negra' 'redondo' 'redonda' 'liso' 'lisa' 'suave' 'improvisado', descripcion_larga "Es una piedra redonda y negra, proveniente del jardín japonés. Está perfecta como ~martillo~ aunque algo improvisado.", descripcion_corta "Es una piedra redonda y negra, perfecta como ~martillo~ improvisado.", antes [; Tocar: "Es lisa, suave... y muy dura."; Dejar: "De ninguna manera: con todo el trabajo que me ha dado el dichoso ~martillo~..."; ], has masculino; Class PiedritasEsparcidas class Objeto_Escenario with nombre_m 'guijarro', nombre_mp 'guijarros', nombre_f 'piedrita', nombre_fp 'piedritas', adjetivos 'redondo' 'redondos' 'pequeno' 'pequenos' 'esparcido' 'esparcidos', descripcion_larga "Es un montón de guijarros redondos, esparcidos aquí y allá.", descripcion_corta "Es un montón de guijarros redondos, esparcidos aquí y allá.", antes [; Coger: if ( (Vampiro in Limbo) || (Vampiro hasnt general) ) "Mejor dejo los guijarros donde están ¿Para qué desordenar el parque?"; else if (localizacion == JardinJaponesSW) { if (Piedritas in Limbo) { if (Piedritas hasnt general) { move Piedritas to Jugador; "Cojo un buen puñado. Si los voy dejando por el perímetro del parque, voy a mantener a mi novia distraída contándolos y andando en círculos..."; } else "No hace falta. Mi novia ya tiene distracción para rato..."; } else "No hace falta. Ya tengo suficientes..."; } else "Mejor que no. Sirven para distraer a mi novia..."; ], has masculino nombreplural ~escenario; PiedritasEsparcidas PiedritasJardinJaponesSW "guijarros esparcidos" JardinJaponesSW with descripcion_larga "Es un montón de guijarros redondos, esparcidos aquí y allá y rodeados por una hilera de cantos.^ Más de una vez me he quedado aquí, mirándolos y contándolos completamente distraído y absorto: recuerdo que papá solía poner guijarros como éstos en torno a casa y decía, riéndose, que servían no sólo como ornamento sino que iban perfectos para distraer a las ~visitas inesperadas~.^ En medio de todo ello, la roca luce magnífica.", descripcion_corta "Es un montón de guijarros redondos: contarlos es toda una distracción. Están rodeados por una hilera de cantos, con una roca en medio de todo.", has escenario; PiedritasEsparcidas PiedritasPlazaSur "guijarros esparcidos" Limbo with describir [; if (GotasSangrePlazaSur in Localizacion) "Hay algunos guijarros esparcidos entre los que se ven gotas de sangre."; else "Hay algunos guijarros esparcidos."; ]; PiedritasEsparcidas PiedritasPlazaNorte "guijarros esparcidos" Limbo with describir [; if (GotasSangrePlazaNorte in Localizacion) "Hay algunos guijarros esparcidos entre los que se ven gotas de sangre."; else "Hay algunos guijarros esparcidos."; ]; PiedritasEsparcidas PiedritasPaseoE "guijarros esparcidos" Limbo with describir [; if (GotasSangrePaseoE in Localizacion) "Hay algunos guijarros esparcidos entre los que se ven gotas de sangre."; else "Hay algunos guijarros esparcidos."; ]; PiedritasEsparcidas PiedritasPaseoSE "guijarros esparcidos" Limbo with describir "Hay algunos guijarros esparcidos."; PiedritasEsparcidas PiedritasPaseoNE "guijarros esparcidos" Limbo with describir "Hay algunos guijarros esparcidos."; PiedritasEsparcidas PiedritasPaseoW "guijarros esparcidos" Limbo with describir [; if (GotasSangrePaseoW in Localizacion) "Hay algunos guijarros esparcidos entre los que se ven gotas de sangre."; else "Hay algunos guijarros esparcidos."; ]; PiedritasEsparcidas PiedritasPaseoSW "guijarros esparcidos" Limbo with describir "Hay algunos guijarros esparcidos."; PiedritasEsparcidas PiedritasPaseoNW "guijarros esparcidos" Limbo with describir "Hay algunos guijarros esparcidos."; Objeto_Puzzle Piedritas "puñado de guijarros" Limbo with nombre_m 'punado' 'monton' 'guijarro', nombre_mp 'guijarros', nombre_f 'piedrita', nombre_fp 'piedritas', adjetivos 'redondo' 'redondos' 'pequeno' 'pequenos', descripcion "Es un montón de guijarros redondos, para distraerse contándolos.", cantidad 0, antes [; Dejar: if ( (Localizacion == PlazaCentro) || (Localizacion == Paseo_N) || (Localizacion == Paseo_S) || (Localizacion == RosedalNE) || (Localizacion == JardinJaponesSW) ) "Mejor no desperdiciar tiempo y guijarros aquí: tengo que esparcirlos en el perímetro del parque..."; else if (Localizacion hasnt general) { give Localizacion general; switch (Localizacion) { PlazaSur: move PiedritasPlazaSur to Localizacion; PlazaNorte: move PiedritasPlazaNorte to Localizacion; Paseo_E: move PiedritasPaseoE to Localizacion; Paseo_SE: move PiedritasPaseoSE to Localizacion; Paseo_NE: move PiedritasPaseoNE to Localizacion; Paseo_W: move PiedritasPaseoW to Localizacion; Paseo_SW: move PiedritasPaseoSW to Localizacion; Paseo_NW: move PiedritasPaseoNW to Localizacion; } ! Sembramos en una localidad más self.cantidad++; ! Si ya está el perímetro terminado, puzzle OK. if (self.cantidad==8) { give self general; move self to Limbo; ! puntuacion++; Conseguido(2); print "Dejo unas cuantos guijarros esparcidos... y me he quedado sin guijarros, pero al menos tengo a mi novia distraída dentro del parque para rato"; if ((Vampiro in Localizacion) && (Localizacion~=Paseo_W) ) print ": de hecho, mi chica se aleja enseguida, siguiendo el rastro de guijarros"; ! Movemos al vampiro al principio de la Ruta, si no estuviera ya allí PNJ_Ruta(Vampiro, MOVIMIENTO_NINGUNO); if (Vampiro notin Paseo_W) move Vampiro to Paseo_W; ! Iniciamos la ruta circular del Vampiro PNJ_Ruta(Vampiro, MOVIMIENTO_PREFIJADO, VampiroDistraido,24); "..."; } else if (self.cantidad == 1) "Dejo unos cuantos guijarros esparcidos. Ahora mi novia ya tiene distracción aquí para rato..."; else "Dejo unos cuantos guijarros esparcidos por aquí también..."; } else "No hace falta. Mi novia ya tiene distracción aquí..."; ], has masculino; ! Objetos de Escenario Objeto_Escenario PiedraGrande "roca" JardinJaponesSW with nombre 'roca', adjetivos 'grande' 'solitaria' 'lisa' 'suave' 'gris', descripcion_larga "Es una roca muy grande, perfectamente lisa. Es de un color gris uniforme, sin vetas o mancha alguna. Está ubicada justo al centro del jardín y fue colocada seguramente para servir de ~foco~ de meditación del lugar.", descripcion_corta "Es una roca muy grande, perfectamente lisa, ubicada justo al centro del jardín: el ~foco~ de meditación del lugar.", antes [; Trepar, Meterse: if (Vampiro hasnt general) ! El vampiro no se ha revelado "Eso sería vandalismo y además mi chica me espera..."; else if (Jugador has encendido) ! Ya fuimos mordidos "Me siento demasiado cansado para ello..."; else "No tengo tiempo para ejercicios ociosos: la Cacería me llama..."; Tocar: "Es muy lisa y suave."; Coger, Empujar, Tirar, Girar: "Imposible: es pesadísima..."; ], has femenino; Objeto_Escenario Cantos "hilera de cantos negros" JardinJaponesSW with nombre_f 'hilera' 'piedra', nombre_fp 'piedras', nombre_m 'canto', nombre_mp 'cantos', adjetivos 'duro' 'duros' 'dura' 'duras' 'negro' 'negros' 'negra' 'negras' 'redondo' 'redondos' 'redonda' 'redondas' 'liso' 'lisos' 'lisa' 'lisas' 'suave', descripcion_larga "Es una hilera de cantos cuidadosamente colocados. Las piedras, redondas y negras, rodean completamente a los guijarros esparcidos, enmarcando perfectamente el jardín.", descripcion_corta "Es una hilera de piedras redondas y negras, rodeando completamente los guijarros.", antes [; Tocar: "Son muy lisas y suaves. Se ve que son muy duras."; BuscarEn, Coger, Empujar, Tirar, Girar: if (Vampiro hasnt general) "Mejor dejo las piedras donde están ¿Para qué desordenar el parque?"; else if (Martillo in Jugador) "No hace falta, ya me hecho con un canto..."; else { move Martillo to Jugador; print "Lo lamento por el parque, pero no tengo opción. Registro con cuidado y veo que uno de los cantos está suelto... por suerte: no es tan raro en un parque público; en un jardín japonés privado, en cambio, esta falta de prolijidad sería inexcusable.^^ Tirando con cuidado, logro sacarlo... y tengo por fin un ~martillo~ improvisado"; if (Estaca in Jugador) { print " y una estaca "; if (Estaca has encendida) { ! Ya la hemos afilado ! puntuacion++; Conseguido(5); print "afilada; "; } else print "sin afilar; ya solo me queda afilarla y "; } else print "; me falta conseguir una estaca afilada y "; "ya estoy listo para la cacería."; } ], has femenino; ! El Paseo Este Habitacion Paseo_E "El paseo este" with descripcion_larga "Esta parte en medio del paseo este que rodea al parque se ensancha un poco para permitir el ingreso y salida de transeúntes del lugar.", descripcion_corta "Estoy a la mitad del paseo este del parque.", al_n Paseo_NE, al_s Paseo_SE, al_o PlazaCentro, afuera PlazaCentro, antes [; Salidas: "El paseo llega a los juegos infantiles por el norte y a la glorieta por sur; por el oeste se puede llegar al centro del parque y de ahí al rosedal o al jardín japonés."; ], ; ! Decorados Objeto_Localidad Objeto_Localidad_PaseoE "este" with nombre_m 'paseo', adjetivos 'parque' 'este', descripcion [; if ( (Localizacion == Paseo_E) || (Localizacion == Paseo_NE) || (Localizacion == Paseo_SE) ) <>; else "Puedes ver el paseo este del parque."; ], antes [; Salirse: if ( (Localizacion == Paseo_E) || (Localizacion == Paseo_NE) || (Localizacion == Paseo_SE) ) <>; else "No estoy en el paseo este del parque..."; Meterse, Entrar: if ( (Localizacion == PlazaCentro) || (Localizacion == PlazaSur) || (Localizacion == PlazaNorte) ) <>; else ! En el paseo este de la Plaza "Ya estoy en el paseo este del parque."; ], esta_en [; if ( (Localizacion == Paseo_E) || (Localizacion == Paseo_NE) || (Localizacion == Paseo_SE) || (Localizacion == PlazaCentro) || (Localizacion == PlazaSur) || (Localizacion == PlazaNorte) ) return true; ], has masculino escenario; ! El Paseo Oeste Habitacion Paseo_W "El paseo oeste" with descripcion_larga [; if (self hasnt encendido) { give self encendido; "El parque se ve más bien vacío a esta hora... lo que en todo caso me viene bien: podré recorrerlo a mi aire, sin prisa.^ Mirando el paseo, que aquí se ensancha un poco para permitir el ingreso y salida de transeúntes, se ve que el lugar está muy cuidado y limpio, lo que confirma gratamente mi selección de este sitio para nuestra primera cita.^ Aunque podría consultar los postes de orientación que están por todo el parque, me parece recordar que por el centro del parque se llega a un rosedal: sería buena idea ver si puedo conseguir ahí unas flores para mi chica; no atiné a comprar nada al salir y no vi locales abiertos de camino al parque..."; } else "Esta parte en medio del paseo oeste que rodea al parque se ensancha un poco para permitir el ingreso y salida de transeúntes del lugar."; ], descripcion_corta "Estoy a la mitad del paseo oeste del parque.", al_n Paseo_NW, al_s Paseo_SW, al_e PlazaCentro, afuera PlazaCentro, antes [; Salidas: "El paseo llega a los juegos infantiles por el norte y a la glorieta por sur; por el este se puede llegar al centro del parque y de ahí al rosedal o al jardín japonés."; ], ; ! Decorados Objeto_Localidad Objeto_Localidad_PaseoW "oeste" with nombre_m 'paseo', adjetivos 'parque' 'oeste', descripcion [; if ( (Localizacion == Paseo_W) || (Localizacion == Paseo_NW) || (Localizacion == Paseo_SW) ) <>; else "Puedes ver el paseo oeste del parque."; ], antes [; Salirse: if ( (Localizacion == Paseo_W) || (Localizacion == Paseo_NW) || (Localizacion == Paseo_SW) ) <>; else "No estoy en el paseo oeste del parque..."; Meterse, Entrar: if ( (Localizacion == PlazaCentro) || (Localizacion == PlazaSur) || (Localizacion == PlazaNorte) ) <>; else ! En el paseo este de la Plaza "Ya estoy en el paseo oeste del parque."; ], esta_en [; if ( (Localizacion == Paseo_W) || (Localizacion == Paseo_NW) || (Localizacion == Paseo_SW) || (Localizacion == PlazaCentro) || (Localizacion == PlazaSur) || (Localizacion == PlazaNorte) ) return true; ], has masculino escenario; ! El Paseo noreste Habitacion Paseo_NE "El paseo noreste" with descripcion_larga "Este extremo del paseo este que rodea al parque da una curva suave que desemboca por el oeste en los juegos infantiles.", descripcion_corta "Estoy en el extremo norte del paseo este del parque, cerca de los juegos infantiles al oeste.", al_s Paseo_E, al_o PlazaNorte, afuera PlazaNorte, antes [; Salidas: "El paseo llega a los juegos infantiles por el oeste y de ahí por sur al rosedal y al centro del parque. Por el sur se puede continuar por el paseo que rodea al parque."; ], ; ! El Paseo noroeste Habitacion Paseo_NW "El paseo noroeste" with descripcion_larga "Este extremo del paseo oeste que rodea al parque da una curva suave que desemboca por el este en los juegos infantiles.", descripcion_corta "Estoy en el extremo norte del paseo oeste del parque, cerca de los juegos infantiles al este.", al_s Paseo_W, al_e PlazaNorte, afuera PlazaNorte, antes [; Salidas: "El paseo llega a los juegos infantiles por el este y de ahí por sur al rosedal y al centro del parque. Por el sur se puede continuar por el paseo que rodea al parque."; ], ; ! El Paseo sureste Habitacion Paseo_SE "El paseo sureste" with descripcion_larga "Este extremo del paseo este que rodea al parque da una curva suave que desemboca por el oeste en la glorieta.", descripcion_corta "Estoy en el extremo sur del paseo este del parque, cerca de la glorieta al oeste.", al_n Paseo_E, al_o PlazaSur, afuera PlazaSur, antes [; Salidas: "El paseo llega a la glorieta por el oeste y de ahí por el norte al jardín japonés y al centro del parque. Por el norte se puede continuar por el paseo que rodea al parque."; ], ; ! El Paseo suroeste Habitacion Paseo_SW "El paseo suroeste" with descripcion_larga "Este extremo del paseo este que rodea al parque da una curva suave que desemboca por el este en la glorieta.", descripcion_corta "Estoy en el extremo sur del paseo este del parque, cerca de la glorieta al este.", al_n Paseo_W, al_e PlazaSur, afuera PlazaSur, antes [; Salidas: "El paseo llega a la glorieta por el este y de ahí por el norte al jardín japonés y al centro del parque. Por el norte se puede continuar por el paseo que rodea al parque."; ], ; !------------------------------------------------------------------- ! Punto de Inicio !------------------------------------------------------------------- ! Aquí empieza el juego. Este es el punto para imprimir el mensaje ! inicial de bienvenida y puesta en situación [Inicializar tecla; ! Modo "verbose", descripciones siempre largas modomirar = 2; box "~Reflejos blancos~" "Un breve interludio nocturno" "Realizado por: Sebastián Armas (Incanus)" "(C) Año 2011 " "Release 01.01.01 para FICOMP 2011" "I para NO VER la Intro," "A para ver textos animados," "R para Recuperar una Partida" "Otra para Empezar"; cambiarJugador(miJugador); ! Localización donde comienza el jugador localizacion = Paseo_W; ! Texto no animado por defecto velocidad_texto = 0; @read_char 1 -> tecla; if ( (tecla=='i') || (tecla=='I') ) { print ""; } else if ( (tecla=='r') || (tecla=='R') ) <>; else { if ( (tecla=='a') || (tecla=='A') ) velocidad_texto = 20; Introduccion1.proyeccion(); PrintPausa("^^",0); Introduccion2.proyeccion(); if (velocidad_texto == 0) PrintPausa("^^",0); Introduccion3.proyeccion(); PrintPausa("^^",0); Introduccion4.proyeccion(); PrintPausa("^^",0); Introduccion5.proyeccion(); PrintPausa("^^",0); Introduccion6.proyeccion(); PrintPausa("^^",0); Introduccion7.proyeccion(); PrintPausa("^^^^",0); } ! Iniciar ambientador universal ! ArrancarDaemon(ambientador_universal); ]; ! CORTOMETRAJES cortometraje LimpiaPantalla with descripcion "" ; cortometraje Introduccion1 with descripcion "Dicen que para dejar la infancia " "uno debe aprender a lidiar con sus propios padres.^^" "Pues bien, en mi caso, fue literalmente así: " "mis padres, cazadores de vampiros de profesión, " "fueron a su vez convertidos en vampiros " "y para sobrevivir tuve que sacármelos de encima. " "Y vaya si fue difícil...^^" "No desde el punto de vista técnico o logístico, desde luego: " "la casa estaba completamente equipada " "y yo ya tenía el entrenamiento básico, " "recibido de mis padres.^^" "El verdadero problema era esencialmente profesional: " "en el caso de Papá, él ya estaba en casa " "cuando me enteré de su transformación " "y fue cuestión de inmovilizarlo, clavarle la estaca y ya. " "Mamá, en cambio, no llegó de ~visita~ esa noche ni las siguientes, " "por lo que había que salir a por ella...^^" "...y de eso yo no sabía nada de nada: " "aún no había salido de cacería ni sabía dónde podía esconderse; " "los mapas de casa de nada servirían, pues Mamá los conocía de sobra " "y sabría evitar las guaridas obvias.^^" "Sólo quedaba una solución: buscar ayuda profesional... " "y la ayuda más cercana era la iglesia cerca de casa." ; cortometraje Introduccion2 with descripcion "Conocía al párroco de reuniones previas, " "~para colaboración multidisciplinaria~.^^" "Era un dato de dominio público que el sacerdote realizaba exorcismos: " "un hecho más bien inquietante " "que servía así como una estupenda tapadera " "para sus otras actividades de ~Cazador de demonios~. " "De esos detalles, aparte mis padres y yo mismo, " "nadie más sabía nada, " "para no hablar de sus vínculos con la organización de Cazadores, " "ni de su entrenamiento paralelo en esto de los vampiros. " "Él mismo decía que, llegado el caso, " "no era mala idea contar con un ~Cazador de respaldo~, " "expresando de paso y a las claras que era una noción algo despiadada " "involucrar a un crío como yo en esos menesteres.^^" "Mis padres, por su parte, " "nunca me ocultaron la verdad, " "pero me hicieron ver que el ~trabajo~ que tanto me atraía " "tenía su lado oscuro... y yo, niño como era, " "sencillamente hacía oídos sordos a todo ello: " "nada había que me ilusionara tanto como llegar a ser un Cazador como ellos; " "cuanto antes, mejor.^^" "Desde entonces, por supuesto, " "he aprendido a tener mucho cuidado " "con lo que uno desea, " "habiendo visto lo que pasa cuando se cumplen los deseos." ; cortometraje Introduccion3 with descripcion "Como sea, el cura me acogió casi sin preguntas " "y escuchó mi relato atentamente; " "al final, más que sorprendido parecía más bien triste y algo resignado. " "Me indicó que para resolver el ~asunto pendiente~ de mi madre " "tendría que contactar primero con la organización, " "pero mientras tanto yo podía quedarme a vivir con él, " "si no me molestaba compartir una temporada " "con los muchachos del orfelinato adjunto a la parroquia.^^" "Acepté gustoso, ya que mantener la casa me parecía demasiado trabajo... " "y los recuerdos, los días que estuve en ella a solas, " "no fueron muy grata compañía, " "para no hablar del cadáver de mi padre, del que aún no disponía debidamente. " "El sacerdote me acompañó a buscar algo de ropa y, " "tras comprobar que no había nadie más de ~visita~, " "cerramos la casa y sellamos sus entradas con hostias.^^" "Los meses que pasé en el orfelinato se me hicieron eternos: " "la espera de noticias de la cacería de mi madre, " "en la que el cura me impidió por todos los medios que participara; " "las pesadillas por la noche, que lentamente fueron remitiendo; " "la comprobación de que no todos los muchachos del orfelinato " "eran precisamente unos ángeles del cielo... " "en fin, fue una temporada más bien tediosa aunque no especialmente agotadora; " "lo que había tenido de crianza en casa de mis padres " "me había endurecido para eso y más." ; cortometraje Introduccion4 with descripcion "Finalmente, una noche cualquiera, " "el sacerdote me llevó hasta un sitio eriazo en las afueras de la ciudad.^^" "Al llegar, me recibieron un grupo de cuatro personas embozadas las que, " "sin mediar palabra, me llevaron frente una pila de leña " "en la que reposaban los cadáveres de mis padres, " "atravesados con sendas estacas, con ajos en la boca " "y ramos de rosas salvajes por todas partes.^^" "Me tendieron luego una antorcha encendida y se retiraron, " "al igual que el sacerdote, " "dejándome solo frente a la madera y las ramas.^^" "Me demoré algunos minutos en decidirme, " "pero acabé por prender fuego a todo aquello " "y contemplé largamente como las llamas destruían los cuerpos... " "y mi propia infancia, de paso." ; cortometraje Introduccion5 with descripcion "Estuve viviendo en la iglesia durante un par de años, " "mientras terminaba mi estudios escolares, " "durante los cuales la casa se puso en arriendo; las rentas obtenidas " "se acumulaban con lo ahorrado por mis padres " "(los Cazadores son gente previsora) " "sin que yo encontrara nada en qué darle uso al dinero, " "ya que no me decidía aun por ningún estudio superior o por negocio alguno... " "como no fuera volver al ~negocio~ de la familia, claro está.^^" "Me sentía perdido y desmotivado, " "hasta que por casualidad y hastío fui al taller mecánico " "donde trabajaba uno de los ~egresados~ del orfelinato; " "descubrí que me gustaba esa labor " "y que lo que había aprendido en casa me valía para trabajar ahí con provecho.^^" "Me decidí entonces a vivir solo en un apartamento minúsculo y, " "para regocijo del sacerdote, comencé a acudir al coro de la iglesia: " "en parte para llenar mis horas de ocio " "y en parte para mantenerme en contacto con la organización; " "sin embargo, nunca hubo novedades. " "El cura me aseguraba que, desde lo de mis padres, " "el vampirismo había desaparecido de la ciudad; " "de hecho, él había quedado a cargo del capítulo local de la organización...^^" "...conmigo en calidad de eventual aprendiz, lo que al sacerdote no le gustaba, " "pero ésas habían sido las instrucciones de la organización.^^" "Por mi parte, en cambio, " "todo mi entusiasmo infantil por la cacería " "se había evaporado con la muerte de mis padres y, " "después de los rigores de casa y la temporada inicial del orfelinato, " "había descubierto con algo de estupor que me gustaba esta vida ~normal~, " "tan sencilla y libre de miedos, responsabilidades y muertes... " "naturales o de las otras." ; cortometraje Introduccion6 with descripcion "Y entonces, un día como cualquier otro, la conocí.^^" "La chica se había mudado hace poco a la ciudad; " "se había instalado en una librería y, " "como era devota y tenía buena voz, se incorporó al coro de la iglesia... " "y lo que al principio era nada más que el fiato de la música, " "se fue transformando en una afinidad mucho más profunda que la del canto.^^" "El sacerdote, al que nada se le escapaba, " "me aconsejó a dejarlo todo de una buena vez: " "mis dudas, mis temores y todos los recuerdos tristes de mi pasado " "y abrazar en cambio lo que siempre ha movido a los cazadores " "en su lucha interminable...^^" "Abrazar la Vida.^^" "Le declaré entonces mis sentimientos " "y para mi alegría ella me los correspondió: " "es así que estas últimas semanas de romance, sencillo y cándido, " "han traído a mi espíritu solaz " "y me han consolado de muchas penas en las que había evitado pensar; " "he comenzado, incluso, a abrigar la esperanza " "de que en verdad existe para mí una vida " "más allá de la Cacería." ; cortometraje Introduccion7 with descripcion "Hemos quedado de vernos esta noche en el parque.^^" "En mi impaciencia, he llegado algunos minutos antes, " "pero tanto da: por primera vez en mucho tiempo " "voy con el corazón ligero, " "no tengo prisa alguna " "y no siento la urgencia sin resuello " "y ese temor vigilante de cuando vivía con mis padres.^^" "Voy a tomármelo con calma, pasear un poco " "y quizá buscar algunas flores en el rosedal, " "antes de encontrarme con ella en la glorieta.^^" "Flores para mi chica..." ; cortometraje VampiroMiradaPrimeraVez with descripcion "Mi novia me espera al pie de la glorieta. " "Su cabello moreno cae en rizos sobre sus hombros, " "capturando la luz de los faroles " "y envolviendo su rostro en un halo suave.^" "Su cara, " "por cierto, " "está luminosa " "y su piel parece de mármol: " "lisa, " "brillante, " "sin imperfección alguna.^^" "Al ver que me fijo en ella, " "abre los ojos " "y me mira directamente." "." ". " "y siento el deseo irresistible " "de besarla.^^" "Me acerco " "y me sonríe. " "Sus dientes, " "blanquísimos, " "brillan " "con " "reflejos " "blancos" "." "." "." ; cortometraje VampiroHablaPrimeraVez with descripcion "La saludo " "y mi novia ríe, " "agitando su cabello moreno " "que cae en rizos sobre sus hombros " "y captura la luz de los faroles, " "envolviendo su rostro en un halo suave.^" "Su cara, " "por cierto, " "está luminosa " "y su piel parece de mármol: " "lisa, " "brillante, " "sin imperfección alguna.^^" "Al ver que me fijo en ella, " "abre los ojos " "y me mira directamente." "." ". " "y siento el deseo irresistible " "de besarla.^^" "Me acerco " "y me sonríe. " "Sus dientes, " "blanquísimos, " "brillan " "con " "reflejos " "blancos" "." "." "." ; cortometraje VampiroRamoPrimeraVez with descripcion "Mi novia me espera al pie de la glorieta. " "Su cabello moreno cae en rizos sobre sus hombros, " "capturando la luz de los faroles " "y envolviendo su rostro en un halo suave.^" "Su cara, " "por cierto, " "está luminosa " "y su piel parece de mármol: " "lisa, " "brillante, " "sin imperfección alguna.^" "Como en un sueño, " "le ofrezco las flores. " "Ella abre los ojos " "y me mira directamente." "." ". " "y siento el deseo irresistible " "de besarla.^^" "Se acerca " "y me sonríe. " "Sus dientes, " "blanquísimos, " "brillan " "con " "reflejos " "blancos" "." "." "." ; cortometraje VampiroRetrocedeSinRamo with descripcion "Tengo su rostro a centímetros del mío " "cuando un fogonazo de luz nos deslumbra a ambos.^^" "Como despertando de un sueño, " "veo una voluta de humo luminoso " "que sale de mi camisa... " "donde mi crucifijo " "ha dejado de pronto de existir.^^" "Con pavor, " "miro a mi novia, " "que retrocede " "sin que apenas la vea moverse" "." "." ". " "y a la luz de la glorieta " "veo su rostro " "deformado en una expresión animal, " "iracunda y frenética...^^" "Y me fijo su boca abierta " "de la que asoman, " "brillando, " "unos colmillos " "largos y afilados.^^" "Gruñendo y siseando " "como un gato arisco, " "mi novia me da la espalda " "y huye corriendo hacia el centro del parque." ; cortometraje VampiroRetrocedeConRamo with descripcion "Estamos apenas a un paso de distancia " "cuando su mirada se posa en el ramo de flores.^^" "Como despertando de un sueño, " "miro a la luz de la glorieta " "su rostro " "deformado de improviso " "en una expresión animal, " "iracunda y frenética...^^" "Y me fijo en su boca abierta " "de la que asoman, " "brillando, " "unos colmillos " "largos y afilados.^^" "Gruñendo y siseando " "como un gato arisco, " "mi novia me da la espalda " "y huye corriendo hacia el centro del parque.^^" "Miro el ramo " "y ante mi mirada atónita " "sus flores se deshacen " "y caen al suelo " "donde se desintegran " "y desaparecen " "hechas polvo..." ; cortometraje VampiroPrimeraVezRecuerdos with descripcion "Todos los recuerdos " "de mi horrible iniciación " "en este negocio espantoso " "de la cacería de vampiros " "cruzan por segundos agonizantes " "en mi mente:^^" "Cómo acabé con mi padre, " "convertido en vampiro, " "tras su última cacería...^^" "La quema de sus cadáveres, " "luego de que otros cazadores dieran con mamá " "y ese olor horrible, " "dulce y espeso...^^" "Las pesadillas " "durante los meses en que viví con un sacerdote, " "en el frío y silencioso refugio " "del orfelinato de una iglesia...^^" "Todos estos años de vigilia, " "siempre temiendo que los vampiros volvieran, " "por fin, " "a la ciudad...^^" "Y luego este romance, " "los breves días de dicha " "y esperanza " "en que pensé, " "iluso, " "que podía soñar con una vida normal...^^" "Todo hecho pedazos en segundos, " "con los reflejos blancos " "de esos colmillos " "quemados a fuego " "en mi mente..." ; cortometraje VampiroPrimeraVezFinSinRamo with descripcion "^Tengo trabajo de nuevo, parece: " "aunque se ve que mi chica es ~nueva~ " "en esto de ser vampiro, " "no puedo confiarme en su comportamiento errático inicial " "y será menester que la distraiga con algo " "o poco podré hacer.^" "Por lo pronto, " "necesitaré algo de protección: " "unas rosas salvajes " "no me vendrían mal...^^" "Luego, voy a necesitar ayuda profesional: " "esta vez, " "no vine preparado para la ocasión.^" ; cortometraje VampiroPrimeraVezFinConRamo with descripcion "^Tengo trabajo de nuevo, parece: " "aunque se ve que mi chica es ~nueva~ " "en esto de ser vampiro, " "no puedo confiarme en su comportamiento errático inicial " "y será menester que la distraiga con algo " "o poco podré hacer.^" "Por lo pronto, " "necesitaré algo de protección: " "el crucifijo que llevo " "no vale para más de un ~uso~, " "así que otro ramo de rosas salvajes " "no me vendrían mal...^^" "Luego, voy a necesitar ayuda profesional: " "esta vez, " "no vine preparado para la ocasión.^" ; cortometraje CrucifijoPadresEstalla with descripcion "Cuando tengo su rostro a centímetros del mío, " "un fogonazo de luz nos " "deslumbra a ambos.^" "Veo una voluta de humo luminoso " "que sale de mi camisa, " "donde mi crucifijo " "ha dejado de pronto de existir... " "y mi chica da un alarido feroz, " "mientras huye a perderse." ; cortometraje MordidaVampiro with descripcion "Forcejeamos, " "pero la fuerza de mi chica es pavorosa.^" "Sin que pueda hacer nada para impedirlo, " "siento su boca en mi cuello " "y por unos segundos " "siento un dolor agudo " "mezclado con placer, " "náuseas, " "vértigo... " "un " "torbellino " "de " "sensaciones" "." "." ".^^" "Y de pronto, " "despierto: " "con una sacudida violenta, " "mi chica se separa de mí " "y se aleja luego, " "riéndose de mí, " "de la noche, " "de todo...^" ; cortometraje MordidaMata with descripcion "^Completamente agotado " "y harto ya de todo " "me siento en el suelo " "a esperar a mi chica.^^" "Ella no tarda en llegar.^^" "Se agacha junto a mí: " "sus ojos muertos y vacíos me consumen " "mientras el tacto de su mano " "me transmite un frío profundo, " "que me refresca y tranquiliza.^^" "Nos damos un beso largo " "y el dolor se sus dientes " "clavándose en mis labios " "me parece dulce " "y cada vez más lejano.^^" "Sin darme cuenta, " "nos hemos puesto de pie " "y, " "mano con mano, " "salimos del parque " "y nos perdemos en la ciudad y la noche." ; cortometraje SuicidioEstaca with descripcion "Me pongo de pie, " "aferro la estaca con dos manos " "y la apunto con cuidado a mi pecho.^^" "Contemplo la noche por última vez " "y me arrojo con fuerza al suelo, " "cayendo sobre la estaca.^^" "El dolor es agudo, " "pero breve.^^" "Mi vista se nubla... " "pero pronto veo una luz enorme, " "que me llama.^^" "Entro en la luz " "y por fin tengo paz." ; cortometraje LlamadaCuraInicial1 with descripcion "Esto no voy a poder resolverlo yo solo: " "necesitaré ayuda... " "profesional, " "así que marco el número de la iglesia.^^" "La serie de tonos " "se me antoja interminable...^^" "Finalmente, " "cogen el aparato.^" "~¿Diga?~ " "La voz es calma y serena. " "Eso no durará...^" "~Padre, soy yo...~^" "~Hola, hijo, que bueno que llamaras~ " "contesta, alegre y tranquilo. " "~¿Como ha ido la cita?...~^" "~Muy mal, padre...~ " "le contesto con tono frío y sereno, " "como hacía mi padre en estos casos. " "~Mi chica es un vampiro e intentó atacarme~.^" "Sólo se escucha un zumbido del otro lado, " "por lo que prosigo.^" "~Estoy intentando contenerla dentro del parque, " "pero voy a necesitar su ayuda para acabar con mi...~" ; cortometraje LlamadaCuraInicial2 with descripcion "Tengo que tragar saliva antes de seguir.^^" "Es una pesadilla " "y recién ahora " "me golpea la espantosa realidad " "de todo ello:^^" "mi chica...^" "mi amor...^" "mi vida...^^" "...mi presa." ; cortometraje LlamadaCuraInicial3 with descripcion "^~...que voy a necesitar su ayuda " "para acabar con la criatura~ " "concluyo apenas ahogando el llanto.^^" "Sigue el silencio por unos segundos, " "por lo que pregunto " "~¿Oiga? " "¿Padre? " "¿Sigue ahí?~^" "~Aquí estoy, hijo~ " "responde con voz cansada. " "~Disculpa mi silencio. " "La verdad, " "no esperaba tener que colaborar contigo " "como tuve que hacerlo cuando... " "trabajaba... " "con tus padres...~^^" "Mi suspiro apenado debe oírse del otro lado, " "pues escucho el sollozo del cura.^" "~Qué puedo decirle, padre~ " "contesto con voz queda " "~Yo tampoco querría tener que hacerlo... " "pero este negocio de la cacería " "no parece que vaya a terminarse pronto~.^^" "~Vale, hijo~ " "me responde " "~ya salgo para allá~.^^" ; cortometraje LlamadaCuraInicialSinPiedritas with descripcion "~No entre al parque hasta que le avise " "¿Vale? " "Espere mi llamada de confirmación~.^" "~¿Ya has logrado... distraerla, hijo?~, me pregunta.^" "~Estoy en ello, padre: " "ya sabe, " "cosas pequeñas " "desparramadas en el suelo y eso...~ le aclaro.^" "~Vale, hijo, sigue en eso...~ me contesta.^^" ; cortometraje LlamadaCuraInicialMordido with descripcion "~¡Ah! " "Y traiga agua bendita: " "tengo una mordida fea que curarme~.^" "~Aguanta a pie firme hijo: " "la ayuda está en camino...~^^" ; cortometraje LlamadaCuraInicialFin with descripcion "^Joder.^^" "No le dije que trajera estacas, " "martillo, " "ni nada... " "y con lo bisoño que es " "en esto de los vampiros, " "lo más probable es que, " "como sacerdote, " "atine con lo de la cruz " "y el agua bendita, " "pero el resto...^^" "Joder.^^" "Tendré que improvisar...^" ; cortometraje HablarCuraInicial with descripcion "~Hola, padre...~ " "lo saludo, " "con voz cansada.^" "El sacerdote se me acerca, " "con una expresión que lucha entre la pena del momento " "y la alegría de encontrarme aun vivo, " "supongo.^" "~¡Ay, hijo!~ me dice, acongojado. " "~Déjame que te abrace...~^" "Me resisto, " "violento como un chiquillo. " "~Deje, padre, " "que ya no soy un crío, " "ya no soy...~^^" "Y hundiendo mi cabeza en su hombro, " "lloro como un niño.^^" "Grito mi pena " "como no lo hice cuando murieron mis padres.^^" "Grito por el horror de esta noche " "y de todas las noches en casa de mis padres, " "sin saber qué podía pasarles a ellos, " "sabiendo lo que iba a pasarle a todos los inocentes " "a los que jamás podríamos salvar.^^" "El cura toma mi rostro " "en sus manos arrugadas " "y en su cara, " "congestionada por sus propias lágrimas, " "veo mi propio miedo, mi desesperación... " "y veo también mi futuro, " "cuando esta carga de la Cacería, " "demasiado pesada para cualquier persona, " "termine también por agotarme a mí." ; cortometraje CuraLimpiaHerida with descripcion "Sin soltarme, " "el sacerdote pone algo duro en mi boca " "y me dice ~Muerde, muchacho...~^^" "Cierro los ojos " "y le hago caso, " "porque ya he visto lo que viene.^" "El cura derrama agua en mi herida... " "y una llamarada blanca me quema por dentro, " "mientras un olor chamuscado sale de mi cuello. " "El agua bendita cumplió su propósito: " "estoy limpio, salvo... " "y dolorido de pies a cabeza.^^" ; cortometraje HablarCuraBendicion with descripcion "~Si dijera que esto me duele a mí, " "más que a ti, chico...~ " "empieza el sacerdote, " "tratando de sacarnos de la pena.^" "~...sería una mentira muy gorda, " "padre~ termino yo.^" "Y a nuestro pesar, " "reímos entre nuestras lágrimas.^^" "El cura se limpia el rostro con una mano, " "mientras murmura " "~Me cago en la hostia que me tragué antes de salir...~ " "y reímos otro poco, mecánicamente.^^" "Conozco la rutina, " "así que me arrodillo frente a él.^" "~Bendígame padre, porque he pecado...~^" "Poniendo su mano en mi cabeza, me pregunta " "~¿Qué pecados has cometido desde tu última confesión?~^" "~Padre~, le respondo con una mueca, " "~creo que he tenido pensamientos impuros sobre mi novia...~ " "y arrepentido bajo enseguida la cabeza: " "nunca sé si me he pasado de la raya " "en esto de la confianza entre cazadores..." ; cortometraje HablarCuraDespedida with descripcion "^~Dime, hijo~ me pregunta con voz seria, " "~¿La quieres en verdad?~^" "Con un hilo de voz respondo un ~Sí...~ muy quedo.^" "~¿En verdad la amas?~ pregunta de nuevo.^" "Mi voz suena más firme cuando respondo ~Sí, padre~.^" "~Entonces, hijo, te perdono todos tus pecados...~ " "dice mientras me bendice.^^" "Me pongo de pie y me mira, serio.^" "~Tu acto de contrición, hijo, " "es que seas su amante, incluso ahora... " "y que la liberes de su tormento~.^^" "Me entrega entonces su crucifijo de madera " "y su frasco de agua bendita.^" "~Atráela hasta la fuente, " "dejando un rastro de tu sangre hasta aquí: " "la cercanía con el agua la debilitará " "y el contacto con el agua bendita la inmovilizará~.^" "Asiento, " "mientras el cura murmura una bendición sobre la fuente. " "No es mal plan...^" "~Yo estaré escondido cerca, en caso de que... " "las cosas marchen mal, " "pero esto debes enfrentarlo solo: " "es tu deber de Cazador, hijo~.^" "Asiento nuevamente, " "mientras recuerdo de conversaciones similares con mis padres.^^" "El sacerdote me sonríe y, " "tras darme una palmadita en el hombro, " "se retira hasta desaparecer en las sombras.^" ; cortometraje MataVampiro1 with descripcion "Me arrojo sobre mi chica " "y aunque le caigo encima con todo mi peso, " "no parece ni notarlo: " "sólo atina a mirarme iracunda.^" "Las llamas de su cuerpo recorren mis manos, " "sin que las sienta siquiera, " "mientras le separo los brazos " "que tenía cruzados sobre su pecho; " "ella gruñe y forcejea, " "pero su resistencia es inútil.^^" "Apoyo la estaca sobre su corazón " "y la miro a los ojos. " "Le susurro ~Te quiero~, " "pero mi voz se pierde en el rugido de las llamas " "y los gritos de mi chica..." ; cortometraje MataVampiro2 with descripcion "Y golpeo la estaca, " "una y otra vez, " "mientras la madera se clava lentamente...^^" "Cuando ya apenas queda estaca que sostener, " "entre mis lágrimas noto que las llamas se extinguen. " "Mi chica ya no grita " "y al mirar sus ojos " "noto por un instante un brillo " "que no he visto en toda la noche...^^" "...y noto con horror que es mi chica, " "ya no un monstruo, " "la que me está mirando, " "con una débil sonrisa en su boca, " "en la que no hay sangre ni colmillos.^^" "Me reconoce, " "y musita " "~Gracias, mi amor...~ " "antes de expirar " "y quedar quieta." ; cortometraje MataVampiro3 with descripcion "^Siento una mano en mi hombro, " "y veo al sacerdote junto a mí.^^" "~Vamos hijo~ " "me dice mientras me ayuda a pararme. " "~Tenemos que llevarnos el cuerpo... " "y luego buscaremos al monstruo que la atacó~.^^" "Asiento mudo " "y cogemos el cuerpo con cuidado.^^^" "La Cacería aun no termina...^^^" "Aun tengo trabajo " "y cosas por hacer." ; ! LINEAS DE GRAMATICA ! Definiciones para ayuda Verb 'ayuda' * -> ayuda * topic ->ayuda; [AyudaSub; ZIPI_RunMenuT(ZIPI_Menu1); @erase_window $ffff; JugadorA(localizacion); ]; ! Definiciones para pistas Verb 'pistas' * -> pistas * topic ->pistas; [PistasSub; ZIPI_RunMenuT(ZIPI_Menu3); @erase_window $ffff; JugadorA(localizacion); ]; ! Definiciones para Texto Animado Verb 'anima' * -> animar; [animarSub; if (velocidad_texto==0){ velocidad_texto=20; "Texto animado ACTIVADO."; } else { velocidad_texto=0; "Texto animado DESACTIVADO."; } ]; ! Extensiones según la localidad para la que fueron originalmente modificados ! Definiciones para lectura de postes Extend 'lee' first * legible -> Leer; [ LeerSub; <>; ]; ! Definiciones para Sentarse Extend 'sienta' first * -> Meterse; Extend 'echate' first * -> Meterse; Extend 'sientate' first * -> Meterse; Extend 'echarse' first * -> Meterse; Extend 'sentarse' first * -> Meterse; Extend 'echarte' first * -> Meterse; Extend 'sentarte' first * -> Meterse; ! Vampiro ! Definiciones para Atacar Extend 'ataca' * noun 'con' held -> Atacar * 'a//' creature 'con' held -> Atacar; !Extend 'echa' !* held -> Lanzar !* held 'a//' creature -> Lanzar; Extend 'toca' * 'a//' creature 'con' held -> Tocar * creature 'con' held -> Tocar; ! Jugador ! Hablar por teléfono Extend 'habla' first * 'a//' creature -> Hablar * 'con' creature -> Hablar * 'con' held -> Hablar * 'por' held -> Hablar; Verb 'llama' * -> Llamar * 'a' held -> Llamar * 'con' held -> Llamar * 'por' held -> Llamar; [LlamarSub; "Eso no es un teléfono..."; ]; Verb 'suicida' * -> Suicidar * noun -> Suicidar * 'a//' noun -> Suicidar * noun 'con' held -> Suicidar * 'a//' noun 'con' held -> Suicidar; [SuicidarSub; if (uno==0) "Matar ¿qué?..."; else if (uno~=Jugador) { if (uno==Vampiro) { if (Vampiro hasnt general) { ! El Vampiro no ha sido revelado aun print "¿¡A mi chica¿? Jamás... mejor voy a saludarla. "; <>; } else "Lo que tengo que hacer es matarla..."; } else if (uno==Cura) "El suicidio es algo personal..."; else "Las cosas no se suicidan..."; } ]; ! Saludar a PSIs Extend 'saluda' * 'a//' creature -> Hablar; ! Fuente ! Definiciones para Beber Extend 'bebe' first * -> Beber * 'de' noun -> Beber; ! Definiciones para Mirar en la Fuente Extend 'examina' * 'en' noun -> BuscarEn * 'dentro' 'de' noun -> BuscarEn; ! Definiciones para Nadar en la Fuente Extend 'nada' * 'en' noun -> Nadar * 'dentro' 'de' noun -> Nadar; ! Rosedal ! Definiciones para Pinchar Verb 'pincha' * noun -> Cortar * noun noun -> Cortar * noun 'con' noun -> Cortar; Verb 'hiere' 'lastima' 'dana' * noun -> Cortar * noun noun -> Cortar * noun 'con' noun -> Cortar; VerboIrregular "herir" with imperativo 'hiere'; ! Jardín Japones ! Definiciones para Afilar Verb 'afila' 'aguza' * noun -> afilar * noun 'en' noun -> afilar * noun 'con' noun -> afilar; [AfilarSub; "No creo que pueda afilar eso..."; ]; ! Definicion para Esparcir Verb 'esparce' * held -> Dejar; VerboIrregular "esparcir" with imperativo 'esparce'; ! Definiciones para Clavar... Verb 'clava' * noun -> clavar * noun 'en' creature -> clavar * noun 'a//' creature -> clavar * noun creature -> clavar * noun 'con' noun -> clavar; [ClavarSub; "No creo que pueda clavar eso..."; ];