using System.Text.Json.Serialization;

namespace Wonderking.Game.Mapping;

public class DynamicStats
{
    [JsonPropertyName("healthPerLevel")] public int HealthPerLevel { get; set; }
    [JsonPropertyName("manaPerLevel")] public int ManaPerLevel { get; set; }

    [JsonPropertyName("meleeDamagePerStrength")]
    public double MeleeDamagePerStrength { get; set; }

    [JsonPropertyName("rangedDamagePerDexterity")]
    public double RangedDamagePerDexterity { get; set; }

    [JsonPropertyName("hitRatingPerDexterity")]
    public double HitRatingPerDexterity { get; set; }

    [JsonPropertyName("magicPowerPerIntelligence")]
    public double MagicPowerPerIntelligence { get; set; }

    [JsonPropertyName("meleeDamagePerLuck")]
    public double MeleeDamagePerLuck { get; set; }

    [JsonPropertyName("rangedDamagePerLuck")]
    public double RangedDamagePerLuck { get; set; }

    [JsonPropertyName("evasionPerLuck")] public double EvasionPerLuck { get; set; }
    [JsonPropertyName("criticalPerLuck")] public double CriticalPerLuck { get; set; }

    [JsonPropertyName("healthPerVitality")]
    public double HealthPerVitality { get; set; }

    [JsonPropertyName("physicalDefensePerVitality")]
    public double PhysicalDefensePerVitality { get; set; }

    [JsonPropertyName("manaPerWisdom")] public double ManaPerWisdom { get; set; }

    [JsonPropertyName("elementalDefensePerWisdom")]
    public double ElementalDefensePerWisdom { get; set; }

    [JsonPropertyName("elementalPowerPerMagicPower")]
    public double ElementalPowerPerMagicPower { get; set; }

    [JsonPropertyName("elementalDefensePerMagicPower")]
    public double ElementalDefensePerMagicPower { get; set; }
}