using System.ComponentModel.DataAnnotations;

namespace SessionCompanion.ViewModels.StatisticsViewModels
{
    public class StatisticsViewModel
    {

        /// <summary>
        /// Identyfikator statystyk postaci
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// Identyfikator postaci
        /// </summary>
        public int CharacterId { get; set; }

        /// <summary>
        /// Ilość punktów doświadczenia
        /// </summary>
        public int ExperiencePoints { get; set; }

        /// <summary>
        /// Poziom postaci
        /// </summary>
        [Range(0, int.MaxValue)]
        public int Level { get; set; }

        /// <summary>
        /// Szybkość postaci
        /// </summary>
        [Range(0, int.MaxValue)]
        public int Speed { get; set; }

        /// <summary>
        /// Inicjatywa postaci
        /// </summary>
        [Range(0, int.MaxValue)]
        public int Initiative { get; set; }

        /// <summary>
        /// Maksymalna wartość punktów życia
        /// </summary>
        [Range(0, int.MaxValue)]
        public int HealthPoints { get; set; }

        /// <summary>
        /// Aktualna wartość punktów życia
        /// </summary>
        [Range(0, int.MaxValue)]
        public int CurrentHealthPoints { get; set; }

        /// <summary>
        /// Klasa pancerza
        /// </summary>
        [Range(0, int.MaxValue)]
        public int ArmorClass { get; set; }

        /// <summary>
        /// Premia z biegłości
        /// </summary>
        [Range(0, int.MaxValue)]
        public int Proficiency { get; set; }
    }
}