! ********************************************* ! Las oficinas, única localidad del juego ! También se definen aquí los objetos de escenario Object Oficinas "Oficinas" ! *** Propiedades de la biblioteca with ! nombre 'oficinas' 'habitacion' 'sala', irrelevante 'pared' 'oficinas' 'habitacion' 'sala' 'localidad', ! *** Variables de estado descubierta false, ! Indica si se ha descubierto ya el pastel ! *** Variables para variedad en respuestas cuentaDescr 0, ! Número de descripciones realizadas hasta el momento ultimaDescrNueva 0, ! Ultima descripcion en la que se "innovó" with nombre_corto [; if (self.descubierta) print "Umbral al más allá"; else print "Oficinas"; rtrue; ], descripcion [; if (self.descubierta) self.descrip_descubierta(); else self.descrip_oficinas(); ], descrip_descubierta [; PararDaemon (cola); PararDaemon (taquillero); ArrancarDaemon (jugador); remove Pared; remove PuertaObj; print "El hechizo ha desaparecido, ahora ves dónde estás. No son unas oficinas, no es de hecho ningún lugar físico que se pueda describir.^"; print "Las almas de la gente aguardan su turno para su juicio definitivo. La cola se extiende hasta el infinito, perdiéndose en las brumas.^"; rtrue; ], descrip_oficinas [; if (self.cuentaDescr == 0) { ArrancarDaemon (taquillero); ArrancarDaemon (cola); } if ((self.cuentaDescr - self.ultimaDescrNueva) < 2) { print "Estás en una especie de oficinas.^"; } else { print "Vuelves a repasar las oficinas, sin encontrar nada nuevo.^"; self.ultimaDescrNueva = self.cuentaDescr; } print "No ves ningún cartel que te indique qué lugar es este. La cola se extiende por la alargada localidad, enorme. Por detrás, una pared te impide ver dónde acaba. La fila de gente continúa por una puerta abierta en la pared.^"; if (jugador.enCola) { print "En el otro sentido, las cabezas te impiden ver qué hay al principio de la cola.^"; } else if (jugador.enPrincipioCola) { print "Ahora mismo estás en el principio de la cola. Desde aquí puedes ver al oficinista hablando con el primero de la cola.^"; } else if (jugador.enFinalCola) { print "Ahora mismo te encuentras junto a la pared.^"; } else { print "Estás fuera de la cola; desde aquí no puedes ver qué hay en el otro lado, al principio de la cola.^"; } self.cuentaDescr = self.cuentaDescr + 1; rtrue; ], ! ********* Movimientos irA [; if ((uno == PrincipioCola) || (uno == taquillero)) { if ((~~jugador.enPrincipioCola) && elDeDelante.guardaSitio) { jugador.enCola = false; jugador.enFinalCola = false; jugador.enPrincipioCola = true; "Vas al principio de la cola.^ Ves al oficinista hablando con el primero de la cola."; } else if (~~jugador.enPrincipioCola) { "Sería muy interesante, pero no sabes cómo de importante es lo que estás esperando. Si salieras ahora de la cola, podrías perder tu sitio."; } else { "Ya estás ahí."; } } else if ((uno == cola) || (uno == TuSitio)) { if (~~jugador.enCola) { jugador.enCola = true; jugador.enPrincipioCola = false; jugador.enFinalCola = false; "Vuelves a tu sitio en la cola."; } else { "Ya estás en tu sitio en la cola."; } } else if ((uno == Pared) || (uno == PuertaObj)) { if ((~~jugador.enFinalCola) && elDeDelante.guardaSitio) { jugador.enCola = false; jugador.enPrincipioCola = false; jugador.enFinalCola = true; "Caminas hacia la pared. Por aquí no ves nada especial. La cola parece seguir prolongándose a través de la puerta."; } else if (~~jugador.enFinalCola) { "Sería muy interesante, pero no sabes cómo de importante es lo que estás esperando. Si salieras ahora de la cola, podrías perder tu sitio."; } else { "Ya estás ahí."; } } else { "Ese no es un lugar al que se pueda ir"; } ], moverse [; if (~~elDeDelante.guardaSitio) { "Sería muy interesante, pero no sabes cómo de importante es lo que estás esperando. Si salieras ahora de la cola, podrías perder tu sitio."; } else { if (jugador.enCola) print "Sales de la cola"; else if (jugador.enPrincipioCola) print "Te apartas del principio de la cola"; else if (jugador.enFinalCola) print "Te apartas de la pared"; else print "Miras otra vez a tu alrededor"; jugador.enCola = false; jugador.enPrincipioCola = false; jugador.enFinalCola = false; " y exploras las oficinas. No parece haber nada especialmente noticiable."; } ], moverseFuera [; if (jugador.enFinalCola) "No te atreves a ir más allá de la puerta. Si sales es probable que luego no puedas volver a entrar o que pierdas tu sitio."; else self.moverse(); ], ! *** Atributos has luz; ! y fuego, un poquillo más allá, je, je... ! End object Object -> PrincipioCola "principio de la cola" with nombre 'principio' 'comienzo' 'cabeza' 'frente' 'inicio' 'origen' 'encabezamiento' 'vanguardia', adjetivos 'cola', descripcion [; if (jugador.enPrincipioCola) "No parece haber nada especial al principio de la cola."; else "Desde aquí no puedes ver bien el principio de la cola."; ], has escenario; Object -> PrimeroCola "primero de la cola" with nombre 'primero', adjetivos 'cola', descripcion [; if (jugador.enPrincipioCola) "No parece tener nada de especial. Está hablando con el oficinista."; else "Desde aquí no puedes ver bien el principio de la cola."; ], has escenario; Object -> TuSitio "tu lugar en la cola" with nombre 'sitio' 'lugar' 'posicion', adjetivos 'en' 'cola' 'tu', has escenario; Object -> Pared "pared" with nombre_f 'pared' 'final' 'retaguardia' 'detras' 'atras', adjetivos 'parte' 'cola', descripcion "La pared de detrás delimita cuánto puedes ver de la cola. La cola continúa por una puerta abierta en la pared.", has escenario femenino; Object -> PuertaObj "puerta" with nombre_f 'puerta', adjetivos 'a' 'traves' 'por', descripcion [; print "La cola continúa por la puerta abierta en la pared. "; if (jugador.enFinalCola) print "Ni siquiera desde aquí"; else print "No"; print " eres capaz de ver dónde termina la cola"; if (jugador.enFinalCola) print ", aunque sí puedes ver que hay muchísima gente"; "."; ], has escenario femenino;