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

Diff of /ambar/dialogocrear.py

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

revision 2.11 by amoyav, Sat May 31 21:24:44 2003 UTC revision 2.12 by amoyav, Sat Jul 5 23:25:52 2003 UTC
# Line 141  class DialogoCrear(Dialogo): Line 141  class DialogoCrear(Dialogo):
141    
142      def estado_1(self):      def estado_1(self):
143          self.poner_estado(1)          self.poner_estado(1)
144            self.conn().send(color(32) + 'Puedes crear un personaje automático escribiendo "visitante".' + finl)
145          self.conn().send(color(33) + '¿Qué nombre deseas tener? ' + color(32) + '(? - +): ' + finl, 0)          self.conn().send(color(33) + '¿Qué nombre deseas tener? ' + color(32) + '(? - +): ' + finl, 0)
146          return None          return None
147    
# Line 167  class DialogoCrear(Dialogo): Line 168  class DialogoCrear(Dialogo):
168                  dlg = self.estado_2()                  dlg = self.estado_2()
169          else:          else:
170              id = cmd_list[0]              id = cmd_list[0]
171              #Comprobamos que no es un nombre raro              if id != "visitante":
172              no_valido = 0  
173              caracteres_no_validos = ''                  #Comprobamos que no es un nombre raro
174              for i in id:                  no_valido = 0
175                  if (i not in string.letters) and (i not in string.digits):                  caracteres_no_validos = ''
176                      no_valido = 1                  for i in id:
177                      caracteres_no_validos += ' '+i                      if (i not in string.letters) and (i not in string.digits):
178                  elif len(id) > 25:                          no_valido = 1
179                      no_valido = 1                          caracteres_no_validos += ' '+i
180                      caracteres_no_validos = 'El nombre es demasiado largo'                      elif len(id) > 25:
181                            no_valido = 1
182              if no_valido:                          caracteres_no_validos = 'El nombre es demasiado largo'
183                  self.conn().send("El nombre introducido contiene caracteres que no son letras o dígitos")  
184                  self.conn().send("o es demasiado largo.")                  if no_valido:
185                  self.conn().send("Caracteres no válidos: "+caracteres_no_validos)                      self.conn().send("El nombre introducido contiene caracteres que no son letras o dígitos")
186                  dlg = self.estado_1()                      self.conn().send("o es demasiado largo.")
187                                            self.conn().send("Caracteres no válidos: "+caracteres_no_validos)
188              #Comprobamos que no existe ya un pj con mismo ID                      dlg = self.estado_1()
189              elif Mundo.pjs_activos.has_key(id) or \                          
190                 Mundo.localizar_sala(Mundo.ID_SALA_LIMBO).personajes.has_key(id):                  #Comprobamos que no existe ya un pj con mismo ID
191                  self.conn().send('Ya existe en juego un personaje con el nombre de ' + id + ', prueba con otro...')                  elif Mundo.pjs_activos.has_key(id) or \
192                  dlg = self.estado_1()                     Mundo.localizar_sala(Mundo.ID_SALA_LIMBO).personajes.has_key(id):
193                        self.conn().send('Ya existe en juego un personaje con el nombre de ' + id + ', prueba con otro...')
194              #Procedemos a crear el pj                      dlg = self.estado_1()
195              else:  
196                  self.__id = id                  #Procedemos a crear el pj
197                  self.conn().send('El nombre de tu personaje es ' + str(self.__id))                  else:
198                  escribir('El nombre que ha elegido el jugador es: ' + self.__id)                      self.__id = id
199                  self.conn().send('')                      self.conn().send('El nombre de tu personaje es ' + str(self.__id))
200                  dlg = self.estado_101()                      escribir('El nombre que ha elegido el jugador es: ' + self.__id)
201                        self.conn().send('')
202                        dlg = self.estado_101()
203    
204                else:
205    
206                    #Creacion de un personaje visitante automatico
207                    self.__id = id + Mundo.nuevo_id_visitante()
208                    self.__clave = "visitante"
209                    self.__es_maia = 0
210                    self.__raza = Raza_buscar("humano")
211                    self.__sexo = "masculino"
212                    self.__edad = 20
213                    self.__altura = 1.60
214                    self.__peso = 60
215                    self.__color_de_ojos = "negro"
216                    self.__color_de_pelo = "negro"
217                    self.__profesion = Profesion_buscar("bribon")
218                    self.__atrib = {}
219                    for atributo in self.__raza.modif_atrib.keys():
220                        self.__atrib[atributo] = 12 + \
221                                   PersonajeJugador.modif_atrib_total(atributo,
222                                                                      self.__raza,
223                                                                      self.__profesion)
224                    self.__idiomas = {}
225                    for idioma in self.__raza.idiomas_base.keys():
226                        self.__idiomas[idioma] = self.__raza.idiomas_base[idioma] + 2
227                        if self.__idiomas[idioma] > 5:
228                            self.__idiomas[idioma] = 5
229                    self.__descripcion = [{"dificultad": 0,
230                                           "texto": "Un tipo anonimo, de lo mas corriente. Un vagabundo como " +
231                                                    "los que te puedes encontrar en cualquier camino..."}]
232    
233                    self.conn().send('Se ha creado un personaje automático para tí')
234                    self.conn().send('El nombre de tu personaje es ' + str(self.__id))
235                    self.conn().send('Y la contraseña ' + str(self.__clave))
236                    escribir('El nombre que ha elegido el jugador es: ' + self.__id)
237                    self.conn().send('')
238    
239                    dlg = self.estado_20()
240    
241          return dlg          return dlg
242    
243      def estado_101(self):      def estado_101(self):
# Line 647  class DialogoCrear(Dialogo): Line 688  class DialogoCrear(Dialogo):
688          if self.__atrib_ok == None:          if self.__atrib_ok == None:
689              self.__atrib_ok = 0              self.__atrib_ok = 0
690    
691              # Aqui se inicializa el nivel, los valores iniciales de los atributos              # Aqui se inicializan los valores iniciales de los atributos y los puntos para repartir.
             # y los puntos para repartir.  
             self.__nivel = 1  
             self.__experiencia = 0  
692              self.__ptos_atrib = 0              self.__ptos_atrib = 0
693              self.__ptos_atrib_max = 72 - PersonajeJugador.ptos_obligatorios(self.__raza,              self.__ptos_atrib_max = 72 - PersonajeJugador.ptos_obligatorios(self.__raza,
694                                                                              self.__profesion)                                                                              self.__profesion)
# Line 1122  class DialogoCrear(Dialogo): Line 1160  class DialogoCrear(Dialogo):
1160          self.__aura = self.__raza.aura_base          self.__aura = self.__raza.aura_base
1161          self.__sala = Mundo.localizar_sala(Mundo.ID_SALA_ENTRADA)          self.__sala = Mundo.localizar_sala(Mundo.ID_SALA_ENTRADA)
1162    
1163            self.__nivel = 1
1164            self.__experiencia = 0
1165    
1166          # Ya tenemos todos los datos, podemos crear el personaje          # Ya tenemos todos los datos, podemos crear el personaje
1167          # y pasar por fin al estado normal.          # y pasar por fin al estado normal.
1168    

Legend:
Removed from v.2.11  
changed lines
  Added in v.2.12

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