!================================================================ ! El personaje guardia ! ! El guardia de seguridad; puedes hablar con él bastante ! Personaje guardia "guardia" ! *** Propiedades simples de la biblioteca with nombre_m 'guardia' 'guarda' 'segurata', genero G_MASCULINO, adjetivos 'de' 'seguridad', ! *** Variables de estado insinuoMaldad false, ! Indicador de si el guarda ha insinuado ya que eres un poco capullo ! *** Variables para variedad en respuestas nPreguntadoDonde 0, ! *** Respuestas with inicial "El guardia te está vigilando atentamente.", descripcion [; "Es un hombre impresionantemente fornido, muy alto y muy ancho."; ], reaccionar_antes [; Moverse, IrLugar, MoverseFuera: print "Antes incluso de que empieces a moverte, el guardia se dirige hacia ti.^"; self.printHabla( "Vuelva a su sitio, por favor. Si tuviera alguna buena razón para dejar su lugar, tendría que decírmela primero."); rtrue; ], nombre_may [; print "Guardia"; ], nombre_the_may [; print "El guardia"; ], printHabla [ frase; printHablaGen( self.nombre_may, 7, frase, false); ], ! ****** Conversación por menús Enunciado [linea msg; msg = self.msgEnunciado (linea); print (string) msg, "^"; ], msgEnunciado [linea msg; switch (linea) { 0: msg = "Amenázale."; 1: msg = "Pregunta dónde estais."; 2: msg = "Pregunta qué tienes de especial."; 3: msg = "Cuéntale lo que has descubierto sobre ti mismo."; 4: msg = "Pregúntale quién es."; 5: msg = "Cuéntale que no eres un asesino."; 6: msg = "Pregúntale por tu destino."; 7: msg = "Pregúntale por las pruebas que necesitas."; default: msg = "Otro"; } return msg; ], msgEnunciadoFinal [linea msg; switch (linea) { 0: msg = "¡Oiga, no me trate así, pedazo de animal!. Como me vuelva a tocar, le..."; 1: switch (self.nPreguntadoDonde) { 0: msg = "Por favor, usted debe decírmelo, ¿qué lugar es este?"; default: msg = "Nadie quiere decírmelo, me miran con lástima, ¿por qué?"; } 2: msg = "¿Por qué yo?. ¿Qué he hecho para merecer esto?"; 3: msg = "Supongo que no le sorprende, apuesto a que ya lo sabía. Acabo de descubrirlo, soy un asesino, maté a mi mujer. ¿Podría decirme entonces qué lugar es este?"; 4: msg = "Así que todos estamos muertos... ¿entonces usted quién o qué es?"; 5: msg = "¡Ya recuerdo todo!, ¡ha habido un error!. ¡¡En realidad no fue un asesinato, fue en defensa propia!!"; 6: msg = "¿Qué es lo que voy a encontrarme?"; 7: msg = "¿Qué tipo de prueba podría buscar?"; default: msg = self.msgEnunciado (linea); } return msg; ], Respuesta [linea; jugador.printHabla (self.msgEnunciadoFinal (linea), false); print "^"; switch (linea) { ! Amenaza 0: self.printHabla( "Quédese quieto donde está. Yo sólo estoy haciendo mi trabajo y cumpliendo con mi deber. Si se pone tonto, no dudaré en pegarle una paliza."); self.QuipOff (0); ! Dónde estamos ? 1: switch (self.nPreguntadoDonde) { 0: self.printHabla( "No puedo decírselo. En el fondo, le estoy haciendo un favor, es mejor que no lo sepa"); default: self.printHabla( "Mire, lo siento mucho por usted, odio que tenga que ocurrir esto, pero así son las cosas. No vuelva a preguntar, la ignorancia puede ser una bendición"); self.QuipOff (1); self.checkPorqueYo (); } self.nPreguntadoDonde++; ! Por qué yo ? 2: print "El guardia te mira con lástima.^"; self.printHabla( "Somos como arcilla en manos del tiempo: nacemos con una forma, pero los acontecimientos nos van moldeando hasta que nuestra forma no se parece en nada a la que teníamos inicialmente... Piense sólo una cosa... ¿usted se considera una buena persona?, ¿cree que ha actuado bien siempre que ha podido?"); self.insinuoMaldad = true; cola.turnoSinGritos = true; self.QuipOff (2); ! Soy un asesino, ¿dónde estamos? 3: self.QuipOff (3); self.nombre_the_may(); print " te mira con gran lástima, pensando en qué decir.^"; self.printHabla ( "... Está bien, supongo que será peor si no se lo cuento. No sé muy bien cuál será su historia, pero si dice que mató a su mujer, desde luego no me extraña."); print "^"; self.printHabla ( "Usted no perdió la memoria accidentalmente, nosotros se la quitamos. Lo hacemos con todos los que puedan ser... problemáticos."); print "^"; jugador.printHabla( "¿¿Problemáticos??. No entiendo, aún no me ha dicho qué lugar es este."); print "^"; self.printHabla ( "Este lugar... bien, supongo que tiene muchos nombres pero ninguno. Aquí se juzga a la gente por lo que ha hecho. Su destino depende del resultado de lo que se juzgue. Algunos, los que han cometido las mayores atrocidades, como el asesinato, están ya prejuzgados. La cola se convierte para ellos en un mero trámite que deben pasar. Les borramos la memoria para que no se pongan nerviosos en la espera."); print "^"; jugador.printHabla ( "Pero... eso que está diciendo es increible. ¿Qué entidad es esta que me está juzgando sin darme oportunidad de defenderme, sin un abogado siquiera y..."); print "^"; self.printHabla ( "Ya no necesita abogados, señor Algara"); print "^"; jugador.printHabla ( "¿Qué?, ¿qué me está diciendo?"); print "^"; self.printHabla( "..."); RealPause(); print "^"; self.printHabla ( "Señor Algara, usted... como el resto de almas aquí presentes, y aunque no lo recuerde aún... está muerto. Lo siento, pero el eterno castigo le espera, la decisión ya ha sido tomada."); print "^"; Oficinas.descubierta = true; cola.turnoSinGritos = true; guardia.alDescubrirLugar (); cola.alDescubrirLugar (); elDeDelante.alDescubrirLugar (); Pause (); <>; ! Quién es usted 4: self.printHabla ( "Yo no soy más que una persona normal, como usted. Más allá de la vida, las almas siguen teniendo ocupaciones, obligaciones, y esta es la mía... bueno, sólo siguen teniendo ocupaciones las que caen en el 'lado bueno', las otras... bien, creo que es mejor que se lo imagine usted mismo"); self.QuipOff (4); self.QuipOn (6); ! Fue en defensa propia 5: self.printHabla( "¿Está seguro?, no solemos cometer errores..."); print "^"; jugador.printHabla ( "¡¡Le digo que sí!!, ¡ni siquiera quería matarla, aunque ella estuvo a punto de hacerlo conmigo!"); print "^"; self.printHabla ( "Mire, me encantaría ayudarle, pero no puedo, ese no es mi cometido. Aunque haya sido prejuzgado, aún podría salvarse, pero tendría que presentar algo de más peso que su declaración, alguna prueba consistente que demostrara que lo que dice es cierto"); self.QuipOff (5); self.QuipOn (7); elDeDelante.alBuscarPruebas(); ! Qué ocurre en el lado malo ? 6: self.printHabla ( "No lo sé exactamente, pero no me gustaría estar en su lugar"); self.QuipOff (6); ! Qué pruebas buscar ? 7: self.printHabla ( "Ya le he dicho que no puedo ayudarle; de hecho, lo tengo expresamente prohibido... piénselo usted mismo"); self.QuipOff (7); } ], InicializarQuips [; self.QuipsOn (2, 0,1); ], ! ****** Conversación por temas vida [ tema tema2 tema3; ! *** TBC: En principio, dejarlo así (no sé qué más hay en Vida (Hablar por lo menos, pero no sé si se puede acceder aún...) ! Responder, Preguntar: ! Se buscan los temas tema = AveriguarTema (TemasVerboGuardia); tema2 = AveriguarTema (TemasNombre1Guardia); tema3 = AveriguarTema (TemasNombre2Guardia); ! Buscar chica (cuando se sabe todo) if ((tema == BuscarAlguien) && jugador.recuerdaTodo && ((tema3 == TemaEsposa2) || (tema3 == TemaNovia2))) { cola.buscarGente (true); ! chica en cola (cuando se sabe todo) } else if ((tema2 == TemaCola2) && jugador.recuerdaTodo && ((tema3 == TemaEsposa2) || (tema3 == TemaNovia2))) { cola.buscarGente (true); ! buscar en cola (en cualquier momento) } else if ((tema == BuscarAlguien) && (tema2 == TemaCola2)) { cola.buscarGente (true); ! if ((tema == BuscarAlguien) && (tema2 == TemaCola2) && ! ((tema3 == TemaEsposa2) || (tema3 == TemaNovia2))) { } else { print "No parece querer hacerte mucho caso en lo que dices, se hace el despistado.^"; } rtrue; ], checkPorqueYo [; if ((~~self.TestQuip(1)) && jugador.conoceDosMujeres) self.QuipOn (2); ], activarSabeAsesino [; self.QuipOn (3); ], activarSabeTodo [; self.QuipOn (5); ], alDescubrirLugar [; self.QuipsOff (4, 0,1,2,3); self.QuipOn (4); ], ! *** Atributos has ; ! End object ! ****** TEMAS ESPECÍFICOS DEL GUARDIA Object TemasVerboGuardia; ! Buscar Object -> BuscarAlguien "BuscarAlguien" with name 'buscar' 'busca' 'busque' 'busco' 'localizar' 'localiza' 'localice' 'localizo' 'encontrar' 'encuentra' 'encuentre' 'encuentro'; Object TemasNombre1Guardia; ! Cola Object -> TemaCola2 "TemaCola" with name 'cola' 'fila' 'gente' 'almas' 'aqui' 'muerta'; Object TemasNombre2Guardia; ! Esposa Object -> TemaEsposa2 "TemaEsposa2" with name 'mujer' 'morena' 'esposa' 'Carmen'; Object -> TemaNovia2 "Novia" with name 'novia' 'chica' 'Linda' 'rollete' 'rollo' 'amiga' 'pelirroja' 'peliroja';