57 lines
1.7 KiB
C#

using System.ComponentModel.DataAnnotations;
using PetCompanion.Models.Enums;
namespace PetCompanion.Models
{
public class Pet
{
[Key]
public string Id { get; set; }
public string Name { get; set; }
public PetClass Class { get; set; }
public PetStats Stats { get; set; }
public Resources Resources { get; set; }
public Inventory Inventory { get; set; }
public int Level { get; set; }
public int Experience { get; set; }
public int Health { get; set; }
public int MaxHealth { get; set; }
public string UserId { get; set; }
public bool IsDead { get; set; }
public PetActionGather PetGatherAction { get; set; }
public DateTime GatherActionSince { get; set; }
public PetBasicAction PetBasicAction { get; set; }
public DateTime BasicActionCooldown { get; set; }
public Dictionary<EquipmentSlot, EquipableItem> Equipment { get; set; } = new();
public Pet()
{
foreach (EquipmentSlot slot in Enum.GetValues(typeof(EquipmentSlot)))
{
Equipment[slot] = null;
}
}
public void IncrementIntelligence(int amount)
{
var newValue = Stats.Intelligence + amount;
Stats.Intelligence = Math.Min(newValue, Stats.MaxIntelligence);
}
public void IncrementStrength(int amount)
{
var newValue = Stats.Strength + amount;
Stats.Strength = Math.Min(newValue, Stats.MaxStrength);
}
public void IncrementCharisma(int amount)
{
var newValue = Stats.Charisma + amount;
Stats.Charisma = Math.Min(newValue, Stats.MaxCharisma);
}
}
}