civ_map_generator 0.1.10

A civilization map generator
Documentation
use serde::{Deserialize, Serialize};
use std::collections::HashMap;

#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UnitInfo {
    pub name: String,
    pub unit_type: String,
    pub movement: u32,
    #[serde(default)]
    pub strength: u32,
    #[serde(default)]
    pub ranged_strength: u32,
    /// The attack range of the unit.
    ///
    // Notes: this is the base range of the unit. It does not include any modifiers, such as promotions.
    #[serde(default)]
    pub range: u32,
    #[serde(default)]
    pub cost: u32,
    #[serde(default)]
    pub required_tech: String,
    #[serde(default)]
    pub obsolete_tech: String,
    #[serde(default)]
    pub unique_to: String,
    #[serde(default)]
    pub replaces: String,
    #[serde(default)]
    pub upgrades_to: String,
    #[serde(default)]
    pub hurry_cost_modifier: u32,
    #[serde(default)]
    pub uniques: Vec<String>,
    #[serde(default)]
    pub civilopedia_text: Vec<HashMap<String, String>>,
    #[serde(default)]
    pub promotions: Vec<String>,
    #[serde(default)]
    pub attack_sound: String,
}