446 |
(id_objeto, cantidad, n_orden, n_instancia, ok) = \ |
(id_objeto, cantidad, n_orden, n_instancia, ok) = \ |
447 |
self.parsear_ident_objeto(args, "coger") |
self.parsear_ident_objeto(args, "coger") |
448 |
if ok: |
if ok: |
449 |
self.cmd_coger(id_objeto, cantidad, n_orden, n_instancia) |
self.cmd_coger(id_objeto, n_orden, n_instancia, cantidad) |
450 |
self.estado_0() |
self.estado_0() |
451 |
|
|
452 |
#%% try: |
#%% try: |
465 |
(id_objeto, cantidad, n_orden, n_instancia, ok) = \ |
(id_objeto, cantidad, n_orden, n_instancia, ok) = \ |
466 |
self.parsear_ident_objeto(args, "dejar") |
self.parsear_ident_objeto(args, "dejar") |
467 |
if ok: |
if ok: |
468 |
self.cmd_dejar(id_objeto, cantidad, n_orden, n_instancia) |
self.cmd_dejar(id_objeto, n_orden, n_instancia, cantidad) |
469 |
|
|
470 |
self.estado_0() |
self.estado_0() |
471 |
|
|
473 |
(id_receptor, id_objeto, cantidad, n_orden, n_instancia, ok) = \ |
(id_receptor, id_objeto, cantidad, n_orden, n_instancia, ok) = \ |
474 |
self.parsear_ident_objeto(args, "dar") |
self.parsear_ident_objeto(args, "dar") |
475 |
if ok: |
if ok: |
476 |
self.cmd_dar(id_receptor, id_objeto, cantidad, n_orden, n_instancia) |
self.cmd_dar(id_receptor, id_objeto, n_orden, n_instancia, cantidad) |
477 |
|
|
478 |
self.estado_0() |
self.estado_0() |
479 |
|
|
500 |
(id_objeto, cantidad, n_orden, n_instancia, ok) = \ |
(id_objeto, cantidad, n_orden, n_instancia, ok) = \ |
501 |
self.parsear_ident_objeto(args, "esconder") |
self.parsear_ident_objeto(args, "esconder") |
502 |
if ok: |
if ok: |
503 |
dificultad = self.__personaje.generar_dificultad("inteligencia", 0) |
self.cmd_esconder(id_objeto, n_orden, n_instancia, cantidad) |
|
self.cmd_dejar(id_objeto, cantidad, n_orden, n_instancia, dificultad) |
|
504 |
|
|
505 |
self.estado_0() |
self.estado_0() |
506 |
|
|
598 |
self.estado_0() |
self.estado_0() |
599 |
|
|
600 |
elif accion == "+noseguir" or accion == "+noseg": |
elif accion == "+noseguir" or accion == "+noseg": |
601 |
self.cmd_noseguir() |
self.cmd_no_seguir() |
602 |
self.estado_0() |
self.estado_0() |
603 |
|
|
604 |
elif accion == "+ip": |
elif accion == "+ip": |
1289 |
", ".join([ i.nombre for i in Idioma_lista ])) |
", ".join([ i.nombre for i in Idioma_lista ])) |
1290 |
|
|
1291 |
|
|
1292 |
def cmd_coger(self, id_objeto, cantidad, n_orden, n_instancia): |
def cmd_coger(self, id_objeto, n_orden, n_instancia, cantidad): |
1293 |
encontrados = 0 |
try: |
|
n_objeto = -1 |
|
|
|
|
|
# Buscar el objeto en la sala. Puede que haya varios con el mismo identificativo, |
|
|
# discriminamos con el parametro n_orden. |
|
|
for objeto in self.__personaje.sala.objetos: |
|
|
n_objeto = n_objeto + 1 |
|
|
instancias = objeto["instancias"] |
|
|
if len(instancias) > 0: |
|
|
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 hay " + str(n_instancia + cantidad - 1) + |
|
|
" instancias de ese objeto, solo hay " + |
|
|
str(len(instancias))) |
|
|
else: |
|
|
|
|
|
# Todo ok: cogemos las instancias y las metemos en la mochila |
|
|
for i in range(0, cantidad): |
|
|
instancia = self.__personaje.sala.coger_objeto(n_objeto, |
|
|
n_instancia - 1) |
|
|
self.__personaje.meter_en_mochila(instancia) |
|
|
|
|
|
self.__personaje.actuar("ha cogido " + instancia.nombre) |
|
|
self.conn().send("Has cogido " + instancia.nombre, 0) |
|
|
if cantidad > 1: |
|
|
self.conn().send(" (" + str(cantidad) + " unidades)") |
|
|
else: |
|
|
self.conn().send("") |
|
1294 |
|
|
1295 |
break |
#%% aqui faltaría lo del sigilo... |
1296 |
|
nombre = self.__personaje.coger(id_objeto, n_orden, n_instancia, cantidad) |
1297 |
if encontrados == 0: |
|
1298 |
self.conn().send("No hay en la sala ningún objeto con identificativo " + id_objeto) |
self.conn().send("Has cogido " + nombre, 0) |
1299 |
elif encontrados < n_orden: |
if cantidad > 1: |
1300 |
self.conn().send("No hay en la sala suficientes objetos con identificativo " + |
self.conn().send(" (" + str(cantidad) + " unidades)") |
1301 |
id_objeto + ", solo hay " + str(encontrados)) |
else: |
1302 |
|
self.conn().send("") |
1303 |
|
|
1304 |
|
except ExcepcionDeJuego, mensaje: |
1305 |
|
|
1306 |
|
self.conn().send(mensaje) |
1307 |
|
|
1308 |
|
|
1309 |
|
#%% def cmd_coger(self, id_objeto, cantidad, n_orden, n_instancia): |
1310 |
|
#%% encontrados = 0 |
1311 |
|
#%% n_objeto = -1 |
1312 |
|
#%% |
1313 |
|
#%% # Buscar el objeto en la sala. Puede que haya varios con el mismo identificativo, |
1314 |
|
#%% # discriminamos con el parametro n_orden. |
1315 |
|
#%% for objeto in self.__personaje.sala.objetos: |
1316 |
|
#%% n_objeto = n_objeto + 1 |
1317 |
|
#%% instancias = objeto["instancias"] |
1318 |
|
#%% if len(instancias) > 0: |
1319 |
|
#%% if normalizar_id(id_objeto) == extraer_id(instancias[0].nombre): |
1320 |
|
#%% encontrados = encontrados + 1 |
1321 |
|
#%% if encontrados == n_orden: |
1322 |
|
#%% |
1323 |
|
#%% # Hemos encontrado el objeto, ahora vemos si hay instancias |
1324 |
|
#%% # suficientes. |
1325 |
|
#%% if (n_instancia + cantidad - 1) > len(instancias): |
1326 |
|
#%% self.conn().send("No hay " + str(n_instancia + cantidad - 1) + |
1327 |
|
#%% " instancias de ese objeto, solo hay " + |
1328 |
|
#%% str(len(instancias))) |
1329 |
|
#%% else: |
1330 |
|
#%% |
1331 |
|
#%% # Todo ok: cogemos las instancias y las metemos en la mochila |
1332 |
|
#%% for i in range(0, cantidad): |
1333 |
|
#%% instancia = self.__personaje.sala.coger_objeto(n_objeto, |
1334 |
|
#%% n_instancia - 1) |
1335 |
|
#%% self.__personaje.meter_en_mochila(instancia) |
1336 |
|
#%% |
1337 |
|
#%% self.__personaje.actuar("ha cogido " + instancia.nombre) |
1338 |
|
#%% self.conn().send("Has cogido " + instancia.nombre, 0) |
1339 |
|
#%% if cantidad > 1: |
1340 |
|
#%% self.conn().send(" (" + str(cantidad) + " unidades)") |
1341 |
|
#%% else: |
1342 |
|
#%% self.conn().send("") |
1343 |
|
#%% |
1344 |
|
#%% break |
1345 |
|
#%% |
1346 |
|
#%% if encontrados == 0: |
1347 |
|
#%% self.conn().send("No hay en la sala ningún objeto con identificativo " + id_objeto) |
1348 |
|
#%% elif encontrados < n_orden: |
1349 |
|
#%% self.conn().send("No hay en la sala suficientes objetos con identificativo " + |
1350 |
|
#%% id_objeto + ", solo hay " + str(encontrados)) |
1351 |
|
|
1352 |
|
|
1353 |
#%% def cmd_coger(self, nombre_objeto, cantidad=1): |
#%% def cmd_coger(self, nombre_objeto, cantidad=1): |
1372 |
#%% else: |
#%% else: |
1373 |
#%% 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") |
1374 |
|
|
|
|
|
|
def cmd_dejar(self, id_objeto, cantidad, n_orden, n_instancia, dificultad = 0): |
|
|
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 + 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: |
|
1375 |
|
|
1376 |
# Todo ok: sacamos las instancias de la mochila y las dejamos |
def cmd_esconder(self, id_objeto, n_orden, n_instancia, cantidad): |
1377 |
# en la sala |
try: |
|
for i in range(0, cantidad): |
|
|
instancia = self.__personaje.sacar_de_mochila(n_objeto, |
|
|
n_instancia - 1) |
|
|
self.__personaje.sala.dejar_objeto(instancia, dificultad) |
|
|
|
|
|
if dificultad == 0: |
|
|
self.__personaje.actuar("ha dejado " + instancia.nombre) |
|
|
self.conn().send("Has dejado " + instancia.nombre, 0) |
|
|
else: |
|
|
self.__personaje.actuar("ha escondido algo") |
|
|
self.conn().send("Has escondido " + instancia.nombre, 0) |
|
|
|
|
|
if cantidad > 1: |
|
|
self.conn().send(" (" + str(cantidad) + " unidades)") |
|
|
else: |
|
|
self.conn().send("") |
|
1378 |
|
|
1379 |
break |
#%% aqui faltaría lo del sigilo... |
1380 |
|
nombre = self.__personaje.esconder(id_objeto, n_orden, n_instancia, cantidad) |
|
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)) |
|
1381 |
|
|
1382 |
|
self.conn().send("Has escondido " + nombre, 0) |
1383 |
|
if cantidad > 1: |
1384 |
|
self.conn().send(" (" + str(cantidad) + " unidades)") |
1385 |
|
else: |
1386 |
|
self.conn().send("") |
1387 |
|
|
1388 |
def cmd_dar(self, id_receptor, id_objeto, cantidad, n_orden, n_instancia): |
except ExcepcionDeJuego, mensaje: |
|
encontrados = 0 |
|
|
n_objeto = -1 |
|
1389 |
|
|
1390 |
# Buscar el id_receptor en la sala actual. |
self.conn().send(mensaje) |
|
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...) |
|
1391 |
|
|
|
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("") |
|
1392 |
|
|
1393 |
break |
def cmd_dejar(self, id_objeto, n_orden, n_instancia, cantidad): |
1394 |
|
try: |
1395 |
if encontrados == 0: |
|
1396 |
self.conn().send("No tienes en la mochila ningún objeto con identificativo " + |
#%% aqui faltaría lo del sigilo... |
1397 |
id_objeto) |
nombre = self.__personaje.dejar(id_objeto, n_orden, n_instancia, cantidad) |
1398 |
elif encontrados < n_orden: |
|
1399 |
self.conn().send("No tienes en la mochila suficientes objetos con identificativo " + |
self.conn().send("Has dejado " + nombre, 0) |
1400 |
id_objeto + ", solo tienes " + str(encontrados)) |
if cantidad > 1: |
1401 |
|
self.conn().send(" (" + str(cantidad) + " unidades)") |
1402 |
|
else: |
1403 |
|
self.conn().send("") |
1404 |
|
|
1405 |
|
except ExcepcionDeJuego, mensaje: |
1406 |
|
|
1407 |
|
self.conn().send(mensaje) |
1408 |
|
|
1409 |
|
|
1410 |
|
|
1411 |
|
#%% def cmd_dejar(self, id_objeto, cantidad, n_orden, n_instancia, dificultad = 0): |
1412 |
|
#%% encontrados = 0 |
1413 |
|
#%% n_objeto = -1 |
1414 |
|
#%% |
1415 |
|
#%% # Buscar el objeto en la mochila. Puede que haya varios con el mismo identificativo, |
1416 |
|
#%% # discriminamos con el parametro n_orden. |
1417 |
|
#%% for instancias in self.__personaje.mochila: |
1418 |
|
#%% n_objeto = n_objeto + 1 |
1419 |
|
#%% if normalizar_id(id_objeto) == extraer_id(instancias[0].nombre): |
1420 |
|
#%% encontrados = encontrados + 1 |
1421 |
|
#%% if encontrados == n_orden: |
1422 |
|
#%% |
1423 |
|
#%% # Hemos encontrado el objeto, ahora vemos si hay instancias |
1424 |
|
#%% # suficientes. |
1425 |
|
#%% if (n_instancia + cantidad - 1) > len(instancias): |
1426 |
|
#%% self.conn().send("No tienes " + str(n_instancia + cantidad - 1) + |
1427 |
|
#%% " unidades de ese objeto en la mochila, solo tienes " + |
1428 |
|
#%% str(len(instancias))) |
1429 |
|
#%% else: |
1430 |
|
#%% |
1431 |
|
#%% # Todo ok: sacamos las instancias de la mochila y las dejamos |
1432 |
|
#%% # en la sala |
1433 |
|
#%% for i in range(0, cantidad): |
1434 |
|
#%% instancia = self.__personaje.sacar_de_mochila(n_objeto, |
1435 |
|
#%% n_instancia - 1) |
1436 |
|
#%% self.__personaje.sala.dejar_objeto(instancia, dificultad) |
1437 |
|
#%% |
1438 |
|
#%% if dificultad == 0: |
1439 |
|
#%% self.__personaje.actuar("ha dejado " + instancia.nombre) |
1440 |
|
#%% self.conn().send("Has dejado " + instancia.nombre, 0) |
1441 |
|
#%% else: |
1442 |
|
#%% self.__personaje.actuar("ha escondido algo") |
1443 |
|
#%% self.conn().send("Has escondido " + instancia.nombre, 0) |
1444 |
|
#%% |
1445 |
|
#%% if cantidad > 1: |
1446 |
|
#%% self.conn().send(" (" + str(cantidad) + " unidades)") |
1447 |
|
#%% else: |
1448 |
|
#%% self.conn().send("") |
1449 |
|
#%% |
1450 |
|
#%% break |
1451 |
|
#%% |
1452 |
|
#%% if encontrados == 0: |
1453 |
|
#%% self.conn().send("No tienes en la mochila ningún objeto con identificativo " + |
1454 |
|
#%% id_objeto) |
1455 |
|
#%% elif encontrados < n_orden: |
1456 |
|
#%% self.conn().send("No tienes en la mochila suficientes objetos con identificativo " + |
1457 |
|
#%% id_objeto + ", solo tienes " + str(encontrados)) |
1458 |
|
|
1459 |
|
|
1460 |
#%% def cmd_dejar(self, nombre_objeto, cantidad, accion = "dejado",dif=0): |
#%% def cmd_dejar(self, nombre_objeto, cantidad, accion = "dejado",dif=0): |
1471 |
#%% else: |
#%% else: |
1472 |
#%% 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]) |
1473 |
|
|
1474 |
|
|
1475 |
|
def cmd_dar(self, id_receptor, id_objeto, n_orden, n_instancia, cantidad): |
1476 |
|
|
1477 |
|
# Buscar el id_receptor en la sala actual. |
1478 |
|
receptor = None |
1479 |
|
for personaje in self.__personaje.sala.personajes.values(): |
1480 |
|
if personaje != self.__personaje and personaje.controlador != None and string.lower(personaje.id) == string.lower(id_receptor): |
1481 |
|
receptor = personaje |
1482 |
|
break |
1483 |
|
if receptor == None: |
1484 |
|
self.conn().send('No hay nadie aquí que se llame ' + id_receptor) |
1485 |
|
return |
1486 |
|
|
1487 |
|
try: |
1488 |
|
|
1489 |
|
#%% aqui faltaría lo del sigilo... |
1490 |
|
nombre = self.__personaje.dar(receptor, id_objeto, n_orden, n_instancia, cantidad) |
1491 |
|
|
1492 |
|
self.conn().send("Has dado " + nombre, 0) |
1493 |
|
if cantidad > 1: |
1494 |
|
self.conn().send(" (" + str(cantidad) + " unidades)", 0) |
1495 |
|
self.conn().send(" a " + receptor.nombre) |
1496 |
|
|
1497 |
|
except ExcepcionDeJuego, mensaje: |
1498 |
|
|
1499 |
|
self.conn().send(mensaje) |
1500 |
|
|
1501 |
|
|
1502 |
|
#%% def cmd_dar(self, id_receptor, id_objeto, cantidad, n_orden, n_instancia): |
1503 |
|
#%% encontrados = 0 |
1504 |
|
#%% n_objeto = -1 |
1505 |
|
#%% |
1506 |
|
#%% # Buscar el id_receptor en la sala actual. |
1507 |
|
#%% if self.__personaje.sala != None: |
1508 |
|
#%% receptor_encontrado = 0 |
1509 |
|
#%% for personaje in self.__personaje.sala.personajes.values(): |
1510 |
|
#%% if personaje != self.__personaje and personaje.controlador != None and string.lower(personaje.id) == string.lower(id_receptor): |
1511 |
|
#%% receptor_encontrado = 1 |
1512 |
|
#%% receptor = personaje |
1513 |
|
#%% break |
1514 |
|
#%% if receptor_encontrado == 0: |
1515 |
|
#%% self.conn().send('No hay nadie aquí que se llame '+id_receptor) |
1516 |
|
#%% return |
1517 |
|
#%% |
1518 |
|
#%% # Buscar el objeto en la mochila. Puede que haya varios con el mismo identificativo, |
1519 |
|
#%% # discriminamos con el parametro n_orden. |
1520 |
|
#%% for instancias in self.__personaje.mochila: |
1521 |
|
#%% n_objeto = n_objeto + 1 |
1522 |
|
#%% if normalizar_id(id_objeto) == extraer_id(instancias[0].nombre): |
1523 |
|
#%% encontrados = encontrados + 1 |
1524 |
|
#%% if encontrados == n_orden: |
1525 |
|
#%% |
1526 |
|
#%% # Hemos encontrado el objeto, ahora vemos si hay instancias |
1527 |
|
#%% # suficientes. |
1528 |
|
#%% if (n_instancia + cantidad - 1) > len(instancias): |
1529 |
|
#%% self.conn().send("No tienes " + str(n_instancia + cantidad - 1) + |
1530 |
|
#%% " unidades de ese objeto en la mochila, solo tienes " + |
1531 |
|
#%% str(len(instancias))) |
1532 |
|
#%% else: |
1533 |
|
#%% #Comprobar antes de seguir que el personaje que da el objeto se encuentra |
1534 |
|
#%% #en la lista de confianza del receptor (salvo que el que da sea un Maia...) |
1535 |
|
#%% |
1536 |
|
#%% if not self.__personaje.es_maia: |
1537 |
|
#%% try: |
1538 |
|
#%% confianza = receptor.ids_amigos[self.__personaje.id] |
1539 |
|
#%% if confianza < 1: |
1540 |
|
#%% raise KeyError |
1541 |
|
#%% except KeyError, e: |
1542 |
|
#%% self.conn().send(receptor.nombre + " no acepta tu objeto.\n",0) |
1543 |
|
#%% self.__personaje.actuar_individual(receptor, "te ha intentado dar " + id_objeto + " pero te has negado.") |
1544 |
|
#%% break |
1545 |
|
#%% |
1546 |
|
#%% # Todo ok: sacamos las instancias de la mochila |
1547 |
|
#%% for i in range(0, cantidad): |
1548 |
|
#%% instancia = self.__personaje.sacar_de_mochila(n_objeto, |
1549 |
|
#%% n_instancia - 1) |
1550 |
|
#%% receptor.meter_en_mochila(instancia) |
1551 |
|
#%% |
1552 |
|
#%% #mensajes |
1553 |
|
#%% self.__personaje.actuar("ha dado " + instancia.nombre + " a " + receptor.nombre) |
1554 |
|
#%% self.conn().send("Has dado " + instancia.nombre + " a " + receptor.nombre, 0) |
1555 |
|
#%% self.__personaje.actuar_individual(receptor, "te ha dado " + instancia.nombre +' ('+str(cantidad)+' unidad[es])') |
1556 |
|
#%% if cantidad > 1: |
1557 |
|
#%% self.conn().send(" (" + str(cantidad) + " unidades)") |
1558 |
|
#%% else: |
1559 |
|
#%% self.conn().send("") |
1560 |
|
#%% |
1561 |
|
#%% break |
1562 |
|
#%% |
1563 |
|
#%% if encontrados == 0: |
1564 |
|
#%% self.conn().send("No tienes en la mochila ningún objeto con identificativo " + |
1565 |
|
#%% id_objeto) |
1566 |
|
#%% elif encontrados < n_orden: |
1567 |
|
#%% self.conn().send("No tienes en la mochila suficientes objetos con identificativo " + |
1568 |
|
#%% id_objeto + ", solo tienes " + str(encontrados)) |
1569 |
|
|
1570 |
def cmd_usar(self, id_objeto, n_orden, n_instancia): |
def cmd_usar(self, id_objeto, n_orden, n_instancia): |
1571 |
encontrados = 0 |
try: |
|
n_objeto = -1 |
|
1572 |
|
|
1573 |
# Buscar el objeto en la mochila. Puede que haya varios con el mismo identificativo, |
#%% aqui faltaría lo del sigilo... |
1574 |
# discriminamos con el parametro n_orden. |
nombre = self.__personaje.usar(id_objeto, n_orden, n_instancia) |
|
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: |
|
1575 |
|
|
1576 |
# Todo ok: usamos la instancia |
except ExcepcionDeJuego, mensaje: |
1577 |
instancia = instancias[n_instancia - 1] |
|
1578 |
|
self.conn().send(mensaje) |
1579 |
|
|
1580 |
|
|
1581 |
|
#%% def cmd_usar(self, id_objeto, n_orden, n_instancia): |
1582 |
|
#%% encontrados = 0 |
1583 |
|
#%% n_objeto = -1 |
1584 |
|
#%% |
1585 |
|
#%% # Buscar el objeto en la mochila. Puede que haya varios con el mismo identificativo, |
1586 |
|
#%% # discriminamos con el parametro n_orden. |
1587 |
|
#%% for instancias in self.__personaje.mochila: |
1588 |
|
#%% n_objeto = n_objeto + 1 |
1589 |
|
#%% if normalizar_id(id_objeto) == extraer_id(instancias[0].nombre): |
1590 |
|
#%% encontrados = encontrados + 1 |
1591 |
|
#%% if encontrados == n_orden: |
1592 |
|
#%% |
1593 |
|
#%% # Hemos encontrado el objeto, ahora vemos si hay instancias |
1594 |
|
#%% # suficientes. |
1595 |
|
#%% if (n_instancia) > len(instancias): |
1596 |
|
#%% self.conn().send("No tienes " + str(n_instancia) + |
1597 |
|
#%% " instancias de ese objeto en la mochila, solo tienes " + |
1598 |
|
#%% str(len(instancias))) |
1599 |
|
#%% else: |
1600 |
|
#%% |
1601 |
|
#%% # Todo ok: usamos la instancia |
1602 |
|
#%% instancia = instancias[n_instancia - 1] |
1603 |
|
#%% |
1604 |
|
#%% if not instancia.puede_usar(self.__personaje): |
1605 |
|
#%% self.conn().send("No puedes usar este objeto.") |
1606 |
|
#%% else: |
1607 |
|
#%% instancia.usar(self.__personaje) |
1608 |
|
#%% |
1609 |
|
#%% #self.conn().send("Aún no se pueden usar objetos...") |
1610 |
|
#%% #if nombre_objeto == "": |
1611 |
|
#%% # self.conn.send("Debes especificar un objeto") |
1612 |
|
#%% #else: |
1613 |
|
#%% # resultado = encontrar_en_equipo(nombre_objeto, self.personaje.equipo) |
1614 |
|
#%% #if resultado[1] == 0: |
1615 |
|
#%% # self.conn().send('No tienes un objeto llamado '+nombre_objeto) |
1616 |
|
#%% #else: |
1617 |
|
#%% # for efecto in resultado[0][:]: |
1618 |
|
#%% # pass |
1619 |
|
|
|
if not instancia.puede_usar(self.__personaje): |
|
|
self.conn().send("No puedes usar este objeto.") |
|
|
else: |
|
|
instancia.usar(self.__personaje) |
|
|
|
|
|
#self.conn().send("Aún no se pueden usar objetos...") |
|
|
#if nombre_objeto == "": |
|
|
# self.conn.send("Debes especificar un objeto") |
|
|
#else: |
|
|
# resultado = encontrar_en_equipo(nombre_objeto, self.personaje.equipo) |
|
|
#if resultado[1] == 0: |
|
|
# self.conn().send('No tienes un objeto llamado '+nombre_objeto) |
|
|
#else: |
|
|
# for efecto in resultado[0][:]: |
|
|
# pass |
|
1620 |
|
|
1621 |
def cmd_examinar(self, id_objeto, n_orden, n_instancia): |
def cmd_examinar(self, id_objeto, n_orden, n_instancia): |
1622 |
encontrados = 0 |
try: |
|
n_objeto = -1 |
|
1623 |
|
|
1624 |
# Buscar el objeto en la mochila. Puede que haya varios con el mismo identificativo, |
n_objeto = self.__personaje.buscar_en_mochila(id_objeto, n_orden) |
1625 |
# discriminamos con el parametro n_orden. |
|
1626 |
for instancias in self.__personaje.mochila: |
instancias = self.__personaje.mochila[n_objeto] |
1627 |
n_objeto = n_objeto + 1 |
if (n_instancia) > len(instancias): |
1628 |
if normalizar_id(id_objeto) == extraer_id(instancias[0].nombre): |
raise ExcepcionDeJuego("No tienes " + str(n_instancia) + |
1629 |
encontrados = encontrados + 1 |
" unidades de ese objeto en la mochila, solo tienes " + |
1630 |
if encontrados == n_orden: |
str(len(instancias))) |
1631 |
|
|
1632 |
# Hemos encontrado el objeto, ahora vemos si hay instancias |
objeto = instancias[n_instancia] |
1633 |
# suficientes. |
|
1634 |
if (n_instancia) > len(instancias): |
for item in objeto.descripcion: |
1635 |
self.conn().send("No tienes " + str(n_instancia) + |
if self.__personaje.prueba("inteligencia", 0, item["dificultad"], 0) >= 0: |
1636 |
" instancias de ese objeto en la mochila, solo tienes " + |
self.conn().send(item["texto"]) |
|
str(len(instancias))) |
|
|
else: |
|
1637 |
|
|
1638 |
# Todo ok: examinamos la instancia |
self.conn().send("Valor (me): " + str(objeto.valor) + "," \ |
1639 |
instancia = instancias[n_instancia - 1] |
" Peso (kg): " + str(objeto.peso) + "," \ |
1640 |
for item in instancia.descripcion: |
" Volumen: " + str(objeto.volumen) + "," \ |
1641 |
if self.__personaje.prueba("inteligencia", 0, item["dificultad"], 0) >= 0: |
" Estado (1-100): " + str(objeto.estado)) |
|
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)) |
|
1642 |
|
|
1643 |
|
self.conn().send("Usos posibles:") |
1644 |
|
for uso in objeto.usos: |
1645 |
|
self.conn().send('Tipo: ' + uso['tipo'] + '\t Posición: ' + uso['posicion']) |
1646 |
|
|
1647 |
|
except ExcepcionDeJuego, mensaje: |
1648 |
|
|
1649 |
|
self.conn().send(mensaje) |
1650 |
|
|
1651 |
|
|
1652 |
|
#%% def cmd_examinar(self, id_objeto, n_orden, n_instancia): |
1653 |
|
#%% encontrados = 0 |
1654 |
|
#%% n_objeto = -1 |
1655 |
|
#%% |
1656 |
|
#%% # Buscar el objeto en la mochila. Puede que haya varios con el mismo identificativo, |
1657 |
|
#%% # discriminamos con el parametro n_orden. |
1658 |
|
#%% for instancias in self.__personaje.mochila: |
1659 |
|
#%% n_objeto = n_objeto + 1 |
1660 |
|
#%% if normalizar_id(id_objeto) == extraer_id(instancias[0].nombre): |
1661 |
|
#%% encontrados = encontrados + 1 |
1662 |
|
#%% if encontrados == n_orden: |
1663 |
|
#%% |
1664 |
|
#%% # Hemos encontrado el objeto, ahora vemos si hay instancias |
1665 |
|
#%% # suficientes. |
1666 |
|
#%% if (n_instancia) > len(instancias): |
1667 |
|
#%% self.conn().send("No tienes " + str(n_instancia) + |
1668 |
|
#%% " instancias de ese objeto en la mochila, solo tienes " + |
1669 |
|
#%% str(len(instancias))) |
1670 |
|
#%% else: |
1671 |
|
#%% |
1672 |
|
#%% # Todo ok: examinamos la instancia |
1673 |
|
#%% instancia = instancias[n_instancia - 1] |
1674 |
|
#%% for item in instancia.descripcion: |
1675 |
|
#%% if self.__personaje.prueba("inteligencia", 0, item["dificultad"], 0) >= 0: |
1676 |
|
#%% self.conn().send(item["texto"]) |
1677 |
|
#%% |
1678 |
|
#%% self.conn().send("Valor (me): " + str(instancia.valor) + "," \ |
1679 |
|
#%% " Peso (kg): " + str(instancia.peso) + "," \ |
1680 |
|
#%% " Volumen: " + str(instancia.volumen) + "," \ |
1681 |
|
#%% " Estado (1-100): " + str(instancia.estado)) |
1682 |
|
#%% |
1683 |
#%% self.conn().send("Usos posibles:") |
#%% self.conn().send("Usos posibles:") |
1684 |
#%% for uso in instancia.usos: |
#%% for uso in instancia.usos: |
1685 |
#%% self.conn().send('Tipo: '+uso['tipo']+'\t Posición: '+uso['posicion']) |
#%% self.conn().send('Tipo: '+uso['tipo']+'\t Posición: '+uso['posicion']) |
1777 |
else: |
else: |
1778 |
if self.__personaje.anterior != None: |
if self.__personaje.anterior != None: |
1779 |
self.conn().send('Ya no estas siguiendo a ' + self.__personaje.anterior.id) |
self.conn().send('Ya no estas siguiendo a ' + self.__personaje.anterior.id) |
1780 |
self.__personaje.noseguir() |
self.__personaje.no_seguir() |
1781 |
|
|
1782 |
lider = self.__personaje.sala.personajes[id_lider] |
lider = self.__personaje.sala.personajes[id_lider] |
1783 |
self.__personaje.seguir(lider) |
self.__personaje.seguir(lider) |
1784 |
self.conn().send('Ahora estas siguiendo a ' + lider.id) |
self.conn().send('Ahora estas siguiendo a ' + lider.id) |
1785 |
|
|
1786 |
|
|
1787 |
def cmd_noseguir(self): |
def cmd_no_seguir(self): |
1788 |
if self.__personaje.anterior == None: |
if self.__personaje.anterior == None: |
1789 |
self.conn().send('¡No estabas siguiendo a nadie!') |
self.conn().send('¡No estabas siguiendo a nadie!') |
1790 |
else: |
else: |
1791 |
self.conn().send('Ya no estas siguiendo a ' + self.__personaje.anterior.id) |
self.conn().send('Ya no estas siguiendo a ' + self.__personaje.anterior.id) |
1792 |
self.__personaje.noseguir() |
self.__personaje.no_seguir() |
1793 |
|
|
1794 |
|
|
1795 |
def cmd_ip(self): |
def cmd_ip(self): |