diff --git a/Portfolio.Domain/Features/Pokemon/Pokemon.cs b/Portfolio.Domain/Features/Pokemon/Pokemon.cs
index 1eeacb3..6d23f2f 100644
--- a/Portfolio.Domain/Features/Pokemon/Pokemon.cs
+++ b/Portfolio.Domain/Features/Pokemon/Pokemon.cs
@@ -13,11 +13,14 @@ namespace Portfolio.Domain.Features.Pokemon
public required string PokemonName { get; set; }
public bool IsVariation { get; set; } = false;
public string? VariationName { get; set; }
- public string? PokemonType { get; set; }
+ public required string PokemonType { get; set; }
public required string SleepType { get; set; }
public required string Speciality { get; set; }
+ public string? Skill { get; set; }
+ public string? SkillDescription { get; set; }
public string? PokemonImageUrl { get; set; }
public string? PokemonShinyImageUrl { get; set; }
+ public string[]? PokemonSleepStyleImageUrls { get; set; }
public string? FlavorText { get; set; }
public string? Ingredient1 { get; set; }
public string? Ingredient2 { get; set; }
diff --git a/Portfolio.Domain/Features/Pokemon/PokemonType.cs b/Portfolio.Domain/Features/Pokemon/PokemonType.cs
new file mode 100644
index 0000000..6aa58a1
--- /dev/null
+++ b/Portfolio.Domain/Features/Pokemon/PokemonType.cs
@@ -0,0 +1,18 @@
+using Portfolio.Domain.Features.Abstractions;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Portfolio.Domain.Features.Pokemon
+{
+ public class PokemonType : Entity
+ {
+ public string Type { get; set; }
+ public string TypeImageUrl { get; set; }
+ public string Berry { get; set; }
+ public string BerryDescription { get; set; }
+ public string BerryImageUrl { get; set; }
+ }
+}
diff --git a/Portfolio.Infrastructure/Migrations/20251205171834_updatePokemonAddBerry+Skill+SleepStyles.Designer.cs b/Portfolio.Infrastructure/Migrations/20251205171834_updatePokemonAddBerry+Skill+SleepStyles.Designer.cs
new file mode 100644
index 0000000..d589355
--- /dev/null
+++ b/Portfolio.Infrastructure/Migrations/20251205171834_updatePokemonAddBerry+Skill+SleepStyles.Designer.cs
@@ -0,0 +1,149 @@
+//
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Portfolio.Infrastructure;
+
+#nullable disable
+
+namespace Portfolio.Infrastructure.Migrations
+{
+ [DbContext(typeof(ApplicationDbContext))]
+ [Migration("20251205171834_updatePokemonAddBerry+Skill+SleepStyles")]
+ partial class updatePokemonAddBerrySkillSleepStyles
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "9.0.2")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("Portfolio.Domain.Features.Pokemon.Pokemon", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("FlavorText")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Ingredient1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Ingredient2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Ingredient3")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsVariation")
+ .HasColumnType("bit");
+
+ b.Property("PokemonBerry")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PokemonId")
+ .HasColumnType("int");
+
+ b.Property("PokemonImageUrl")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PokemonName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PokemonShinyImageUrl")
+ .HasColumnType("nvarchar(max)");
+
+ b.PrimitiveCollection("PokemonSleepStyleImageUrls")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PokemonType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Skill")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("SkillDescription")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("SleepType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Speciality")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("VariationName")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Pokemons");
+ });
+
+ modelBuilder.Entity("Portfolio.Domain.Features.Pokemon_Natures.PokemonNature", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("BerryRating")
+ .HasColumnType("int");
+
+ b.Property("IngredientRating")
+ .HasColumnType("int");
+
+ b.Property("Nature")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("SkillRating")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("PokemonNatures");
+ });
+
+ modelBuilder.Entity("Portfolio.Domain.Features.Pokemon_Subskills.PokemonSubskill", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("BerryRank")
+ .HasColumnType("int");
+
+ b.Property("IngredientRank")
+ .HasColumnType("int");
+
+ b.Property("SkillRank")
+ .HasColumnType("int");
+
+ b.Property("SubSkill")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("PokemonSubskills");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/Portfolio.Infrastructure/Migrations/20251205171834_updatePokemonAddBerry+Skill+SleepStyles.cs b/Portfolio.Infrastructure/Migrations/20251205171834_updatePokemonAddBerry+Skill+SleepStyles.cs
new file mode 100644
index 0000000..00ab243
--- /dev/null
+++ b/Portfolio.Infrastructure/Migrations/20251205171834_updatePokemonAddBerry+Skill+SleepStyles.cs
@@ -0,0 +1,76 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Portfolio.Infrastructure.Migrations
+{
+ ///
+ public partial class updatePokemonAddBerrySkillSleepStyles : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AlterColumn(
+ name: "PokemonType",
+ table: "Pokemons",
+ type: "nvarchar(max)",
+ nullable: false,
+ defaultValue: "",
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)",
+ oldNullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "PokemonBerry",
+ table: "Pokemons",
+ type: "nvarchar(max)",
+ nullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "PokemonSleepStyleImageUrls",
+ table: "Pokemons",
+ type: "nvarchar(max)",
+ nullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "Skill",
+ table: "Pokemons",
+ type: "nvarchar(max)",
+ nullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "SkillDescription",
+ table: "Pokemons",
+ type: "nvarchar(max)",
+ nullable: true);
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropColumn(
+ name: "PokemonBerry",
+ table: "Pokemons");
+
+ migrationBuilder.DropColumn(
+ name: "PokemonSleepStyleImageUrls",
+ table: "Pokemons");
+
+ migrationBuilder.DropColumn(
+ name: "Skill",
+ table: "Pokemons");
+
+ migrationBuilder.DropColumn(
+ name: "SkillDescription",
+ table: "Pokemons");
+
+ migrationBuilder.AlterColumn(
+ name: "PokemonType",
+ table: "Pokemons",
+ type: "nvarchar(max)",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "nvarchar(max)");
+ }
+ }
+}
diff --git a/Portfolio.Infrastructure/Migrations/20251205172848_updatePokemonRemovedBerry.Designer.cs b/Portfolio.Infrastructure/Migrations/20251205172848_updatePokemonRemovedBerry.Designer.cs
new file mode 100644
index 0000000..435d1b9
--- /dev/null
+++ b/Portfolio.Infrastructure/Migrations/20251205172848_updatePokemonRemovedBerry.Designer.cs
@@ -0,0 +1,146 @@
+//
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Portfolio.Infrastructure;
+
+#nullable disable
+
+namespace Portfolio.Infrastructure.Migrations
+{
+ [DbContext(typeof(ApplicationDbContext))]
+ [Migration("20251205172848_updatePokemonRemovedBerry")]
+ partial class updatePokemonRemovedBerry
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "9.0.2")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("Portfolio.Domain.Features.Pokemon.Pokemon", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("FlavorText")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Ingredient1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Ingredient2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Ingredient3")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsVariation")
+ .HasColumnType("bit");
+
+ b.Property("PokemonId")
+ .HasColumnType("int");
+
+ b.Property("PokemonImageUrl")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PokemonName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PokemonShinyImageUrl")
+ .HasColumnType("nvarchar(max)");
+
+ b.PrimitiveCollection("PokemonSleepStyleImageUrls")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PokemonType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Skill")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("SkillDescription")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("SleepType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Speciality")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("VariationName")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Pokemons");
+ });
+
+ modelBuilder.Entity("Portfolio.Domain.Features.Pokemon_Natures.PokemonNature", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("BerryRating")
+ .HasColumnType("int");
+
+ b.Property("IngredientRating")
+ .HasColumnType("int");
+
+ b.Property("Nature")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("SkillRating")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("PokemonNatures");
+ });
+
+ modelBuilder.Entity("Portfolio.Domain.Features.Pokemon_Subskills.PokemonSubskill", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("BerryRank")
+ .HasColumnType("int");
+
+ b.Property("IngredientRank")
+ .HasColumnType("int");
+
+ b.Property("SkillRank")
+ .HasColumnType("int");
+
+ b.Property("SubSkill")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("PokemonSubskills");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/Portfolio.Infrastructure/Migrations/20251205172848_updatePokemonRemovedBerry.cs b/Portfolio.Infrastructure/Migrations/20251205172848_updatePokemonRemovedBerry.cs
new file mode 100644
index 0000000..a10d992
--- /dev/null
+++ b/Portfolio.Infrastructure/Migrations/20251205172848_updatePokemonRemovedBerry.cs
@@ -0,0 +1,28 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Portfolio.Infrastructure.Migrations
+{
+ ///
+ public partial class updatePokemonRemovedBerry : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropColumn(
+ name: "PokemonBerry",
+ table: "Pokemons");
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AddColumn(
+ name: "PokemonBerry",
+ table: "Pokemons",
+ type: "nvarchar(max)",
+ nullable: true);
+ }
+ }
+}
diff --git a/Portfolio.Infrastructure/Migrations/ApplicationDbContextModelSnapshot.cs b/Portfolio.Infrastructure/Migrations/ApplicationDbContextModelSnapshot.cs
index dba4d10..eb0231b 100644
--- a/Portfolio.Infrastructure/Migrations/ApplicationDbContextModelSnapshot.cs
+++ b/Portfolio.Infrastructure/Migrations/ApplicationDbContextModelSnapshot.cs
@@ -57,7 +57,17 @@ namespace Portfolio.Infrastructure.Migrations
b.Property("PokemonShinyImageUrl")
.HasColumnType("nvarchar(max)");
+ b.PrimitiveCollection("PokemonSleepStyleImageUrls")
+ .HasColumnType("nvarchar(max)");
+
b.Property("PokemonType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Skill")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("SkillDescription")
.HasColumnType("nvarchar(max)");
b.Property("SleepType")
diff --git a/Portfolio.WebUI.Server/Components/Component/Pokemon Components/PokemonForm.razor b/Portfolio.WebUI.Server/Components/Component/Pokemon Components/PokemonForm.razor
index 89a65a9..135b998 100644
--- a/Portfolio.WebUI.Server/Components/Component/Pokemon Components/PokemonForm.razor
+++ b/Portfolio.WebUI.Server/Components/Component/Pokemon Components/PokemonForm.razor
@@ -59,9 +59,9 @@ else
Pokemon Type
- @foreach (var pt in PokemonTypes)
+ @foreach (var pt in PkmnTypes)
{
-
+
}
diff --git a/Portfolio.WebUI.Server/Components/Component/Pokemon Components/PokemonForm.razor.cs b/Portfolio.WebUI.Server/Components/Component/Pokemon Components/PokemonForm.razor.cs
index 8c76bda..be395b9 100644
--- a/Portfolio.WebUI.Server/Components/Component/Pokemon Components/PokemonForm.razor.cs
+++ b/Portfolio.WebUI.Server/Components/Component/Pokemon Components/PokemonForm.razor.cs
@@ -27,6 +27,7 @@ namespace Portfolio.WebUI.Server.Components.Component.Pokemon_Components
{
PokemonId = 0, // Or any default ID logic
PokemonName = string.Empty, // Required fields cannot be null
+ PokemonType = string.Empty, // Required fields cannot be null
SleepType = string.Empty,
Speciality = string.Empty,
IsVariation = false
@@ -49,7 +50,7 @@ namespace Portfolio.WebUI.Server.Components.Component.Pokemon_Components
protected static readonly string[] Specialities = new[] { "Berries", "Ingredients", "Skills", "All" };
private List? Ingredients;
-
+ private List? PkmnTypes;
private bool HideLabel { get; set; }
private bool showErrors { get; set; } = false;
@@ -58,7 +59,14 @@ namespace Portfolio.WebUI.Server.Components.Component.Pokemon_Components
{
var http = ClientFactory.CreateClient("LocalClient");
Ingredients = await http.GetFromJsonAsync>("data/ingredients.json");
-
+ PkmnTypes = await http.GetFromJsonAsync>("data/pkmn_type-and-berries.json");
+ var count = 0;
+ foreach (var t in PkmnTypes)
+ {
+ count++;
+ //if (count <= 9) { Console.WriteLine("0"+ count + ": | " + t.Type + "\t| " + t.Berry); }
+ //else { Console.WriteLine(count + ": | " + t.Type + "\t| " + t.Berry); }
+ }
if (formUse == "EDIT")
{
if (PokemonToEdit.IsVariation == true)
diff --git a/Portfolio.WebUI.Server/Components/Pages/Pokemon Pages/PokemonCreate.razor.cs b/Portfolio.WebUI.Server/Components/Pages/Pokemon Pages/PokemonCreate.razor.cs
index 469c81b..b36d93f 100644
--- a/Portfolio.WebUI.Server/Components/Pages/Pokemon Pages/PokemonCreate.razor.cs
+++ b/Portfolio.WebUI.Server/Components/Pages/Pokemon Pages/PokemonCreate.razor.cs
@@ -25,11 +25,12 @@ namespace Portfolio.WebUI.Server.Components.Pages.Pokemon_Pages
TogglePokemon2FormView();
}
-
+ // Create up to 3 Pokemon
private Pokemon pokemon1 = new Pokemon
{
PokemonId = 0, // Or any default ID logic
PokemonName = string.Empty, // Required fields cannot be null
+ PokemonType = string.Empty,
SleepType = string.Empty,
Speciality = string.Empty,
IsVariation = false
@@ -38,6 +39,7 @@ namespace Portfolio.WebUI.Server.Components.Pages.Pokemon_Pages
{
PokemonId = 0, // Or any default ID logic
PokemonName = string.Empty, // Required fields cannot be null
+ PokemonType = string.Empty,
SleepType = string.Empty,
Speciality = string.Empty,
IsVariation = false
@@ -46,6 +48,7 @@ namespace Portfolio.WebUI.Server.Components.Pages.Pokemon_Pages
{
PokemonId = 0, // Or any default ID logic
PokemonName = string.Empty, // Required fields cannot be null
+ PokemonType = string.Empty,
SleepType = string.Empty,
Speciality = string.Empty,
IsVariation = false
diff --git a/Portfolio.WebUI.Server/wwwroot/data/pkmn_type-and-berries.json b/Portfolio.WebUI.Server/wwwroot/data/pkmn_type-and-berries.json
index 33145cd..10af12c 100644
--- a/Portfolio.WebUI.Server/wwwroot/data/pkmn_type-and-berries.json
+++ b/Portfolio.WebUI.Server/wwwroot/data/pkmn_type-and-berries.json
@@ -1,111 +1,129 @@
[
{
"type": "Grass",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/grass.png",
"berry": "Durin",
- "description": "This Berry is tremendously bitter. Just one bite is enough to instantly stop hiccups.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/durinberry.png"
+ "berryDescription": "This Berry is tremendously bitter. Just one bite is enough to instantly stop hiccups.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/durinberry.png"
},
{
"type": "Fire",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/fire.png",
"berry": "Leppa",
- "description": "It takes longer to grow than Berries such as Cheri. The smaller Berries taste better.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/leppaberry.png"
+ "berryDescription": "It takes longer to grow than Berries such as Cheri. The smaller Berries taste better.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/leppaberry.png"
},
{
"type": "Water",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/water.png",
"berry": "Oran",
- "description": "Nature's gifts came together as one in this Berry. It has a wondrous mix of flavors that spread in the mouth.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/oranberry.png"
+ "berryDescription": "Nature's gifts came together as one in this Berry. It has a wondrous mix of flavors that spread in the mouth.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/oranberry.png"
},
{
"type": "Normal",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/normal.png",
"berry": "Persim",
- "description": "The more this Berry absorbs energy from sunlight, the more vividly colorful it grows.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/persimberry.png"
+ "berryDaescription": "The more this Berry absorbs energy from sunlight, the more vividly colorful it grows.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/persimberry.png"
},
{
"type": "Flying",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/flying.png",
"berry": "Pamtre",
- "description": "This Berry drifted from a faraway sea. It can now be cultivated even on this island.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/pamtreberry.png"
+ "berryDescription": "This Berry drifted from a faraway sea. It can now be cultivated even on this island.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/pamtreberry.png"
},
{
"type": "Bug",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/bug.png",
"berry": "Lum",
- "description": "This Berry's gradual process of storing nutrients beneficial to Pok�mon health causes it to mature slowly.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/lumberry.png"
+ "berryDescription": "This Berry's gradual process of storing nutrients beneficial to Pok�mon health causes it to mature slowly.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/lumberry.png"
},
{
"type": "Poison",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/poison.png",
"berry": "Chesto",
- "description": "This Berry's thick skin and fruit are very tough and dry-tasting. However, every bit of it can be eaten.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/chestoberry.png"
+ "berryDescription": "This Berry's thick skin and fruit are very tough and dry-tasting. However, every bit of it can be eaten.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/chestoberry.png"
},
{
"type": "Electric",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/electric.png",
"berry": "Grepa",
- "description": "One bite of this very tender Berry fills the mouth with its sweet and tangy flavor.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/grepaberry.png"
+ "berryDescription": "One bite of this very tender Berry fills the mouth with its sweet and tangy flavor.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/grepaberry.png"
},
{
"type": "Ground",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/ground.png",
"berry": "Figy",
- "description": "This Berry is oddly shaped, appearing as if someone took a bite out of it. It's packed full of spicy substances.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/figyberry.png"
+ "berryDescription": "This Berry is oddly shaped, appearing as if someone took a bite out of it. It's packed full of spicy substances.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/figyberry.png"
},
{
"type": "Rock",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/rock.png",
"berry": "Sitrus",
- "description": "Sitrus came from the same family as Oran. It's larger and smoother- tasting than Oran.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/sitrusberry.png"
+ "berryDescription": "Sitrus came from the same family as Oran. It's larger and smoother- tasting than Oran.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/sitrusberry.png"
},
{
"type": "Ice",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/ice.png",
"berry": "Rawst",
- "description": "If the leaves grow longer and curlier than average, this Berry will have a somewhat bitter taste.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/rawstberry.png"
+ "berryDescription": "If the leaves grow longer and curlier than average, this Berry will have a somewhat bitter taste.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/rawstberry.png"
},
{
"type": "Steel",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/steel.png",
"berry": "Belue",
- "description": "This glossy and colorful Berry has a mouthwateringly delicious appearance. However, it's awfully sour.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/belueberry.png"
+ "berryDescription": "This glossy and colorful Berry has a mouthwateringly delicious appearance. However, it's awfully sour.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/belueberry.png"
},
{
"type": "Fighting",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/fighting.png",
"berry": "Cheri",
- "description": "This bright red Berry is very spicy and has a provocative flavor. It blooms with delicate, pretty flowers.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/cheriberry.png"
+ "berryDescription": "This bright red Berry is very spicy and has a provocative flavor. It blooms with delicate, pretty flowers.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/cheriberry.png"
},
{
"type": "Psychic",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/psychic.png",
"berry": "Mago",
- "description": "This Berry progressively curves as it grows. The curvier the Berry, the sweeter it tastes.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/magoberry.png"
+ "berryDescription": "This Berry progressively curves as it grows. The curvier the Berry, the sweeter it tastes.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/magoberry.png"
},
{
"type": "Dark",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/dark.png",
"berry": "Wiki",
- "description": "It's said that this Berry grew lumps to help Pok�mon grip it, allowing propagation farther afield.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/wikiberry.png"
+ "berryDescription": "It's said that this Berry grew lumps to help Pok�mon grip it, allowing propagation farther afield.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/wikiberry.png"
},
{
"type": "Fairy",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/fairy.png",
"berry": "Pecha",
- "description": "Because of its hollow inside pocket, there isn't a lot to eat. What can be eaten is very sweet and delicious.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/pechaberry.png"
+ "berryDescription": "Because of its hollow inside pocket, there isn't a lot to eat. What can be eaten is very sweet and delicious.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/pechaberry.png"
},
{
"type": "Ghost",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/ghost.png",
"berry": "Bluk",
- "description": "Though this small, delicately skinned Berry is blue in color, it dyes the mouth black when eaten.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/blukberry.png"
+ "berryDescription": "Though this small, delicately skinned Berry is blue in color, it dyes the mouth black when eaten.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/blukberry.png"
},
{
"type": "Dragon",
+ "typeImageUrl": "https://www.serebii.net/pokemonsleep/pokemon/type/dragon.png",
"berry": "Yache",
- "description": "This Berry has a refreshing flavor that strikes a good balance of dryness and sourness. It tastes better chilled.",
- "imageURL": "https://www.serebii.net/pokemonsleep/berries/yacheberry.png"
+ "berryDescription": "This Berry has a refreshing flavor that strikes a good balance of dryness and sourness. It tastes better chilled.",
+ "berryImageURL": "https://www.serebii.net/pokemonsleep/berries/yacheberry.png"
}
]
\ No newline at end of file