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 397ff5fd0cbc330c1654df1dfd0e6451f1d4590d..0b702ee41ece32a29ccb0bfb2da0a0a60597dd73 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,7 +13,6 @@ 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
 
@@ -38,8 +37,6 @@ class Jugador {
         atributos[Atributo.Energia] = 10
         atributos[Atributo.Critico] = 8
 
-        inventario.add(RepositorioObjetos.obtenerObjetoPorNombre("Puñal Vacceo")!!)
-
         habilidades.add(
             Habilidad(
                 nombre = "Furia del Vacceo",
@@ -108,6 +105,11 @@ class Jugador {
     fun conseguirObjeto(objeto: Objeto): String {
         return if (inventario.size < 9) {
             inventario.add(objeto)
+            val nuevoInventarioNombres = ArrayList<String>()
+            for(objetoInventario in inventario){
+                nuevoInventarioNombres.add(objetoInventario.nombre)
+            }
+            RepositorioJugador.setInventario(nuevoInventarioNombres)
             "Se ha añadido ${objeto.nombre} al inventario"
         } else {
             "¡El inventario está lleno!"
@@ -126,6 +128,11 @@ class Jugador {
 
     fun destruirObjeto(objeto: Objeto) {
         inventario.remove(objeto)
+        val nuevoInventarioNombres = ArrayList<String>()
+        for(objetoInventario in inventario){
+            nuevoInventarioNombres.add(objetoInventario.nombre)
+        }
+        RepositorioJugador.setInventario(nuevoInventarioNombres)
         notifyObservers()
     }
 
@@ -192,6 +199,8 @@ class Jugador {
         vidaMax = 10
         energiaMax = 10
         actualizarObjetosTienda(nivelCiudad*2)
+        actualizarObjetosArmeria(nivelCiudad*2)
+        RepositorioJugador.setInventario(ArrayList())
     }
 
     fun destruirObjetoRandom(){
diff --git a/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioJugador.kt b/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioJugador.kt
index 22ad0ac7d1b49e551fb011db0b54696cde8f58c3..5f1703ba4238e66471b8eeb900322bfe8c8a8816 100644
--- a/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioJugador.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioJugador.kt
@@ -28,6 +28,15 @@ object RepositorioJugador {
                 ?: ArrayList()
 
             GameState.jugador.objetosArmeria = objetosArmeria
+
+            val inventario = (it.get("inventario") as? List<*>)
+                ?.filterIsInstance<String>()
+                ?.toCollection(ArrayList())
+                ?: ArrayList()
+
+            for(nombreObjeto in inventario){
+                GameState.jugador.inventario.add(RepositorioObjetos.obtenerObjetoPorNombre(nombreObjeto)!!)
+            }
         }
     }
 
@@ -37,6 +46,7 @@ object RepositorioJugador {
                 "monedas" to 0,
                 "username" to username,
                 "nivelCiudad" to 1,
+                "inventario" to ArrayList<String>(),
                 "objetosTienda" to RepositorioObjetos.obtenerObjetosAleatoriosTienda(2),
                 "objetosArmeria" to RepositorioObjetos.obtenerObjetosAleatoriosArmeria(2)
             )
@@ -63,6 +73,11 @@ object RepositorioJugador {
         userRef.set(hashMapOf("nivelCiudad" to nivelCiudad), SetOptions.merge())
     }
 
+    fun setInventario(objetos : ArrayList<String>) {
+        val userRef = db.collection("users").document(email)
+        userRef.set(hashMapOf("inventario" to objetos), SetOptions.merge())
+    }
+
     fun cargarJugadores(callback: (List<PlayerLeaderBoard>) -> Unit) {
         db.collection("users")
             .get()