use super::resource::{GenerationGameIndex, Name, NamedApiResource, VersionEncounterDetail};
#[derive(Default, Debug, Clone, PartialEq, serde::Deserialize)]
pub struct Location {
pub id: Option<i64>,
pub name: Option<String>,
pub region: Option<NamedApiResource>,
pub names: Option<Vec<Name>>,
pub game_indices: Option<Vec<GenerationGameIndex>>,
pub areas: Option<Vec<NamedApiResource>>,
}
#[derive(Default, Debug, Clone, PartialEq, serde::Deserialize)]
pub struct LocationArea {
pub id: Option<i64>,
pub name: Option<String>,
pub game_index: Option<i64>,
pub encounter_method_rates: Option<Vec<EncounterMethodRate>>,
pub location: Option<Location>,
pub names: Option<Vec<Name>>,
pub pokemon_encounters: Option<Vec<PokemonEncounter>>,
}
#[derive(Default, Debug, Clone, PartialEq, serde::Deserialize)]
pub struct EncounterMethodRate {
pub encounter_method: Option<NamedApiResource>,
pub version_details: Option<Vec<EncounterVersionDetails>>,
}
#[derive(Default, Debug, Clone, PartialEq, serde::Deserialize)]
pub struct EncounterVersionDetails {
pub rate: Option<i64>,
pub version: Option<NamedApiResource>,
}
#[derive(Default, Debug, Clone, PartialEq, serde::Deserialize)]
pub struct PokemonEncounter {
pub pokemon: Option<NamedApiResource>,
pub version_details: Option<Vec<VersionEncounterDetail>>,
}
#[derive(Default, Debug, Clone, PartialEq, serde::Deserialize)]
pub struct PalParkArea {
pub id: Option<i64>,
pub name: Option<String>,
pub names: Option<Vec<Name>>,
pub pokemon_encounters: Option<Vec<PalParkEncounterSpecies>>,
}
#[derive(Default, Debug, Clone, PartialEq, serde::Deserialize)]
pub struct PalParkEncounterSpecies {
pub base_score: Option<i64>,
pub rate: Option<i64>,
pub pokemon_species: Option<NamedApiResource>,
}
#[derive(Default, Debug, Clone, PartialEq, serde::Deserialize)]
pub struct Region {
pub id: Option<i64>,
pub locations: Option<Vec<NamedApiResource>>,
pub name: Option<String>,
pub names: Option<Vec<Name>>,
pub main_generation: Option<NamedApiResource>,
pub pokedexes: Option<Vec<NamedApiResource>>,
pub version_groups: Option<Vec<NamedApiResource>>,
}