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 754dcc3c445d9432988fb7366cf4a0a2295448c9..59f514ec9b7bed8b6b7b859532dc452ae45b33b3 100644 --- a/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt +++ b/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt @@ -7,73 +7,75 @@ import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.efectoObje import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.efectoObjeto.EfectoObjetoCura object RepositorioObjetos { - private val objetos: Map<String, Objeto> = mapOf( - "Vasito de barro cocido" to ObjetoDeValor( - nombre = "Vasito de barro cocido", - descripcion = "Objeto de gran valor. Se convierte en 20 monedas si consigues completar la partida.", - coste = 20, - imagen = R.drawable.asi_exploradores_vasito - ), - "Jabonera de cerámica" to ObjetoDeValor( - nombre = "Jabonera de cerámica", - descripcion = "Objeto de gran valor. Se convierte en 20 monedas si consigues completar la partida.", - coste = 20, - imagen = R.drawable.asi_exploradores_jabonera - ), - "Copa negra con inscripciones" to ObjetoDeValor( - nombre = "Copa negra con inscripciones", - descripcion = "Objeto de gran valor. Se convierte en 20 monedas si consigues completar la partida.", - coste = 20, - imagen = R.drawable.asi_minijuego_3_copa_negra_brunida - ), - "Tapadera de cerámica zoomorfa" to ObjetoDeValor( - nombre = "Tapadera de cerámica zoomorfa", - descripcion = "Objeto de gran valor. Se convierte en 20 monedas si consigues completar la partida.", - coste = 20, - imagen = R.drawable.asi_minijuego_3_tapadera_zoomorfo - ), - "Espada de Hierro" to ObjetoEquipable( - nombre = "Espada de Hierro", - descripcion = "Una espada de hierro sencilla y confiable perfecta para un aventurero novato. Otorga 1 de daño extra", - efecto = EfectoEquipableAumento(1, Atributo.Ataque), - imagen = R.drawable.asi_objeto_espadadefault - ), - "Elixir Menor de la Necrópolis" to ObjetoConsumible( - nombre = "Elixir Menor de la Necrópolis", - descripcion = "Un frasco pequeño con un lÃquido granate y brillante, que destella con un resplandor profundo, capaz de restaurar 3 puntos de vida al instante.", - efecto = EfectoObjetoCura(3), - imagen = R.drawable.asi_objeto_pocima_vida_5 - ), - "Elixir Mediano de la Necrópolis" to ObjetoConsumible( - nombre = "Elixir Mediano de la Necrópolis", - descripcion = "Un frasco robusto con un lÃquido amarillo brillante, que resplandece como el sol al mediodÃa, capaz de restaurar 5 puntos de vida al instante.", - efecto = EfectoObjetoCura(5), - imagen = R.drawable.asi_objeto_pocima_vida_10 - ), - "Elixir Supremo de la Necrópolis" to ObjetoConsumible( - nombre = "Elixir Supremo de la Necrópolis", - descripcion = "Frasco supremo forjado con los secretos de los vacceos, restaura toda tu vitalidad al instante, ¡la poción de cura más poderosa de Pintia!", - efecto = EfectoObjetoCura(999), - imagen = R.drawable.asi_objeto_pocima_vida_all - ), - "Escudo Caetrae" to ObjetoEquipable( - nombre = "Escudo Caetrae", - descripcion = "La caetrae es un escudo redondo vacceo, forjado para la defensa en combate, que aumenta tu vida máxima en 10 puntos.", - efecto = EfectoEquipableAumento(10, Atributo.Vida), - imagen = R.drawable.asi_objeto_escudo - ), - "Casco Ceremonial" to ObjetoEquipable( - nombre = "Casco Ceremonial", - descripcion = "Casco ceremonial de oro de los vacceos decorado con intrincados patrones que simboliza el estatus social. Aumenta tu vida máxima en 8 puntos ", - efecto = EfectoEquipableAumento(8, Atributo.Vida), - imagen = R.drawable.asi_objeto_casco - ), - "Casco Ceremonial" to ObjetoUtilidad( - nombre = "Pico Vacceo", - descripcion = "Un pico viejo y oscuro con dibujos extraños que parecen brillar cerca de las piedras, como si estuviera esperando que lo uses para algo importante.", - imagen = R.drawable.asi_objeto_pico - ) - ) + private val objetos: Map<String, Objeto> by lazy { + listOf( + ObjetoDeValor( + nombre = "Vasito de barro cocido", + descripcion = "Objeto de gran valor. Se convierte en 20 monedas si consigues completar la partida.", + coste = 20, + 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, + 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, + 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, + imagen = R.drawable.asi_minijuego_3_tapadera_zoomorfo + ), + ObjetoEquipable( + nombre = "Espada de Hierro", + descripcion = "Una espada de hierro sencilla y confiable perfecta para un aventurero novato. Otorga 1 de daño extra", + efecto = EfectoEquipableAumento(1, Atributo.Ataque), + imagen = R.drawable.asi_objeto_espadadefault + ), + ObjetoConsumible( + nombre = "Elixir Menor de la Necrópolis", + descripcion = "Un frasco pequeño con un lÃquido granate y brillante, que destella con un resplandor profundo, capaz de restaurar 3 puntos de vida al instante.", + efecto = EfectoObjetoCura(3), + imagen = R.drawable.asi_objeto_pocima_vida_5 + ), + ObjetoConsumible( + nombre = "Elixir Mediano de la Necrópolis", + descripcion = "Un frasco robusto con un lÃquido amarillo brillante, que resplandece como el sol al mediodÃa, capaz de restaurar 5 puntos de vida al instante.", + efecto = EfectoObjetoCura(5), + imagen = R.drawable.asi_objeto_pocima_vida_10 + ), + ObjetoConsumible( + nombre = "Elixir Supremo de la Necrópolis", + descripcion = "Frasco supremo forjado con los secretos de los vacceos, restaura toda tu vitalidad al instante, ¡la poción de cura más poderosa de Pintia!", + efecto = EfectoObjetoCura(999), + imagen = R.drawable.asi_objeto_pocima_vida_all + ), + ObjetoEquipable( + nombre = "Escudo Caetrae", + descripcion = "La caetrae es un escudo redondo vacceo, forjado para la defensa en combate, que aumenta tu vida máxima en 10 puntos.", + efecto = EfectoEquipableAumento(10, Atributo.Vida), + imagen = R.drawable.asi_objeto_escudo + ), + ObjetoEquipable( + nombre = "Casco Ceremonial", + descripcion = "Casco ceremonial de oro de los vacceos decorado con intrincados patrones que simboliza el estatus social. Aumenta tu vida máxima en 8 puntos", + efecto = EfectoEquipableAumento(8, Atributo.Vida), + imagen = R.drawable.asi_objeto_casco + ), + ObjetoUtilidad( + nombre = "Pico Vacceo", + descripcion = "Un pico viejo y oscuro con dibujos extraños que parecen brillar cerca de las piedras, como si estuviera esperando que lo uses para algo importante.", + imagen = R.drawable.asi_objeto_pico + ) + ).associateBy { it.nombre } + } fun obtenerObjetoPorNombre(nombre: String): Objeto? { return objetos[nombre]