Repository navigation
Expand file tree
/
Copy pathefectos.py
More file actions
59 lines (54 loc) · 1.67 KB
/
Copy pathefectos.py
File metadata and controls
59 lines (54 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
"""
efectos.py — Efectos de estado avanzados para el sistema de combate.
Implementa al menos 4 efectos distintos con mecánicas propias.
"""
EFECTOS = {
"veneno": {
"nombre": "Veneno",
"emoji": "☠️",
"dano_por_turno": 8,
"turnos": 3,
"descripcion": "Pierde 8 HP al inicio de cada turno"
},
"quemadura": {
"nombre": "Quemadura",
"emoji": "🔥",
"dano_por_turno": 6,
"turnos": 2,
"descripcion": "Pierde 6 HP al inicio de cada turno"
},
"paralisis": {
"nombre": "Parálisis",
"emoji": "⚡",
"dano_por_turno": 0,
"turnos": 1,
"descripcion": "Pierde el siguiente turno"
},
"congelado": {
"nombre": "Congelado",
"emoji": "❄️",
"dano_por_turno": 3,
"turnos": 2,
"descripcion": "Pierde 3 HP y tiene 50% de fallar ataques"
}
}
def obtener_efecto(tipo):
"""Devuelve una copia del efecto solicitado o None si no existe."""
efecto = EFECTOS.get(tipo)
if efecto:
return {
"tipo": tipo,
"nombre": efecto["nombre"],
"emoji": efecto["emoji"],
"dano_por_turno": efecto["dano_por_turno"],
"turnos": efecto["turnos"],
"descripcion": efecto["descripcion"]
}
return None
def describir_efecto(efecto_activo):
"""Devuelve una descripción legible de un efecto activo."""
info = EFECTOS.get(efecto_activo["tipo"], {})
emoji = info.get("emoji", "❓")
nombre = info.get("nombre", efecto_activo["tipo"])
turnos = efecto_activo.get("turnos", 0)
return f"{emoji} {nombre} ({turnos} turnos restantes)"