using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace pet_companion_api.Models { public class PetStats { [Key, ForeignKey("Pet")] public string PetId { get; set; } public int Intelligence { get; set; } public int Strength { get; set; } public int Charisma { get; set; } public int MaxIntelligence { get; set; } public int MaxStrength { get; set; } public int MaxCharisma { get; set; } public static PetStats BuildFromClass(PetClass petClass) { var stats = new PetStats(); switch (petClass) { case PetClass.FOREST_SPIRIT: stats.Intelligence = 10; stats.Strength = 5; stats.Charisma = 5; break; case PetClass.OCEAN_GUARDIAN: stats.Intelligence = 5; stats.Strength = 10; stats.Charisma = 5; break; case PetClass.FIRE_ELEMENTAL: stats.Intelligence = 5; stats.Strength = 5; stats.Charisma = 10; break; case PetClass.MYTHICAL_BEAST: stats.Intelligence = 7; stats.Strength = 7; stats.Charisma = 7; break; case PetClass.SHADOW_WALKER: stats.Intelligence = 8; stats.Strength = 6; stats.Charisma = 6; break; case PetClass.CYBER_PET: stats.Intelligence = 8; stats.Strength = 8; stats.Charisma = 6; break; case PetClass.BIO_MECHANICAL: stats.Intelligence = 8; stats.Strength = 6; stats.Charisma = 8; break; default: stats.Intelligence = 5; stats.Strength = 5; stats.Charisma = 5; break; } stats.MaxIntelligence = stats.Intelligence; stats.MaxStrength = stats.Strength; stats.MaxCharisma = stats.Charisma; return stats; } } }