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

Diff of /ambar/dialogonormal.py

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

revision 2.19 by amoyav, Wed Apr 23 08:03:29 2003 UTC revision 2.20 by amoyav, Sat May 31 21:24:44 2003 UTC
# Line 46  class DialogoNormal(Dialogo): Line 46  class DialogoNormal(Dialogo):
46        __personaje != None        __personaje != None
47      """      """
48    
49      COMANDOS_POSIBLES = ['+salir','+doc','+ip','+seguir','+noseguir','+hablar','+hablarq','+hablaro','+hablare',\      COMANDOS_POSIBLES = ['+salir','+doc','+ip','+seguir','+noseguir','+hablar','+hablarq','+hablaro',
50                           '+susurrar','+susurrarq','+susurrare','+susurraro','+gritar','+gritarq','+gritare','+gritaro',\                           '+hablare', '+susurrar','+susurrarq','+susurrare','+susurraro','+gritar',
51                           '+idioma','+actuar','+decir','+preguntar','+atacar','+coger','+dejar','+esconder','+mochila',\                           '+gritarq','+gritare','+gritaro','+idioma','+actuar','+decir','+preguntar',
52                           '+examinar','+usar','+estadisticas','+mirar','+mr','+area','+observar','+silencio','+confiar','+noconfiar',\                           '+atacar','+coger','+dejar','+esconder','+mochila','+examinar','+usar',
53                           '+dar','+amigos', '+recapitular', '+reloj']                           '+comer','+beber','+estadisticas','+mirar','+mr','+area','+observar',
54                             '+silencio','+confiar','+noconfiar','+dar','+amigos','+recapitular','+reloj',
55                             '+poner','+quitar']
56    
57      COMANDOS_MAIAR =  ['+entorno','+ent','+listar','+localizar','+loc']      COMANDOS_MAIAR =  ['+entorno','+ent','+listar','+localizar','+loc']
58    
# Line 266  class DialogoNormal(Dialogo): Line 268  class DialogoNormal(Dialogo):
268          #la orden dada.          #la orden dada.
269          comando_dado = ' '.join([self.__personaje.nombre+' ejecuta: ',accion,' '.join(args)])          comando_dado = ' '.join([self.__personaje.nombre+' ejecuta: ',accion,' '.join(args)])
270          escribir(comando_dado)          escribir(comando_dado)
           
         es_salida = 0  
271    
272          # Primero se ve si el comando es en realidad una de las          try:
         # posibles direcciones.  Notar que la direccion "otro" no aparece en  
         # esta lista (si alguna sala tiene una  salida en esta direccion, hay  
         # que usar el id de la salida para moverse a ella).  
   
         if accion in DialogoNormal.COMANDOS_DIRECCIONES:  
             es_salida = 1  
             direccion = accion[1:]  
         elif accion in DialogoNormal.COMANDOS_ABREV_DIR.keys():  
             es_salida = 1  
             direccion = DialogoNormal.COMANDOS_ABREV_DIR[accion][1:]  
   
         if es_salida == 1:  
             encontrado = 0  
   
             for salida in self.__personaje.sala.salidas:  
                 if direccion == salida["direccion"] and \  
                    self.__tirada_percep_sala >= salida["dificultad"]:  
                     encontrado = 1  
                     self.cmd_mover(salida["id"])  
                     #En cuanto hayamos encontrado una sala que esté en esa dirección  
                     #nos vamos a ella. De otra forma, Minë te presenta todas, una por una  
                     #y te deja en la última del búcle  
                     break  
                       
             if encontrado == 0:  
                 self.conn().send("No puedes ir por ahi.")  
273    
274              self.estado_0()              # Primero se ve si el comando es en realidad una de las
275                # posibles direcciones.  Notar que la direccion "otro" no aparece en
276                # esta lista (si alguna sala tiene una  salida en esta direccion, hay
277                # que usar el id de la salida para moverse a ella).
278                
279                es_salida = 0
280    
281          # Si no, ver si es el id de una de las salidas.              if accion in DialogoNormal.COMANDOS_DIRECCIONES:
282          if es_salida == 0:                  es_salida = 1
283              for salida in self.__personaje.sala.salidas:                  direccion = accion[1:]
284                  if normalizar_id(accion[1:]) == extraer_id(salida["descripcion"]) and \              elif accion in DialogoNormal.COMANDOS_ABREV_DIR.keys():
285                     self.__tirada_percep_sala >= salida["dificultad"]:                  es_salida = 1
286                      es_salida = 1                  direccion = DialogoNormal.COMANDOS_ABREV_DIR[accion][1:]
287                      self.cmd_mover(salida["id"])  
288                      self.estado_0()              if es_salida == 1:
289                    encontrado = 0
290          # Si no, ver si es un comando. En ese caso, llamar a la función  
291          # especializada en ejecutar cada comando.                  for salida in self.__personaje.sala.salidas:
292          if es_salida == 0:                      if direccion == salida["direccion"] and \
293                           self.__tirada_percep_sala >= salida["dificultad"]:
294              #Comprobamos que un jugador normal no intenta ejecutar una acción de Maia                          encontrado = 1
295              if accion in DialogoNormal.COMANDOS_MAIAR and self.__personaje.es_maia == 0:                          self.cmd_mover(salida["id"])
296                  self.conn().send("Error, comando no reconocido. Escribe '+?' y pulsa ENTER")                          #En cuanto hayamos encontrado una sala que esté en esa dirección
297                  self.conn().send("para una lista de comandos.")                          #nos vamos a ella. De otra forma, Minë te presenta todas, una por una
298                  self.estado_0()                          #y te deja en la última del búcle
299                            break
300                            
301                    if encontrado == 0:
302                        self.conn().send("No puedes ir por ahi.")
303    
             #Miramos cada acción por separado.  
               
             elif accion == "+decir":  
                 self.cmd_hablar_pnj("decir", args)  
                 self.estado_0()  
                   
             elif accion == "+preguntar" or accion == "+p":  
                 self.cmd_hablar_pnj("preguntar", args)  
                 self.estado_0()  
                   
             elif accion == "+recapitular" or accion == "+recap":  
                 self.cmd_recapitular(args)  
                 self.estado_0()  
                   
             elif accion == "+creditos":  
                 for linea in creditos.splitlines():  
                     self.conn().send(linea)  
304                  self.estado_0()                  self.estado_0()
305    
306              elif accion == "+sus" or accion == "+susurrar":              # Si no, ver si es el id de una de las salidas.
307                  try:              if es_salida == 0:
308                      oyente = args[0]                  for salida in self.__personaje.sala.salidas:
309                      mensaje = " ".join(args[1:])                      if normalizar_id(accion[1:]) == extraer_id(salida["descripcion"]) and \
310                      self.cmd_susurrar(oyente, mensaje, idioma=self.__personaje.idioma_base)                         self.__tirada_percep_sala >= salida["dificultad"]:
311                  except:                          es_salida = 1
312                      self.conn().send('Tienes que decir algo a alguien')                          self.cmd_mover(salida["id"])
313                            self.estado_0()
314    
315                # Si no, ver si es un comando. En ese caso, llamar a la función
316                # especializada en ejecutar cada comando.
317                if es_salida == 0:
318    
319                    #Comprobamos que un jugador normal no intenta ejecutar una acción de Maia
320                    if accion in DialogoNormal.COMANDOS_MAIAR and self.__personaje.es_maia == 0:
321                        self.conn().send("Error, comando no reconocido. Escribe '+?' y pulsa ENTER")
322                        self.conn().send("para una lista de comandos.")
323                      self.estado_0()                      self.estado_0()
                 self.estado_0()  
324    
325              elif accion == "+susq" or accion == "+susurrarq":                  #Miramos cada acción por separado.
326                  try:                  
327                      oyente = args[0]                  elif accion == "+decir":
328                      mensaje = " ".join(args[1:])                      self.cmd_hablar_pnj("decir", args)
329                      self.cmd_susurrar(oyente, mensaje, idioma=Idioma_quenya)                      self.estado_0()
330                  except:                      
331                      self.conn().send('Tienes que decir algo a alguien')                  elif accion == "+preguntar" or accion == "+p":
332                        self.cmd_hablar_pnj("preguntar", args)
333                        self.estado_0()
334                        
335                    elif accion == "+recapitular" or accion == "+recap":
336                        self.cmd_recapitular(args)
337                        self.estado_0()
338                        
339                    elif accion == "+creditos":
340                        for linea in creditos.splitlines():
341                            self.conn().send(linea)
342                      self.estado_0()                      self.estado_0()
                 self.estado_0()  
343    
344              elif accion == "+suse" or accion == "+susurrare":                  elif accion == "+sus" or accion == "+susurrar":
345                  try:                      try:
346                      oyente = args[0]                          oyente = args[0]
347                      mensaje = " ".join(args[1:])                          mensaje = " ".join(args[1:])
348                      self.cmd_susurrar(oyente, mensaje, idioma=Idioma_enano)                          self.cmd_susurrar(oyente, mensaje, idioma=self.__personaje.idioma_base)
349                  except:                      except:
350                      self.conn().send('Tienes que decir algo a alguien')                          self.conn().send('Tienes que decir algo a alguien')
351                            self.estado_0()
352                      self.estado_0()                      self.estado_0()
                 self.estado_0()  
353    
354              elif accion == "+suso" or accion == "+susurraro":                  elif accion == "+susq" or accion == "+susurrarq":
355                  try:                      try:
356                      oyente = args[0]                          oyente = args[0]
357                      mensaje = " ".join(args[1:])                          mensaje = " ".join(args[1:])
358                      self.cmd_susurrar(oyente, mensaje, idioma=Idioma_orco)                          self.cmd_susurrar(oyente, mensaje, idioma=Idioma_quenya)
359                  except:                      except:
360                      self.conn().send('Tienes que decir algo a alguien')                          self.conn().send('Tienes que decir algo a alguien')
361                            self.estado_0()
362                      self.estado_0()                      self.estado_0()
                 self.estado_0()  
363    
364              elif accion == "+h" or accion == "+hablar":                  elif accion == "+suse" or accion == "+susurrare":
365                  mensaje = " ".join(args)                      try:
366                  self.cmd_hablar(mensaje, idioma=Idioma_oestron)                          oyente = args[0]
367                  self.estado_0()                          mensaje = " ".join(args[1:])
368                                            self.cmd_susurrar(oyente, mensaje, idioma=Idioma_enano)
369              elif accion == "+hq" or accion == "+hablarq":                      except:
370                  mensaje = " ".join(args)                          self.conn().send('Tienes que decir algo a alguien')
371                  self.cmd_hablar(mensaje, idioma=Idioma_quenya)                          self.estado_0()
372                  self.estado_0()                      self.estado_0()
373    
374              elif accion == "+he" or accion == "+hablare":                  elif accion == "+suso" or accion == "+susurraro":
375                  mensaje = " ".join(args)                      try:
376                  self.cmd_hablar(mensaje, idioma=Idioma_enano)                          oyente = args[0]
377                  self.estado_0()                          mensaje = " ".join(args[1:])
378                            self.cmd_susurrar(oyente, mensaje, idioma=Idioma_orco)
379                        except:
380                            self.conn().send('Tienes que decir algo a alguien')
381                            self.estado_0()
382                        self.estado_0()
383    
384              elif accion == "+ho" or accion == "+hablaro":                  elif accion == "+h" or accion == "+hablar":
385                  mensaje = " ".join(args)                      mensaje = " ".join(args)
386                  self.cmd_hablar(mensaje, idioma=Idioma_orco)                      self.cmd_hablar(mensaje, idioma=Idioma_oestron)
387                  self.estado_0()                      self.estado_0()
388                        
389                    elif accion == "+hq" or accion == "+hablarq":
390                        mensaje = " ".join(args)
391                        self.cmd_hablar(mensaje, idioma=Idioma_quenya)
392                        self.estado_0()
393    
394              elif accion == "+g" or accion == "+gritar":                  elif accion == "+he" or accion == "+hablare":
395                  mensaje = " ".join(args)                      mensaje = " ".join(args)
396                  self.cmd_gritar(mensaje)                      self.cmd_hablar(mensaje, idioma=Idioma_enano)
397                  self.estado_0()                      self.estado_0()
                   
             elif accion == "+gq" or accion == "+gritarq":  
                 mensaje = " ".join(args)  
                 self.cmd_gritar(mensaje, idioma=Idioma_quenya)  
                 self.estado_0()  
398    
399              elif accion == "+ge" or accion == "+gritare":                  elif accion == "+ho" or accion == "+hablaro":
400                  mensaje = " ".join(args)                      mensaje = " ".join(args)
401                  self.cmd_gritar(mensaje, idioma=Idioma_enano)                      self.cmd_hablar(mensaje, idioma=Idioma_orco)
402                  self.estado_0()                      self.estado_0()
403    
404              elif accion == "+go" or accion == "+gritaro":                  elif accion == "+g" or accion == "+gritar":
405                  mensaje = " ".join(args)                      mensaje = " ".join(args)
406                  self.cmd_gritar(mensaje, idioma=Idioma_orco)                      self.cmd_gritar(mensaje)
407                  self.estado_0()                      self.estado_0()
408                        
409                    elif accion == "+gq" or accion == "+gritarq":
410                        mensaje = " ".join(args)
411                        self.cmd_gritar(mensaje, idioma=Idioma_quenya)
412                        self.estado_0()
413    
414              elif accion == "+est" or accion == "+estadisticas":                  elif accion == "+ge" or accion == "+gritare":
415                  self.cmd_estadisticas()                      mensaje = " ".join(args)
416                  self.estado_0()                      self.cmd_gritar(mensaje, idioma=Idioma_enano)
417                        self.estado_0()
             elif accion == "+m" or accion == "+mirar":  
                 self.cmd_mirar()  
                 self.estado_0()  
   
             elif accion == "+mr":  
                 self.cmd_mirar(resumen=1)  
                 self.estado_0()  
418    
419              elif accion == "+mochila" or accion == "+mo":                  elif accion == "+go" or accion == "+gritaro":
420                  self.cmd_mochila()                      mensaje = " ".join(args)
421                  self.estado_0()                      self.cmd_gritar(mensaje, idioma=Idioma_orco)
422                        self.estado_0()
423    
424              elif accion == "+silencio":                  elif accion == "+est" or accion == "+estadisticas":
425                  self.cmd_silencio()                      self.cmd_estadisticas()
426                  self.estado_0()                      self.estado_0()
                   
             elif accion == "+idioma":  
                 nombre_idioma_base = (len(args) > 0 and args[0]) or ""  
                 self.cmd_idioma(nombre_idioma_base)  
                 self.estado_0()  
                   
             elif accion == "+c" or accion == "+coger":  
                 (id_objeto, cantidad, n_orden, n_instancia, ok) = \  
                     self.parsear_ident_objeto(args, "coger")  
                 if ok:  
                     self.cmd_coger(id_objeto, n_orden, n_instancia, cantidad)  
                 self.estado_0()  
                   
 #%%                try:  
 #%%                    nombre_objeto = (len(args) > 0 and args[0]) or ""  
 #%%                    cantidad = int((len(args) > 1 and args[1])) or 1  
 #%%                    if cantidad > 50:  
 #%%                        cantidad = 50  
 #%%                        self.conn().send("No se permite coger más de 50 objetos por vez.")  
 #%%                    self.cmd_coger(nombre_objeto,cantidad)  
 #%%                    self.estado_0()  
 #%%                except:  
 #%%                    self.conn().send('Ha ocurrido un error. Consulta la sintaxis del comando en la ayuda con +?')  
 #%%                    self.estado_0()  
   
             elif accion == "+d" or accion == "+dejar":  
                 (id_objeto, cantidad, n_orden, n_instancia, ok) = \  
                     self.parsear_ident_objeto(args, "dejar")  
                 if ok:  
                     self.cmd_dejar(id_objeto, n_orden, n_instancia, cantidad)  
427    
428                  self.estado_0()                  elif accion == "+m" or accion == "+mirar":
429                        self.cmd_mirar()
430                        self.estado_0()
431    
432                    elif accion == "+mr":
433                        self.cmd_mirar(resumen=1)
434                        self.estado_0()
435    
436              elif accion == "+dar":                  elif accion == "+mochila" or accion == "+mo":
437                  (id_receptor, id_objeto, cantidad, n_orden, n_instancia, ok) = \                      self.cmd_mochila()
438                      self.parsear_ident_objeto(args, "dar")                      self.estado_0()
                 if ok:  
                     self.cmd_dar(id_receptor, id_objeto, n_orden, n_instancia, cantidad)  
439    
440                  self.estado_0()                  elif accion == "+silencio":
441                        self.cmd_silencio()
442                        self.estado_0()
443                        
444                    elif accion == "+idioma":
445                        nombre_idioma_base = (len(args) > 0 and args[0]) or ""
446                        self.cmd_idioma(nombre_idioma_base)
447                        self.estado_0()
448                        
449                    elif accion == "+c" or accion == "+coger":
450                        (id_objeto, cantidad, n_orden, n_instancia, ok) = \
451                            self.parsear_ident_objeto(args, "coger")
452                        if ok:
453                            self.cmd_coger(id_objeto, cantidad, n_orden, n_instancia)
454                        self.estado_0()
455                        
456        #%%                try:
457        #%%                    nombre_objeto = (len(args) > 0 and args[0]) or ""
458        #%%                    cantidad = int((len(args) > 1 and args[1])) or 1
459        #%%                    if cantidad > 50:
460        #%%                        cantidad = 50
461        #%%                        self.conn().send("No se permite coger más de 50 objetos por vez.")
462        #%%                    self.cmd_coger(nombre_objeto,cantidad)
463        #%%                    self.estado_0()
464        #%%                except:
465        #%%                    self.conn().send('Ha ocurrido un error. Consulta la sintaxis del comando en la ayuda con +?')
466        #%%                    self.estado_0()
467    
468                    elif accion == "+d" or accion == "+dejar":
469                        (id_objeto, cantidad, n_orden, n_instancia, ok) = \
470                            self.parsear_ident_objeto(args, "dejar")
471                        if ok:
472                            self.cmd_dejar(id_objeto, cantidad, n_orden, n_instancia)
473    
474              elif accion == "+confiar":                      self.estado_0()
475                  id_personaje_de_confianza = args[0]                          
476                  self.__personaje.ids_amigos.update({id_personaje_de_confianza:1})                  elif accion == "+esc" or accion == "+esconder":
477                  self.conn().send("A partir de ahora confías en "+id_personaje_de_confianza)                      (id_objeto, cantidad, n_orden, n_instancia, ok) = \
478                            self.parsear_ident_objeto(args, "esconder")
479                        if ok:
480                            dificultad = self.__personaje.generar_dificultad("inteligencia", 0)
481                            self.cmd_dejar(id_objeto, cantidad, n_orden, n_instancia, dificultad)
482    
483                  self.estado_0()                      self.estado_0()
                   
             elif accion == "+noconfiar":  
                 id_personaje_de_no_confianza = args[0]  
                 self.__personaje.ids_amigos.update({id_personaje_de_no_confianza:0})  
                 self.conn().send("A partir de ahora no confías en "+id_personaje_de_no_confianza)  
484    
485                  self.estado_0()      #%%                try:
486        #%%                    nombre_objeto = (len(args) > 0 and args[0]) or ""
487        #%%                    cantidad = int((len(args) > 1 and args[1])) or 1
488        #%%                    self.cmd_dejar(nombre_objeto, cantidad, accion = "escondido", dif=self.__personaje.atrib["inteligencia"])
489        #%%                    self.estado_0()
490        #%%                except:
491        #%%                    self.conn().send('Ha ocurrido un error. Consulta la sintaxis del comando en la ayuda con +?')
492        #%%                    self.estado_0()                
493    
494                    elif accion == "+dar":
495                        (id_receptor, id_objeto, cantidad, n_orden, n_instancia, ok) = \
496                            self.parsear_ident_objeto(args, "dar")
497                        if ok:
498                            self.cmd_dar(id_receptor, id_objeto, cantidad, n_orden, n_instancia)
499    
500              elif accion == "+amigos":                      self.estado_0()
501                  self.cmd_listar_amigos()                    
502                  self.estado_0()                  elif accion == "+comer":
503                        (id_objeto, cantidad, n_orden, n_instancia, ok) = \
504                            self.parsear_ident_objeto(args, "comer")
505                        if ok:
506                            if cantidad > 1:
507                                self.conn().send("El comando no es correcto, consulta la ayuda con +?")
508                            else:
509                                self.cmd_comer(id_objeto, n_orden, n_instancia)
510    
511                                            self.estado_0()
512              elif accion == "+esc" or accion == "+esconder":                    
513                  (id_objeto, cantidad, n_orden, n_instancia, ok) = \                  elif accion == "+beber":
514                      self.parsear_ident_objeto(args, "esconder")                      (id_objeto, cantidad, n_orden, n_instancia, ok) = \
515                  if ok:                          self.parsear_ident_objeto(args, "beber")
516                      self.cmd_esconder(id_objeto, n_orden, n_instancia, cantidad)                      if ok:
517                            if cantidad > 1:
518                                self.conn().send("El comando no es correcto, consulta la ayuda con +?")
519                            else:
520                                self.cmd_beber(id_objeto, n_orden, n_instancia)
521    
522                  self.estado_0()                      self.estado_0()
523                      
524                    elif accion == "+u" or accion == "+usar":
525                        (id_objeto, cantidad, n_orden, n_instancia, ok) = \
526                            self.parsear_ident_objeto(args, "usar")
527                        if ok:
528                            if cantidad > 1:
529                                self.conn().send("El comando no es correcto, consulta la ayuda con +?")
530                            else:
531                                self.cmd_usar(id_objeto, n_orden, n_instancia)
532    
533                        self.estado_0()
534    
535  #%%                try:      #%%                nombre_objeto = (len(args) > 0 and args[0]) or ""
536  #%%                    nombre_objeto = (len(args) > 0 and args[0]) or ""      #%%                self.cmd_usar(nombre_objeto)
537  #%%                    cantidad = int((len(args) > 1 and args[1])) or 1      #%%                self.estado_0()
538  #%%                    self.cmd_dejar(nombre_objeto, cantidad, accion = "escondido", dif=self.__personaje.atrib["inteligencia"])  
539  #%%                    self.estado_0()                  elif accion == "+poner":
540  #%%                except:                      if len(args) == 0:
541  #%%                    self.conn().send('Ha ocurrido un error. Consulta la sintaxis del comando en la ayuda con +?')                          self.conn().send("Debes indicar la posición y el objeto a ponerte, consulta la ayuda con +?")
 #%%                    self.estado_0()                  
   
             elif accion == "+ex" or accion == "+examinar":  
                 (id_objeto, cantidad, n_orden, n_instancia, ok) = \  
                     self.parsear_ident_objeto(args, "examinar")  
                 if ok:  
                     if cantidad > 1:  
                         self.conn().send("El comando no es correcto, consulta la ayuda con +?")  
542                      else:                      else:
543                          self.cmd_examinar(id_objeto, n_orden, n_instancia)                          posicion = args[0]
544                            if not posicion in Personaje.POSICIONES:
545                                self.conn().send("La posición no es válida, consulta la ayuda con +?")
546                            else:
547                                (id_objeto, cantidad, n_orden, n_instancia, ok) = \
548                                    self.parsear_ident_objeto(args[1:], "poner")
549                                if ok:
550                                    if cantidad > 1:
551                                        self.conn().send("El comando no es correcto, consulta la ayuda con +?")
552                                    else:
553                                        self.cmd_poner(posicion, id_objeto, n_orden, n_instancia)
554    
555                  self.estado_0()                      self.estado_0()
556    
557  #%%                nombre_objeto = (len(args) > 0 and args[0]) or ""                  elif accion == "+quitar":
558  #%%                posicion = int((len(args) > 1 and args[1])) or 1                      if len(args) == 0:
559  #%%                if posicion < 1: posicion = 1                          self.conn().send("Debes indicar la posición, consulta la ayuda con +?")
 #%%                self.cmd_examinar(nombre_objeto,posicion)  
 #%%                self.estado_0()  
                 
             elif accion == "+u" or accion == "+usar":  
                 (id_objeto, cantidad, n_orden, n_instancia, ok) = \  
                     self.parsear_ident_objeto(args, "usar")  
                 if ok:  
                     if cantidad > 1:  
                         self.conn().send("El comando no es correcto, consulta la ayuda con +?")  
560                      else:                      else:
561                          self.cmd_usar(id_objeto, n_orden, n_instancia)                          posicion = args[0]
562                            if not posicion in Personaje.POSICIONES:
563                                self.conn().send("La posición no es válida, consulta la ayuda con +?")
564                            else:
565                                self.cmd_quitar(posicion)
566    
567                  self.estado_0()                      self.estado_0()
568    
569  #%%                nombre_objeto = (len(args) > 0 and args[0]) or ""                  elif accion == "+confiar":
570  #%%                self.cmd_usar(nombre_objeto)                      id_personaje_de_confianza = args[0]
571  #%%                self.estado_0()                      self.__personaje.ids_amigos.update({id_personaje_de_confianza:1})
572                        self.conn().send("A partir de ahora confías en "+id_personaje_de_confianza)
573    
574              elif accion == "+ob" or accion == "+observar":                      self.estado_0()
575                  nombre_oponente = (len(args) > 0 and args[0]) or ""                      
576                  self.cmd_observar(nombre_oponente)                  elif accion == "+noconfiar":
577                  self.estado_0()                      id_personaje_de_no_confianza = args[0]
578                        self.__personaje.ids_amigos.update({id_personaje_de_no_confianza:0})
579                        self.conn().send("A partir de ahora no confías en "+id_personaje_de_no_confianza)
580    
581              elif accion == "+a" or accion == "+atacar":                      self.estado_0()
                 self.conn().send("Comando deshabilitado temporalmente. Lo sentimos.")  
                 self.estado_0()  
582    
583              elif accion == "+sal" or accion == "+salir" or accion == "/q" or accion == "+q":                  elif accion == "+amigos":
584                  self.estado_1()                      self.cmd_listar_amigos()
585                        self.estado_0()
586    
587              elif accion == "+":                  elif accion == "+ex" or accion == "+examinar":
588                  self.estado_0()                      (id_objeto, cantidad, n_orden, n_instancia, ok) = \
589                                            self.parsear_ident_objeto(args, "examinar")
590              elif accion == "+help" or accion == "+ayuda" or accion == "+?":                      if ok:
591                  self.cmd_ayuda(args)                          if cantidad > 1:
592                  self.estado_0()                              self.conn().send("El comando no es correcto, consulta la ayuda con +?")
593                            else:
594                                self.cmd_examinar(id_objeto, n_orden, n_instancia)
595    
596              elif accion == "+doc":                      self.estado_0()
                 self.cmd_doc(args)  
                 self.estado_0()  
597    
598              elif accion == "+actuar" or accion == "+act":      #%%                nombre_objeto = (len(args) > 0 and args[0]) or ""
599                  mensaje = " ".join(args)      #%%                posicion = int((len(args) > 1 and args[1])) or 1
600                  self.cmd_actuar(mensaje)      #%%                if posicion < 1: posicion = 1
601                  self.estado_0()      #%%                self.cmd_examinar(nombre_objeto,posicion)
602                        #%%                self.estado_0()
603              elif accion == "+entorno" or accion == "+ent":  
604                  mensaje = " ".join(args)                  elif accion == "+ob" or accion == "+observar":
605                  self.cmd_entorno(mensaje)                      nombre_oponente = (len(args) > 0 and args[0]) or ""
606                  self.estado_0()                      self.cmd_observar(nombre_oponente)
607                                        self.estado_0()
             elif accion == "+listar":  
                 self.cmd_listar_personajes()  
                 self.estado_0()  
                   
             elif accion == "+localizar" or accion == "+loc":  
                 try:  
                     self.cmd_localizar(args[0])  
                 except:  
                     self.conn().send('Tienes que especificar un personaje para localizar')  
608    
609                  self.estado_0()                  elif accion == "+a" or accion == "+atacar":
610                        self.conn().send("Comando deshabilitado temporalmente. Lo sentimos.")
611                        self.estado_0()
612    
613              elif accion == "+seguir" or accion == "+seg":                  elif accion == "+sal" or accion == "+salir" or accion == "/q" or accion == "+q":
614                  if len(args) == 0:                      self.estado_1()
                     self.conn().send('Tienes que especificar un personaje para seguir')  
                 else:  
                     self.cmd_seguir(args[0])  
                 self.estado_0()  
615    
616              elif accion == "+noseguir" or accion == "+noseg":                  elif accion == "+":
617                  self.cmd_no_seguir()                      self.estado_0()
618                  self.estado_0()                      
619                    elif accion == "+help" or accion == "+ayuda" or accion == "+?":
620                        self.cmd_ayuda(args)
621                        self.estado_0()
622    
623              elif accion == "+ip":                  elif accion == "+doc":
624                  self.cmd_ip()                      self.cmd_doc(args)
625                  self.estado_0()                      self.estado_0()
626    
627              elif accion == "+area":                  elif accion == "+actuar" or accion == "+act":
628                  self.cmd_area()                      mensaje = " ".join(args)
629                  self.estado_0()                      self.cmd_actuar(mensaje)
630                        self.estado_0()
631                        
632                    elif accion == "+entorno" or accion == "+ent":
633                        mensaje = " ".join(args)
634                        self.cmd_entorno(mensaje)
635                        self.estado_0()
636                        
637                    elif accion == "+listar":
638                        self.cmd_listar_personajes()
639                        self.estado_0()
640                        
641                    elif accion == "+localizar" or accion == "+loc":
642                        try:
643                            self.cmd_localizar(args[0])
644                        except:
645                            self.conn().send('Tienes que especificar un personaje para localizar')
646    
647              elif accion == "+reloj":                      self.estado_0()
                 self.cmd_reloj()  
                 self.estado_0()  
648    
649              elif accion == "":                  elif accion == "+seguir" or accion == "+seg":
650                  self.estado_0()                      if len(args) == 0:
651                            self.conn().send('Tienes que especificar un personaje para seguir')
652                        else:
653                            self.cmd_seguir(args[0])
654                        self.estado_0()
655    
656              elif accion[0] == "+" or accion == "+":                  elif accion == "+noseguir" or accion == "+noseg":
657                  self.conn().send("Error, comando no reconocido. Escribe '+?' y pulsa ENTER")                      self.cmd_no_seguir()
658                  self.conn().send("para una lista de comandos.")                      self.estado_0()
659                  self.estado_0()  
660                                    elif accion == "+ip":
661              else:                      self.cmd_ip()
662                  mensaje = accion + ' ' + " ".join(args)                      self.estado_0()
663                  self.cmd_hablar(mensaje, idioma=self.__personaje.idioma_base)  
664                  self.estado_0()                  elif accion == "+area":
665                        self.cmd_area()
666                        self.estado_0()
667    
668                    elif accion == "+reloj":
669                        self.cmd_reloj()
670                        self.estado_0()
671    
672                    elif accion == "":
673                        self.estado_0()
674    
675                    elif accion[0] == "+" or accion == "+":
676                        self.conn().send("Error, comando no reconocido. Escribe '+?' y pulsa ENTER")
677                        self.conn().send("para una lista de comandos.")
678                        self.estado_0()
679                        
680                    else:
681                        mensaje = accion + ' ' + " ".join(args)
682                        self.cmd_hablar(mensaje, idioma=self.__personaje.idioma_base)
683                        self.estado_0()
684    
685            except ExcepcionDeJuego, ex:
686    
687                self.conn().send(str(ex))
688                self.estado_0()
689    
690    
691      def parsear_ident_objeto(self, args, comando):      def parsear_ident_objeto(self, args, comando):
# Line 1067  class DialogoNormal(Dialogo): Line 1128  class DialogoNormal(Dialogo):
1128                          self.conn().send("Es la primera vez que estás aquí...")                          self.conn().send("Es la primera vez que estás aquí...")
1129                          self.__personaje.salas_visitadas.update({id_sala_destino:'si'})                          self.__personaje.salas_visitadas.update({id_sala_destino:'si'})
1130                          #Ganamos un punto de experiencia (hay que premiar la exploración)                          #Ganamos un punto de experiencia (hay que premiar la exploración)
1131                          self.__personaje.experiencia = self.__personaje.experiencia + 1                          self.__personaje.cambiar_experiencia(+1)
1132    
1133                      if id_lider != None:                      if id_lider != None:
1134                          self.conn().send('Ya no estas siguiendo a ' + id_lider)                          self.conn().send('Ya no estas siguiendo a ' + id_lider)
# Line 1289  class DialogoNormal(Dialogo): Line 1350  class DialogoNormal(Dialogo):
1350                                   ", ".join([ i.nombre for i in Idioma_lista ]))                                   ", ".join([ i.nombre for i in Idioma_lista ]))
1351                    
1352    
1353      def cmd_coger(self, id_objeto, n_orden, n_instancia, cantidad):      def cmd_coger(self, id_objeto, cantidad, n_orden, n_instancia):
1354          try:          try:
1355    
1356              #%% aqui faltaría lo del sigilo...              #%% aqui faltaría lo del sigilo...
1357              nombre = self.__personaje.coger(id_objeto, n_orden, n_instancia, cantidad)              nombre = self.__personaje.coger(id_objeto, cantidad, n_orden, n_instancia)
1358    
1359              self.conn().send("Has cogido " + nombre, 0)              self.conn().send("Has cogido " + nombre, 0)
1360              if cantidad > 1:              if cantidad > 1:
# Line 1373  class DialogoNormal(Dialogo): Line 1434  class DialogoNormal(Dialogo):
1434  #%%            self.conn().send("Se cogieron "+str(despues-antes) +" "+nombre_objeto+" de "+str(cantidad)+" indicados")  #%%            self.conn().send("Se cogieron "+str(despues-antes) +" "+nombre_objeto+" de "+str(cantidad)+" indicados")
1435    
1436    
1437      def cmd_esconder(self, id_objeto, n_orden, n_instancia, cantidad):      def cmd_dejar(self, id_objeto, cantidad, n_orden, n_instancia):
         try:  
   
             #%% aqui faltaría lo del sigilo...  
             nombre = self.__personaje.esconder(id_objeto, n_orden, n_instancia, cantidad)  
   
             self.conn().send("Has escondido " + nombre, 0)  
             if cantidad > 1:  
                 self.conn().send(" (" + str(cantidad) + " unidades)")  
             else:  
                 self.conn().send("")  
   
         except ExcepcionDeJuego, mensaje:  
   
             self.conn().send(mensaje)  
   
   
     def cmd_dejar(self, id_objeto, n_orden, n_instancia, cantidad):  
1438          try:          try:
1439    
1440              #%% aqui faltaría lo del sigilo...              #%% aqui faltaría lo del sigilo...
1441              nombre = self.__personaje.dejar(id_objeto, n_orden, n_instancia, cantidad)              nombre = self.__personaje.dejar(id_objeto, cantidad, n_orden, n_instancia)
1442    
1443              self.conn().send("Has dejado " + nombre, 0)              self.conn().send("Has dejado " + nombre, 0)
1444              if cantidad > 1:              if cantidad > 1:
# Line 1457  class DialogoNormal(Dialogo): Line 1501  class DialogoNormal(Dialogo):
1501  #%%                          id_objeto + ", solo tienes " + str(encontrados))  #%%                          id_objeto + ", solo tienes " + str(encontrados))
1502    
1503    
1504        def cmd_esconder(self, id_objeto, cantidad, n_orden, n_instancia):
1505            try:
1506    
1507                #%% aqui faltaría lo del sigilo...
1508                nombre = self.__personaje.esconder(id_objeto, cantidad, n_orden, n_instancia)
1509    
1510                self.conn().send("Has escondido " + nombre, 0)
1511                if cantidad > 1:
1512                    self.conn().send(" (" + str(cantidad) + " unidades)")
1513                else:
1514                    self.conn().send("")
1515    
1516            except ExcepcionDeJuego, mensaje:
1517    
1518                self.conn().send(mensaje)
1519    
1520    
1521        def cmd_dar(self, id_receptor, id_objeto, cantidad, n_orden, n_instancia):
1522            encontrados = 0
1523            n_objeto = -1
1524    
1525            # Buscar el id_receptor en la sala actual.
1526            if self.__personaje.sala != None:
1527                receptor_encontrado = 0
1528                for personaje in  self.__personaje.sala.personajes.values():
1529                    if personaje != self.__personaje and personaje.controlador != None and string.lower(personaje.id) == string.lower(id_receptor):
1530                        receptor_encontrado = 1
1531                        receptor = personaje
1532                        break
1533                if receptor_encontrado == 0:
1534                    self.conn().send('No hay nadie aquí que se llame '+id_receptor)
1535                    return
1536                
1537            # Buscar el objeto en la mochila. Puede que haya varios con el mismo identificativo,
1538            # discriminamos con el parametro n_orden.
1539            for instancias in self.__personaje.mochila:
1540                n_objeto = n_objeto + 1
1541                if normalizar_id(id_objeto) == extraer_id(instancias[0].nombre):
1542                    encontrados = encontrados + 1
1543                    if encontrados == n_orden:
1544    
1545                        # Hemos encontrado el objeto, ahora vemos si hay instancias
1546                        # suficientes.
1547                        if (n_instancia + cantidad - 1) > len(instancias):
1548                            self.conn().send("No tienes " + str(n_instancia + cantidad - 1) +
1549                                             " unidades de ese objeto en la mochila, solo tienes " +
1550                                             str(len(instancias)))
1551                        else:
1552                            #Comprobar antes de seguir que el personaje que da el objeto se encuentra
1553                            #en la lista de confianza del receptor (salvo que el que da sea un Maia...)
1554    
1555                            if not self.__personaje.es_maia:
1556                                try:
1557                                    confianza = receptor.ids_amigos[self.__personaje.id]
1558                                    if confianza < 1:
1559                                        raise KeyError
1560                                except KeyError, e:
1561                                    self.conn().send(receptor.nombre + " no acepta tu objeto.\n",0)
1562                                    self.__personaje.actuar_individual(receptor, "te ha intentado dar " + id_objeto + " pero te has negado.")
1563                                    break
1564                            
1565                            # Todo ok: sacamos las instancias de la mochila
1566                            for i in range(0, cantidad):
1567                                instancia = self.__personaje.sacar_de_mochila(n_objeto,
1568                                                                              n_instancia - 1)
1569                                receptor.meter_en_mochila(instancia)
1570    
1571                            #mensajes
1572                            self.__personaje.actuar("ha dado " + instancia.nombre + " a " + receptor.nombre)
1573                            self.conn().send("Has dado " + instancia.nombre + " a " + receptor.nombre, 0)
1574                            self.__personaje.actuar_individual(receptor, "te ha dado " + instancia.nombre +' ('+str(cantidad)+' unidad[es])')
1575                            if cantidad > 1:
1576                                self.conn().send(" (" + str(cantidad) + " unidades)")
1577                            else:
1578                                self.conn().send("")
1579    
1580                        break
1581                        
1582            if encontrados == 0:
1583                self.conn().send("No tienes en la mochila ningún objeto con identificativo " +
1584                                 id_objeto)
1585            elif encontrados < n_orden:
1586                self.conn().send("No tienes en la mochila suficientes objetos con identificativo " +
1587                                 id_objeto + ", solo tienes " + str(encontrados))
1588    
1589    
1590  #%%    def cmd_dejar(self, nombre_objeto, cantidad, accion = "dejado",dif=0):  #%%    def cmd_dejar(self, nombre_objeto, cantidad, accion = "dejado",dif=0):
1591  #%%        fallos = 0  #%%        fallos = 0
1592  #%%        for i in range(cantidad):  #%%        for i in range(cantidad):
# Line 1472  class DialogoNormal(Dialogo): Line 1602  class DialogoNormal(Dialogo):
1602  #%%            self.conn().send("No hay en tu inventario un objeto con identificativo "+encontrar_id[1])  #%%            self.conn().send("No hay en tu inventario un objeto con identificativo "+encontrar_id[1])
1603    
1604    
1605      def cmd_dar(self, id_receptor, id_objeto, n_orden, n_instancia, cantidad):      def cmd_comer(self, id_objeto, n_orden, n_instancia):
1606            self.__personaje.comer(id_objeto, n_orden, n_instancia)
1607    
         # Buscar el id_receptor en la sala actual.  
         receptor = None  
         for personaje in  self.__personaje.sala.personajes.values():  
             if personaje != self.__personaje and personaje.controlador != None and string.lower(personaje.id) == string.lower(id_receptor):  
                 receptor = personaje  
                 break  
         if receptor == None:  
             self.conn().send('No hay nadie aquí que se llame ' + id_receptor)  
             return  
1608    
1609          try:      def cmd_beber(self, id_objeto, n_orden, n_instancia):
1610            self.__personaje.beber(id_objeto, n_orden, n_instancia)
             #%% aqui faltaría lo del sigilo...  
             nombre = self.__personaje.dar(receptor, id_objeto, n_orden, n_instancia, cantidad)  
   
             self.conn().send("Has dado " + nombre, 0)  
             if cantidad > 1:  
                 self.conn().send(" (" + str(cantidad) + " unidades)", 0)  
             self.conn().send(" a " + receptor.nombre)  
   
         except ExcepcionDeJuego, mensaje:  
   
             self.conn().send(mensaje)  
   
   
 #%%    def cmd_dar(self, id_receptor, id_objeto, cantidad, n_orden, n_instancia):  
 #%%     encontrados = 0  
 #%%     n_objeto = -1  
 #%%  
 #%%        # Buscar el id_receptor en la sala actual.  
 #%%        if self.__personaje.sala != None:  
 #%%            receptor_encontrado = 0  
 #%%            for personaje in  self.__personaje.sala.personajes.values():  
 #%%                if personaje != self.__personaje and personaje.controlador != None and string.lower(personaje.id) == string.lower(id_receptor):  
 #%%                    receptor_encontrado = 1  
 #%%                    receptor = personaje  
 #%%                    break  
 #%%            if receptor_encontrado == 0:  
 #%%                self.conn().send('No hay nadie aquí que se llame '+id_receptor)  
 #%%                return  
 #%%              
 #%%     # Buscar el objeto en la mochila. Puede que haya varios con el mismo identificativo,  
 #%%     # discriminamos con el parametro n_orden.  
 #%%     for instancias in self.__personaje.mochila:  
 #%%         n_objeto = n_objeto + 1  
 #%%         if normalizar_id(id_objeto) == extraer_id(instancias[0].nombre):  
 #%%             encontrados = encontrados + 1  
 #%%             if encontrados == n_orden:  
 #%%  
 #%%                 # Hemos encontrado el objeto, ahora vemos si hay instancias  
 #%%                 # suficientes.  
 #%%                 if (n_instancia + cantidad - 1) > len(instancias):  
 #%%                     self.conn().send("No tienes " + str(n_instancia + cantidad - 1) +  
 #%%                                      " unidades de ese objeto en la mochila, solo tienes " +  
 #%%                                      str(len(instancias)))  
 #%%                 else:  
 #%%                        #Comprobar antes de seguir que el personaje que da el objeto se encuentra  
 #%%                        #en la lista de confianza del receptor (salvo que el que da sea un Maia...)  
 #%%  
 #%%                        if not self.__personaje.es_maia:  
 #%%                            try:  
 #%%                                confianza = receptor.ids_amigos[self.__personaje.id]  
 #%%                                if confianza < 1:  
 #%%                                    raise KeyError  
 #%%                            except KeyError, e:  
 #%%                                self.conn().send(receptor.nombre + " no acepta tu objeto.\n",0)  
 #%%                                self.__personaje.actuar_individual(receptor, "te ha intentado dar " + id_objeto + " pero te has negado.")  
 #%%                                break  
 #%%                          
 #%%                     # Todo ok: sacamos las instancias de la mochila  
 #%%                     for i in range(0, cantidad):  
 #%%                         instancia = self.__personaje.sacar_de_mochila(n_objeto,  
 #%%                                                                       n_instancia - 1)  
 #%%                         receptor.meter_en_mochila(instancia)  
 #%%  
 #%%                        #mensajes  
 #%%                        self.__personaje.actuar("ha dado " + instancia.nombre + " a " + receptor.nombre)  
 #%%                        self.conn().send("Has dado " + instancia.nombre + " a " + receptor.nombre, 0)  
 #%%                        self.__personaje.actuar_individual(receptor, "te ha dado " + instancia.nombre +' ('+str(cantidad)+' unidad[es])')  
 #%%                     if cantidad > 1:  
 #%%                         self.conn().send(" (" + str(cantidad) + " unidades)")  
 #%%                     else:  
 #%%                         self.conn().send("")  
 #%%  
 #%%                 break  
 #%%                  
 #%%     if encontrados == 0:  
 #%%            self.conn().send("No tienes en la mochila ningún objeto con identificativo " +  
 #%%                          id_objeto)  
 #%%     elif encontrados < n_orden:  
 #%%         self.conn().send("No tienes en la mochila suficientes objetos con identificativo " +  
 #%%                          id_objeto + ", solo tienes " + str(encontrados))  
1611    
1612            
1613      def cmd_usar(self, id_objeto, n_orden, n_instancia):      def cmd_usar(self, id_objeto, n_orden, n_instancia):
1614          try:          self.__personaje.usar(id_objeto, n_orden, n_instancia)
   
             #%% aqui faltaría lo del sigilo...  
             nombre = self.__personaje.usar(id_objeto, n_orden, n_instancia)  
1615    
         except ExcepcionDeJuego, mensaje:  
   
             self.conn().send(mensaje)  
   
           
 #%%    def cmd_usar(self, id_objeto, n_orden, n_instancia):  
1616  #%%     encontrados = 0  #%%     encontrados = 0
1617  #%%     n_objeto = -1  #%%     n_objeto = -1
1618  #%%  #%%
# Line 1618  class DialogoNormal(Dialogo): Line 1652  class DialogoNormal(Dialogo):
1652  #%%        #        pass  #%%        #        pass
1653    
1654    
1655      def cmd_examinar(self, id_objeto, n_orden, n_instancia):      def cmd_poner(self, posicion, id_objeto, n_orden, n_instancia):
1656          try:          self.__personaje.ponerse(posicion, id_objeto, n_orden, n_instancia)
1657    
             n_objeto = self.__personaje.buscar_en_mochila(id_objeto, n_orden)  
1658    
1659              instancias = self.__personaje.mochila[n_objeto]      def cmd_quitar(self, posicion):
1660              if (n_instancia) > len(instancias):          self.__personaje.quitarse(posicion)
                 raise ExcepcionDeJuego("No tienes " + str(n_instancia) +  
                                        " unidades de ese objeto en la mochila, solo tienes " +  
                                        str(len(instancias)))  
   
             objeto = instancias[n_instancia]  
   
             for item in objeto.descripcion:  
                 if self.__personaje.prueba("inteligencia", 0, item["dificultad"], 0) >= 0:  
                     self.conn().send(item["texto"])  
   
             self.conn().send("Valor (me): " + str(objeto.valor) + "," \  
                              " Peso (kg): " + str(objeto.peso) + "," \  
                              " Volumen: " + str(objeto.volumen) + "," \  
                              " Estado (1-100): " + str(objeto.estado))  
   
             self.conn().send("Usos posibles:")  
             for uso in objeto.usos:  
                 self.conn().send('Tipo: ' + uso['tipo'] + '\t Posición: ' + uso['posicion'])  
1661    
         except ExcepcionDeJuego, mensaje:  
1662    
1663              self.conn().send(mensaje)      def cmd_examinar(self, id_objeto, n_orden, n_instancia):
1664            encontrados = 0
1665            n_objeto = -1
1666    
1667            # Buscar el objeto en la mochila. Puede que haya varios con el mismo identificativo,
1668            # discriminamos con el parametro n_orden.
1669            for instancias in self.__personaje.mochila:
1670                n_objeto = n_objeto + 1
1671                if normalizar_id(id_objeto) == extraer_id(instancias[0].nombre):
1672                    encontrados = encontrados + 1
1673                    if encontrados == n_orden:
1674    
1675                        # Hemos encontrado el objeto, ahora vemos si hay instancias
1676                        # suficientes.
1677                        if (n_instancia) > len(instancias):
1678                            self.conn().send("No tienes " + str(n_instancia) +
1679                                             " instancias de ese objeto en la mochila, solo tienes " +
1680                                             str(len(instancias)))
1681                        else:
1682    
1683                            # Todo ok: examinamos la instancia
1684                            instancia = instancias[n_instancia - 1]
1685                            for item in instancia.descripcion:
1686                                if self.__personaje.prueba("inteligencia", 0, item["dificultad"], 0) >= 0:
1687                                    self.conn().send(item["texto"])
1688    
1689                            self.conn().send("Valor (me): " + str(instancia.valor) + "," \
1690                                             " Peso (kg): " + str(instancia.peso) + "," \
1691                                             " Volumen: " + str(instancia.volumen) + "," \
1692                                             " Estado (1-100): " + str(instancia.estado))
1693    
 #%%    def cmd_examinar(self, id_objeto, n_orden, n_instancia):  
 #%%     encontrados = 0  
 #%%     n_objeto = -1  
 #%%  
 #%%     # Buscar el objeto en la mochila. Puede que haya varios con el mismo identificativo,  
 #%%     # discriminamos con el parametro n_orden.  
 #%%     for instancias in self.__personaje.mochila:  
 #%%         n_objeto = n_objeto + 1  
 #%%         if normalizar_id(id_objeto) == extraer_id(instancias[0].nombre):  
 #%%             encontrados = encontrados + 1  
 #%%             if encontrados == n_orden:  
 #%%  
 #%%                 # Hemos encontrado el objeto, ahora vemos si hay instancias  
 #%%                 # suficientes.  
 #%%                 if (n_instancia) > len(instancias):  
 #%%                     self.conn().send("No tienes " + str(n_instancia) +  
 #%%                                      " instancias de ese objeto en la mochila, solo tienes " +  
 #%%                                      str(len(instancias)))  
 #%%                 else:  
 #%%  
 #%%                     # Todo ok: examinamos la instancia  
 #%%                     instancia = instancias[n_instancia - 1]  
 #%%                     for item in instancia.descripcion:  
 #%%                         if self.__personaje.prueba("inteligencia", 0, item["dificultad"], 0) >= 0:  
 #%%                             self.conn().send(item["texto"])  
 #%%  
 #%%                     self.conn().send("Valor (me): " + str(instancia.valor) + "," \  
 #%%                                      " Peso (kg): " + str(instancia.peso) + "," \  
 #%%                                      " Volumen: " + str(instancia.volumen) + "," \  
 #%%                                      " Estado (1-100): " + str(instancia.estado))  
 #%%  
1694  #%%                     self.conn().send("Usos posibles:")  #%%                     self.conn().send("Usos posibles:")
1695  #%%                     for uso in instancia.usos:  #%%                     for uso in instancia.usos:
1696  #%%                         self.conn().send('Tipo: '+uso['tipo']+'\t Posición: '+uso['posicion'])  #%%                         self.conn().send('Tipo: '+uso['tipo']+'\t Posición: '+uso['posicion'])

Legend:
Removed from v.2.19  
changed lines
  Added in v.2.20

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