From e94108db125d88422d3a909fd28e0a48fb8c15ed Mon Sep 17 00:00:00 2001
From: victogo <victor.gonzalezn@estudiantes.uva.es>
Date: Tue, 19 Nov 2024 21:01:26 +0100
Subject: [PATCH] =?UTF-8?q?Feature:=20nueva=20opcion=20agregada=20al=20eve?=
 =?UTF-8?q?nto=20trampa,=20gastas=20dos=20de=20energ=C3=ADa=20a=20cambio?=
 =?UTF-8?q?=20de=20obtener=20un=2040%=20de=20posibilidades=20de=20escapar?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../model/GestorDeEventos.kt                  |  1 +
 .../model/efecto/EfectoEscalar.kt             | 22 +++++++++++++++++++
 .../model/efecto/EfectoFuerzaBruta.kt         |  4 ++--
 .../model/eventoFactory/TrampaFactory.kt      |  7 +++++-
 4 files changed, 31 insertions(+), 3 deletions(-)
 create mode 100644 app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoEscalar.kt

diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/GestorDeEventos.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/GestorDeEventos.kt
index e84c7c2..37342e4 100644
--- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/GestorDeEventos.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/GestorDeEventos.kt
@@ -43,6 +43,7 @@ object GestorDeEventos{
                 Atributo.Vida -> ContextCompat.getDrawable(context, R.drawable.icon_vida)
                 Atributo.Ataque -> ContextCompat.getDrawable(context, R.drawable.icon_espada)
                 Atributo.Investigacion -> ContextCompat.getDrawable(context, R.drawable.icon_vasija)
+                Atributo.Energia -> ContextCompat.getDrawable(context, R.drawable.icon_energia)
                 else -> null
             }
 
diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoEscalar.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoEscalar.kt
new file mode 100644
index 0000000..74c9051
--- /dev/null
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoEscalar.kt
@@ -0,0 +1,22 @@
+package com.example.ellegadodepintia.exploradoresDePintia.model.efecto
+
+import com.example.ellegadodepintia.exploradoresDePintia.model.Atributo
+import com.example.ellegadodepintia.exploradoresDePintia.model.GameState
+
+
+class EfectoEscalar() : Efecto(100) {
+    override fun ejecutar(): String {
+        if (GameState.jugador.atributos[Atributo.Energia]!!<2){
+            return "No tienes energía suficiente para intentar escapar escalando. Necesitas al menos 2 puntos"
+        }else{
+            GameState.jugador.actualizarAtributo(Atributo.Energia, -2)
+            if ((1..100).random() <= 40){
+                GameState.eventoActual.actualizarFinalizado(true)
+                return "Logras escalar la montaña de piedras y escapar. El esfuerzo no ha sido en vano"
+            }else{
+                return "Al escalar la montaña de piedras, sufres un resbalo y vuelves a caer, gastando inútilmente energía"
+            }
+        }
+
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoFuerzaBruta.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoFuerzaBruta.kt
index 0316c2c..118fd34 100644
--- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoFuerzaBruta.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoFuerzaBruta.kt
@@ -8,9 +8,9 @@ class EfectoFuerzaBruta() : Efecto(100) {
         GameState.jugador.actualizarAtributo(Atributo.Vida, -1)
         if ((1..100).random() <= 25){
             GameState.eventoActual.actualizarFinalizado(true)
-            return "Con un esfuerzo descomunal, logras escapar y te abres paso, agotado pero libre."
+            return "Con un esfuerzo descomunal, logras mover las piedras con tus manos y escapar, haciendote daño en el acto"
         }else{
-            return "A pesar de tu esfuerzo, no logras escapar y sigues atrapado"
+            return "A pesar de tu esfuerzo, no logras escapar y sigues atrapado. Has sufrido daño"
         }
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/TrampaFactory.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/TrampaFactory.kt
index 12655ef..45d6bc7 100644
--- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/TrampaFactory.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/TrampaFactory.kt
@@ -3,6 +3,7 @@ package com.example.ellegadodepintia.exploradoresDePintia.model.eventoFactory
 import com.example.ellegadodepintia.R
 import com.example.ellegadodepintia.exploradoresDePintia.model.Atributo
 import com.example.ellegadodepintia.exploradoresDePintia.model.Opcion
+import com.example.ellegadodepintia.exploradoresDePintia.model.efecto.EfectoEscalar
 import com.example.ellegadodepintia.exploradoresDePintia.model.efecto.EfectoExplorar
 import com.example.ellegadodepintia.exploradoresDePintia.model.efecto.EfectoFuerzaBruta
 import com.example.ellegadodepintia.exploradoresDePintia.model.efecto.EfectoPico
@@ -23,6 +24,10 @@ class TrampaFactory : EventoFactory {
                     descripcion = "Explorar",
                     atributoRequerida = Atributo.Investigacion,
                     EfectoExplorar()
+                ), Opcion(
+                    descripcion = "Escalar",
+                    atributoRequerida = Atributo.Energia,
+                    EfectoEscalar()
                 )
             )
         ),
@@ -34,7 +39,7 @@ class TrampaFactory : EventoFactory {
     }
 
     override fun generarOpciones(descripcion: String): MutableList<Opcion> {
-        return trampasMap[descripcion]?.second?.shuffled()?.take(3)?.toMutableList()
+        return trampasMap[descripcion]?.second?.shuffled()?.take(4)?.toMutableList()
             ?: mutableListOf()
     }
 
-- 
GitLab