/*
 * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Purchase\CompetitiveEffectivenessResponseDto.cs
 * Created: 2025-10-23
 * Last Modified: 2025-10-23
 * Description: Response DTO for competitive effectiveness analysis
 * Last Edit Notes: Individual file implementation for anti-pay-to-win effectiveness monitoring ensuring 70% F2P competitive viability
 */

namespace ShadowedRealms.Shared.DTOs.Purchase
{
    /// <summary>
    /// Response DTO for competitive effectiveness analysis
    /// </summary>
    public class CompetitiveEffectivenessResponseDto
    {
        /// <summary>
        /// Player being analyzed for competitive effectiveness
        /// </summary>
        public int PlayerId { get; set; }

        /// <summary>
        /// Player's current competitive effectiveness percentage
        /// </summary>
        public decimal CurrentEffectiveness { get; set; }

        /// <summary>
        /// Effectiveness from spending vs skill breakdown
        /// </summary>
        public Dictionary<string, decimal> EffectivenessBreakdown { get; set; } = new();

        /// <summary>
        /// How player compares to other players in kingdom
        /// </summary>
        public Dictionary<string, object> KingdomComparison { get; set; } = new();

        /// <summary>
        /// Effectiveness by combat category
        /// </summary>
        public Dictionary<string, decimal> CombatEffectiveness { get; set; } = new();

        /// <summary>
        /// Economic and resource effectiveness
        /// </summary>
        public Dictionary<string, decimal> EconomicEffectiveness { get; set; } = new();

        /// <summary>
        /// Social and alliance effectiveness
        /// </summary>
        public Dictionary<string, decimal> SocialEffectiveness { get; set; } = new();

        /// <summary>
        /// Areas where player can improve through skill
        /// </summary>
        public List<Dictionary<string, object>> SkillImprovementAreas { get; set; } = new();

        /// <summary>
        /// Recommended actions to maintain competitive balance
        /// </summary>
        public List<string> BalanceRecommendations { get; set; } = new();

        /// <summary>
        /// Whether player is within healthy competitive range (60-70% for F2P)
        /// </summary>
        public bool IsWithinHealthyRange { get; set; }

        /// <summary>
        /// Projected effectiveness with recommended improvements
        /// </summary>
        public decimal ProjectedEffectiveness { get; set; }

        /// <summary>
        /// Time investment needed to reach projected effectiveness
        /// </summary>
        public Dictionary<string, object> TimeInvestmentRequired { get; set; } = new();

        /// <summary>
        /// When effectiveness was calculated
        /// </summary>
        public DateTime CalculatedAt { get; set; }

        /// <summary>
        /// Additional effectiveness analysis details
        /// </summary>
        public Dictionary<string, object>? EffectivenessDetails { get; set; }
    }
}