/[ambar]/ambar/dialogonormal.py
ViewVC logotype

Diff of /ambar/dialogonormal.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2.25 by TuringTest, Tue Aug 19 22:46:26 2003 UTC revision 2.26 by amoyav, Sat Aug 30 13:31:25 2003 UTC
# Line 38  class DialogoNormal(Dialogo): Line 38  class DialogoNormal(Dialogo):
38            
39      Contiene los siguientes atributos:      Contiene los siguientes atributos:
40       - __personaje (PersonajeJugador): copia del personaje controlado.       - __personaje (PersonajeJugador): copia del personaje controlado.
      - __tirada_percep_sala (int): resultado de una tirada de inteligencia que se  
                                    hace cada vez que se entra en una sala, para ver  
                                    si se perciben los items con dificultad > 0  
41    
42      Invariantes:      Invariantes:
43        __personaje != None        __personaje != None
# Line 67  class DialogoNormal(Dialogo): Line 64  class DialogoNormal(Dialogo):
64      def __init__(self, padre, conn, personaje):      def __init__(self, padre, conn, personaje):
65          Dialogo.__init__(self, padre, conn)          Dialogo.__init__(self, padre, conn)
66          self.__personaje = personaje          self.__personaje = personaje
         self.__tirada_percep_sala = 0  
67    
68          self.lanzar_tirada_percep_sala()          self.lanzar_tirada_percep_sala()
69            
# Line 91  class DialogoNormal(Dialogo): Line 87  class DialogoNormal(Dialogo):
87      def lanzar_tirada_percep_sala(self):      def lanzar_tirada_percep_sala(self):
88          """Método llamado cada vez que se entra en una sala nueva,          """Método llamado cada vez que se entra en una sala nueva,
89          para hacer la tirada."""          para hacer la tirada."""
90          self.__tirada_percep_sala = self.__personaje.tirada_atributo("inteligencia", 0)          self.__personaje.tirar_atributo("percepcion_sala", "inteligencia", 0)
91    
92    
93      # -------------------------------------------      # -------------------------------------------
# Line 290  class DialogoNormal(Dialogo): Line 286  class DialogoNormal(Dialogo):
286    
287                  for salida in self.__personaje.sala.salidas:                  for salida in self.__personaje.sala.salidas:
288                      if direccion == salida["direccion"] and \                      if direccion == salida["direccion"] and \
289                         self.__tirada_percep_sala >= salida["dificultad"]:                         self.__personaje.resultado_tirada("percepcion_sala", salida["dificultad"]) > 0:
290                          encontrado = 1                          encontrado = 1
291                          self.cmd_mover(salida["id"])                          self.cmd_mover(salida["id"])
292                          #En cuanto hayamos encontrado una sala que esté en esa dirección                          #En cuanto hayamos encontrado una sala que esté en esa dirección
# Line 307  class DialogoNormal(Dialogo): Line 303  class DialogoNormal(Dialogo):
303              if es_salida == 0:              if es_salida == 0:
304                  for salida in self.__personaje.sala.salidas:                  for salida in self.__personaje.sala.salidas:
305                      if normalizar_id(accion[1:]) == extraer_id(salida["descripcion"]) and \                      if normalizar_id(accion[1:]) == extraer_id(salida["descripcion"]) and \
306                         self.__tirada_percep_sala >= salida["dificultad"]:                         self.__personaje.resultado_tirada("percepcion_sala", salida["dificultad"]) > 0:
307                          es_salida = 1                          es_salida = 1
308                          self.cmd_mover(salida["id"])                          self.cmd_mover(salida["id"])
309                          self.estado_0()                          self.estado_0()
# Line 1114  class DialogoNormal(Dialogo): Line 1110  class DialogoNormal(Dialogo):
1110                      disponible = color(32)                      disponible = color(32)
1111                  duplicados.append(disponible + item.tema().nombre())                  duplicados.append(disponible + item.tema().nombre())
1112                  for nombretema in item.relacionados():                  for nombretema in item.relacionados():
1113                      dado = self.__personaje.tirada_atributo("inteligencia", 0)                      self.__personaje.tirar_atributo("recapitular", "inteligencia", 0)
1114                      if dado > 27:                      exitos = self.__personaje.resultado_tirada("recapitular", 20)
1115                        if exitos > 1:
1116                          tema = visita._conversacion.contexto(item.relacionados()[nombretema]).tema(nombretema)                          tema = visita._conversacion.contexto(item.relacionados()[nombretema]).tema(nombretema)
1117                          if tema.agotado_en(visita):                          if tema.agotado_en(visita):
1118                              disponible = color(31)                              disponible = color(31)
# Line 1385  class DialogoNormal(Dialogo): Line 1382  class DialogoNormal(Dialogo):
1382              self.conn().send("\n------- Descripción del lugar -------")              self.conn().send("\n------- Descripción del lugar -------")
1383    
1384              for item in sala.descripcion:              for item in sala.descripcion:
1385                  if self.__tirada_percep_sala >= item["dificultad"]:                  if self.__personaje.resultado_tirada("percepcion_sala", item["dificultad"]) > 0:
1386                      self.conn().send("\n" + item["texto"])                      self.conn().send("\n" + item["texto"])
1387    
1388          self.conn().send("\n--------------------------------------\n")          self.conn().send("\n--------------------------------------\n")
# Line 1394  class DialogoNormal(Dialogo): Line 1391  class DialogoNormal(Dialogo):
1391              self.conn().send(color(36) + "No hay ninguna salida. ¡¡Estás atrapado!!" + finl)              self.conn().send(color(36) + "No hay ninguna salida. ¡¡Estás atrapado!!" + finl)
1392          else:          else:
1393              for salida in sala.salidas:              for salida in sala.salidas:
1394                  if self.__tirada_percep_sala >= salida["dificultad"]:                  if self.__personaje.resultado_tirada("percepcion_sala", salida["dificultad"]) > 0:
1395                      direccion = salida["direccion"]                      direccion = salida["direccion"]
1396                      if direccion in ["arriba", "abajo"]:                      if direccion in ["arriba", "abajo"]:
1397                          self.conn().send(color(36) + "Hacia " + direccion + " ves ", 0)                          self.conn().send(color(36) + "Hacia " + direccion + " ves ", 0)
# Line 1426  class DialogoNormal(Dialogo): Line 1423  class DialogoNormal(Dialogo):
1423          primero = 1          primero = 1
1424          for objeto in sala.objetos:          for objeto in sala.objetos:
1425              if len(objeto["instancias"]) > 0:              if len(objeto["instancias"]) > 0:
1426                  if self.__tirada_percep_sala >= objeto["dificultad"]:                  if self.__personaje.resultado_tirada("percepcion_sala", objeto["dificultad"]) > 0:
1427                      if primero:                      if primero:
1428                          self.conn().send(color(32) + "\nAquí hay:" + finl)                                      self.conn().send(color(32) + "\nAquí hay:" + finl)            
1429                          primero = 0                          primero = 0
# Line 1940  class DialogoNormal(Dialogo): Line 1937  class DialogoNormal(Dialogo):
1937                  self.conn().send("¡" + nombre_oponente + " ya está muerto/a!")                  self.conn().send("¡" + nombre_oponente + " ya está muerto/a!")
1938                  self.estado_0()                  self.estado_0()
1939              else:              else:
1940                  if self.__personaje.competicion(self.oponente, "carisma", "sabiduria"):                  self.__personaje.tirar_competicion("evaluar_oponente", self.oponente, "carisma", "sabiduria")
1941                    if self.__personaje.resultado_competicion("evaluar_oponente"):
1942                      self.cmd_observar(nombre_oponente)                      self.cmd_observar(nombre_oponente)
1943                      self.estado_combate_0()                      self.estado_combate_0()
1944                  else:                  else:

Legend:
Removed from v.2.25  
changed lines
  Added in v.2.26

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26