!% -~D !% -~S !% +include_path=..\lib\base,..\lib\contrib,..\games\Mansion !Poner "% -~S" (sin las ") permite compilar para generar archivo Mansion.z5 (máquina Z versión 5) !Poner "!% -~D" al principio del archivo (sin las ") permite compilar en modo Release (No Debug) ! "La Mansión" ! ! REALIZADO POR: Sebastián Armas ! ! Copyright (C) 2005 ! CONSTANTES Constant Historia "~La Mansión~^ Una Aventura Breve^^"; Constant Titular "Realizado por: Sebastián Armas^ (C) Año 2005^^"; ! Release 01.01.03 ! Localidades, con descripcion ! Objetos portables visibles ! Objetos decorados invisibles ! Objetos portables invisibles ocultos por otros y visibles con Mirar ! Puertas ! PNJs ! Mecanismos, Trampas ! Decorados no objetos descritos y ampliados ! Animaciones y afines ! Menu de Ayuda y Otros ! Box de Comienzo, con Intro Opcional, Restaurar o Comienzo Serial "010103"; Release 1; ! Queremos usar el comando 'Salidas' Constant ADMITIR_COMANDO_SALIDAS; ! Constant DEBUG; ! No queremos usar los comandos 'Lugares' y 'Objetos' Constant NO_LUGARES; ! No queremos usar puntuación Constant NO_PUNTUACION; ! Tenemos Curiosidades Constant HAY_CURIOSIDADES; ! Queremos que se muestren las deducciones del parser ! Constant IMPRIMIR_DEDUCCIONES; ! Fin funesto [MensajeMuerte; print "Has muerto...^^"; print "La Mansión y sus mil trampas y misterios fueron demasiado para tí... pero puedes intentarlo de nuevo... aunque, cúrate en salud, y respáldate, de vez en cuando..."; rfalse; ]; ! Menu de Ayuda, Curiosidades y Otros Include "zipi.inf"; ! Módulo para Menues ZIPI_Menu ZIPI_Menu0 with ZIPI_titulo "Menu de la Aventura", ZIPI_item ZIPI_Menu1 ZIPI_Menu7 ; ZIPI_Menu ZIPI_Menu1 with ZIPI_titulo "Ayuda de la Aventura", ZIPI_item ZIPI_Menu2 ZIPI_Menu3 ; ZIPI_Menu ZIPI_Menu2 with ZIPI_titulo "Instrucciones", ZIPI_item ZIPI_Otro0 ZIPI_Otro1 ZIPI_Otro2 ; ZIPI_Menu ZIPI_Menu3 with ZIPI_titulo "Pistas", ZIPI_item ZIPI_Menu4 ZIPI_Menu5 ZIPI_Menu6 ; ZIPI_Menu ZIPI_Menu4 with ZIPI_titulo "Puertas", ZIPI_item ZIPI_Pista0 ZIPI_Pista1 ZIPI_Pista2 ; ZIPI_Menu ZIPI_Menu5 with ZIPI_titulo "Trampas Mortales", ZIPI_item ZIPI_Pista3 ZIPI_Pista4 ; ZIPI_Menu ZIPI_Menu6 with ZIPI_titulo "Matar al Doctor", ZIPI_item ZIPI_Pista5 ZIPI_Pista6 ; ZIPI_Menu ZIPI_Menu7 with ZIPI_titulo "Curiosidades y Otros", ZIPI_item ZIPI_Otro3 ZIPI_Menu8 ZIPI_Otro9 ; ZIPI_Menu ZIPI_Menu8 with ZIPI_titulo "Curiosidades", ZIPI_item ZIPI_Otro4 ZIPI_Otro5 ZIPI_Otro6 ZIPI_Otro7 ZIPI_Otro8 ; ZIPI_Pista ZIPI_Pista0 with ZIPI_titulo "¿Como abro la Puerta del Segundo Piso?", ZIPI_pistas "Necesitas una llave esférica..." "guardada por el feroz Perro." "Para quitarsela, mátalo..." "ofreciéndole el Bistec..." "y revisa el cadáver." ; ZIPI_Pista ZIPI_Pista1 with ZIPI_titulo "¿Como abro la Puerta de la Armeria?", ZIPI_pistas "Necesitas una llave común..." "oculta en el Segundo Piso." "Entra al Dormitorio del Doctor..." "abre el Velador..." "y revísalo una vez abierto." ; ZIPI_Pista ZIPI_Pista2 with ZIPI_titulo "¿Como abro la Puerta Transparente?", ZIPI_pistas "Necesitas una Tarjeta Magnética..." "oculta en el Primer Piso." "Entra al Estar..." "y revisa el teléfono." ; ZIPI_Pista ZIPI_Pista3 with ZIPI_titulo "¿Como paso el Cuarto de Descontaminación?", ZIPI_pistas "Necesitas una clave de acceso..." "para teclearla en el teclado..." "y puedes mirar el panel..." "o leerlo para asegurarte." "La clave está oculta en el Segundo Piso..." "en la Biblioteca..." "escrita en el Diario..." "así que leelo." ; ZIPI_Pista ZIPI_Pista4 with ZIPI_titulo "¿Como sobrevivo al frío del Laboratorio?", ZIPI_pistas "Necesitas abrigarte..." "con ropa del Primer Piso." "Ve al Guardarropía..." "toma el Abrigo..." "y póntelo." ; ZIPI_Pista ZIPI_Pista5 with ZIPI_titulo "¿Como abro la Incubadora?", ZIPI_pistas "Necesitas un fuerte corrosivo..." "y algo en que llevarlo." "Ve a la Sala de Operaciones..." "revisa la Camilla..." "y usa el Frasco." "Abre el Frasco..." "y llénalo." "Para abrir la Incubadora..." "vacía el Frasco con Acido." ; ZIPI_Pista ZIPI_Pista6 with ZIPI_titulo "¿Como acabo con el Doctor?", ZIPI_pistas "Necesitas una pistola..." "oculta en la Armería." "Abre el Gabinete..." "y revísalo una vez abierto." "Para cargarla..." "necesitas balas..." "ocultas en el Segundo Piso." "Entra al Dormitorio del Doctor..." "abre el Velador..." "y revísalo una vez abierto." "Mete las balas... " "En el tambor de la pistola..." "y dispara la Pistola al Doctor!" ; ZIPI_Otro ZIPI_Otro0 with ZIPI_titulo "Comandos Principales", ZIPI_ejecutar [; print "Para grabar situación : GUARDAR o SAVE^"; print "Para cargar situación : RECUPERAR o LOAD^^"; print "Para moverse : N,S,E,O,W,NORTE,SUR,etc.^"; print " ARRIBA,SUBE,ABAJO,BAJA,B^^"; print "Para ver lo que tienes : INVENTARIO, I^^"; print "Comandos misceláneos : AYUDA, FIN^"; ]; ZIPI_Otro ZIPI_Otro1 with ZIPI_titulo "Comandos complejos ", ZIPI_ejecutar [; print "Las órdenes son según : o bien^"; print " o bien^"; print " ^"; ]; ZIPI_Otro ZIPI_Otro2 with ZIPI_titulo "Verbos", ZIPI_ejecutar [; print "Verbos válidos: MIRA,EXAMINA,TOMA,DEJA... pruebe^"; print "sinónimos... y otros que no mencionaré ahora: los^"; print "hay y tendrá que descubrirlos por si mismo (JA, JA)^^"; print "Suerte...^"; ]; ZIPI_Otro ZIPI_Otro3 with ZIPI_titulo "Agradecimientos", ZIPI_ejecutar [; print "A mis betatesters: Rockersuke, Jenesis y Urbatain, con una paciencia que "; print "superó mis múltiples y prolongadas demoras.^^"; print "A Baltasarq y Lenko, por los bugs descubiertos en la v01.01.02^^"; print "A toda la comunidad IF española: las listas de CAAD e InformATE! en Yahoo!, "; print "el foro del CAAD y tantísimos sitios web con ejemplos y documentos "; print "invaluables.^^ "; print "A Alessandro Schillaci y Luis Fernandez, creadores de JIF (en español), "; print "un pedazo de herramienta para el desarrollo en InformATE!^^"; print "...y a H.P. Lovecraft, por su irremplazable, invaluable e involuntaria "; print "colaboración^ "; ]; ZIPI_Otro ZIPI_Otro4 with ZIPI_titulo "Cenar en La Mansión", ZIPI_ejecutar [; print "Hay cosas para comer y beber en la Mansión:^"; print "es cuestión de arriesgarse y probar...^"; ]; ZIPI_Otro ZIPI_Otro5 with ZIPI_titulo "Leer en La Mansión", ZIPI_ejecutar [; print "La Biblioteca tiene colecciones interesantes.^"; print "Míralas con atención.^"; ]; ZIPI_Otro ZIPI_Otro6 with ZIPI_titulo "Estilo en La Mansión", ZIPI_ejecutar [; print "El Doctor tiene verdadera pasión por^"; print "las frases hechas ...y por cierta madera noble.^"; print "Mira a tu alrededor.^"; ]; ZIPI_Otro ZIPI_Otro7 with ZIPI_titulo "I&D en La Mansión", ZIPI_ejecutar [; print "El Doctor ha llegado muy lejos^"; print "en sus investigaciones... revisa^"; print "el Laboratorio y el Vivero^"; print "y verás hasta que punto.^"; print "Ojo con el Mayordomo.^"; ]; ZIPI_Otro ZIPI_Otro8 with ZIPI_titulo "Turismo Aventura en La Mansión", ZIPI_ejecutar [; print "El techo de la leñera es,^"; print "en verdad, muy alto.^"; print "Averigua por qué:^"; print "hazte un mapa...^"; print "o camina por ahí.^^^"; ]; ZIPI_Otro ZIPI_Otro9 with ZIPI_titulo "Historia de la Mansión", ZIPI_ejecutar [; print "Este juego se basó, en sus orígenes más originarios, en un viejo "; print "proyecto del 'cole'; fue ideado con un amigo, abandonado en la "; print "universidad y finalmente retomado ya durante mi vida profesional "; print "(informática y afines; no muy original ¿no?). Y así, hace ya un "; print "tiempo, (Julio de 1998) programé esta aventura conversacional.^^"; print "Bueno, en aquel entonces no tenía mucho acceso a Internet (apenas "; print "si tenía un PC) por lo que (sin saber de la existencia de "; print "intérpretes ni nada por el estilo), desenpolvé un libro de teoría "; print "de juegos de aventura de principio de los 80's (..!..) y me hice "; print "un programilla en >QBasic 1.1< (que precariedad, Dios mío) con lo "; print "básico: parser, localidades, objetos, vocabulario e incluso los "; print "NPJs (objetos + vocabulario, en realidad).^^"; print "El engendro resultante recibió críticas de amigos y algunos "; print "conocidos... pero no le dí mayor seguimiento.^^"; print "Ahora, 6 años más tarde, revive mi interés por el tema, así que... "; print "hela aquí, desarrollada usando InformATE (Inform 6.22)^^"; print "Espero que la hayan disfrutado...^^"; print "Santiago de Chile, 06 de Enero, 2005 "; ]; ! Comentarios [curiosidades; ZIPI_RunMenuT(ZIPI_Menu7); ]; ! INCLUDES Y REPLACES Include "EParser"; ! Parser en español ! Clase para usar Puertas Class Habitacion with irrelevante 'paredes' 'pared' 'muro' 'muros', antes[; Escuchar : "Nada. Oyes solamente tu propia respiración."; Examinar: if (uno==obj_arriba) !arriba "Nada especial.^De tanto mirarlo, te dá tortícolis..."; else if (uno==obj_abajo) !abajo "Si lo que quieres es examinar el piso... indícalo."; !<>; ], has luz; ! Clase PNJ Class PNJ private vivo true, has animado; Attribute legible; ! Definiciones para lectura Include "Puertas"; ! Módulo para Puertas Include "Acciones"; Include "Mensajes"; Include "Gramatica"; Include "Cortos"; ! Módulo para texto animado Include "Decorado"; ! Módulo para descripcion de decorados ! HABITACIONES Object Limbo "El Limbo" with descripcion "¡Eh! ¿Cómo has llegado aquí? Tío, los Betatesters...", has luz; Class DecoradoAmpliado class Decorado with antes [; Examinar: rfalse; Coger: "No creo que tenga mucho sentido cargar con eso..."; Empujar: "No parece que se pueda empujar..."; Oler: "No parece que huela a nada especial."; Escuchar: "No produce ningún sonido. Mudo. Nada. Zipo..."; BuscarEn: <>; default: "No veo ninguna razón para hacer éso."; ]; ! Primer Piso Habitacion Recibidor "El Recibidor" with irrelevante 'encerado' 'vetas' 'roble', descripcion [; if (self hasnt general) { print "Nada más entrar y la puerta se cierra sola...^ ¡Violentamente!^ Quedas ligeramente sobresaltado...^"; give self general; } "El piso es de mármol pulido. Se ve la luz que llega del vestíbulo, al norte. No se oye ni un ruido desde dentro de la Mansión. Al sur, la puerta que da a la calle permanece cerrada. ¡Estás atrapado!"; ], al_s "La puerta cerrada te franquea el paso.", al_n Vestibulo; DecoradoAmpliado DecoradoRecibidor Recibidor with describir 'piso' "El piso es de mármol pulido. Parece recién encerado, vaya." G_MASCULINO 'marmol' "El mármol es gris, con vetas de color negro y rosado. Bello." G_MASCULINO 'madera' "Es roble, de primerísima calidad." G_FEMENINO 'luz' "Esto... emanaciones ondulares de corpúsculos fotónicos..." G_FEMENINO 'vestibulo' "Nada distingues. Debes ir al lugar." G_MASCULINO ; ! Objectos del Recibidor Object PuertaEntrada "Puerta de Entrada" Recibidor with nombre 'puerta', adjetivos 'madera', descripcion "La puerta es de gruesa madera. Tiene una inscripción que dice:^^ ~El Hogar de un Hombre^ es su castillo~^^ Vaya.", antes [; Abrir : "Tiras de la puerta con todas tus fuerzas, pero está firmemente cerrada. No hay caso..."; ], has femenino escenario ~abierta; Habitacion Vestibulo "El Principio del Vestíbulo" with irrelevante 'encerado' 'vetas', descripcion "Desde el extremo sur del Vestibulo pueden verse, hacia el norte, varias entradas a ambos lados. Al final parece haber una escalera que sube hacia el segundo piso. Puedes ver tu reflejo en el pulido piso...^ Aquí cerca, al oeste, se ve un guardarropía. Puedes volver al recibidor por el sur.", al_n Vestibulo2, al_s Recibidor, al_o Guardarropia; DecoradoAmpliado DecoradoVestibulo Vestibulo with describir 'entradas' "Son marcos de puerta... sin puertas." G_FEMENINO + G_PLURAL 'escalera' "Está muy lejos para distinguir detalles." G_FEMENINO 'segundo' "Está lejos y en penumbras. No se ve nada. Abría que subir..." G_MASCULINO 'reflejo' "Tu rostro se ve tenso... Estás asustado..." G_MASCULINO 'piso' "El piso es de mármol pulido. Parece recién encerado, vaya." G_MASCULINO 'marmol' "El mármol es azul agua, con vetas de color verde y celeste. Bello..." G_MASCULINO 'madera' "Es roble, de primerísima calidad." G_FEMENINO ; Habitacion Guardarropia "El Guardarropía" with irrelevante 'sombreros' 'roble' 'adornos', descripcion "Hay varios colgadores y perchas para sombreros, todo de madera, muy bien barnizada. El dueño de casa claramente tiene muy buen gusto.^ Por el este se vuelve al vestíbulo.", al_e Vestibulo; DecoradoAmpliado DecoradoGuardarropia Guardarropia with describir 'colgadores' "Finos postes de roble, rematados en arabescos..." G_MASCULINO + G_PLURAL 'colgador' "Finos postes de roble, rematados en arabescos..." G_MASCULINO 'perchas' "Bellas perchas decoradas con arabescos." G_FEMENINO + G_PLURAL 'percha' "Bellas perchas decoradas con arabescos." G_FEMENINO 'arabescos' "Adornos curvílineos y convolutos." G_MASCULINO + G_PLURAL 'arabesco' "Adornos curvílineos y convolutos." G_MASCULINO 'madera' "Roble, trabajado primorosamente." G_MASCULINO 'barniz' "Un fino toque de distinción." G_MASCULINO 'piso' "El piso es de madera, vaya." G_MASCULINO ; ! Objectos del Guardarropía Object Abrigo "abrigo" Guardarropia with nombre 'abrigo' 'sobretodo' 'forro' 'material' 'goma', inicial "Hay un abrigo colgado.", descripcion [; print "Es un abrigo de piel, con un curioso forro interior, de un material como goma."; if (Abrigo in jugador) print "^Es sorprendentemente liviano."; ], antes [; Vestir : print "Te pones el abrigo y sientes mucho menos frío..."; give self puesto; rtrue; Desvestir : if ( (localizacion == PasilloS1) || (localizacion == PasilloS2) || (localizacion == SalaOperaciones) || (localizacion == PasilloS3) || (localizacion == SalaIncubadora)) { print "De pronto sientes un profundo frío...^ y un sueño lento te va dominando...^ y caes al suelo."; banderafin = 3; rtrue; } else { print "Te sacas el abrigo y sientes mucho menos calor..."; give self ~puesto; rtrue; } ], has masculino prenda; Habitacion Vestibulo2 "El Centro del Vestíbulo" with irrelevante 'encerado' 'vetas', descripcion "Puedes ver la luz que sale de las habitaciones contiguas reflejada en el piso. Se distingue claramente al final una escalera ascendente.^ Al este se vé una sala ricamente amueblada, mientras que al oeste hay una habitación más espartana.", al_n Vestibulo3, al_s Vestibulo, al_e Estar, al_o Estudio; DecoradoAmpliado DecoradoVestibulo2 Vestibulo2 with describir 'luz' "Esto... emanaciones ondulares de corpúsculos fotónicos..." G_FEMENINO 'habitaciones' "Nada distingues. Debes ir al lugar." G_FEMENINO + G_PLURAL 'piso' "El piso es de mármol pulido. Parece recién encerado, vaya." G_MASCULINO 'marmol' "El mármol es azul agua, con vetas de color verde y celeste. Bello..." G_MASCULINO 'escalera' "Está muy lejos para distinguir detalles... aún." G_FEMENINO ; Habitacion Estudio "El Estudio" with descripcion "Amueblada más escasamente, esta es una habitación dedicada a la lectura, la reflexión y el estudio. No hay aquí distracción alguna.^ Por el este se vuelve al vestíbulo.", al_e Vestibulo2; DecoradoAmpliado DecoradoEstudio Estudio with describir 'muebles' "Sillas... Sillones... Mesas. " G_MASCULINO + G_PLURAL 'sillas' "Sillas comunes y corrientes." G_FEMENINO + G_PLURAL 'silla' "Sillas comunes y corrientes." G_FEMENINO 'sillones' "Sillones tradicionales, sin adornos." G_MASCULINO + G_PLURAL 'sillon' "Sillones tradicionales, sin adornos." G_MASCULINO 'mesas' "Pues... eso: mesas, tipo escritorio." G_FEMENINO + G_PLURAL 'mesa' "Pues... eso: mesas, tipo escritorio." G_FEMENINO 'piso' "El piso es de madera, vaya." G_MASCULINO 'madera' "Roble, finamente terminado." G_MASCULINO ; Habitacion Estar "La Sala de Estar" with irrelevante 'forro' 'tela' 'postes' 'noche' 'estilo', descripcion "Hay varios sillones y mesas, todo dispuesto con mucho orden. Desde la ventana puedes ver las luces de la calle, difuminadas a traves de las cortinas.^ Al norte se ve un comedor; por el oeste se vuelve al vestíbulo.", al_n Comedor, al_o Vestibulo2; DecoradoAmpliado DecoradoEstar Estar with describir 'orden' "Esto... un patrón de organización fácilmente reconocible" G_MASCULINO 'sillones' "Sillones ricamente forrados en terciopelo." G_MASCULINO + G_PLURAL 'sillon' "Sillones ricamente forrados en terciopelo." G_MASCULINO 'terciopelo' "Rica tela, sedosa al tacto." G_MASCULINO 'mesas' "Bellísimas mesas, de sobrio estilo." G_FEMENINO + G_PLURAL 'mesa' "Bellísimas mesas, de sobrio estilo." G_FEMENINO ; DecoradoAmpliado DecoradoEstar2 Estar with describir 'ventana' "Un trozo de transparencia..." G_FEMENINO 'luces' "El alumbrado de tu barrio." G_FEMENINO + G_PLURAL 'alumbrado' "Postes de luces." G_MASCULINO 'calle' "La calle de tu barrio, sin nadie ni nada a la vista. Es noche cerrada." G_FEMENINO 'barrio' "Tu calle, tu gente, do has vivido grande parte de tu vida." G_MASCULINO 'cortinas' "Bellas cortinas de fino terciopelo." G_FEMENINO + G_PLURAL 'cortina' "Bellas cortinas de fino terciopelo." G_FEMENINO ; ! Objectos del Estar Object Tarjeta "tarjeta magnética" Limbo with nombre_f 'tarjeta', nombre_m 'codigo', adjetivos 'barras' 'magnetica' 'plastico' , inicial "Hay una tarjeta magnética en el suelo.", descripcion "Es un rectangulo plástico, con un código de barras por un lado y por el otro una banda magnética.", antes [; Consultar : "Entre el código de barras y la banda magnética se lee una serie de numeros:^^ 27 15 12 20 01 18 05 11"; ], has femenino; Object Telefono "teléfono" Estar with nombre 'telefono' 'fono', inicial "Un antiguo teléfono está apoyado en la pared.", descripcion "Un sólido (y pesadísimo) aparato de principios de siglo XX.", antes [; Empujar : "Pesa horrores."; Coger : print "El auricular no tiene tono, así que puede tratarse de un mero adorno."; if (self hasnt general) { print "^Al moverlo, algo cae..."; move Tarjeta to Estar; give Telefono general; }; rtrue; ], has masculino estatico; Habitacion Vestibulo3 "El Final del Vestíbulo" with descripcion "Desde el extremo norte del vestíbulo se ve la escalera que conduce al segundo piso, así como, hacia el norte, las dependencias de servicio.^ Al este hay un comedor, mientras que al oeste se puede ver una sala con obras de arte.", al_n Repostero, al_s Vestibulo2, al_e Comedor, al_o SalaExhibicion, arriba Pasillo22; DecoradoAmpliado DecoradoVestibulo3 Vestibulo3 with describir 'escalera' "Es una sólida escalera de madera, alfombrada en rojo y con un grueso pasamanos a la derecha. Es bastante larga y muy ancha..." G_FEMENINO 'madera' "Roble. Todo en roble. El Doctor es un hombre con recursos y gusto." G_FEMENINO 'alfombra' "Roja. Fina. Suave..." G_FEMENINO 'pasamanos' "Sólido. Seguro. Práctico. Una barra curva de madera, suave y pulida, sin ser resvaloza." G_MASCULINO + G_PLURAL 'segundo' "Está en penumbras. Habrá que subir..." G_MASCULINO 'dependencias' "Nada distingues. Debes ir al lugar." G_FEMENINO + G_PLURAL ; Habitacion SalaExhibicion "Sala de Exhibición" with descripcion "Una verdadera colección de obras de arte están en exhibición por toda la sala, cuyos muros están adornados por bellos tapices. Dominando la escena, en el muro oeste está un gigantesco retrato al oleo.^ Por el este se vuelve al vestíbulo.", al_e Vestibulo3; DecoradoAmpliado DecoradoSalaExhibicion SalaExhibicion with describir 'obras' "Finas demostraciones de genio e inspiración. Arte." G_FEMENINO + G_PLURAL 'obra' "Finas demostraciones de genio e inspiración. Arte." G_FEMENINO 'arte' "Finas demostraciones de genio e inspiración. Arte." G_FEMENINO 'tapices' "Bordados medievales, y antiguos al parecer. El Doctor ha de ser un hombre adinerado..." G_MASCULINO + G_PLURAL 'tapiz' "Bordados medievales, y antiguos al parecer. El Doctor ha de ser un hombre adinerado..." G_MASCULINO 'laboratorio' "Curioso. Si bien los aparatos son alambicados, hay cierto parecido con un laboratorio actual." G_MASCULINO 'aparatos' "Curioso. Si bien los aparatos son alambicados, hay cierto parecido con un laboratorio actual." G_MASCULINO + G_PLURAL 'aparato' "Curioso. Si bien los aparatos son alambicados, hay cierto parecido con un laboratorio actual." G_MASCULINO ; DecoradoAmpliado DecoradoSalaExhibicion2 SalaExhibicion with describir 'muros' "Paredes blancas e impolutas." G_MASCULINO + G_PLURAL 'muro' "Paredes blancas e impolutas." G_MASCULINO 'paredes' "Paredes blancas e impolutas." G_MASCULINO + G_PLURAL 'pared' "Paredes blancas e impolutas." G_MASCULINO ; Object Retrato "retrato" SalaExhibicion with nombre 'oleo' 'cuadro' 'retrato' 'doctor' 'antepasado', descripcion "Es un retrato al oleo de un antepasado medieval del Doctor. De fondo, se ve un laboratorio de alquimista. El parecido del retratado con el Doctor es... inquietante." has masculino estatico oculto; Habitacion Comedor "El Comedor" with descripcion "Una amplia mesa domina el comedor, con bellas y sólidas sillas de respaldo alto en rededor. El puesto de la cabecera está servido, pero no hay mucho que comer.^ Al norte se ve la cocina; por el oeste se vuelve al vestíbulo, mientras que al sur se encuentra una sala ricamente amoblada.", al_n Cocina, al_s Estar, al_o Vestibulo3; DecoradoAmpliado DecoradoComedor Comedor with describir 'mesa' "Una sólida y hermosa mesa... de roble." G_FEMENINO 'sillas' "Cómodas, elegantes y funcionales." G_FEMENINO + G_PLURAL 'silla' "Parece que cayó violentamente hacia atrás: se desarma casi al intentar pararla." G_FEMENINO 'cabecera' "En el suelo, junto a la mesa hay una silla volcada, de respaldo aún mas alto que el resto." G_FEMENINO 'respaldo' "Inscrito en bajo relieve, se lee:^^ ~To Eat or Not to Eat,^ That's The Question~^^ Indeed...." G_MASCULINO ; ! Objectos del Comedor Object Plato "plato" Comedor with inicial "En la cabecera, hay un plato de porcelana.", nombre 'plato', adjetivos 'blanco' 'porcelana', descripcion "Un plato liso y blanco, de porcelana.", has masculino soporte; Object Bistec "bistec" Plato with nombre 'bistec' 'carne', descripcion[; print "Un trozo de carne de regular tamaño."; if ((Perro has general) || (Planta has general) || (self has general)) print " Mejor no comerlo, ¿eh?"; else print " Se ve apetitoso, y emana un olor... tentador."; ], antes [; Oler : if ((Perro has general) || (Planta has general)) print "Más lo hueles, menos hambre te da..."; else print "Está recién cortado, y hasta le sientes un cierto aroma a especias."; rtrue; Probar: if (self hasnt general) { give self general; "Tiene un gusto extraño y te causa una ligera sensación de mareo. Dejas de comerlo: ya no te apetece tanto."; } else <>; Comer: PrintAutoPausa( "Comes un buen pedazo del jugoso Bistec, y te relames mientras lo tragas. Vas a dar una nueva mordida... cuando sientes un gusto raro en la boca... y una sensación de somnolencia...^"); PrintAutoPausa("Caes dormido.^^"); MuerteBistec.proyeccion(); banderafin = 3; rtrue; ], has masculino comestible; Habitacion Repostero "El Repostero" with descripcion "Un repostero con su alacena, convenientemente ubicado cerca de la cocina. Desde el oeste llega un agradable olor a madera... y de más lejos, otro olor no tan agradable.^ Por el este se llega a la cocina y al sur está el vestíbulo", antes[; Oler: "Primero, sientes un perfume a madera fina, recién cortada, muy agradable... pero, por debajo de éste, hay otro, desagradable... como de comida pasada y algo peor."; ], al_s Vestibulo3, al_e Cocina, al_o Lenera; DecoradoAmpliado DecoradoRepostero Repostero with describir 'cocina' "No queda lejos..." G_FEMENINO ; ! Objectos del Repostero Object OlorRepostero Repostero with nombre 'olor' 'arona', descripcion "", antes[; Oler: "Primero, sientes un perfume a madera fina, recién cortada, muy agradable... pero, por debajo de éste, hay otro, desagradable... como de comida pasada y algo peor."; ], has masculino escenario; Object Cuchillo "cuchillo" Limbo with nombre_m 'cuchillo' 'punal', nombre_f 'hoja' 'cuchilla', descripcion "Tiene un mango sólido, ergonómico, y con un filo que podría cortar madera.", has masculino; Object Alacena "alacena" Repostero with nombre_f 'alacena' 'gaveta', nombre_fp 'gavetas', nombre_m 'cajon', nombre_mp 'cajones', descripcion "Hay varios cajones y gavetas para todo tipo de utensilios de repostería.", antes[; BuscarEn: if (self has abierto) { if (self hasnt general) { PrintAutoPausa("Revisas los cajones de la Alacena... "); print "y en uno de los cajones...^"; move Cuchillo to Alacena; give self general; give self ~oculto; } else if (capacidad_gastada(self) == 0) "¡...Vacíos! ¡Sólo cajones vacíos! Mascullando tu decepción, pateas con furia la Alacena..."; }; ], has femenino estatico oculto abrible recipiente; Habitacion Lenera "La Leñera" with descripcion "Una leñera muy bien provista, aunque el techo es, tal vez, demasiado alto. ¿Quizás, para almacenar más leña...? En una esquina hay una escalerilla espiral descendente.^ Del oeste llega un aroma raro y más bien desagradable. Por el este se llega al repostero.", antes[; Oler: "El perfume a madera fina, recién cortada, es muy agradable... pero no te oculta, por debajo de éste, otro olor, desagradable... más repugnante a medida que te concentras en identificarlo..."; ], al_e Repostero, al_o PatioServicio, abajo Armeria; DecoradoAmpliado DecoradoLenera Lenera with describir 'leña' "Trozos de madera cortada, ordenadamente apilados." G_FEMENINO 'madera' "Pero... si es roble.^ Está en bruto...^ para quemarlo.^ Obsceno..." G_FEMENINO 'escalerilla' "Está hecha de metal y se ve muy firme. Desciende en espiral cerrado." G_FEMENINO 'metal' "Es un material forjado con destreza, aunque sin adorno. Para usar..." G_MASCULINO 'pared' "Un muro blanco y limpio, pese al uso habitual del lugar." G_FEMENINO ; ! Objectos de la Leñera Object OlorLenera Lenera with nombre 'olor' 'aroma', antes[; Oler: "El perfume a madera fina, recién cortada, es muy agradable... pero no te oculta, por debajo de éste, otro olor, desagradable... más repugnante a medida que te concentras en identificarlo..."; ], descripcion "", has masculino escenario; Object Hacha "hacha" Lenera with nombre 'hacha' 'filo' 'mango', adjetivos 'enorme', inicial [; if (banderafin ~= 1) print "Hay un hacha enorme apoyada en la pared."; ], descripcion "Tiene un filo enorme y pesado. El mango es descomunal. Pesa demasiado para usarlo como arma... pero para cortar madera (u otras cosas...) viene de perillas.", has femenino ; Habitacion Cocina "La Cocina" with irrelevante 'teflón', descripcion "Una blanca, limpia y moderna cocina, destacándose un enorme refrigerador.^ Al sur está el comedor, mientras que por el oeste se llega al repostero. Hacia el este se ve un hermoso jardín.", al_s Comedor, al_e Jardin, al_o Repostero; DecoradoAmpliado DecoradoCocina Cocina with describir 'cocina' "Una reluciente cocina, con cuatro quemadores y perillas para cada uno. No se ve que tenga uso alguno: está como nueva.^ Sobre la cocina se ve una campana; bajo la cocina hay un horno." G_FEMENINO 'quemadores' "Los quemadores están secos y sin manchas." G_MASCULINO + G_PLURAL 'quemador' "Los quemadores están secos y sin manchas." G_MASCULINO 'perillas' "Las perillas giran libremente, pero no sale olor a gas." G_FEMENINO + G_PLURAL 'perilla' "Las perillas giran libremente, pero no sale olor a gas." G_FEMENINO 'campana' "Una enorme campana de acero inoxidable, cuyo ducto desaparece por el techo. Está absolutamente impecable; parece que no se usa desde que se instaló." G_FEMENINO 'ducto' "Una enorme campana de acero inoxidable, cuyo ducto desaparece por el techo. Está absolutamente impecable; parece que no se usa desde que se instaló." G_FEMENINO 'horno' "Curiosamente, no tiene una puerta; sólo el espacio del horno, recubierto de teflón reforzado. Está impoluto y sin uso aparente." G_MASCULINO ; DecoradoAmpliado DecoradoRefrigerador Limbo with antes [; Examinar: rfalse; Sacar, Coger: "Te dan un poco de morbo... no te atreves."; Empujar: "Están todos muy apretados y nada consigues..."; BuscarEn: "No hay nada que buscar en eso."; Probar, Comer, Beber: "Te da náuseas el solo pensarlo."; ], describir 'salsas' "Salsas de varios colores y consistencias. Ninguna te apetece..." G_FEMENINO + G_PLURAL 'salsa' "Salsas de varios colores y consistencias. Ninguna te apetece..." G_FEMENINO 'verduras' "Son plantas... pero no puedes reconocer ninguna. Tampoco lucen muy apetiosas." G_FEMENINO + G_PLURAL 'verdura' "Son plantas... pero no puedes reconocer ninguna. Tampoco lucen muy apetiosas." G_FEMENINO 'frutas' "Son plantas... pero no puedes reconocer ninguna. Tampoco lucen muy apetiosas." G_FEMENINO + G_PLURAL 'fruta' "Son plantas... pero no puedes reconocer ninguna. Tampoco lucen muy apetiosas." G_FEMENINO 'lacteos' "Quesos y botellas de algo blanco. Será leche..." G_MASCULINO + G_PLURAL 'partes' "Manos, ojos, orejas, narices... organos internos... hay bastante para escoger." G_FEMENINO + G_PLURAL 'frascos' "Manos, ojos, orejas, narices... organos internos... hay bastante para escoger." G_MASCULINO + G_PLURAL 'etiquetas' "Se lee: 'Manos', 'Ojos', 'Orejas', 'Narices'... No muy descriptivo, vaya." G_MASCULINO + G_PLURAL ; ! Objectos de la Cocina Object Refrigerador "refrigerador" Cocina with nombre_m 'refrigerador' 'freezer' 'frigorifico', nombre_f 'heladera' 'nevera', descripcion "Es un aparato enorme. Nadie necesitaría una despensa con un refrigerador de estas dimensiones.", capacidad 10, antes [; Entrar: "Se ve que hace demasiado frío ahí dentro... además, está atiborrado."; Coger, Empujar : "Pesa horrores."; BuscarEn: if (self has abierto){ if (self hasnt general) { PrintAutoPausa( "Está bastante surtido con:^"); PrintAutoPausa("salsas,^"); PrintAutoPausa("verduras,^"); PrintAutoPausa("frutas,^"); PrintAutoPausa("lácteos...^"); print "¡¡y partes humanas en frascos finamente sellados y etiquetados!!^^ ¿¡Qué está pasando en esta Mansión?"; give self general; move DecoradoRefrigerador to Cocina; } else print "Está bastante surtido con salsas, verduras frutas, lácteos y partes humanas en frascos finamente sellados y etiquetados. Mórbido..."; if (capacidad_gastada(self) == 0) rtrue; }; ], despues [; Abrir : if (self has general) move DecoradoRefrigerador to Cocina; Cerrar : move DecoradoRefrigerador to Limbo; ], has masculino escenario abrible recipiente entrable; Habitacion PatioServicio "El Patio de Servicio" with descripcion "Varios enseres para el aseo están repartidos por el patio, de muros blancos y sencillos. Desde el extremo sur del patio te llega un desagradable olor, que te recuerda a una carnicería... La leñera está al este.", antes[; Oler: "Primero, no sientes ningún olor, por lo limpio del lugar... pero, a pesar de todo, te llega, cada vez más fuerte, el olor de restos orgánicos y otras inmundicias..."; ], al_s Perrera, al_e Lenera; DecoradoAmpliado DecoradoPatioServicio PatioServicio with describir 'enseres' "Cosas varias para el aseo, la limpieza y ornato del hogar." G_MASCULINO + G_PLURAL 'muros' "Paredes, blancas y limpias" G_MASCULINO + G_PLURAL 'muro' "Paredes, blancas y limpias" G_MASCULINO 'paredes' "Paredes, blancas y limpias" G_FEMENINO + G_PLURAL 'pared' "Paredes, blancas y limpias" G_FEMENINO ; Object OlorPatioServicio PatioServicio with nombre 'olor' 'aroma', descripcion "", antes[; Oler: "Primero, no sientes ningún olor, por lo limpio del lugar... pero, a pesar de todo, te llega, cada vez más fuerte, el olor de restos orgánicos y otras inmundicias..."; ], has masculino escenario; Habitacion Perrera "La Perrera" with irrelevante 'trocitos', descripcion "Hay huesos y restos de carne por todos lados, así como manchas de sangre en el piso y las paredes. El hedor es insportable... y te dan ganas de salir corriendo del lugar lo más pronto posible.^ Puedes volver al patio de servicio por el norte", antes[; Escuchar : if (Perro hasnt general) { print "Los gruñidos del animal te están enervando..."; rtrue; } else "Nada. Oyes solamente tu propia respiración."; Oler: if (OlorPerrera hasnt general) { print "Sangre. Carne a medio digerir.^ Médula de hueso podrida.^ Saliva de perro.^ Excrementos...^ ...y otras^ cosas...^ Te suben ARCADAS..."; give OlorPerrera general; rtrue; } else { print "No lo soportas más... y vomitas. Tu vómito se diluye y se mezcla con la cochambre reinante...^ y el hedor empeora...^ Te devuelves, asqueado..."; give OlorPerrera ~general; JugadorA(PatioServicio); rtrue; } ], al_n PatioServicio; DecoradoAmpliado DecoradoPerrera Perrera with describir 'huesos' "Están pelados como si los hubieran pulido." G_MASCULINO + G_PLURAL 'hueso' "Están pelados como si los hubieran pulido." G_MASCULINO 'restos' "Trocitos sanguinolentos de carne, repartidos azarosamente por doquier." G_MASCULINO + G_PLURAL 'carne' "Trocitos sanguinolentos de carne repartidos azarosamente por doquier." G_FEMENINO 'manchas' "Arte abstracto y orgánico. Puaj..." G_MASCULINO + G_PLURAL 'mancha' "Arte abstracto y orgánico. Puaj..." G_MASCULINO 'sangre' "Está fresca y parece humana. (¿¡Cómo diablos lo supiste?!)" G_FEMENINO 'cadena' "Gruesa. Sólida. Firme. Está hecha para durar. Menos mal..." G_FEMENINO 'collar' "De cuero basto, está en el cuello del perro decorado con semiesferas de metal." G_MASCULINO ; DecoradoAmpliado DecoradoPerrera2 Perrera with describir 'piso' "Es concreto pulido... y algo sucio, vaya." G_MASCULINO 'concreto' "Duro y frío concreto... hecho para trajín diario." G_MASCULINO 'paredes' "Están llenas de manchas de sangre, como si fuera una galería de pintura a lo bestia... " G_FEMENINO + G_PLURAL 'pared' "Están llenas de manchas de sangre, como si fuera una galería de pintura a lo bestia... " G_FEMENINO ; ! Objectos de la Perrera Object OlorPerrera Perrera with nombre 'olor' 'hedor' 'aroma', descripcion "", antes[; Oler: if (self hasnt general) { print "Sangre. Carne a medio digerir.^ Médula de hueso podrida.^ Saliva de perro.^ Excrementos...^ ...y otras^ cosas...^ Te suben ARCADAS..."; give self general; rtrue; } else { print "No lo soportas más... y vomitas. Tu vómito se diluye y se mezcla con la cochambre reinante...^ y el hedor empeora...^ Te devuelves, asqueado..."; give self ~general; JugadorA(PatioServicio,1); rtrue; } ], has masculino escenario; Object Esfera "esfera" Limbo with nombre 'esfera' 'bola' 'bolita', adjetivos 'acero', inicial "Hay un esfera de acero en el piso.", descripcion [; print "Es una esfera de acero, perfectamente redonda, pulida y reflectante."; if (self in jugador) print "^No pesa demasiado."; ], has femenino ; PNJ Perro "perro" Perrera with nombre 'perro' 'animal', inicial [; if ((self hasnt general) && (self.vivo)) "Hay un perro GIGANTESCO, gruñendo."; else if ((self has general) && (self.vivo)) "Hay un perro, grande... y dormido."; else if (~self.vivo) "Hay un perro, grande... y muerto."; ], descripcion [; print "Es un animal enorme, de pelaje negro y enormes colmillos. "; if ((self hasnt general) && (self.vivo)) " Su collar está atado a la pared por una cadena bastante gruesa. Por como tira de ella parece que quiere jugar contigo... aunque no mueve la cola, y está gruñendo y enseñando los dientes."; else if ((self has general) && (self.vivo)) { print "Está dormido... y ronca con fuerza. Su collar, antes abrochado con una esfera de acero, está suelto"; if (Esfera in Limbo) { move Esfera to Perrera; print "; una esfera de metal se cae del broche del collar"; } print ". La cadena sigue en su sitio."; } else if (~self.vivo) { print "Está muerto... y yace inmóvil. Su collar, antes abrochado con una esfera de acero, está desabrochado"; if (Esfera in Limbo) { move Esfera to Perrera; print "; una esfera de metal se cae del broche del collar"; } print ". La cadena sigue en su sitio."; } ], reaccionar_antes [; Coger : if ((self hasnt general) && (self.vivo)) { print "El perro lanza un mordisco y retiras la mano, asustado. Casi pierdes dedos... "; if (uno==Bistec) { print "El perro mordisquea el Bistec por unos segundos. De pronto, comienza a cabecear, mientras le chorrea saliva y se le cierran los ojos. Finalmente, se desploma y yace inmóvil... ¡roncando!"; move Bistec to Perrera; give self general; rtrue; } else rtrue; } else if ((uno==Perro) && (self has general) && (self.vivo)) "Estará dormido... pero no muerto. No te atreves."; else if ((uno==Perro) && (~self.vivo)) "Huele mal y está sudado, viscoso... Te repele."; ], vida [; Lanzar: if (uno == Bistec) { if ((self hasnt general) && (self.vivo)) { print "De un salto, el animal atrapa el Bistec al vuelo. El perro mordisquea el Bistec por unos segundos. De pronto, comienza a cabecear, mientras le chorrea saliva y se le cierran los ojos. Finalmente, se desploma y yace inmóvil... ¡roncando!"; move Bistec to Perrera; give self general; rtrue; } else if ((self has general) && (self.vivo)) "Está dormido. No te hace caso..."; else if (~self.vivo) "¿Para qué? Está muerto..."; } else { print "El perro esquiva el objeto y da un par de ladridos. Luego, te gruñe y te muestra los dientes. No le gustó nada tu intento..."; move uno to Perrera; rtrue; }; Dar : if (uno == Bistec) { if ((self hasnt general) && (self.vivo)) { print "El perro mordisquea el Bistec por unos segundos. De pronto, comienza a cabecear, mientras le chorrea saliva y se le cierran los ojos. Finalmente, se desploma y yace inmóvil... ¡roncando!"; move Bistec to Perrera; give self general; rtrue; } else if ((self has general) && (self.vivo)) "Está dormido. No te hace caso..."; else if (~self.vivo) "¿Para qué? Está muerto..."; } else "El perro te gruñe y te muestra los dientes. No le interesa..."; Atacar: if ((otro == Cuchillo) || (otro == Hacha)){ if ((self hasnt general) && (self.vivo)) { if (otro == Cuchillo) print "El perro atenaza ágilmente tu mano, y con un crugido de huesos te la destroza. El cuchillo cael al suelo, inútil, y el perro se relame...^^"; else if (otro == Hacha) print "El peso del hacha te impide maniobrar bien, y el perro esquiva fácilmente tu torpe ataque.^^"; print "El perro se te abalanza, sediento de sangre. Lo último que oyes es el ruido de tu cuello al quebrarse bajo las mandíbulas poderosas de la bestia..."; banderafin = 3; rtrue; } else if ((self has general) && (self.vivo)){ print "Rápidamente le cortas el cuello. Gime un poco, y ya no se mueve más..."; self.vivo = false; rtrue; } else if (~self.vivo) "¿Para qué? Está muerto..."; } else if (otro == Pistola){ if ((Balas notin Tambor) || (Balas.cantidad==0)) { if (Balas hasnt general) { give Balas general; "Tu revólver emite un chasquido. No tiene balas."; } else { "Tu revólver emite un chasquido."; } } else if (self.vivo) { Balas.cantidad--; print "Disparas el revólver.^"; print "La bala penetra la piel del animal, que retrocece con el impacto."; if ((Perro hasnt general) && (Perro.vivo)) { print " En su agonía, el perro se sacude de un lado a otro... Gime un poco, y ya no se mueve más..."; Perro.vivo = false; rtrue; } else if ((Perro has general) && (Perro.vivo)){ print " Gime un poco, y ya no se mueve más..."; Perro.vivo = false; rtrue; } } else "¿Para qué? Esta muerto..."; } else "¿Con qué...?"; default : print "¿Para qué?"; if (~self.vivo) print" El animal está muerto..."; rtrue; ], has masculino estatico ; Habitacion Jardin "El Jardín" with irrelevante 'cristalina', descripcion "Un bello y colorido jardín, lugar de descanso y solaz.^ Al fondo, al sur, puede verse la estructura cristalina de un vivero de plantas. Por el oeste se vuelve a la Cocina.", al_s Vivero, al_o Cocina; DecoradoAmpliado DecoradoJardin Jardin with describir 'jardin' "Primoroso, colorido, fresco... relajante. Cuán bello: lleno de flores, arbustos y pasto. A diferencia de la entrada a la Mansión, alguien ha dedicado tiempo y esfuerzo para mantener y cuidar esta belleza." G_MASCULINO 'flores' "Son muy bellas y coloridas, arrgeladas con simetría y arte... pero no te parece reconocer ninguna. Deben ser extranjeras." G_FEMENINO + G_PLURAL 'flor' "Son muy bellas y coloridas, arrgeladas con simetría y arte... pero no te parece reconocer ninguna. Deben ser extranjeras." G_FEMENINO 'arbustos' "Son setos cortados con formas geométricas y extraños diseños. Están por todo el perímetro del Jardín, salvo en las salidas al oeste y al sur." G_MASCULINO + G_PLURAL 'arbusto' "Son setos cortados con formas geométricas y extraños diseños. Están por todo el perímetro del Jardín, salvo en las salidas al oeste y al sur." G_MASCULINO 'pasto' "El pasto, de un verde claro intenso, está muy bien cortado y es liso como una alfombra. Incluso, parece que se ha alisado recientemente con un rodillo." G_MASCULINO ; DecoradoAmpliado DecoradoJardin2 Jardin with describir 'vivero' "Se trata de un gran cobertizo, completamente transparente. El cristal permite ver las vigas de metal que sostienen las paredes y el techo." G_MASCULINO 'estructura' "Se trata de un gran cobertizo, completamente transparente. El cristal permite ver las vigas de metal que sostienen las paredes y el techo." G_FEMENINO 'cristal' "Está más oscuro... Será necesario acercarse." G_MASCULINO 'plantas' "Está más oscuro... Será necesario acercarse." G_FEMENINO + G_PLURAL 'vigas' "Está más oscuro... Será necesario acercarse." G_FEMENINO + G_PLURAL 'metal' "Está más oscuro... Será necesario acercarse." G_MASCULINO ; Habitacion Vivero "El Vivero" with irrelevante 'elementos' 'estructurales', descripcion "A la tenue luz de unas lámparas infrarojas, que iluminan la estructura del vivero, puedes ver un sinfín de plantas, todas de gran tamaño... y algunas de apariencia decidídamente extraña.^ Hace calor... mucho calor. La luz disminuye progresivamente hacia el sur, hasta una oscuridad (casi) total.", antes [; Ir: if ( (Planta hasnt general) && (PuertaVivero hasnt general) && (uno==obj_s) ) "¡La planta se vuelve hacia ti! Extiende sus filudas hojas, impidiendote el paso. Su capullo se abre, mostrando unas increibles fauces rojas y brillantes. Retrocedes... y la planta reposa de nuevo, cerrándose."; else if ((uno==obj_s) && (PuertaVivero has abierta)) { Caida.proyeccion(); if (random (10) == 1) { MuerteTrampaPuas.proyeccion(); banderafin = 3; rtrue; } else { print "ATERRIZAS ILESO. Un sudor frío recorre tu frente...^^"; JugadorA(TrampaPuas); rtrue; }; } ], al_n Jardin, al_s PuertaVivero; DecoradoAmpliado DecoradoVivero Vivero with describir 'luz' "Esto... emanaciones ondulares de corpúsculos fotónicos..." G_FEMENINO 'lamparas' "Proyectan luz infrarroja, manteniendo el vivero más bien cálido." G_FEMENINO + G_PLURAL 'lampara' "Proyectan luz infrarroja, manteniendo el vivero más bien cálido." G_FEMENINO 'plantas' "Vegetales de las más diversas formas... y colores: verdes, amarillos, azulados, e inclusive rojo. Las formas son muchas y variadas, y algunas casi asemejan un órgano humano: te recuerdan a algunos cuadros oníricos de Dalí... aunque aquí el efecto es de pesadilla trasnochada...^^ Al acercarte a examinarlas, parece que algunas se estiran hacia tí, como si la ventilación se orientara al expectador.^^ Aunque... no hay ventiladores visibles." G_FEMENINO + G_PLURAL 'planta' "Vegetales de las más diversas formas... y colores: verdes, amarillos, azulados, e inclusive rojo. Las formas son muchas y variadas, y algunas casi asemejan un órgano humano: te recuerdan a algunos cuadros oníricos de Dalí... aunque aquí el efecto es de pesadilla trasnochada...^^ Al acercarte a examinarlas, parece que algunas se estiran hacia tí, como si la ventilación se orientara al expectador.^^ Aunque... no hay ventiladores visibles." G_FEMENINO 'calor' "Está húmedo y pegajoso aquí..." G_MASCULINO ; DecoradoAmpliado DecoradoVivero2 Vivero with describir 'estructura' "Se trata de un gran cobertizo, completamente transparente. El cristal permite ver las vigas de metal que sostienen las paredes y el techo. Las plantas cuelgan del techo, sujetas a diversas vigas y soportes." G_FEMENINO 'cristal' "Es vidrio común." G_MASCULINO 'metal' "Es acero, reforzado con gruesos remaches." G_MASCULINO 'vigas' "Son trozos rectos de metal. Sostienen toda la estructura y algunas plantas cuelgan de ellas." G_FEMENINO + G_PLURAL 'viga' "Son trozos rectos de metal. Sostienen toda la estructura y algunas plantas cuelgan de ellas." G_FEMENINO 'soportes' "Son trozos curvos de metal, de los que cuelgan algunas plantas" G_MASCULINO + G_PLURAL 'soporte' "Son trozos curvos de metal, de los que cuelgan algunas plantas" G_MASCULINO 'remaches' "Pernos, tuercas... y otros elementos estructurales." G_MASCULINO + G_PLURAL 'remache' "Pernos, tuercas... y otros elementos estructurales." G_MASCULINO 'foso' "Es un foso profundo, con afiladas púas. Una trampa seguramente mortal." G_MASCULINO ; ! Objectos del Vivero PNJ Planta "planta gigantesca" Vivero with nombre_f 'planta' 'hoja', nombre_fp 'hojas', nombre_m 'capullo' 'tallo', nombre_mp 'tallos', adjetivos 'gigantesca', inicial [; if ((self hasnt general) && (self.vivo)) "Una planta gigantesca cierra el paso al sur. Tras ella, se ve una puerta transparente."; else if ((self has general) && (self.vivo)) "Una planta yace en el suelo. Tras ella, se ve una puerta transparente."; else if (~self.vivo) "Una planta mustia yace en el suelo. Tras ella, se ve una puerta transparente."; ], descripcion [; if ((self hasnt general) && (self.vivo)) "Tiene unos tallos muy, muy gruesos: casi parecen músculos. Sus hojas son afiladas en los bordes y tiene un capullo ENORME."; else if ((self has general) && (self.vivo)) "A pesar de que se mueve como si respirara, sus tallos y hojas lucen lacios... y el capullo parece una pelota desinflada"; else if (~self.vivo) "Sus tallos, hojas y pétalos lucen marchitos."; ], vida[; Dar : if (uno == Bistec) { if ((self hasnt general) && (self.vivo)) { print "La planta se traga el Bistec entero. De pronto lo escupe al suelo y comienza a moverse en forma sinuosa... Finalmente, se desploma y yace inmóvil. Te parece oir suaves ronquidos..."; move Bistec to Vivero; give self general; Vivero.al_s = PuertaVivero; rtrue; } else if ((self has general) && (self.vivo)) "Está dormida. No te hace caso..."; else if (~self.vivo) "¿Para qué? Está muerta..."; } else "La planta se eriza entera. No le interesa..."; default : print "¿Para qué?"; if (~self.vivo) print" La planta está muerta..."; rtrue; ], antes [; Talar : if (otro == Hacha) { if (self.vivo) { if (self hasnt general) print "Esquivando los zarpazos de las hojas de la planta vas "; else print "Vas "; print "cortando el grueso tallo mientras la planta parece emitir chillidos y un fluido verdoso mancha tu hacha... y se evapora instantáneamente. Pronto la planta yace marchita en el suelo"; self.vivo = false; Vivero.al_s = PuertaVivero; give PuertaVivero general; rtrue; } else if (~self.vivo) "¿Para qué? Está muerta..."; } else "¿Con qué...?"; Coger : if ((self hasnt general) && (self.vivo)) "Intentas hacirla, pero la Planta te esquiva."; else if ((self has general) && (self.vivo)) "Estará dormida... pero no muerta. No te atreves."; else if (~self.vivo) "Los restos de la Planta no te servirán de nada..."; Atacar, Cortar: if (otro == Cuchillo) { if (self.vivo) { print "Un par de tajos y su sabia, de un extraño color rojo, se derrama por el suelo, deshaciéndose en humo. La planta se pone mustia ante tus ojos y queda inmóvil."; self.vivo = false; Vivero.al_s = PuertaVivero; give PuertaVivero general; rtrue; } else if (~self.vivo) "¿Para qué? Está muerta..."; } else if (otro == Hacha) { if (self.vivo) { if (self hasnt general) print "Esquivando los zarpazos de las hojas de la planta vas "; else print "Vas "; print "cortando el grueso tallo mientras la planta parece emitir chillidos y un fluido verdoso mancha tu hacha... y se evapora instantáneamente. Pronto la planta yace marchita en el suelo."; self.vivo = false; Vivero.al_s = PuertaVivero; give PuertaVivero general; rtrue; } else if (~self.vivo) "¿Para qué? Está muerta..."; } else if (otro == Pistola) { if ((Balas notin Tambor) || (Balas.cantidad==0)) { if (Balas hasnt general) { give Balas general; "Tu revólver emite un chasquido. No tiene balas."; } else { "Tu revólver emite un chasquido."; } } else if (self.vivo) { Balas.cantidad--; print "Disparas el revólver.^"; print "La bala destroza el tallo, y luego hace reventar el capullo abierto. Pétalos supurantes caen al suelo: se hacen polvo. La planta cae y ya no se mueve más.."; self.vivo = false; Vivero.al_s = PuertaVivero; give PuertaVivero general; rtrue; } else if (~self.vivo) "¿Para qué? Esta muerta..."; } else "¿Con qué...?"; ], has femenino estatico; Conexion PuertaVivero "Puerta Transparente" with nombre 'puerta', adjetivos 'transparente', descripcion [; if ((Planta hasnt general) && (self hasnt general)) "La planta, con sus hojas extendidas, te impide ver más allá."; else { if (localizacion == Vivero) "Detrás de la puerta puedes ver un foso profundo, con afiladas púas. Una trampa seguramente mortal. Tu precaución es encomiable..."; else "Ves las plantas del vivero reflejadas difusamente en la puerta."; } ], antes [; BuscarEn: <>; Abrir: if ((Planta hasnt general) && (self hasnt general)) "¡La planta se vuelve hacia ti! Extiende sus filudas hojas, impidiendote el paso. Su capullo se abre, mostrando unas increibles fauces rojas y brillantes. Retrocedes... y la planta reposa de nuevo, cerrándose."; else if (localizacion == TrampaPuas) "No la alcanzas desde donde estás..."; Cerrar: if (localizacion == TrampaPuas) "No la alcanzas desde donde estás..."; ], has femenino escenario; Habitacion TrampaPuas "La Trampa de Púas" with descripcion [; if (banderafin ~= 3) print "Las púas, verdaderas agujas de madera, están repartidas por todo el piso.^^ De milagro sigues vivo...^^ ~El Hogar de un Hombre es su Castillo~^^ ...y, claramente, estás en la fosa."; ], antes [; Ir: if (uno==obj_arriba) print " Agarrándote con fuerza del borde inferior de la puerta, trepas cuidadosamente, esquivando apenas las afiladas estacas. Finalmente, logras salir de la trampa...^^"; ], arriba PuertaVivero; DecoradoAmpliado DecoradoTrampaPuas TrampaPuas with describir 'puas' "Trozos de madera, afiladas y puntiagudas." G_FEMENINO + G_PLURAL 'pua' "Trozos de madera, afiladas y puntiagudas." G_FEMENINO 'estacas' "Trozos de madera, afiladas y puntiagudas." G_FEMENINO + G_PLURAL 'estaca' "Trozos de madera, afiladas y puntiagudas." G_FEMENINO 'madera' "Roble... ¿¡Aquí, también?!..." G_FEMENINO 'piso' "Tierra apisonada y compactada." G_MASCULINO 'vivero' "Está más oscuro... Será necesario volver al vivero." G_MASCULINO 'plantas' "Está más oscuro... Será necesario volver al vivero." G_FEMENINO + G_PLURAL ; ! Segundo Piso Habitacion Pasillo22 "El Pasillo del Segundo Piso" with descripcion [; print "La escalera conduce al primer piso. El pasillo termina al poco caminar al norte, pero se extiende algo más al sur. Hay poca luz, y el silencio es total.^"; if (Mayordomo has general) "Una de las dos habitaciones cercanas debe ser el dormitorio del Mayordomo. Precaución..."; else "Al este y al oeste se pueden ver sendas habitaciones."; ], al_n Pasillo21, al_s Pasillo23, al_o Dormitorio21, al_e DormitorioMayordomo, abajo Vestibulo3; DecoradoAmpliado DecoradoPasillo22 Pasillo22 with describir 'escalera' "Es una sólida escalera de madera, alfombrada en rojo y con un grueso pasamanos a la derecha. Es bastante larga y muy ancha..." G_FEMENINO 'madera' "Roble. Todo en roble. El Doctor es un hombre con recursos y gusto." G_FEMENINO 'alfombra' "Roja. Fina. Suave..." G_FEMENINO 'pasamanos' "Sólido. Seguro. Práctico." G_MASCULINO 'luz' "Semipenumbra. No se ve mucho." G_FEMENINO 'piso' "Por increible que parezca, el suelo, TODO el suelo, es de roble finísimo." G_MASCULINO ; Habitacion Dormitorio21 "Un Dormitorio del Segundo Piso" with irrelevante 'falda' 'blusa' 'medias', descripcion "A la luz tenue que viene del pasillo, distingues sólo la cama... y algunas manchas de color rojo oscuro en el suelo.^ Puedes volver al pasillo por el este.", al_e Pasillo22; DecoradoAmpliado DecoradoDormitorio21 Dormitorio21 with describir 'sabanas' "Finas y tersas. Pura seda. El Doctor no escatima nada." G_FEMENINO + G_PLURAL 'sabana' "Finas y tersas. Pura seda. El Doctor no escatima nada." G_FEMENINO 'corte' "Finísimo y sumamente regular." G_MASCULINO 'cuello' "La piel está fría al tacto..." G_MASCULINO 'manchas' "Parece ser sangre seca." G_MASCULINO + G_PLURAL 'mancha' "Parece ser sangre seca." G_MASCULINO 'sangre' "Parece humana. (¿¡Cómo diablos lo supiste?!)" G_FEMENINO 'vestido' "Falda, blusa, medias... ropa de mujer, sencilla." G_FEMENINO 'luz' "Semipenumbra. No se ve mucho." G_FEMENINO ; Object Cadaver "cuerpo" Limbo with nombre 'algo' 'alguien' 'cadaver' 'cuerpo' 'bulto', adjetivos 'decapitado' 'mujer', descripcion [; if (self hasnt General) { PrintAutoPausa( "Te acercas a la cama, y en efecto, no hay almohada... y retrocedes, horrorizado, apenas conteniendo un grito...^^"); print "¡¡ES UN CUERPO DECAPITADO!!"; give self general; } else print "Al descorrer las sábanas, ves que el cuerpo está aun vestido... y es una mujer. Observando el cuello, ves que el corte fue hecho con mucho cuidado... y aparentemente con algo caliente: todos los bordes están cauterizados.^ Cubres piadosamente el cadáver y retrocedes, asqueado. Definitivamente, algo extraño está ocurriendo en esta Mansión..."; ], antes [; Coger, Tacos : "No te atreves a profanarlo de ese modo"; ], has neutro escenario; Object Cama "cama" Dormitorio21 with nombre 'cama' 'ropa', inicial [; if (Cadaver in Cama) { if (Cadaver hasnt general) print "Hay algo sobre la cama."; else print "Hay un cadaver sobre la cama"; } ], descripcion [; print "Parece haber alguien durmiendo en la cama, a juzgar por el bulto que forma en la ropa de cama. Sin embargo, no se ve la almohada..."; if (self hasnt general) { give self ~oculto; move Cadaver to Cama; give self general; } ], antes [; BuscarEn: if (self hasnt general) { PrintAutoPausa(" Te acercas a la cama, notas que no hay almohada... y retrocedes, horrorizado, apenas conteniendo un grito...^^"); print "¡¡ES UN CUERPO DECAPITADO^!!"; give Cadaver general; give Cadaver ~oculto; move Cadaver to Cama; give self general; rtrue; } ], has femenino estatico oculto soporte; Habitacion DormitorioMayordomo "Un Dormitorio" with descripcion [; print "La luz está apagada, pero ves claramente al fondo una cama.^ Puedes volver al pasillo por el oeste.^"; if (self hasnt general) { give self general; "^^¡Has encontrado al Mayordomo!"; } ], al_o [; if (Mayordomo.cantidad > 0) { JugadorA(Pasillo22); rtrue; } else { MayordomoMata(); rtrue; }; ]; DecoradoAmpliado DecoradoDormitorioMayordomo DormitorioMayordomo with describir 'cama' "Un mero catre de campaña." G_FEMENINO ; ! Objectos del Dormitorio21 PNJ Mayordomo "mayordomo" DormitorioMayordomo with nombre 'mayordomo', descripcion [; switch(self.cantidad) { 3: print "Ves al mayordomo acostado en su cama.^"; 2: print "Ves al mayordomo que se está levantando de su cama.^"; 1: print "El mayordomo está aqui... junto a tí^"; }; "Es aun más grande de lo que parecía en las fotografías del periódico. Su musculatura se adivina poderosa bajo su ropa. Su rostro pálido no revela ninguna emoción..."; ], reaccionar_antes [; Atacar : if (otro == Cuchillo) { PrintAutoPausa( "¡Le das en pleno pecho... y el cuchillo se parte!"); } else if (otro == Hacha) { PrintAutoPausa( "El hacha es tan pesada que el Mayordomo no sólo la esquiva, sino que te la arrebata y le si nada..."); } else if (otro == Pistola) { if ((Balas notin Tambor) || (Balas.cantidad==0)) { if (Balas hasnt general) { give Balas general; "Tu revólver emite un chasquido. No tiene balas."; } else { "Tu revólver emite un chasquido."; } } else { Balas.cantidad--; print "Disparas el revólver.^"; PrintAutoPausa("¡La bala rebota en su piel!"); } } MayordomoMata(); Lanzar : if (uno == Cuchillo) { PrintAutoPausa( "Le lanzas el cuchillo que se clava en el pecho. No sale sangre. Lentamente, el mayordomo alza la mano agarra el cuchillo y parte la hoja. Tira al suelo el cuchillo roto y se deja parte de la hoja clavada en su pecho..."); } else if (uno == Hacha) { PrintAutoPausa( "Lanzas el hacha y le aciertas en la cabeza. Pero el mayordomo ni se inmuta, y avanza rápidamente hacia ti con el hacha clavada en la cabeza como si tal cosa..."); } MayordomoMata(); rtrue; ], cada_turno [; ArrancarDaemon(self); ], cantidad 4, daemon [; if (localizacion~=DormitorioMayordomo) { self.cantidad=3; PararDaemon(self); give self ~general; rtrue; } if (self.cantidad > 0) self.cantidad--; switch(self.cantidad) { 3: "El mayordomo permanece en la cama."; 2: "El mayordomo se levanta lentamente de la cama."; 1: "El mayordomo está de pie."; 0: MayordomoMata(); rtrue; }; ], has masculino estatico oculto; Habitacion Pasillo21 "El Pasillo" with descripcion "El extremo norte del pasillo no es menos lúgubre que el resto. Mirando hacia el sur, su final apenas se distingue, y la penumbra aumenta la sensación de vacío ya que... ni un sonido llega a tus oidos.^ Hay una habitación a oscuras al oeste, y hacia el este hay un baño.", antes [; Ir: ! La Hab. Sin Piso (no existe, realmente) if (uno==obj_o) { PrintAutoPausa("Estás en una Habitación...^¡¡¡Sin piso!!!^^ "); Caida.proyeccion(); if (random (10) == 1) { MuerteHabitacionSinPiso.proyeccion(); banderafin = 3; } else { print "ATERRIZAS ILESO. Un sudor frío recorre tu frente...^"; JugadorA(Lenera); rtrue; } }; ], al_s Pasillo22, al_e Bano21, al_o Limbo; Habitacion Bano21 "Un Baño" with descripcion "Es un baño reducido, todo muy blanco y muy limpio.^ Puedes volver al pasillo por el oeste.", al_o Pasillo21; DecoradoAmpliado DecoradoBano21 Bano21 with describir 'water' "Blanco y cómodo para sentarse, pero está seco." G_MASCULINO 'sanitario' "Blanco y cómodo para sentarse, pero está seco." G_MASCULINO 'estanque' "Está vacío y seco." G_MASCULINO 'lavabo' "Blanco y limpio... pero sin llaves o manijas. Vaya." G_MASCULINO 'lavatorio' "Blanco y limpio... pero sin llaves o manijas. Vaya." G_MASCULINO 'lavabo' "Blanco y limpio... pero sin llaves o manijas. Vaya." G_MASCULINO 'cañerías' "No hay. ¿Y cómo funciona esto, entonces?" G_FEMENINO + G_PLURAL ; Habitacion Pasillo23 "El Pasillo" with descripcion [; print "El pasillo, largo y en penumbras, casi llega a su fin. Un silencio total te rodea..."; if (Cabeza hasnt general) print " salvo por un ligero sonido que viene del oeste.^ Hay un dormitorio al oeste y una puerta de madera al este."; else print "^Hay un dormitorio al oeste y una puerta de madera al este."; ], antes[; Escuchar : if (Cabeza hasnt general) { print "Te parece percibir unos lamentos... suaves, femeninos... lastimeros..."; rtrue; } else "Nada. Oyes solamente tu propia respiración."; ], al_n Pasillo22, al_s Pasillo24, al_o Dormitorio22, al_e PuertaMadera; DecoradoAmpliado DecoradoPasillo23 Pasillo23 with describir 'madera' "Vaya... pero si es roble." G_FEMENINO 'aplicaciones' "Son semiesferas de acero." G_FEMENINO + G_PLURAL 'metal' "Acero, duro y frío..." G_MASCULINO 'piso' "Por increible que parezca, el suelo, TODO el suelo, es de roble finísimo." G_FEMENINO ; ! Objectos del Pasillo23 Conexion PuertaMadera "Puerta de Madera" with nombre 'puerta' 'chapa', adjetivos 'madera', descripcion "Es una sólida puerta de madera, con aplicaciones en metal. Tiene una chapa muy curiosa, una hendidura cóncava.", con_llave Esfera, has femenino escenario cerrojo cerrojoechado; Habitacion Dormitorio22 "Un Dormitorio del Segundo Piso" with descripcion [; print "Por alguna razón, en este dormitorio no hay luces, ni interruptores a la vista. Todo lo que puedes hacer es adivinar una mesa y algunas formas en la penumbra, iluminada apenas por la magra luz que viene del pasillo."; if ( (Cabeza in Limbo) || (Cabeza hasnt general) ) print " Te parece oír... algo... un murmullo desde la mesa en medio de la habitación."; " Puedes volver al pasillo por el este."; ], antes[; Escuchar : if ( (Cabeza in Limbo) || (Cabeza hasnt general) ){ print "Es una voz femenina y plañidera:^~Auxilio....~^susurra gimiente."; rtrue; } else "Nada. Oyes solamente tu propia respiración."; ], al_e Pasillo23; DecoradoAmpliado DecoradoDormitorio22 Dormitorio22 with describir 'aparato' "Te recuerda la base de una pecera esférica..." G_MASCULINO 'ojos' "Son grises y alguna vez fueron hermosos. Ahora, están acuosos, velados, y reflejan angustia y desesperación..." G_MASCULINO + G_PLURAL 'luz' "Semipenumbra. No se ve mucho." G_FEMENINO ; ! Objectos del Dormitorio22 Object Mesa "mesa" Dormitorio22 with nombre 'mesa' 'formas', inicial [; if (Cabeza in Mesa) { if (Cables in Limbo) print "Hay una cabeza sobre la mesa."; else if (Cables hasnt general) print "Hay una cabeza sobre la mesa, con unos cables conectados."; else if (Cables has general) print "Hay una cabeza sobre la mesa. En el suelo, los cables cortados."; }; ], antes [; BuscarEn: <>; ], descripcion [; print "Una mesa de madera, de gruesas patas."; if (self hasnt general) { PrintAutoPausa("^Examinando su superficie, descubres, con espanto, que hay encima, como si de un adorno se tratara... "); PrintAutoPausa("una CABEZA DE MUJER....^"); PrintAutoPausa("¡VIVA!... "); move Cabeza to Mesa; give self general; give self ~oculto; rtrue; } else " Hay una cabeza sobre la mesa."; ], has femenino estatico soporte; Object Cabeza "cabeza de mujer" Limbo with nombre 'cabeza', adjetivos 'mujer', descripcion [; if ((Cables hasnt general) && (self hasnt general)) { print "La cabeza esta montada sobre un extraño aparato, del que salen múltiples cables que se pierden por el suelo. Cuando la giras, los ojos de la mujer se fijan en tí y puedes oir como musita:^ ~Por favor, desconecta los cables...^ desconecta los cables...^ desconectalos...~"; if ((Cables in Limbo) && (self hasnt general)) { move Cables to Dormitorio22; !give self general; }; } else if (self has general) print "En el rostro ceniciento de la mujer está dibujada una espantosa sonrisa..."; ], antes [; Coger: if (self hasnt general) "Al coger la cabeza la mujer empieza a quejarse tan lastimosamente que la vuelves a dejar..."; else if (self has general) "Ya ha muerto, respeta su cadáver..."; Apagar: if (Cables in Limbo) { "No ves cómo hacerlo..."; } else if (Cables hasnt general) { "Tiras y tiras de los cables, intentando desconectarlos o cortarlos, con toda tu fuerza, haciendo palanca casi, pero no consigues más que unos quejidos de la mujer, cuya base sigue firmemente unida a los malditos cables..."; } else "Ya ha muerto, respeta su cadáver..."; Atacar: if (self hasnt general) { if (otro == Hacha) { print "Sin darle tiempo a que se dé cuenta de lo que va a pasar, alzas el hacha y la dejas caer con violencia... y de un certero golpe undes el filo del hacha en su frente. Con algo de asco, retiras el hacha y limpias su filo en tu ropa..."; give Cabeza general; rtrue; } else if (otro == Cuchillo) { print "Pones tu mano izquierda sobre su pelo, giras la cabeza para no ver su cara de horror y le clavas el cuchillo en la nuca. Apenas un leve gemido sale de su garganta seguido de un gorgogeo. Retiras el cuchillo, extrañamente apenas manchado, y lo limpias en tu ropa..."; give Cabeza general; rtrue; } else if (otro == Pistola) { if ((Balas notin Tambor) || (Balas.cantidad==0)) { if (Balas hasnt general) { give Balas general; "Tu revólver emite un chasquido. No tiene balas."; } else { "Tu revólver emite un chasquido."; } } else { Balas.cantidad--; print "Disparas el revólver.^"; print "Abres un agujero en el rostro ceniciento..."; give Cabeza general; rtrue; } } else "¿Cómo quieres matarla?"; } else "¿Con qué fin? Ya está muerta..."; ], has femenino oculto; Object Cables "cables" Limbo with nombre 'cables' 'fragmentos', ! inicial [; ! if (self hasnt general) print ! "Hay unos gruesos cables conectados a la Cabeza.^"; ! if (self has general) print ! "Hay unos fragmentos de cables esparcidos por doquier.^"; ! ], descripcion [; if (self hasnt general) { print "Son cables sumamente gruesos y sólidos. Terminan en un hoyo en el suelo y por ahí desaparecen ...hacia abajo. " ; } else print "Los cortaste con tanta saña que no quedan sino fragmentos inservibles..."; ], antes [; Atacar : if (otro == Pistola) { if ((Balas notin Tambor) || (Balas.cantidad==0)) { if (Balas hasnt general) { give Balas general; "Tu revólver emite un chasquido. No tiene balas."; } else { "Tu revólver emite un chasquido."; } } else { Balas.cantidad--; print "Disparas el revólver.^"; print "La bala rebota en los cables!"; rtrue; } }; Cortar, Apagar : if (self hasnt general) { if ((self hasnt general) && (otro == Hacha)) { print "Das violentos hachazos a los cables, y los vas cortando uno a uno."; give self general; if (Cabeza hasnt general) { print "Cuando el último de ellos se corta, escuchas que la mujer suspira y te susurra :^ ~Gracias... cuídate del Mayordomo... no es humano... nada lo detiene... nada... creo que está en un dormitorio, cerca de la escalera... evita toparte con él o acabarás como yo...~^ Da un último quejido y al exhalar musita:^ ~...o peor...~"; give Cabeza general; give Mayordomo general; } } else if ((self hasnt general) && (otro == Cuchillo)) print "El cuchillo no hace mella en los cables."; else <>; } else print "Están hechos pedazos, es inútil..."; rtrue; Arrancar, Tirar : if (self hasnt general) { print "Tiras y tiras de los cables, intentando desconectarlos o cortarlos, con toda tu fuerza, haciendo palanca casi, pero no consigues más que unos quejidos de la mujer, cuya base sigue firmemente unida a los malditos cables..."; } else print "Están hechos pedazos, es inútil..."; rtrue; ], has masculino nombreplural oculto estatico; Habitacion DormitorioDoctor "El Dormitorio del Doctor" with descripcion "La habitación es muy amplia y espaciosa... gracias a que, prácticamente ¡no tiene muebles! No hay closets, cómoda o cama... aunque se ven marcas en el piso donde estuvieron. Apenas hay un velador...^ Y entonces, ¿Dónde duerme este tipo?^ ¿Y para qué la habitación casi vacía, eh?^ Al oeste está la puerta por la que se llega al pasillo. Al sur, un baño.", al_o PuertaMadera, al_s BanoDoctor; DecoradoAmpliado DecoradoDormitorioDoctor DormitorioDoctor with describir 'marcas' "Huellas de fricción y peso." G_FEMENINO + G_PLURAL 'marca' "Huellas de fricción y peso." G_FEMENINO 'piso' "Es de madera, gastada por el trajín y el uso." G_MASCULINO 'madera' "Puf. Eucalipto." G_FEMENINO ; ! Objectos del Dormitorio del Doctor Object Llave "llave" Limbo with nombre 'llave', descripcion "Una llave de casa común.", has femenino; Object CajaBalas "caja de balas" Limbo with nombre 'caja', adjetivos 'balas', descripcion "La caja está muy bien sellada y es resistente a los golpes.", has femenino recipiente abrible ~abierto; Object Balas "balas" CajaBalas with nombre_f 'bala', nombre_fp 'balas', adjetivos 'pequena', descripcion "Se trata de balas pequeñas, como para un revolver de bolsillo.", cantidad 6, has femenino; Object Velador "velador" DormitorioDoctor with nombre_m 'velador' 'cajon', nombre_f 'mesilla' 'mesita', adjetivos 'noche' 'pequena' 'madera', capacidad 2, descripcion "Es una mesa pequeña al lado de la cama que suele servir para poner lamparitas o libros de cabecera, pero... ¡no tiene nada encima! La madera es sencilla, lo que contrasta con el resto de los muebles de la Mansión, todos de fino gusto (y asaz caros).", antes[; BuscarEn: if (self has abierto) { if (self hasnt general) { PrintAutoPausa("En el cajón del velador miras y...^"); move CajaBalas to Velador; move Llave to Velador; give self general; give self ~oculto; } else if (capacidad_gastada(self) == 0) "¡...Vacío! ¡Sólo un cajón vacío! Mascullando tu decepción, agitas el cajón hasta casi desarmarlo..."; }; ], has masculino estatico oculto abrible recipiente; Habitacion BanoDoctor "El Baño del Doctor" with descripcion "Es un baño muy amplio, con un gran lavatorio, que gotea un poco de líquido; sin embargo, está todo blanco y muy limpio. Según se ve, no hay toallas, ni jabón, ni utensilio alguno. Curioso...^ Puedes volver al dormitorio por el norte.", al_n DormitorioDoctor; DecoradoAmpliado DecoradoBanoDoctor BanoDoctor with describir 'water' "Blanco y cómodo para sentarse, pero está seco." G_MASCULINO 'sanitario' "Blanco y cómodo para sentarse, pero está seco." G_MASCULINO 'estanque' "Está vacío y seco." G_MASCULINO 'bañera' "Una hermosa y curvilinea bañera, muy limpia, hecha de fina loza." G_FEMENINO 'loza' "Un material excelente, pulido y suave." G_FEMENINO 'porcelana' "Un material excelente, pulido y suave." G_FEMENINO 'desague' "Donde todo termina... todo." G_MASCULINO ; ! Objectos de la Baño del Doctor Object Agua "agua" BanoDoctor with nombre 'agua' 'liquido' 'gota', adjetivos 'claro' 'clara', descripcion [; if (Agua in BanoDoctor) { if (self hasnt general) "Un líquido claro, goteando."; else "Un líquido claro, chorreando."; } else print "Un líquido claro, refrescante."; ], antes [; Coger : print "Se te escurre entre los dedos..."; rtrue; Beber : if (localizacion ~= BanoDoctor) { print "Destapas el frasco, y su contenido entra cristalino por tu boca... y tu sed se apaga. Muy refrescante."; move Agua to BanoDoctor; rtrue; } else if (Jugador in BanoDoctor) { if (self has general) "Te inclinas a beber. El chorro sale potente, salpicándolo todo y entrando luego por tu boca... y tu sed se apaga. Muy refrescante."; else "Apenas sientes la gota de líquido en tu lengua..."; } ], has masculino comestible estatico oculto; Object Manijas "manijas" BanoDoctor with nombre_f 'manija', nombre_fp 'manijas', nombre_m 'grifo', nombre_mp 'grifos', descripcion "Grifería fina, de pristino enlozado.", despues [; Abrir : give Agua general; Cerrar : give Agua ~general; ], has femenino escenario abrible; Object Lavatorio "lavatorio" BanoDoctor with nombre 'lavatorio' 'lavabo', descripcion [; print "El lavatorio, con gruesas manijas de porcelana, está asaz limpio, blanco y pristino."; if (Agua hasnt general) " Notas que una gota de líquido cae de una de las llaves...^ ...leeentamente...^ llega a la loza y desaparece por el desague."; else " De las llaves sale un chorro de líquido."; ], has masculino escenario ; Habitacion Pasillo24 "El Pasillo" with descripcion "El extremo sur del pasillo. Las sombras, apenas auyentadas por una luz tenue del oeste, te rodean. El profundo silencio de la Mansion te permite oir el crujido de tus pisadas en el piso de madera.^ Al oeste se ve una habitación llena de libros.", antes[; Escuchar : "La madera cruje bajo tus pies:^ Criiic...^ criic...^ Criiiiiiic..."; ], al_n Pasillo23, al_o Biblioteca; DecoradoAmpliado DecoradoPasillo24 Pasillo24 with describir 'sombras' "La penumbra te rodea..." G_FEMENINO + G_PLURAL 'sombra' "La penumbra te rodea..." G_FEMENINO 'piso' "Todo encerado y de madera, muy fina." G_MASCULINO 'madera' "Por increible que parezca, el suelo, TODO el suelo, es de roble finísimo." G_FEMENINO 'luz' "Semipenumbra. No se ve mucho." G_FEMENINO ; Habitacion Biblioteca "Una Biblioteca" with descripcion "Libros, libros y más libros...Estanterías hasta el techo llenas de todo: tomos gruesos, colecciones, pergaminos, cuadernos... Hay material de lectura para un invierno laaargo (digamos, de 10 años).^ Por el este se vuelve al Pasillo.", al_e Pasillo24; DecoradoAmpliado DecoradoBiblioteca Biblioteca with describir 'libros' "Tomos de todas formas y tamaños. No logras entender nada de lo que está escrito en ellos." G_MASCULINO + G_PLURAL 'libro' "Tomos de todas formas y tamaños. No logras entender nada de lo que está escrito en ellos." G_MASCULINO 'tomos' "Tomos de todas formas y tamaños. No logras entender nada de lo que está escrito en ellos." G_MASCULINO + G_PLURAL 'tomo' "Tomos de todas formas y tamaños. No logras entender nada de lo que está escrito en ellos." G_MASCULINO 'colecciones' "Jo... ¡Son tebeos!" G_MASCULINO + G_PLURAL 'Tebeos' "Pero... si hay de _todo_:^^ Mortadelo y Filemón^ Zipi y Zape^ Capitán Trueno^ ¡Lorna!^^ Superman^ Batman^ X-Men^^ Mafalda^ Inodoro Pereira^^ Garfield^ Carlitos^^ Hay hasta Manga...^^ La cultura del Doctor es vasta... y basta." G_MASCULINO + G_PLURAL ; DecoradoAmpliado DecoradoBiblioteca2 Biblioteca with describir 'pergaminos' "Rollos amarillentos y arrugados. No logras entender nada de lo que está escrito en ellos." G_MASCULINO + G_PLURAL 'pergamino' "Rollos amarillentos y arrugados. No logras entender nada de lo que está escrito en ellos." G_MASCULINO 'cuadernos' "Universitarios, de croquis... No logras entender nada de lo que está escrito en ellos." G_MASCULINO + G_PLURAL 'cuaderno' "Universitarios, de croquis... No logras entender nada de lo que está escrito en ellos." G_MASCULINO 'estanterias' "Todo de madera muy fina. Adivina cual..." G_FEMENINO + G_PLURAL 'estanteria' "Todo de madera muy fina. Adivina cual..." G_FEMENINO 'madera' "Ajhá. Roble..." G_FEMENINO ; ! Objectos de la Biblioteca Object Diario "diario" Biblioteca with nombre_m 'diario', nombre_f 'paginas', descripcion "Tiene gruesas tapas de cuero, una encuadernación muy sólida y una cantidad impresionante de páginas.", antes [; Consultar, Leer: print "Lo hojeas un poco, y no puedes leer nada: la escritura es a ratos de un estilo fluido y a ratos a borrones... pero las letras son de un alfabeto ...desconocido.^ Hay muchas (parece) fórmulas y dibujos o diagramas muy complejos... todo escrito a mano, con tintas de varios colores.^ Algunos diseños son de cirugías... pero te hacen pasar rápido a otra página. Se describen aparatos incomprensibles y complejísimos, cuyo propósito no es claro... aunque hay algunas indicaciones gráficas más bien inquietantes.^ Al final, en la última hoja, hay una lista de palabras (de alfabeto latino) con fechas correlativas. La palabra correspondiente al día de hoy es 'Zaneg'."; rtrue; ], has masculino legible; ! Subterraneo Habitacion Armeria "La Armería" with descripcion "Te extraña que un lugar como este, con un gabinete y ganchos para rifles y pistolas, esté tan vacío... ¿Donde habrán ido a parar las armas?^ En una esquina, hay una escalerilla espiral ascendente.^ Al este, se ve una puerta metálica.", al_e PuertaHierro, arriba Lenera; DecoradoAmpliado DecoradoArmeria Armeria with describir 'ganchos' "Enganches de metal para poner todo tipo de armas de fuego... y aunque no hay ninguna, esto sugiere un arsenal modesto... pero contudente." G_MASCULINO + G_PLURAL 'gancho' "Enganches de metal para poner todo tipo de armas de fuego... y aunque no hay ninguna, esto sugiere un arsenal modesto... pero contudente." G_MASCULINO 'escalerilla' "Está hecha de metal y se ve muy firme. Desciende en espiral cerrado." G_FEMENINO 'metal' "Es un material forjado con destreza, aunque sin mucho adorno. Para usar..." G_MASCULINO 'pared' "Un muro blanco y limpio, pese al uso habitual del lugar." G_FEMENINO ; ! Objetos de la Armeria Conexion PuertaHierro "Puerta de Hierro" with nombre 'puerta', adjetivos 'metalica' 'hierro', descripcion "La Puerta es de hierro reforzado y parece ser infranqueable. Tiene una chapa para una llave común.", con_llave Llave, despues [; Abrir : "Con un ruido de motores hidráulicos, la pesada puerta se abre muuuy leeeeentamente, dejando la via libre."; Cerrar : "Con un ruido de motores hidráulicos, la pesada puerta se cierra muuy leeeeentamente, cerrando el paso."; ], has femenino escenario cerrojo cerrojoechado; Object Gabinete "gabinete" Armeria with nombre_m 'gabinete' 'cajon', nombre_mp 'cajones', adjetivos 'metalico', descripcion "El gabinete es metálico y de sólida construcción. Tiene varios cajones.", antes[; BuscarEn: if (self has abierto) { if (self hasnt general) { PrintAutoPausa("Revisas con calma uno a uno sus cajones...^"); print "y en uno de los cajones...^"; move Pistola to Gabinete; give self general; give self ~oculto; } else if (capacidad_gastada(self) == 0) "¡...Vacío! ¡Sólo cajones vacíos! Mascullando tu decepción, arreas los cajones a patadas..."; }; ], has masculino estatico oculto abrible recipiente; Object Pistola "Pistola" Limbo with nombre_f 'pistola', nombre_m 'revolver', peso 3, volumen 1, descripcion "Un modelo clásico de bolsillo: parece ser bastante antiguo (circa mediados del siglo XX) pero está bien mantenida y aceitada. Se ve pequeña pero letal...", antes [; Abrir, BuscarEn: <>; Cerrar: "El tambor está cerrado."; ], despues [; Coger, Sacar: if (self hasnt general) { give self general; "Empuñas el revólver con tu mano derecha y notas lo pesado que es para su pequeño tamaño, y lo frío que está el metal."; } else { "Empuñas tu revolver."; } ], has transparente; Object Tambor "tambor del revólver" Pistola with nombre_m 'tambor', nombre_f 'camara' 'recamara', descripcion [; print "Abres un momento el tambor y compruebas que "; if (Balas in Tambor) { switch (Balas.cantidad) { 0: print "está descargado."; 1: print "tiene una sola bala."; default: print "tiene ", Balas.cantidad, " Balas."; " Con la mano izquierda lo cierras."; } } else print "está descargado."; ], capacidad 6, reaccionar_antes [; Meter: if (uno ~= Balas) "Sólo balas, otra cosa no cabe!!!"; ], antes [; BuscarEn, Abrir: <>; ], has transparente recipiente abierto femenino; Object Partes_Pistola "elementos del revolver" Pistola with nombre_m 'gatillo' 'percutor' 'canon', nombre_f 'culata'; Habitacion SalaMonitoreo "La Sala de Monitoreo" with descripcion "La Sala de Monitoreo contiene múltiples instrumentos y monitores... todos apagados. Lo único que funciona, aparentemente, es el Panel y su Teclado.^ Por el oeste está la puerta que lleva a la armería. Al sur hay una puerta transparente.", al_s PuertaVidrio, al_o PuertaHierro; DecoradoAmpliado DecoradoSalaMonitoreo SalaMonitoreo with describir 'instrumentos' "Nada. Ves mucho, pero no entiendes nada. Interfaz poco amistosa, vamos." G_MASCULINO + G_PLURAL 'instrumento' "Nada. Ves mucho, pero no entiendes nada. Interfaz poco amistosa, vamos." G_MASCULINO 'monitores' "Todos los monitores apagados, fríos... vacíos de toda imagen o texto." G_MASCULINO + G_PLURAL 'monitor' "Todos los monitores apagados, fríos... vacíos de toda imagen o texto." G_MASCULINO ; DecoradoAmpliado DecoradoSalaMonitoreo2 SalaMonitoreo with describir 'piso' "Esta trás la puerta; habrá que acercarse para ver más." G_MASCULINO 'aislante' "Esta trás la puerta; habrá que acercarse para ver más." G_MASCULINO 'paneles' "Esta trás la puerta; habrá que acercarse para ver más." G_MASCULINO + G_PLURAL 'panel' "Esta trás la puerta; habrá que acercarse para ver más." G_MASCULINO 'paredes' "Esta trás la puerta; habrá que acercarse para ver más." G_FEMENINO + G_PLURAL 'pared' "Esta trás la puerta; habrá que acercarse para ver más." G_FEMENINO 'metal' "Esta trás la puerta; habrá que acercarse para ver más." G_MASCULINO ; Conexion PuertaVidrio "Puerta Transparente" with nombre_f 'puerta', nombre_m 'rieles', adjetivos 'transparente' 'vidrio', descripcion "La Puerta es transparente y está montada sobre unos rieles. No se ve manija alguna; en la pared, hay una ranura para deslizar una tarjeta magnética. Sobre la puerta se lee:^ ~ Acceso al Cuarto de Descontaminación~", con_llave Tarjeta, antes [; BuscarEn: "Detras de la puerta se se ven paredes blancas, lisas y pulidas. El piso está compuesto por paneles cuadrados, llenos de poros. Las junturas entre paneles y las de las paredes están forradas en algo que parece ser aislante."; ], despues [; Abrir : "Se escucha un BIP y la puerta se abre, deslizándose por sus rieles."; Cerrar : "Se escucha un BIP y la puerta se cierra, deslizándose por sus rieles."; QuitarCerrojo: give self ~cerrojoechado; ; rtrue; EcharCerrojo: give self cerrojoechado; ; rtrue; ], has femenino escenario cerrojo cerrojoechado; ! Objectos de la Sala de Monitoreo Object Panel "panel" SalaMonitoreo with nombre 'panel' 'visor', descripcion [; print "El panel tiene un visor de cristal líquido así como un sin fin de lucesitas indicadoras.^"; if (CuartoDescontaminacion has encendido) print "Las luces de colores son todas de color rojo."; else print "Las luces de colores son todas de color verde."; ], antes [; Consultar, Leer: if (CuartoDescontaminacion has encendido) print "En el visor del panel se lee:^ ~Sistema de seguridad^^ >>>>>>> ACTIVADO <<<<<<^^ Ingrese el Código de^ Acceso para desactivar.~"; else print "En el visor del panel se lee:^ ~Sistema de seguridad^^ >>>>> DESACTIVADO <<<<<^^ Ingrese el Código de^ Acceso para reactivar.~"; rtrue; ], has masculino escenario legible; Object QWERTY "teclado" SalaMonitoreo with nombre_m 'teclado', nombre_fp 'teclas', descripcion "Es un teclado QWERTY común.", reaccionar_antes [; teclear : np = 2; switch (SiguientePalabra()) { 'zaneg': print "Se escucha un zumbido, mientras las luces del panel parpadean y cambian de color."; if (CuartoDescontaminacion hasnt encendido) give CuartoDescontaminacion encendido; else give CuartoDescontaminacion ~encendido; rtrue; default: "Nada ocurre..."; }; ], has masculino escenario; Habitacion CuartoDescontaminacion "El Cuarto de Descontaminación" with inicial[; if (PuertaCelda1 has abierta) { print "Con un ruido de motores hidráulicos, la pesada puerta se cierra muuy leeeeentamente, cerrando el paso. ¿Mecanismos de seguridad?^"; give PuertaCelda1 ~abierta; give PuertaCelda1 cerrojoechado; }; if (CuartoDescontaminacion hasnt encendido){ print "Al entrar al Cuarto de Descontaminacion, una luz brillante lo ilumina completamente, mientras que un zumbido te taladra los oidos.^^ De pronto, todo cesa repentinamente"; if (Bistec in Jugador) { print "^Revisas tus pertenencias, y ves que el Bistec se ha hecho polvo... Un polvo con puntitos verdes, que se deshace entre tus dedos..."; move Bistec to Limbo; } rtrue; } else { print "Al entrar al Cuarto de Descontaminación, no has dado ni dos pasos, cuando un violento golpe de corriente te arroja a la pared.^ La pared está electrificada también, y te convulsionas, pegado a ella, mientras la electricidad te va haciendo polvo..."; banderafin = 3; }; ], descripcion [; if (banderafin ~= 3){ if (CuartoDescontaminacion hasnt encendido) print "Las paredes son blancas, lisas y pulidas. El piso está compuesto por paneles cuadrados, llenos de poros. Las junturas entre paneles y las de las paredes están forradas en algo que parece ser aislante.^ Al norte está la puerta transparente que conduce a la sala de monitoreo. Por el oeste, se ve un amplio laboratorio."; } ], al_n PuertaVidrio, al_o Laboratorio1, has conmutable encendido; DecoradoAmpliado DecoradoCuartoDescontaminacion CuartoDescontaminacion with describir 'piso' "Los paneles cuadrados encajan unos con otros con apenas algo de espacio para el aislante. " G_MASCULINO 'aislante' "¡Es caucho!" G_MASCULINO 'paneles' "De forma regular, gofrados." G_MASCULINO + G_PLURAL 'panel' "De forma regular, gofrados." G_MASCULINO 'paredes' "Son de color blanco con curiosas aplicaciones de metal." G_FEMENINO + G_PLURAL 'pared' "Son de color blanco con curiosas aplicaciones de metal." G_FEMENINO 'metal' "¡Es cobre!" G_MASCULINO ; Habitacion Laboratorio1 "El Laboratorio" with inicial [; if (PuertaCelda1 has abierta) { print "Con un ruido de motores hidráulicos, la pesada puerta se cierra muuy leeeeentamente, cerrando el paso. ¿Mecanismos de seguridad?^"; give PuertaCelda1 ~abierta; give PuertaCelda1 cerrojoechado; } ], descripcion "Hay varios aparatos por todas partes, aunque ninguno que puedas identificar. El lugar esta muy limpio, pero, por alguna razón... no te gusta.^ El laboratorio continua al sur. Por el oeste se accede al cuarto de descontaminación. Hay una puerta metálica al este.", al_s Laboratorio2, al_e CuartoDescontaminacion, al_o PuertaCelda1; DecoradoAmpliado DecoradoLaboratorio1 Laboratorio1 with describir 'aparatos' "Te da dolor de cabeza, y ni así entiendes nada de nada." G_MASCULINO + G_PLURAL 'aparato' "Te da dolor de cabeza, y ni así entiendes nada de nada." G_MASCULINO 'cadena' "Como el resto de la jaula, está hecha de un material pulido y oscuro asaz." G_FEMENINO 'barrotes' "Rectos, sólidos y firmes." G_MASCULINO + G_PLURAL 'barrote' "Rectos, sólidos y firmes." G_MASCULINO 'material' "Parece algún tipo de aleación... o cerámica... o vidrio... o..." G_MASCULINO ; ! Objectos del Laboratorio1 Conexion PuertaCelda1 "Puerta de Hierro" with nombre 'puerta' 'chapa', adjetivos 'hierro' 'metalica', descripcion "La Puerta es de hierro reforzado y parece ser infranqueable. Es de corredera y está adosada al muro: ¿corredera? Tiene una chapa para una llave común...", con_llave Llave, despues [; Abrir : "Con un ruido de motores hidráulicos, la pesada puerta se abre muuuy leeeeentamente, dejando la via libre."; Cerrar : "Con un ruido de motores hidráulicos, la pesada puerta se cierra muuy leeeeentamente, cerrando el paso."; ], has femenino escenario cerrojo cerrojoechado; PNJ Reptil "reptil simiesco" Limbo with nombre 'reptil', descripcion [; print "Es algo así como una iguana... pero es casi de tu porte. Tiene un rostro simiesco, con los ojos al frente y no a los lados.^"; if (self hasnt general) print "Te mira fijamente y sisea, insistentemente:^^ ~Libérame ...ssss... y te ayudaré a ...sss encontrar al ...ssss... Doctor ...ssss...~"; else if (self.vivo) print "El animal se frota las manos y te mira fijo, sin perderte de vista. Se balancea bastante, mientras una rara sonrisa se dibuja en su boca... llena de colmillos."; else print "Su cuerpo escamoso yace inmóvil en el suelo, con una sonrisa idiota en el rostro y con los ojos aún abiertos..."; ], reaccionar_antes [; Ir: if ((self has general) && (self.vivo)) { ReptilMata(); rtrue; } ], antes [; Coger : if (self hasnt general) "No sabiendo a qué te enfrentas, titubeas..."; else if (self.vivo) "Se mueve mucho, y parece peligroso. Mejor que no..."; else "No parece pesar mucho, pero no tiene objeto. Lo dejas donde está."; Atacar : if (self hasnt general) { print "No sabiendo a qué te enfrentas, titubeas..."; rtrue; } else if (self.vivo){ if (otro == Cuchillo) { print "Con un rápido corte, le seccionas la yugular. El Reptil se lleva las manos a la garganta y mientras cae al suelo sisea:^^ ~Demoniosss...~"; self.vivo = false; rtrue; } else if (otro == Hacha) { print "El peso del hacha te impide maniobrar bien, y el ser esquiva fácilmente tu torpe ataque, mientras comienza a reir en forma histérica.^^"; ReptilMata(); rtrue; } else if (otro == Pistola) { if ((Balas notin Tambor) || (Balas.cantidad==0)) { if (Balas hasnt general) { give Balas general; "Tu revólver emite un chasquido. No tiene balas."; } else { "Tu revólver emite un chasquido."; } } else { Balas.cantidad--; print "Disparas el revólver.^"; print "La bala penetra su carne... y lo catapulta contra la pared. Mientras se desliza hacia el suelo, su sangre verdosa mancha el muro. Te mira, con una sonrisa idiota en el rostro, y los ojos aún abiertos..."; self.vivo = false; rtrue; } } } else if (~self.vivo) { print "¿Para qué? Está muerto..."; } ], has masculino estatico; Object Jaula "jaula" Laboratorio1 with nombre 'jaula', descripcion [; print "La jaula cuelga del techo mediante una sólida cadena. Esta hecha de sólidos barrotes de un material negro y brillante."; if (self hasnt abierto) { print "^En su interior, aferrado a los barrotes, hay un reptil de extraño aspecto."; if (self hasnt general) { move Reptil to Jaula; give Jaula general; give Jaula recipiente; give Jaula transparente; } } ], despues [; Abrir : if (Reptil in Limbo) { print "No sabiendo a qué te enfrentas, titubeas..."; give self ~abierto; rtrue; } else if (Reptil hasnt general) { print "Abres la jaula con cuidado, y el Reptil sale de un salto y se frota las manos, mientras te mira fijo. Sisea:^ ~Podrass encontrar al Doctor si vass por el passssillo que sssale del Laboratorio al sssuresste...~"; if ((Abrigo notin Jugador) || (Abrigo hasnt puesto)) print "^Agrega:^ ~Sssi vass para allá, máss vale que... sss... te abriguesss... hasse mucho frío... sss... mucho frío... ssss...~"; give Reptil general; give Jaula ~transparente; give Jaula ~recipiente; move Reptil to Laboratorio1; rtrue; }; ], con_llave Llave, has femenino estatico abrible cerrojo cerrojoechado; Habitacion Celda1 "Una Celda" with inicial [; print "Con un ruido de motores hidráulicos, la pesada puerta se cierra muuy leeeeentamente, cerrando el paso. ¿Mecanismos de seguridad?^"; give PuertaCelda1 ~abierta; give PuertaCelda1 cerrojoechado; ], descripcion "En la celda hace calor... mucho calor. Hay huesos esparcidos por doquier, con restos adheridos y sangre goteando. Algun instinto te aconseja salir de aqui AHORA.^ La puerta de la celda que lleva al laboratorio está al este.", al_e PuertaCelda1; DecoradoAmpliado DecoradoCelda1 Celda1 with describir 'huesos' "Están a medio roer, masticados." G_MASCULINO + G_PLURAL 'hueso' "Están a medio roer, masticados." G_MASCULINO 'restos' "Trocitos sanguinolentos de carne, pegados a los huesos." G_MASCULINO + G_PLURAL 'carne' "Trocitos sanguinolentos de carne, pegados a los huesos." G_FEMENINO 'sangre' "Está fresca y parece humana. (¿¡Cómo diablos lo supiste?!)" G_FEMENINO 'piso' "Es concreto pulido... y algo sucio, vaya." G_MASCULINO 'concreto' "Duro y frío concreto... hecho para torturar." G_MASCULINO 'paredes' "Están llenas de manchas de sangre, casi como la de una carnicería..." G_FEMENINO + G_PLURAL 'pared' "Están llenas de manchas de sangre, casi como la de una carnicería..." G_FEMENINO ; ! Objectos de la Celda1 PNJ HombreBestia "hombre bestia" Celda1 with nombre_f 'sombra', nombre_m 'hombre' 'lobo' 'gorila', adjetivos 'bestia', inicial [; if (self hasnt general) print "Hay una sombra gruñendo en el fondo de la celda."; if (self has general) { if (self.vivo) print "En la celda hay un Hombre Bestia, inquieto."; else print "En la celda hay un Hombre Bestia, muerto."; } ], descripcion [; if (self hasnt general) { print "Tiene pelo por todos lados... y cola... y piernas (no parecen patas) y brazos... y manos con dedos... y cabeza... y un rostro semihumano...^^ ¡¡AAAAAH!!"; give self general; } else if (self.vivo) print "Parece algo a medio camino entre un lobo y un gorila. Sus fauces muestran unos colmillos gigantescos. Te mira con una expresión de odio... y de hambre..."; else print "Tendido en el suelo, ves como poco a poco el pelo va cayendo de su cuerpo, dejando a la vista una piel parecida a la de un ser humano..."; ], reaccionar_antes [; Ir: if ((self has general) && (self.vivo)) { HombreBestiaMata(); rtrue; } ], antes [; Coger : if (self hasnt general) "No sabiendo a qué te enfrentas, titubeas..."; else if (self.vivo) "Se ve demasiado peligroso. Mejor que no..."; else "Pesa horrores... no puedes. Lo dejas donde está."; Atacar : if (self hasnt general) { print "No sabiendo a qué te enfrentas, titubeas..."; rtrue; } else if (self.vivo){ if (otro == Cuchillo) { print "Rápidamente, lo apuñalas en el corazón. La criatura ruge su agonia, y se desploma, desangrándose..."; self.vivo = false; rtrue; } else if (otro == Hacha) { print "El peso del hacha te impide maniobrar bien, y el ser esquiva fácilmente tu torpe ataque.^^"; HombreBestiaMata() ; rtrue; } else if (otro == Pistola) { if ((Balas notin Tambor) || (Balas.cantidad==0)) { if (Balas hasnt general) { give Balas general; "Tu revólver emite un chasquido. No tiene balas."; } else { "Tu revólver emite un chasquido."; } } else { Balas.cantidad--; print "Disparas el revólver.^"; print "La bala penetra su carne... y lo catapultan contra la pared. Mientras se desliza hacia el suelo, su pelaje pierde brillo..."; self.vivo = false; rtrue; } } } else if (~self.vivo) { print "¿Para qué? Está muerto..."; } ], has masculino estatico; Habitacion Laboratorio2 "El Laboratorio" with inicial [; if (PuertaCelda1 has abierta) { print "Con un ruido de motores hidráulicos, la pesada puerta se cierra muuy leeeeentamente, cerrando el paso. ¿Mecanismos de seguridad?^"; give PuertaCelda1 ~abierta; give PuertaCelda1 cerrojoechado; }; if (PuertaCelda2 has abierta) { print "Con un ruido de motores hidráulicos, la pesada puerta se cierra muuy leeeeentamente, cerrando el paso. ¿Mecanismos de seguridad?^"; give PuertaCelda2 ~abierta; give PuertaCelda2 cerrojoechado; } ], descripcion "El extremo sur del laboratorio está, también, lleno de aparatos para los que ni siquiera crees que exista nombre. Curiosamente, está más fresco que el resto de la Mansión.^ Puedes volver al principio del laboratorio al norte. Por el este se ve un pasillo. Hay una puerta metálica al oeste.", al_n Laboratorio1, al_e PasilloS1, al_o PuertaCelda2; DecoradoAmpliado DecoradoLaboratorio2 Laboratorio2 with describir 'aparatos' "No se entiende que diablos es todo esto ni para que sirve... aunque hay bastante y surtido." G_MASCULINO + G_PLURAL 'aparato' "No se entiende que diablos es todo esto ni para que sirve... aunque hay bastante y surtido." G_MASCULINO ; ! Objectos del Laboratorio2 Conexion PuertaCelda2 "Puerta de Hierro" with nombre 'puerta' 'chapa', adjetivos 'hierro' 'metalica', descripcion "La Puerta es de hierro reforzado y parece ser infranqueable. Es de corredera y está adosada al muro: ¿corredera? Tiene una chapa para una llave común...", con_llave Llave, despues [; Abrir : "Con un ruido de motores hidráulicos, la pesada puerta se abre muuuy leeeeentamente, dejando la via libre."; Cerrar : "Con un ruido de motores hidráulicos, la pesada puerta se cierra muuy leeeeentamente, cerrando el paso."; ], has femenino escenario cerrojo cerrojoechado; Habitacion Celda2 "Una Celda" with inicial [; print "Con un ruido de motores hidráulicos, la pesada puerta se cierra muuy leeeeentamente, cerrando el paso. ¿Mecanismos de seguridad?^"; give PuertaCelda2 ~abierta; give PuertaCelda2 cerrojoechado; ], descripcion "En la celda hace calor... mucho calor. Hay huesos esparcidos por doquier, pulidos como si los hubieran lavado. Algun instinto te aconseja salir de aqui AHORA.^ La puerta de la celda que lleva al laboratorio está al este.", al_e PuertaCelda2; DecoradoAmpliado DecoradoCelda2 Celda2 with describir 'huesos' "Están pelados y limpiecitos." G_MASCULINO + G_PLURAL 'hueso' "Están pelados y limpiecitos." G_MASCULINO 'piso' "Es concreto pulido... y algo sucio, vaya." G_MASCULINO 'concreto' "Duro y frío concreto... hecho para torturar." G_MASCULINO 'paredes' "Están raspadas, como si algo áspero se frotara en ellas a menudo..." G_FEMENINO + G_PLURAL 'pared' "Están raspadas, como si algo áspero se frotara en ellas a menudo..." G_FEMENINO ; ! Objectos de la Celda2 PNJ MujerReptil "mujer reptil" Celda2 with nombre 'sombra' 'mujer', adjetivos 'serpiente' 'reptil', inicial [; if (self hasnt general) print "Hay una sombra siseante en el fondo de la celda."; if (self has general) { if (self.vivo) print "En la celda hay una Mujer Reptil, moviéndose sinuosamente."; else print "En la celda hay una Mujer Reptil, muerta."; } ], descripcion [; if (self hasnt general) { print "Tiene una forma extraña y fluctuante... pero te parece distinguir una cola, un torso escamoso... unos brazos...¿y la silueta de un pecho femenino?^^ ¿Pero qué es ESTO?"; give self general; } else if (self.vivo) print "Su cuerpo es una espantosa mezcla de una serpiente con una mujer. Su rostro es hermoso, a no ser por las escamas que lo cubren. Luce un inquetante par de colmillos. Te mira con una expresión de odio... de deseo... y de hambre..."; else print "Al morir, la criatura queda tendida en el suelo y sus escamas van perdiendo brillo... hasta quedar opacas y resecas. Unas pocas lágrimas caen por su rostro y comienzan ya a secarse..."; ], reaccionar_antes [; Ir: if ((self has general) && (self.vivo)) { MujerReptilMata(); rtrue; } ], antes [; Coger : if (self hasnt general) "No sabiendo a qué te enfrentas, titubeas..."; else if (self.vivo) "Se ve demasiado peligrosa. Mejor que no..."; else "Pesa horrores... no puedes. La dejas donde está."; Atacar : if (self hasnt general) { print "No sabiendo a qué te enfrentas, titubeas...^"; rtrue; } else if (self.vivo){ if (otro == Cuchillo) { print "Con un rápido corte, le seccionas la yugular (supones). La criatura se lleva las manos a la garganta y mientras cae al suelo sisea un horrible^^~Grasssiass...~"; self.vivo = false; rtrue; } else if (otro == Hacha) { print "El peso del hacha te impide maniobrar bien, y el ser esquiva fácilmente tu torpe ataque.^^"; MujerReptilMata(); rtrue; } else if (otro == Pistola) { if ((Balas notin Tambor) || (Balas.cantidad==0)) { if (Balas hasnt general) { give Balas general; "Tu revólver emite un chasquido. No tiene balas."; } else { "Tu revólver emite un chasquido."; } } else { Balas.cantidad--; print "Disparas el revólver.^"; print "La bala penetra su carne... y lo catapultan contra la pared. Mientras se desliza hacia el suelo, algunas escamas saltan y caen como hojas muertas..."; self.vivo = false; rtrue; } } } else if (~self.vivo) { print "¿Para qué? Está muerto..."; } ], has femenino estatico; Habitacion PasilloS1 "El Pasillo" with inicial [; if (Abrigo hasnt puesto) { print "De pronto sientes un profundo frío... y un sueño lento te va dominando... y caes al suelo."; banderafin = 3; } ], descripcion [; if ((Abrigo has puesto) && (self hasnt visitado)) print "Notas que, al entrar al pasillo, tu aliento se condensa... y que hay una fina capa de escarcha en los muros y el suelo."; if (Abrigo has puesto) print "Estás al principio del pasillo. Por el este puedes volver al laboratorio. Se distinguen más accesos al oeste y al sur. Todo está en silencio..."; ], al_s PasilloS2, al_o Laboratorio2; DecoradoAmpliado DecoradoPasilloS1 PasilloS1 with describir 'muros' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_FEMENINO + G_PLURAL 'muro' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_FEMENINO 'piso' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_MASCULINO + G_PLURAL 'escarcha' "Una fina capa de polvo congelado, que se te pega al tacto. Menos mal que te has puesto el abrigo, ¿eh? " G_FEMENINO 'loza' "Un material excelente, pulido y suave." G_FEMENINO ; Habitacion PasilloS2 "El Pasillo" with descripcion "Estás a la mitad del pasillo. Se distinguen accesos al oeste, frente a tí, al sur y al norte. Todo está en silencio...", al_n PasilloS1, al_s PasilloS3, al_o SalaOperaciones; DecoradoAmpliado DecoradoPasilloS2 PasilloS2 with describir 'muros' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_FEMENINO + G_PLURAL 'muro' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_FEMENINO 'piso' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_MASCULINO + G_PLURAL 'escarcha' "Una fina capa de polvo congelado, que se te pega al tacto. Menos mal que te has puesto el abrigo, ¿eh? " G_FEMENINO 'loza' "Un material excelente, pulido y suave." G_FEMENINO ; Habitacion SalaOperaciones "La Sala de Operaciones" with descripcion "La sala de operaciones está impecablemente limpia, toda blanca y con un ligero olor a anestesia. Al fondo de la habitación hay un lavatorio para esterilización. El silencio asoluto recalca lo desolado del lugar...^ Puedes volver al pasillo por el este.", al_e PasilloS2; DecoradoAmpliado DecoradoSalaOperaciones SalaOperaciones with describir 'muros' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_FEMENINO + G_PLURAL 'muro' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_FEMENINO 'piso' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_MASCULINO + G_PLURAL 'escarcha' "Una fina capa de polvo congelado, que se te pega al tacto. Menos mal que te has puesto el abrigo, ¿eh? " G_FEMENINO 'loza' "Un material excelente, pulido y suave." G_FEMENINO 'porcelana' "Un material excelente, pulido y suave." G_FEMENINO ; ! Objectos de la Sala de Operaciones Object Acido "acido" SalaOperaciones with nombre 'acido' 'liquido', adjetivos 'claro', descripcion [; if (Acido in SalaOperaciones) { if (self hasnt general) "Un líquido claro, goteando."; else "Un líquido claro, chorreando."; } else "Un líquido claro, pero no muy recomendable para beberlo."; ], antes [; Coger : print "Mejor no con las manos: te quemarías...^"; rtrue; Beber : if (localizacion ~= SalaOperaciones) { print "Destapas el frasco, y su contenido entra cristalino por tu boca... Y TE QUEMA EL CUERPO, DESHACIENDOTELO EN UNA AGONIA ESPANTOSA DE HUMO Y OLOR A CARNE... QUEMADA... AAAARRRGHHWRLXTMP...^"; banderafin = 3; rtrue; } else if (Jugador in SalaOperaciones) { if (self has general) { print "Te inclinas a beber. El chorro sale potente, salpicándolo todo y entrando luego por tu boca... Y TE QUEMA EL CUERPO, DESHACIENDOTELO EN UNA AGONIA ESPANTOSA DE HUMO Y OLOR A CARNE... QUEMADA... AAAARRRGHHWRLXTMP...^"; banderafin = 3; rtrue; } else "Apenas sientes la gota de líquido en tu lengua..."; } ], has masculino comestible estatico oculto; Object Manijas2 "manijas" SalaOperaciones with nombre_f 'manija', nombre_fp 'manijas', nombre_m 'grifo', nombre_mp 'grifos', descripcion "Grifería fina, de pristina porcelana.", despues [; Abrir : give Acido general; Cerrar : give Acido ~general; ], has femenino escenario abrible; Object Lavatorio2 "lavatorio" SalaOperaciones with nombre 'lavatorio' 'lavabo', descripcion [; print "El lavatorio, con gruesas manijas de porcelana, está asaz limpio, blanco y pristino."; if (Acido hasnt general) print " Notas que una gota de líquido cae de una de las llaves... ...leeentamente... llega a la loza (bastante desgastada, por cierto)... y sale una pequeña voluta de humo."; else print " Un chorro de líquido cae de una de las llaves, llega a la loza (bastante desgastada, por cierto)... y salen volutas de humo."; print " Un olor sulfuroso llega a tu nariz."; ], has masculino escenario ; Object Frasco "frasco" Limbo with nombre 'frasco', adjetivos 'vidrio', inicial "Hay un frasco sobre la camilla.", descripcion "Hecho de vidrio resistente y con una tapa hermética, es idóneo para llevar líquidos.", reaccionar_antes [; Meter: if (((uno == Hacha) || (uno == Abrigo)) || (uno == Diario)) "No consigues meter eso... no cabe... no hay caso..."; ], antes [; Vaciar : if (self has abierto) { if (Acido in self) { if (localizacion ~= SalaIncubadora) { print "No te parece buena idea derramar el ácido por aquí: podrías causar un incendio, socavar el piso y vaya uno a saber a donde caerías (o sobre qué)..."; rtrue; } else { PrintAutoPausa("El líquido se esparce por el suelo, haciendo sisear la escarcha. Rápidamente, llega hasta la Incubadora. La máquina suelta chispas y chisporrotea enloquecida.^^"); PrintAutoPausa("Al esparcirse la humareda ves, atónito, que la cubierta transparente se abre y que de la Incubadora surge...^^"); PrintAutoPausa("El Doctor... despierto y alerta..."); move Acido to SalaOperaciones; move Doctor to SalaIncubadora; give Incubadora general; give Incubadora abierta; give Incubadora ~recipiente; } } else if (Agua in self) { print "Esparces el agua por el suelo."; move Agua to BanoDoctor; } else if (capacidad_gastada(self) == 1) print "Eso, mejor sacarlo: no se vacía."; else print "Ya está vacio..."; rtrue; } else print "Habrá que abrirlo primero."; rtrue; Llenar : if (self has abierto){ if (capacidad_gastada(self) == 1) { print "Habrá que vaciarlo primero: está lleno."; rtrue; } else if ( (otro==Agua) || (otro==Acido) ) {; if (localizacion == SalaOperaciones) { if (Acido has general) { print "Tomas el frasco y lo pones bajo un grifo. Abres la llave y el chorro comienza a llenar el frasco. Algunas gotas salpican tu ropa... y sale olor a ropa QUEMADA.^^ Interesante... el Doctor utiliza ACIDO para esterilizar su instrumental... o quizás para otros propósitos. Eso explica la 'limpieza' del lugar. Mientras mascullas unas maldiciones contra ese asesino doméstico, cierras la llave y tapas cuidadosamente el frasco. Mala idea seria beber del frasco..."; give self ~abierto; move Acido to self; rtrue; } else "La mísera gota apenas se nota en el fondo del frasco..."; } if (localizacion == BanoDoctor) { if (Agua has general) { print "Tomas el frasco y lo pones bajo un grifo. El agua entra cristalina y pura en el Frasco, llenándolo. Luego, lo cierras."; give self ~abierto; move Agua to self; rtrue; } else "La mísera gota apenas se nota en el fondo del frasco..."; } } else print "¿Con qué?..."; rtrue; } else print "Habrá que abrirlo primero."; rtrue; ], capacidad 1, has masculino recipiente abrible ~abierto transparente; Object Camilla "camilla" SalaOperaciones with nombre 'camilla', inicial "Hay una camilla en medio de la habitación.", descripcion [; print "Por lo visto, el Doctor usa el lugar a menudo. La camilla esta recién aseada, a pesar de lo cual se ven algunas marcas de desgaste y uso...^Mucho uso..."; if (self hasnt general) { print "^Aquí hay algo encima..."; give self general; move Frasco to Camilla; } ], antes [; BuscarEn: if (self hasnt general) { print "Aquí hay algo encima..."; give self general; move Frasco to Camilla; rtrue; } ], has femenino estatico soporte; Habitacion PasilloS3 "El Pasillo" with descripcion "Estás al final del pasillo. Se ve al oeste una habitación amplia. Todo está en silencio...", al_n PasilloS2, al_o SalaIncubadora; DecoradoAmpliado DecoradoPasilloS3 PasilloS3 with describir 'muros' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_FEMENINO + G_PLURAL 'muro' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_FEMENINO 'piso' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_MASCULINO + G_PLURAL 'escarcha' "Una fina capa de polvo congelado, que se te pega al tacto. Menos mal que te has puesto el abrigo, ¿eh? " G_FEMENINO 'loza' "Un material excelente, pulido y suave." G_FEMENINO ; Habitacion SalaIncubadora "La Sala de la Incubadora" with irrelevante 'luz' 'cristal', descripcion "La sala es sumamente amplia, y sus paredes están totalmente cubiertas por una mezcla de enlozado e instrumental cientifíco. Su propósito es claro.^ Por el este se vuelve al pasillo.", al_e PasilloS3; DecoradoAmpliado DecoradoSalaIncubadora SalaIncubadora with describir 'paredes' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_FEMENINO + G_PLURAL 'pared' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_FEMENINO 'piso' "Todo está forrado en loza, completamente cubierto de una fina capa de escarcha. " G_MASCULINO + G_PLURAL 'escarcha' "Una fina capa de polvo congelado, que se te pega al tacto. Menos mal que te has puesto el abrigo, ¿eh? " G_FEMENINO 'loza' "Un material excelente, pulido y suave." G_FEMENINO 'enlozado' "Un material excelente, pulido y suave." G_MASCULINO 'instrumental' "No hay nada que te parezca ni remotamente familiar, salvo la luz o cristal aquí y allá." G_MASCULINO ; ! Objectos de la Sala de Incubadora PNJ Doctor "Doctor" Limbo with nombre 'doctor', inicial "El Doctor está parado junto a la incubadora.", descripcion [; if (Doctor in Incubadora) print "A través de la cubierta, ves que el Doctor está reposando, como dormido... pero algo le ocurre. Ante tus ojos, su rostro cambia... su cabello crece y desaparecen unas canas rezagadas. El Doctor está rejuveneciendo..."; else print "Imposible: el Doctor parece tener veinte años... y una musculatura digna de un atleta. El frío de la habitación no parece afectarlo.^ Te mira con curiosidad...^ como a un especímen...^ uno para disectar..."; ], reaccionar_antes [; Ir : if ((Doctor hasnt general) && (Doctor in SalaIncubadora)) { DoctorMata(); rtrue; } ], antes [; Coger : if (Doctor in Incubadora) "Está bien protegido; la Incubadora te lo impide..."; else "Tomarlo, cogerlo... no es presisamente lo que haz de hacer con el Doctor."; Atacar : if ((Doctor hasnt general) && (Doctor in Incubadora)) { if (otro == Cuchillo) print "¡El Cuchillo rebota en la incubadora!"; if (otro == Hacha) print "Golpeas salvajemente, pero la incubadora sigue incólume"; if ((otro == Pistola) && (Balas.cantidad > 0)) { Balas.cantidad--; print "Disparas el revólver.^"; print "¡La bala rebota en la incubadora!"; } rtrue; } else if ((Doctor hasnt general) && (Doctor in SalaIncubadora)){ if (otro == Cuchillo) { PrintAutoPausa(" ¡El Doctor esquiva tu estocada con movimientos velocísimos! "); DoctorMata(); rtrue; } else if (otro == Hacha) { PrintAutoPausa( "Tus movimientos son lentos y torpes, y el Doctor los esquiva fácilmente. "); DoctorMata(); rtrue; } else if (otro == Pistola) { if ((Balas notin Tambor) || (Balas.cantidad==0)) { if (Balas hasnt general) { give Balas general; "Tu revólver emite un chasquido. No tiene balas."; } else { "Tu revólver emite un chasquido."; } DoctorMata(); } else { Balas.cantidad--; PrintAutoPausa("Disparas el revólver."); MuerteDoctor.proyeccion(); banderafin = 2; rtrue; } } } ], has masculino estatico; Object Incubadora "incubadora" SalaIncubadora with nombre 'incubadora', inicial [; if (Doctor in Incubadora) { print "La incubadora está al centro de la habitación, cerradada, y con el Doctor en su interior."; } if (Doctor in SalaIncubadora) { print "La incubadora está al centro de la habitación, abierta y con signos de deterioro."; } ], antes [; Atacar : if (otro == Cuchillo) print "¡El Cuchillo rebota en la incubadora!"; if (otro == Hacha) print "Golpeas salvajemente, pero la incubadora sigue incólume"; if (otro == Pistola) { if ((Balas notin Tambor) || (Balas.cantidad==0)) { if (Balas hasnt general) { give Balas general; "Tu revólver emite un chasquido. No tiene balas."; } else { "Tu revólver emite un chasquido."; } } else { Balas.cantidad--; print "Disparas el revólver.^"; print "¡La bala rebota en la incubadora!"; } } rtrue; ], descripcion [; if (self has general) { print "La incubadora es de forma cilíndrica. Sus luces están apagadas y sus bordes lucen chamuscónes de fuegos eléctricos."; } else { print "La incubadora es de forma cilíndrica. Múltiples luces cubren su superficie, titilando algunas, apagadas otras, encendidas unas pocas. Parte de la Incubadora es trasparente. Limpiando un poco de escarcha, puedes ver que, en su interior, se encuentra...^^ El Doctor, reposando cómodamente."; give self general; give self ~oculto; move Doctor to Incubadora; } ], has femenino estatico oculto recipiente transparente; ! RUTINAS ! Rutina principal y obligatoria de todo juego InformATE! [Inicializar tecla; modomirar = 2; ! Se inicializan conexiones para Puertas InicializarConexiones(); ! Se inicializa contenido de caja de balas ! CajaBalas.CargaBalasCaja(); ! Localización donde comienza el jugador localizacion = Recibidor; box "~La Mansión~" "Una Aventura Breve " "Realizado por: Sebastián Armas" "(C) Año 2005 " "Release 01.01.03" "I para Intro" "R para Recuperar una Partida" "Otra para Empezar"; @read_char 1 -> tecla; switch(tecla){ 'i' : Introduccion.proyeccion(); Introduccion2.proyeccion(); 'r' : <>; } ]; cortometraje Introduccion with descripcion [; style bold; printAutoPausa( "LA MANSION^^"); style roman; printAutoPausa( "La noticia de que el trístemente célebre Doctor... venía a establecerse (temporalmente, segun él) en tu ciudad, y más concretamente, en tu barrio, provocó alarma general entre tus vecinos.^^"); printAutoPausa( "Antes de su llegada al país, se sabían ya algunas cosas más bien inquietantes acerca del Doctor. Entre otras: durante los últimos 20 años ha estado abocado (casi) totalmente al estudio de la genética y los transplantes de órganos, sin que a la fecha ni la prensa ni la comunidad científica se hayan enterado del resultado de sus investigaciones.^^"); printAutoPausa( "Por otra parte, en cada lugar que el Doctor visita se ha notado un aumento en el número de desaparecidos, sin que, a la fecha, se haya podido relacionarlos (directamente) con el Doctor. Tampoco se sabe de nadie que haya colaborado con sus investigaciones, y salvo por su corpulento mayordomo, siempre se le ha visto sólo.^^"); printAutoPausa( "Debido a esto, en un principio tu país le negó el ingreso, pero, nadie sabe cómo, consiguió el pase.^^"); printAutoPausa( "Hace ya una semana que el Doctor llegó a tu barrio y hoy ha terminado de instalarse. Cuando lo viste bajar del auto, te pareció una persona normal... aunque con una mirada extraña.^^"); ] ; cortometraje Introduccion2 with descripcion "Han pasado algunos días.^^" "Son las 2 y media de la noche.^^" "Vuelves a casa después de una noche de juerga, caminas por la calle desolada cuando sin darte cuenta pasas justo en frente de la mansión del Doctor... y de repente escuchas un alarido tan estridente que no entiendes cómo no despertó al resto del barrio.^^" "¡Ahi está de nuevo!^^" "Y no son imaginaciones. Parece... no, VIENE de la Mansión. Algo ocurre ahí y no dormirás tranquilo si no lo averiguas.^^" "Empujas la verja de entrada que chirría lastimosamente, cruzas el jardín abandonado a su suerte y a las malas hierbas. Subes los escalones del recibidor y golpeas la puerta...^^" "...que se abre sola...^^ " ; cortometraje Caida with descripcion "Te vas^" " C^" " A^" " Y^" " E^" " N^" " D^" " O^" " O^" " ...Y ahora...^" ; cortometraje MuerteBistec with descripcion "Despiertas lentamente... y puedes ver la superficie de una mesa, muy de cerca... casi a rajatabla.^" "Cerca tuyo, ves una cabeza de mujer, conectada por su base a muchos cables gruesos.^" "Sobresaltado, intentas levantarte de la mesa... pero no puedes.^^" "Con un pánico creciente, notas que no puedes mover ni tus brazos ni tus piernas... ni parte alguna de tu cuerpo, que ya no sientes casi nada.^^" "Forzando la vista, pues tampoco logras mover la cabeza, ves que tu cabeza, como la de la mujer, está también sobre la mesa y que tienes conectados cables a un aparato instalado donde estaba tu cuello.^ ^" "Mientras te comienzas a ahogar de la angustia, escuchas la voz de la mujer, triste y resignada:^^" "~¿Tú también comiste del Bistec?...~^" ; cortometraje MuertePlanta with descripcion "La planta te envuelve con sus hojas y una fuerza irresistible. Te alza sobre su boca y te suelta, tragándote de un bocado. Primero ves todo rojo, luego ves todo verde...^^" "...y después ya no ves absolutamente nada.^" ; cortometraje MuerteTrampaPuas with descripcion "Estás completamente traspasado por púas de madera. Lo último que ves (con medio ojo) es tu sangre goteando en el suelo^" "drip...^" "drip...^" "drip...^" ; cortometraje MuerteHabitacionSinPiso with descripcion "¡¡TE ESTRELLAS VIOLENTAMENTE!! contra el suelo de la Leñera, y el crujido de tus huesos se confunden con el ruido de las pilas de leños desarmadas por tu caída...^" "Tu último pensamiento es que, en efecto, el techo de la Leñera era demasiado alto... demasiado alto^" " ...dem...^" ; cortometraje MuerteMayordomoMata with descripcion " El mayordomo se abalanza sobre tí y te aprisiona con sus gigantescas manos. Intentas luchar pero es inútil. Comienza a apretar tus brazos contra tu cuerpo. Sientes como si te estuvieras... quebrando por dentro.^^ " "Lo último que percibes antes de oir el crujido de tu columna, es una finísima línea de silicona en la frente del Mayordomo...^^ " "...y un olor a ozono... " ; cortometraje MuerteDoctor with descripcion "De un solo tiro traspasas la frente del Doctor. Su expresión de asombro queda congelada en su rostro.^^" "Mientras se desploma, su cuerpo va envejeciendo a una velocidad asombrosa. Apenas unos huesos caen, desperdigando la escarcha...^^" "¡...y se hacen polvo!^^" "Lo lograste...^^" "Acabaste con el Doctor y sus crímenes... y casi acabas con tu propia paciencia (no era tan difícil,¿verdad?)^^" ; ! Para comportamiento automático de Mayordomo [MayordomoMata; MuerteMayordomoMata.proyeccion(); banderafin = 3; rtrue; ]; [ReptilMata; print "La cola del Reptil te golpea violentamente la espalda y caes al suelo.^ Lo último que oyes es la risa enloquecida y siseante del reptil, mientas azota tu cabeza contra el suelo, una y otra vez...^"; banderafin = 3; rtrue; ]; [HombreBestiaMata; print "Con un rugido, la criatura se arroja hacia tí y te muerde la garganta, mientras fractura tus brazos con sus garras. Te vas desangrando lentamente, y las imágenes del laboratorio se te hacen más y más lejanas...^"; banderafin = 3; rtrue; ]; [MujerReptilMata; print "La criatura se arroja hacia tí y te envuelve con sus anillos y una fuerza irresistible.Te vas asfixiando lentamente y las imágenes del laboratorio se te hacen más y más lejanas...^"; banderafin = 3; rtrue; ]; [DoctorMata; print "¡Con una agilidad increible, el Doctor te ataca! Intentas luchar con el Doctor, pero su fuerza y agilidad te van agotando. Lo último que vez es las manos del Doctor en torno a tu cuello...^"; banderafin = 3; rtrue; ]; ! Definiciones para el teclado [TeclearSub; "No hay nada tecleable por aquí"; ]; ! LINEAS DE GRAMATICA ! Definiciones para el teclado Verb 'teclea' 'ingresa' 'digita' * -> teclear * noun -> teclear * topic -> teclear; ! 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 lectura [ LeerSub; <>; ]; Extend 'lee' first * legible -> Leer; ! Contador [capacidad_gastada obj contador x; contador=0; objectloop (x in obj) contador++; return contador; ]; ! Definiciones para cortar con cuchillo u hacha Extend 'corta' * noun 'con' held -> Cortar; Extend 'apaga' * noun 'con' held -> Apagar; ! Definiciones para arrancar Verb 'arranca' * -> arrancar * noun -> arrancar * topic -> arrancar; [ArrancarSub; "No hay nada talable por aquí"; ]; ! Definiciones para talar Verb 'tala' * -> talar * noun -> talar * noun 'con' held -> talar * topic -> talar; [TalarSub; "No hay nada talable por aquí"; ]; ! Definiciones para cortar con cuchillo u hacha Extend 'ataca' * noun 'con' held -> Atacar; ! Definiciones para llenar Extend 'llena' * noun 'con' noun -> Llenar; ! Definiciones para Disparar Verb 'dispara' * -> disparar * noun -> dispararObj * noun 'con' held -> dispararA * 'a//'/'hacia'/'cerca' noun -> dispararA * 'a//'/'hacia'/'cerca' noun 'con' held -> dispararA * 'con' held 'a//'/'hacia'/'cerca' noun -> dispararA reverse; [ dispararObjSub ; if ((uno~=Pistola)&&( (uno~=Perro) || (uno~=Planta) || (uno~=Mayordomo) || (uno~=Cabeza) || (uno~=Cables) || (uno~=Reptil) || (uno~=HombreBestia) || (uno~=MujerReptil) || (uno~=Doctor) || (uno~=Incubadora) )) "Con ", (el) uno, " no se puede disparar."; if ( (localizacion~=parent(Perro)) || (localizacion~=parent(Planta)) || (localizacion~=parent(Mayordomo)) || (localizacion~=parent(Cabeza)) || (localizacion~=parent(Cables)) || (localizacion~=parent(Reptil)) || (localizacion~=parent(HombreBestia)) || (localizacion~=parent(MujerReptil)) || (localizacion~=parent(Doctor)) || (localizacion~=parent(Incubadora)) ) "Mejor usarla en algo que valga la pena, piensas."; if (localizacion==parent(Perro)) <>; if (localizacion==parent(Planta)) <>; if (localizacion==parent(Mayordomo)) <>; if (localizacion==parent(Cabeza)) <>; if (localizacion==parent(Cables)) <>; if (localizacion==parent(Reptil)) <>; if (localizacion==parent(HombreBestia)) <>; if (localizacion==parent(MujerReptil)) <>; if (localizacion==parent(Doctor)) <>; if (localizacion==parent(Incubadora)) <>; ]; [ dispararSub; if (Pistola notin jugador) "No tienes nada con que disparar."; if (localizacion==parent(Perro)) <>; if (localizacion==parent(Planta)) <>; if (localizacion==parent(Mayordomo)) <>; if (localizacion==parent(Cabeza)) <>; if (localizacion==parent(Cables)) <>; if (localizacion==parent(Reptil)) <>; if (localizacion==parent(HombreBestia)) <>; if (localizacion==parent(MujerReptil)) <>; if (localizacion==parent(Doctor)) <>; if (localizacion==parent(Incubadora)) <>; "Mejor usarla en algo que valga la pena, piensas."; ]; [ dispararASub ; if (otro~=0) { if (otro~=Pistola) "Con ", (el) otro, " no se puede disparar."; } if (Pistola notin jugador) "No tienes nada con que disparar."; if ((uno~=Pistola)&&( (uno~=Perro) && (uno~=Planta) && (uno~=Mayordomo) && (uno~=Cabeza) && (uno~=Cables) && (uno~=Reptil) && (uno~=HombreBestia) && (uno~=MujerReptil) && (uno~=Doctor) && (uno~=Incubadora) )) "No malgastes tu ira contra eso."; if ((Balas notin Tambor) || (Balas.cantidad==0)) { if (Balas hasnt general) { give Balas general; "Tu revólver emite un chasquido. No tiene balas ."; } else { "Tu revólver emite un chasquido."; } } if (uno==Perro) <>; if (uno==Planta) <>; if (uno==Mayordomo) <>; if (uno==Cabeza) <>; if (uno==Cables) <>; if (uno==Reptil) <>; if (uno==HombreBestia) <>; if (uno==MujerReptil) <>; if (uno==Doctor) <>; if (uno==Incubadora) <>; ]; ! Cosas por definir ! Mirate