74 lines
2.4 KiB
C#

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;
}
}
}