diff --git a/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt b/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt new file mode 100644 index 0000000000000000000000000000000000000000..a66ce4e260a5ad90cc31974ceed639d909e831cf --- /dev/null +++ b/app/src/main/java/com/example/ellegadodepintia/repositorios/RepositorioObjetos.kt @@ -0,0 +1,85 @@ +package com.example.ellegadodepintia.repositorios + +import com.example.ellegadodepintia.R +import com.example.ellegadodepintia.exploradoresDePintia.model.Atributo +import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.* +import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.efectoObjeto.EfectoEquipableAumento +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 + ) + ) + + fun obtenerObjetoPorNombre(nombre: String): Objeto? { + return objetos[nombre] + } + + fun obtenerObjetosAleatorios(cantidad: Int): List<Objeto> { + return objetos.values.shuffled().take(cantidad) + } +} \ No newline at end of file