- 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.
84 lines
2.7 KiB
C#
84 lines
2.7 KiB
C#
/*
|
|
* File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\BattleExecutionRequestDto.cs
|
|
* Created: 2025-10-23
|
|
* Last Modified: 2025-10-23
|
|
* Description: Request DTO for battle execution operations
|
|
* Last Edit Notes: Individual file implementation for battle execution input validation
|
|
*/
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace ShadowedRealms.Shared.DTOs.Combat
|
|
{
|
|
/// <summary>
|
|
/// Request DTO for battle execution operations
|
|
/// </summary>
|
|
public class BattleExecutionRequestDto
|
|
{
|
|
/// <summary>
|
|
/// Combat log ID for the battle to execute
|
|
/// </summary>
|
|
[Required]
|
|
[Range(1, int.MaxValue)]
|
|
public int CombatLogId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Attacking forces composition
|
|
/// </summary>
|
|
[Required]
|
|
public Dictionary<string, long> AttackingForces { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Defending forces composition
|
|
/// </summary>
|
|
[Required]
|
|
public Dictionary<string, long> DefendingForces { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Dragon participation for attacker
|
|
/// </summary>
|
|
public Dictionary<string, object>? AttackerDragon { get; set; }
|
|
|
|
/// <summary>
|
|
/// Dragon participation for defender
|
|
/// </summary>
|
|
public Dictionary<string, object>? DefenderDragon { get; set; }
|
|
|
|
/// <summary>
|
|
/// Battle type (Field, Castle, Siege, Interception)
|
|
/// </summary>
|
|
[Required]
|
|
[StringLength(50)]
|
|
public string BattleType { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Tactical formations and strategies
|
|
/// </summary>
|
|
public Dictionary<string, object> TacticalFormations { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Terrain bonuses and modifiers
|
|
/// </summary>
|
|
public Dictionary<string, decimal> TerrainModifiers { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Weather and environmental effects
|
|
/// </summary>
|
|
public Dictionary<string, object> EnvironmentalEffects { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Alliance bonuses for both sides
|
|
/// </summary>
|
|
public Dictionary<string, object> AllianceBonuses { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Equipment and gear bonuses
|
|
/// </summary>
|
|
public Dictionary<string, object> EquipmentBonuses { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Additional battle execution parameters
|
|
/// </summary>
|
|
public Dictionary<string, object> ExecutionParameters { get; set; } = new();
|
|
}
|
|
} |