matt 544d9a7a79 feat: Add comprehensive Player and Combat DTOs
- Created 17 Player DTOs for PlayerController compilation resolution
- Created 24 Combat DTOs for CombatController compilation resolution
- Full support for field interception system and anti-pay-to-win mechanics
- Comprehensive dragon integration with skills and equipment DTOs
- Proper validation attributes and extensible Dictionary properties
- Complete XML documentation and established file header format

Player DTOs: UpdatePlayerProfileRequestDto, PlayerRankingsResponseDto, CastleInfoResponseDto,
VipAdvancementRequestDto/ResponseDto, ResourceCollectionResponseDto, ResourceSpendingRequestDto/ResponseDto,
CombatResultsRequestDto/ResponseDto, AllianceJoinResponseDto, AllianceLeaveRequestDto/ResponseDto,
ExperienceProcessingResponseDto, AchievementsResponseDto, ActionValidationRequestDto/ResponseDto

Combat DTOs: FieldInterceptionResponseDto, InterceptionValidationRequestDto/ResponseDto,
OptimalRoutesResponseDto, RouteOptimizationRequestDto, MarchInitiationResponseDto, MarchSpeedRequestDto,
MarchCancellationResponseDto, MarchArrivalRequestDto/ResponseDto, BattleExecutionRequestDto,
BattlePredictionRequestDto/ResponseDto, CasualtyProcessingRequestDto/ResponseDto,
RewardDistributionRequestDto/ResponseDto, DragonValidationResponseDto, DragonSkillRequestDto/ResponseDto,
DragonEquipmentRequestDto/ResponseDto, CombatEffectivenessResponseDto, KingdomTrendsResponseDto

Resolves PlayerController and CombatController compilation errors.
2025-10-23 13:04:12 -05:00

91 lines
2.8 KiB
C#

/*
* File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\DragonSkillResponseDto.cs
* Created: 2025-10-23
* Last Modified: 2025-10-23
* Description: Response DTO for dragon skill operations and effects
* Last Edit Notes: Individual file implementation for dragon skill results
*/
namespace ShadowedRealms.Shared.DTOs.Combat
{
/// <summary>
/// Response DTO for dragon skill operations and effects
/// </summary>
public class DragonSkillResponseDto
{
/// <summary>
/// Player ID who owns the dragon
/// </summary>
public int PlayerId { get; set; }
/// <summary>
/// Dragon unique identifier
/// </summary>
public int DragonId { get; set; }
/// <summary>
/// Skill that was activated or queried
/// </summary>
public string SkillName { get; set; } = string.Empty;
/// <summary>
/// Current skill level and progression
/// </summary>
public Dictionary<string, int> SkillProgression { get; set; } = new();
/// <summary>
/// Skill effects and bonuses applied
/// </summary>
public Dictionary<string, decimal> SkillEffects { get; set; } = new();
/// <summary>
/// Duration of skill effects
/// </summary>
public Dictionary<string, TimeSpan> EffectDurations { get; set; } = new();
/// <summary>
/// Resource costs for skill activation
/// </summary>
public Dictionary<string, long> SkillCosts { get; set; } = new();
/// <summary>
/// Cooldown period before skill can be used again
/// </summary>
public TimeSpan SkillCooldown { get; set; }
/// <summary>
/// Next available use time
/// </summary>
public DateTime? NextAvailableTime { get; set; }
/// <summary>
/// Combat bonuses provided by the skill
/// </summary>
public Dictionary<string, decimal> CombatBonuses { get; set; } = new();
/// <summary>
/// Skill-based alternatives to premium features
/// </summary>
public List<Dictionary<string, object>> SkillAlternatives { get; set; } = new();
/// <summary>
/// Experience gained from skill usage
/// </summary>
public long SkillExperience { get; set; }
/// <summary>
/// Whether skill activation was successful
/// </summary>
public bool ActivationSuccess { get; set; }
/// <summary>
/// When skill was activated or queried
/// </summary>
public DateTime SkillTime { get; set; }
/// <summary>
/// Additional skill-related data and analytics
/// </summary>
public Dictionary<string, object> SkillMetadata { get; set; } = new();
}
}