diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ExploradoresDePintia.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ExploradoresDePintia.kt
index 08c59f3f7804b9c7c2d96d23748347342f19e9e8..56d9117457ebd4e700ee6b66cfd8468b4429f2de 100644
--- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ExploradoresDePintia.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/ExploradoresDePintia.kt
@@ -19,6 +19,7 @@ import com.example.ellegadodepintia.exploradoresDePintia.model.GameState
 import com.example.ellegadodepintia.exploradoresDePintia.model.GeneradorDeEventos
 import com.example.ellegadodepintia.exploradoresDePintia.model.LayoutUtils
 import com.example.ellegadodepintia.exploradoresDePintia.model.GestorDeEventos
+import com.example.ellegadodepintia.repositorios.RepositorioObjetos
 import com.example.ellegadodepintia.soundManager.SoundManager
 import java.lang.ref.WeakReference
 
@@ -102,6 +103,12 @@ class ExploradoresDePintia : AppCompatActivity() {
             }else{
                 GameState.jugador.destruirObjetoRandom()
             }
+        }else if (requestCode == 104 && resultCode == RESULT_OK) {
+            val puntosHuesos = data?.getStringExtra("PUNTOS_HUESOS")!!.toInt()
+            val objeto= RepositorioObjetos.obtenerObjetoPorCoste(puntosHuesos)
+            if (objeto != null){
+                GameState.jugador.conseguirObjeto(objeto)
+            }
         }
 
     }
diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/Jugador.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/Jugador.kt
index f32aca04807376172a32736012627d3c3729d9a4..f108a4496571e4964790ddefa888fcc4fa1024ab 100644
--- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/Jugador.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/Jugador.kt
@@ -13,6 +13,7 @@ import com.example.ellegadodepintia.exploradoresDePintia.model.habilidad.efectoH
 import com.example.ellegadodepintia.exploradoresDePintia.model.habilidad.efectoHabilidad.EfectoBuffo
 import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.Objeto
 import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.ObjetoEquipable
+import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.ObjetoUtilidad
 import com.example.ellegadodepintia.repositorios.RepositorioJugador
 import com.example.ellegadodepintia.repositorios.RepositorioObjetos
 
@@ -54,6 +55,14 @@ class Jugador {
             )
         )
 
+        inventario.add(
+            ObjetoUtilidad(
+                nombre = "Pala Vaccea",
+                descripcion = "Una antigua pala con marcas de uso, forjada con madera resistente y un metal desgastado por el tiempo. Parece estar llena de historia.",
+                imagen = R.drawable.asi_objeto_pala
+            )
+        )
+
         /*habilidades.add(
             Habilidad(
                 nombre = "Revitalización Floral",
diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/TipoEvento.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/TipoEvento.kt
index 2cf471a37c07abf477b7859198ca5f1fde631ca6..4966a4d9e691dfa242eb888b3304b6b836e3c473 100644
--- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/TipoEvento.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/TipoEvento.kt
@@ -8,6 +8,8 @@ enum class TipoEvento {
     Riesgo,
     Descanso,
     Ladron,
+    Desenterrar,
+    /*Trampa,
     /*
     Aliado,
     Misterio,
diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoUtilizarObjetoUtil.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoUtilizarObjetoUtil.kt
index 3e84468cc9f31353c2729209a5fe284773f1b1c3..97ab20017e79f4178cffed90c0f2913b4f370e86 100644
--- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoUtilizarObjetoUtil.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoUtilizarObjetoUtil.kt
@@ -1,14 +1,25 @@
 package com.example.ellegadodepintia.exploradoresDePintia.model.efecto
 
+import android.content.Intent
 import com.example.ellegadodepintia.exploradoresDePintia.model.GameState
+import com.example.ellegadodepintia.exploradoresDePintia.model.GameState.context
+import com.example.ellegadodepintia.minijuego1.InicioMinijuego1
+
 
 
 class EfectoUtilizarObjetoUtil(private val nombreObjeto: String) : Efecto(100) {
     override fun ejecutar(): String {
         val tieneObjeto = GameState.jugador.inventario.removeIf { it.nombre == nombreObjeto }
         if (tieneObjeto){
-            GameState.eventoActual.actualizarFinalizado(true)
-            return "Has usado el objeto $nombreObjeto de tu inventario. Has logrado escapar"
+            if (nombreObjeto == "Pala Vaccea"){
+                val intent = Intent(context, InicioMinijuego1::class.java)
+                context!!.startActivity(intent)
+                GameState.eventoActual.actualizarFinalizado(true)
+                return "¡Has obtenido un objeto de coste equivalente a los puntos que has obtenido! Echa un vistazo a tu inventario"
+            }else{
+                GameState.eventoActual.actualizarFinalizado(true)
+                return "Has usado el objeto $nombreObjeto de tu inventario. Has logrado escapar"
+            }
         }else{
             return "No tienes el $nombreObjeto en tu inventario"
         }
diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/DesenterrarFactory.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/DesenterrarFactory.kt
new file mode 100644
index 0000000000000000000000000000000000000000..0bffea7579abc5d2bf48b507c07dd23023a36bd6
--- /dev/null
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/DesenterrarFactory.kt
@@ -0,0 +1,52 @@
+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.EfectoIgnorar
+import com.example.ellegadodepintia.exploradoresDePintia.model.efecto.EfectoUtilizarObjetoUtil
+
+class DesenterrarFactory : EventoFactory {
+    private val desenterrarMap = mapOf(
+        "¡Has encontrado un antiguo yacimiento arqueológico! Aquí se esconden reliquias misteriosas esperando ser desenterradas. ¿Qué secretos del pasado descubrirás?" to Pair(
+            R.drawable.asi_exploradores_desenterrar, listOf(
+                Opcion(
+                    descripcion = "Desenterrar",
+                    atributoRequerida = Atributo.Nula,
+                    EfectoUtilizarObjetoUtil(
+                        "Pala Vaccea"
+                    )
+                ), Opcion(
+                    descripcion = "Ignorar",
+                    atributoRequerida = Atributo.Nula,
+                    EfectoIgnorar(100)
+                )
+            )
+        ),
+    )
+
+    override fun generarDescripcion(): String {
+        return desenterrarMap.keys.random()
+    }
+
+    override fun generarOpciones(descripcion: String): MutableList<Opcion> {
+        return desenterrarMap[descripcion]?.second?.shuffled()?.take(4)?.toMutableList()
+            ?: mutableListOf()
+    }
+
+    override fun generarImagen(descripcion: String): Int {
+        return desenterrarMap[descripcion]?.first!!
+    }
+
+    override fun generarEvento(): EventoDesenterrar {
+        val descripcion = generarDescripcion()
+        return EventoDesenterrar(
+            descripcion = descripcion,
+            dificultad = 0,
+            opciones = generarOpciones(descripcion),
+            imagen = generarImagen(descripcion),
+            resistenciaMax = (2..8).random(),
+            finalizado = false
+        )
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/EventoDesenterrar.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/EventoDesenterrar.kt
new file mode 100644
index 0000000000000000000000000000000000000000..b6ce95e29d28be60fbe07f20d7275b19d40f4c98
--- /dev/null
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/EventoDesenterrar.kt
@@ -0,0 +1,11 @@
+package com.example.ellegadodepintia.exploradoresDePintia.model.eventoFactory
+
+import com.example.ellegadodepintia.exploradoresDePintia.model.Opcion
+
+class EventoDesenterrar(
+    override val descripcion: String,
+    override val dificultad: Int,
+    override val opciones: MutableList<Opcion>,
+    override val imagen: Int, resistenciaMax: Int,
+    override var finalizado: Boolean,
+) : Evento(descripcion, dificultad, opciones, imagen, resistenciaMax, resistenciaMax, finalizado)
\ No newline at end of file
diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/EventoFactorySelector.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/EventoFactorySelector.kt
index 1be2e5f11a193b56092eed6b4fd133b1b90c6ef4..3a1beff845c1866979e24dc021165e2d53d96b0b 100644
--- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/EventoFactorySelector.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/EventoFactorySelector.kt
@@ -13,6 +13,7 @@ object EventoFactorySelector {
             TipoEvento.Riesgo -> RiesgoFactory()
             TipoEvento.Descanso -> DescansoFactory()
             TipoEvento.Ladron -> LadronFactory()
+            TipoEvento.Desenterrar -> DesenterrarFactory()
         }
     }
 }
diff --git a/app/src/main/java/com/example/ellegadodepintia/minijuego1/FinMinijuego1.kt b/app/src/main/java/com/example/ellegadodepintia/minijuego1/FinMinijuego1.kt
index 03f06c3c6715cae32a4590b3208b057f424ab029..aa19c8e3e142845a899cfc61b8b1648e3b4acac1 100644
--- a/app/src/main/java/com/example/ellegadodepintia/minijuego1/FinMinijuego1.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/minijuego1/FinMinijuego1.kt
@@ -1,5 +1,6 @@
 package com.example.ellegadodepintia.minijuego1
 
+import android.content.Intent
 import android.os.Bundle
 import android.widget.Button
 import android.widget.TextView
@@ -25,8 +26,10 @@ class FinMinijuego1 : AppCompatActivity() {
 
         // Acción del botón para reiniciar o volver
         botonReiniciar.setOnClickListener {
-            // Regresar a la actividad anterior
-            finish()  // Termina esta actividad y vuelve a la anterior
+            val resultadoIntent = Intent()
+            resultadoIntent.putExtra("PUNTOS_HUESOS", puntuacion.toString())
+            setResult(RESULT_OK, resultadoIntent)
+            finish()
         }
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/ellegadodepintia/minijuego1/InicioMinijuego1.kt b/app/src/main/java/com/example/ellegadodepintia/minijuego1/InicioMinijuego1.kt
index 9f987e3ef5f6881201f706a09532d54458c97d55..bacf8a08f8dce0eaccdf41f90bef9faf1d50abf9 100644
--- a/app/src/main/java/com/example/ellegadodepintia/minijuego1/InicioMinijuego1.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/minijuego1/InicioMinijuego1.kt
@@ -28,6 +28,7 @@ class InicioMinijuego1 : AppCompatActivity() {
             // Intent para iniciar una nueva actividad (supongamos que tienes una Activity llamada GameActivity)
             val intent = Intent(this, Minijuego1::class.java)
             startActivity(intent)
+            finish()
         }
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/ellegadodepintia/minijuego1/Minijuego1.kt b/app/src/main/java/com/example/ellegadodepintia/minijuego1/Minijuego1.kt
index 37ee84023018c53dff76bf151e5d3124bdf50488..020b372f73ea23569f5d70eb316feabf845178b1 100644
--- a/app/src/main/java/com/example/ellegadodepintia/minijuego1/Minijuego1.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/minijuego1/Minijuego1.kt
@@ -17,6 +17,7 @@ import android.widget.ImageView
 import android.widget.TextView
 import androidx.appcompat.app.AppCompatActivity
 import com.example.ellegadodepintia.R
+import com.example.ellegadodepintia.exploradoresDePintia.model.GameState.context
 import com.example.ellegadodepintia.soundManager.SoundManager
 import kotlin.random.Random
 
@@ -124,7 +125,7 @@ class Minijuego1 : AppCompatActivity() {
                 val intent = Intent(this@Minijuego1, FinMinijuego1::class.java)
                 intent.putExtra("puntuacion", puntaje)
                 if (!fuera) {
-                    startActivity(intent)
+                    context!!.startActivityForResult(intent, 104)
                 }
                 finish()
             }
diff --git a/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt b/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt
index bf91a4596e31d3fa0ae64c5402b6d50f2bde8c8f..f1072323c00dcff1d94eb40a4d4af222642bc44f 100644
--- a/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt
@@ -12,25 +12,25 @@ object RepositorioObjetos {
             ObjetoDeValor(
                 nombre = "Vasito de barro cocido",
                 descripcion = "Objeto de gran valor. Se convierte en 20 monedas si consigues completar la partida.",
-                coste = 20,
+                coste = 10,
                 imagen = R.drawable.asi_exploradores_vasito
             ),
             ObjetoDeValor(
                 nombre = "Jabonera de cerámica",
                 descripcion = "Objeto de gran valor. Se convierte en 20 monedas si consigues completar la partida.",
-                coste = 20,
+                coste = 15,
                 imagen = R.drawable.asi_exploradores_jabonera
             ),
             ObjetoDeValor(
                 nombre = "Copa negra con inscripciones",
                 descripcion = "Objeto de gran valor. Se convierte en 20 monedas si consigues completar la partida.",
-                coste = 20,
+                coste = 15,
                 imagen = R.drawable.asi_minijuego_3_copa_negra_brunida
             ),
             ObjetoDeValor(
                 nombre = "Tapadera de cerámica zoomorfa",
                 descripcion = "Objeto de gran valor. Se convierte en 20 monedas si consigues completar la partida.",
-                coste = 20,
+                coste = 30,
                 imagen = R.drawable.asi_minijuego_3_tapadera_zoomorfo
             ),
             ObjetoEquipable(
@@ -79,6 +79,11 @@ object RepositorioObjetos {
                 descripcion = "Representa una invitación a un evento relacionado con la cultura vaccea, como una feria arqueológica o un festival cultural",
                 imagen = R.drawable.asi_objeto_ticket
             ),
+            ObjetoUtilidad(
+                nombre = "Pala Vaccea",
+                descripcion = "Una antigua pala con marcas de uso, forjada con madera resistente y un metal desgastado por el tiempo. Parece estar llena de historia.",
+                imagen = R.drawable.asi_objeto_pala
+            ),
             ObjetoDeValor(
                 nombre= "Moneda de plata Vaccea",
                 descripcion = "Pequeño denario con símbolos celtíberos, utilizadas para el comercio. Su circulación refleja una economía organizada en torno a la élite guerrera",
@@ -92,6 +97,27 @@ object RepositorioObjetos {
         return objetos[nombre]
     }
 
+    fun obtenerObjetoPorCoste(coste: Int): Objeto? {
+        val objetosFiltrados = objetos.values
+            .filterIsInstance<ObjetoDeValor>()
+            .filter { it.coste <= coste }
+            .groupBy { it.coste }
+
+        if (objetosFiltrados.isEmpty()){
+            return null
+        }
+
+        val costeMasCercano = objetosFiltrados.keys
+            .filter { it <= coste }
+            .maxOrNull()
+
+        val objetosConCosteMasCercano = objetosFiltrados[costeMasCercano] ?: return null
+        return objetosConCosteMasCercano.random()
+    }
+
+
+
+
     fun obtenerObjetosAleatoriosTienda(cantidad: Int): ArrayList<String> {
         val consumibles = objetos.values.filter { it is ObjetoConsumible || it is ObjetoUtilidad }
         return ArrayList<String>().apply {
diff --git a/app/src/main/res/drawable/asi_exploradores_desenterrar.png b/app/src/main/res/drawable/asi_exploradores_desenterrar.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ba43438fd0253e4bcdc3f10a3f8d495d3f9d893
Binary files /dev/null and b/app/src/main/res/drawable/asi_exploradores_desenterrar.png differ
diff --git a/app/src/main/res/drawable/asi_objeto_pala.png b/app/src/main/res/drawable/asi_objeto_pala.png
new file mode 100644
index 0000000000000000000000000000000000000000..563298e3ce8411ce2d7357a66d28df4c04676896
Binary files /dev/null and b/app/src/main/res/drawable/asi_objeto_pala.png differ