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 |
|
|
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): |
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) |
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: |
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: |
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): |
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 |
#%% |
#%% |
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']) |