diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Alliance/AllianceStatusResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Alliance/AllianceStatusResponseDto.cs
new file mode 100644
index 0000000..dc488c5
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Alliance/AllianceStatusResponseDto.cs
@@ -0,0 +1,56 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Alliance\AllianceStatusResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for alliance status information
+ * Last Edit Notes: Individual file implementation for alliance status and coalition data
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Alliance
+{
+ ///
+ /// Response DTO for alliance status information
+ ///
+ public class AllianceStatusResponseDto
+ {
+ ///
+ /// Alliance identifier
+ ///
+ public int AllianceId { get; set; }
+
+ ///
+ /// Alliance name
+ ///
+ public string AllianceName { get; set; } = string.Empty;
+
+ ///
+ /// Current member count
+ ///
+ public int MemberCount { get; set; }
+
+ ///
+ /// Alliance level and progression
+ ///
+ public Dictionary AllianceLevel { get; set; } = new();
+
+ ///
+ /// Current coalition memberships
+ ///
+ public List> CoalitionMemberships { get; set; } = new();
+
+ ///
+ /// Alliance territory information
+ ///
+ public Dictionary Territory { get; set; } = new();
+
+ ///
+ /// Research progress across all trees
+ ///
+ public Dictionary ResearchProgress { get; set; } = new();
+
+ ///
+ /// When status was last updated
+ ///
+ public DateTime LastUpdated { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Alliance/CoalitionCreationRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Alliance/CoalitionCreationRequestDto.cs
new file mode 100644
index 0000000..bbfb590
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Alliance/CoalitionCreationRequestDto.cs
@@ -0,0 +1,42 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Alliance\CoalitionCreationRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for coalition creation
+ * Last Edit Notes: Individual file implementation for coalition creation input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Alliance
+{
+ ///
+ /// Request DTO for coalition creation
+ ///
+ public class CoalitionCreationRequestDto
+ {
+ ///
+ /// Name for the new coalition
+ ///
+ [Required]
+ [StringLength(100)]
+ public string CoalitionName { get; set; } = string.Empty;
+
+ ///
+ /// Initial member alliances
+ ///
+ [Required]
+ public List MemberAlliances { get; set; } = new();
+
+ ///
+ /// Coalition purpose and objectives
+ ///
+ [StringLength(500)]
+ public string? Purpose { get; set; }
+
+ ///
+ /// Coalition parameters and settings
+ ///
+ public Dictionary? CoalitionParameters { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Alliance/ResearchAdvancementRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Alliance/ResearchAdvancementRequestDto.cs
new file mode 100644
index 0000000..383122e
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Alliance/ResearchAdvancementRequestDto.cs
@@ -0,0 +1,44 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Alliance\ResearchAdvancementRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for research advancement
+ * Last Edit Notes: Individual file implementation for research advancement input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Alliance
+{
+ ///
+ /// Request DTO for research advancement
+ ///
+ public class ResearchAdvancementRequestDto
+ {
+ ///
+ /// Research tree branch (Military, Economic, Technology)
+ ///
+ [Required]
+ [StringLength(50)]
+ public string ResearchBranch { get; set; } = string.Empty;
+
+ ///
+ /// Specific research item to advance
+ ///
+ [Required]
+ [StringLength(100)]
+ public string ResearchItem { get; set; } = string.Empty;
+
+ ///
+ /// Resource allocation for research
+ ///
+ [Required]
+ public Dictionary ResourceAllocation { get; set; } = new();
+
+ ///
+ /// Priority level for research
+ ///
+ [Range(1, 5)]
+ public int Priority { get; set; } = 3;
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/BattleExecutionResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/BattleExecutionResponseDto.cs
new file mode 100644
index 0000000..5bc1f1e
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/BattleExecutionResponseDto.cs
@@ -0,0 +1,56 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\BattleExecutionResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for battle execution results
+ * Last Edit Notes: Individual file implementation for battle execution results
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Combat
+{
+ ///
+ /// Response DTO for battle execution results
+ ///
+ public class BattleExecutionResponseDto
+ {
+ ///
+ /// Unique battle identifier
+ ///
+ public int BattleId { get; set; }
+
+ ///
+ /// Attacking player in the battle
+ ///
+ public int AttackerPlayerId { get; set; }
+
+ ///
+ /// Defending player in the battle
+ ///
+ public int DefenderPlayerId { get; set; }
+
+ ///
+ /// Winner of the battle
+ ///
+ public string Winner { get; set; } = string.Empty;
+
+ ///
+ /// Complete battle results and statistics
+ ///
+ public Dictionary BattleResults { get; set; } = new();
+
+ ///
+ /// Experience gains for participants
+ ///
+ public Dictionary ExperienceGains { get; set; } = new();
+
+ ///
+ /// Resource transfers from battle
+ ///
+ public Dictionary ResourceTransfers { get; set; } = new();
+
+ ///
+ /// When the battle was completed
+ ///
+ public DateTime BattleTime { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/BattleReplayResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/BattleReplayResponseDto.cs
new file mode 100644
index 0000000..de7b971
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/BattleReplayResponseDto.cs
@@ -0,0 +1,41 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\BattleReplayResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for battle replay data
+ * Last Edit Notes: Individual file implementation for battle replay information
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Combat
+{
+ ///
+ /// Response DTO for battle replay data
+ ///
+ public class BattleReplayResponseDto
+ {
+ ///
+ /// Battle ID for the replay
+ ///
+ public int BattleId { get; set; }
+
+ ///
+ /// Complete battle replay data
+ ///
+ public Dictionary ReplayData { get; set; } = new();
+
+ ///
+ /// Battle participants information
+ ///
+ public Dictionary Participants { get; set; } = new();
+
+ ///
+ /// Battle timeline and phases
+ ///
+ public List> BattleTimeline { get; set; } = new();
+
+ ///
+ /// When the replay was generated
+ ///
+ public DateTime ReplayGeneratedAt { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/CombatAnalyticsResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/CombatAnalyticsResponseDto.cs
new file mode 100644
index 0000000..04cda1c
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/CombatAnalyticsResponseDto.cs
@@ -0,0 +1,46 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\CombatAnalyticsResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for combat analytics
+ * Last Edit Notes: Individual file implementation for combat analytics data
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Combat
+{
+ ///
+ /// Response DTO for combat analytics
+ ///
+ public class CombatAnalyticsResponseDto
+ {
+ ///
+ /// Player ID for analytics
+ ///
+ public int PlayerId { get; set; }
+
+ ///
+ /// Timeframe covered by analytics
+ ///
+ public int TimeframeDays { get; set; }
+
+ ///
+ /// Complete combat analytics data
+ ///
+ public Dictionary Analytics { get; set; } = new();
+
+ ///
+ /// Comparative data against kingdom averages
+ ///
+ public Dictionary? KingdomComparison { get; set; }
+
+ ///
+ /// Performance trends over time
+ ///
+ public Dictionary? Trends { get; set; }
+
+ ///
+ /// When analytics were generated
+ ///
+ public DateTime GeneratedAt { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/CombatEffectivenessRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/CombatEffectivenessRequestDto.cs
new file mode 100644
index 0000000..4fd1881
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/CombatEffectivenessRequestDto.cs
@@ -0,0 +1,39 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\CombatEffectivenessRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for combat effectiveness analysis
+ * Last Edit Notes: Individual file implementation for combat effectiveness analysis input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Combat
+{
+ ///
+ /// Request DTO for combat effectiveness analysis
+ ///
+ public class CombatEffectivenessRequestDto
+ {
+ ///
+ /// Timeframe for effectiveness analysis
+ ///
+ [Range(1, 365)]
+ public int TimeframeDays { get; set; } = 30;
+
+ ///
+ /// Include comparison with spending patterns
+ ///
+ public bool IncludeSpendingAnalysis { get; set; } = true;
+
+ ///
+ /// Specific combat types to analyze
+ ///
+ public List? CombatTypes { get; set; }
+
+ ///
+ /// Additional analysis parameters
+ ///
+ public Dictionary? AnalysisParameters { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/DragonValidationRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/DragonValidationRequestDto.cs
new file mode 100644
index 0000000..9771981
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/DragonValidationRequestDto.cs
@@ -0,0 +1,41 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\DragonValidationRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for dragon validation in combat
+ * Last Edit Notes: Individual file implementation for dragon validation input
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Combat
+{
+ ///
+ /// Request DTO for dragon validation in combat
+ ///
+ public class DragonValidationRequestDto
+ {
+ ///
+ /// Dragon being validated for combat
+ ///
+ [Required]
+ public Dictionary DragonData { get; set; } = new();
+
+ ///
+ /// Combat context for validation
+ ///
+ [Required]
+ [StringLength(50)]
+ public string CombatContext { get; set; } = string.Empty;
+
+ ///
+ /// Troop composition the dragon will accompany
+ ///
+ public Dictionary? TroopComposition { get; set; }
+
+ ///
+ /// Target information for validation
+ ///
+ public Dictionary? TargetInfo { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/FieldInterceptionRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/FieldInterceptionRequestDto.cs
new file mode 100644
index 0000000..f234ff0
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/FieldInterceptionRequestDto.cs
@@ -0,0 +1,47 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\FieldInterceptionRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for field interception execution
+ * Last Edit Notes: Individual file implementation for field interception execution input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Combat
+{
+ ///
+ /// Request DTO for field interception execution
+ ///
+ public class FieldInterceptionRequestDto
+ {
+ ///
+ /// Player being intercepted
+ ///
+ [Required]
+ [Range(1, int.MaxValue)]
+ public int AttackingPlayerId { get; set; }
+
+ ///
+ /// Interception point coordinates
+ ///
+ [Required]
+ public (int X, int Y) InterceptionPoint { get; set; }
+
+ ///
+ /// Troops being deployed for interception
+ ///
+ [Required]
+ public Dictionary DefenderTroops { get; set; } = new();
+
+ ///
+ /// Dragon deployment for interception
+ ///
+ public Dictionary? DragonDeployment { get; set; }
+
+ ///
+ /// Tactical preferences for the interception
+ ///
+ public Dictionary? TacticalPreferences { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/InterceptionCalculationRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/InterceptionCalculationRequestDto.cs
new file mode 100644
index 0000000..07c43a9
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/InterceptionCalculationRequestDto.cs
@@ -0,0 +1,41 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\InterceptionCalculationRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for interception opportunities calculation
+ * Last Edit Notes: Individual file implementation for interception calculation input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Combat
+{
+ ///
+ /// Request DTO for interception opportunities calculation
+ ///
+ public class InterceptionCalculationRequestDto
+ {
+ ///
+ /// ID of the attacking player to intercept
+ ///
+ [Required]
+ [Range(1, int.MaxValue)]
+ public int AttackingPlayerId { get; set; }
+
+ ///
+ /// Attack route information
+ ///
+ [Required]
+ public List<(int X, int Y)> AttackRoute { get; set; } = new();
+
+ ///
+ /// Expected arrival time of attacking forces
+ ///
+ public DateTime? EstimatedArrivalTime { get; set; }
+
+ ///
+ /// Additional calculation parameters
+ ///
+ public Dictionary? CalculationParameters { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/InterceptionOpportunitiesResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/InterceptionOpportunitiesResponseDto.cs
new file mode 100644
index 0000000..bed6f9f
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/InterceptionOpportunitiesResponseDto.cs
@@ -0,0 +1,36 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\InterceptionOpportunitiesResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for field interception opportunities - core innovation feature
+ * Last Edit Notes: Individual file implementation for defender interception calculation system
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Combat
+{
+ ///
+ /// Response DTO for field interception opportunities calculation
+ ///
+ public class InterceptionOpportunitiesResponseDto
+ {
+ ///
+ /// Defending player calculating interceptions
+ ///
+ public int DefendingPlayerId { get; set; }
+
+ ///
+ /// Attacking player being intercepted
+ ///
+ public int AttackingPlayerId { get; set; }
+
+ ///
+ /// All available interception opportunities with timing and positioning
+ ///
+ public Dictionary InterceptionOpportunities { get; set; } = new();
+
+ ///
+ /// When the calculation was performed
+ ///
+ public DateTime CalculationTime { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/MarchCancellationRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/MarchCancellationRequestDto.cs
new file mode 100644
index 0000000..0811595
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/MarchCancellationRequestDto.cs
@@ -0,0 +1,36 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\MarchCancellationRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for march cancellation
+ * Last Edit Notes: Individual file implementation for march cancellation input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Combat
+{
+ ///
+ /// Request DTO for march cancellation
+ ///
+ public class MarchCancellationRequestDto
+ {
+ ///
+ /// ID of the march to cancel
+ ///
+ [Required]
+ [Range(1, int.MaxValue)]
+ public int MarchId { get; set; }
+
+ ///
+ /// Reason for cancellation
+ ///
+ [StringLength(200)]
+ public string? CancellationReason { get; set; }
+
+ ///
+ /// Whether to apply early return penalties
+ ///
+ public bool AcceptPenalties { get; set; } = true;
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/MarchInitiationRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/MarchInitiationRequestDto.cs
new file mode 100644
index 0000000..cf718fb
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/MarchInitiationRequestDto.cs
@@ -0,0 +1,52 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\MarchInitiationRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for march initiation
+ * Last Edit Notes: Individual file implementation for march initiation input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Combat
+{
+ ///
+ /// Request DTO for march initiation
+ ///
+ public class MarchInitiationRequestDto
+ {
+ ///
+ /// Target destination coordinates
+ ///
+ [Required]
+ public (int X, int Y) Destination { get; set; }
+
+ ///
+ /// Troops being marched
+ ///
+ [Required]
+ public Dictionary Troops { get; set; } = new();
+
+ ///
+ /// March type (Attack, Rally, Reinforce, etc.)
+ ///
+ [Required]
+ [StringLength(50)]
+ public string MarchType { get; set; } = string.Empty;
+
+ ///
+ /// Dragon accompanying the march
+ ///
+ public Dictionary? DragonDetails { get; set; }
+
+ ///
+ /// March priority and speed preferences
+ ///
+ public Dictionary? MarchPreferences { get; set; }
+
+ ///
+ /// Target player ID (for attacks)
+ ///
+ public int? TargetPlayerId { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/MarchSpeedResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/MarchSpeedResponseDto.cs
new file mode 100644
index 0000000..b2c7cbe
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Combat/MarchSpeedResponseDto.cs
@@ -0,0 +1,46 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\MarchSpeedResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for march speed calculations
+ * Last Edit Notes: Individual file implementation for march speed calculation results
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Combat
+{
+ ///
+ /// Response DTO for march speed calculations
+ ///
+ public class MarchSpeedResponseDto
+ {
+ ///
+ /// Base march speed
+ ///
+ public decimal BaseSpeed { get; set; }
+
+ ///
+ /// Final calculated speed after all modifiers
+ ///
+ public decimal FinalSpeed { get; set; }
+
+ ///
+ /// Speed modifiers applied
+ ///
+ public Dictionary SpeedModifiers { get; set; } = new();
+
+ ///
+ /// Estimated travel time to destination
+ ///
+ public TimeSpan EstimatedTravelTime { get; set; }
+
+ ///
+ /// Any limitations or restrictions on movement
+ ///
+ public List MovementRestrictions { get; set; } = new();
+
+ ///
+ /// When the calculation was performed
+ ///
+ public DateTime CalculatedAt { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Common/ErrorResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Common/ErrorResponseDto.cs
new file mode 100644
index 0000000..bc57d01
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Common/ErrorResponseDto.cs
@@ -0,0 +1,45 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Common\ErrorResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Standard error response DTO for consistent API error handling across all controllers
+ * Last Edit Notes: Individual file implementation with validation error support and contextual error information
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Common
+{
+ ///
+ /// Standard error response for all API endpoints
+ ///
+ public class ErrorResponseDto
+ {
+ ///
+ /// Human-readable error message
+ ///
+ [Required]
+ public string Message { get; set; } = string.Empty;
+
+ ///
+ /// Error code for client handling
+ ///
+ [Required]
+ public string Code { get; set; } = string.Empty;
+
+ ///
+ /// Additional error details
+ ///
+ public Dictionary? Details { get; set; }
+
+ ///
+ /// Validation errors from model binding
+ ///
+ public Dictionary? ValidationErrors { get; set; }
+
+ ///
+ /// Timestamp when error occurred
+ ///
+ public DateTime Timestamp { get; set; } = DateTime.UtcNow;
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Common/SuccessResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Common/SuccessResponseDto.cs
new file mode 100644
index 0000000..3e3acb6
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Common/SuccessResponseDto.cs
@@ -0,0 +1,36 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Common\SuccessResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Standard success response DTO for API operations that don't return specific data
+ * Last Edit Notes: Individual file implementation for consistent success messaging across controllers
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Common
+{
+ ///
+ /// Standard success response for operations that don't return specific data
+ ///
+ public class SuccessResponseDto
+ {
+ ///
+ /// Success message
+ ///
+ public string Message { get; set; } = "Operation completed successfully";
+
+ ///
+ /// Success indicator
+ ///
+ public bool Success { get; set; } = true;
+
+ ///
+ /// Operation timestamp
+ ///
+ public DateTime Timestamp { get; set; } = DateTime.UtcNow;
+
+ ///
+ /// Additional success details
+ ///
+ public Dictionary? Details { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/KingdomStatusResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/KingdomStatusResponseDto.cs
new file mode 100644
index 0000000..979cdde
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/KingdomStatusResponseDto.cs
@@ -0,0 +1,51 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Kingdom\KingdomStatusResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for kingdom status information
+ * Last Edit Notes: Individual file implementation for kingdom status and leadership data
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Kingdom
+{
+ ///
+ /// Response DTO for kingdom status information
+ ///
+ public class KingdomStatusResponseDto
+ {
+ ///
+ /// Kingdom identifier
+ ///
+ public int KingdomId { get; set; }
+
+ ///
+ /// Kingdom name
+ ///
+ public string KingdomName { get; set; } = string.Empty;
+
+ ///
+ /// Current population count
+ ///
+ public int Population { get; set; }
+
+ ///
+ /// Kingdom leadership information
+ ///
+ public Dictionary Leadership { get; set; } = new();
+
+ ///
+ /// Current KvK event status
+ ///
+ public Dictionary? KvKStatus { get; set; }
+
+ ///
+ /// Kingdom statistics and metrics
+ ///
+ public Dictionary Statistics { get; set; } = new();
+
+ ///
+ /// When the status was last updated
+ ///
+ public DateTime LastUpdated { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/KvKEventRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/KvKEventRequestDto.cs
new file mode 100644
index 0000000..c607e20
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/KvKEventRequestDto.cs
@@ -0,0 +1,47 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Kingdom\KvKEventRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for KvK event creation
+ * Last Edit Notes: Individual file implementation for KvK event creation input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Kingdom
+{
+ ///
+ /// Request DTO for KvK event creation
+ ///
+ public class KvKEventRequestDto
+ {
+ ///
+ /// Type of KvK event to create
+ ///
+ [Required]
+ [StringLength(50)]
+ public string EventType { get; set; } = string.Empty;
+
+ ///
+ /// Opposing kingdoms for the event
+ ///
+ [Required]
+ public List OpposingKingdoms { get; set; } = new();
+
+ ///
+ /// Event scheduling preferences
+ ///
+ public DateTime? PreferredStartTime { get; set; }
+
+ ///
+ /// Event duration in hours
+ ///
+ [Range(1, 168)] // 1 hour to 1 week
+ public int DurationHours { get; set; } = 72;
+
+ ///
+ /// Event-specific parameters
+ ///
+ public Dictionary? EventParameters { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/TaxDistributionResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/TaxDistributionResponseDto.cs
new file mode 100644
index 0000000..31f1dc4
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/TaxDistributionResponseDto.cs
@@ -0,0 +1,41 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Kingdom\TaxDistributionResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for tax distribution operations
+ * Last Edit Notes: Individual file implementation for tax distribution results
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Kingdom
+{
+ ///
+ /// Response DTO for tax distribution operations
+ ///
+ public class TaxDistributionResponseDto
+ {
+ ///
+ /// Kingdom performing the distribution
+ ///
+ public int KingdomId { get; set; }
+
+ ///
+ /// Total tax amount distributed
+ ///
+ public decimal TotalDistributed { get; set; }
+
+ ///
+ /// Distribution breakdown by recipient
+ ///
+ public Dictionary DistributionBreakdown { get; set; } = new();
+
+ ///
+ /// Distribution method used
+ ///
+ public string DistributionMethod { get; set; } = string.Empty;
+
+ ///
+ /// When the distribution was completed
+ ///
+ public DateTime DistributionTime { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/VotingRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/VotingRequestDto.cs
new file mode 100644
index 0000000..b5e1df2
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Kingdom/VotingRequestDto.cs
@@ -0,0 +1,45 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Kingdom\VotingRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for democratic voting operations
+ * Last Edit Notes: Individual file implementation for democratic voting input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Kingdom
+{
+ ///
+ /// Request DTO for democratic voting operations
+ ///
+ public class VotingRequestDto
+ {
+ ///
+ /// Type of vote being cast
+ ///
+ [Required]
+ [StringLength(50)]
+ public string VoteType { get; set; } = string.Empty;
+
+ ///
+ /// ID of the item being voted on
+ ///
+ [Required]
+ [Range(1, int.MaxValue)]
+ public int VoteItemId { get; set; }
+
+ ///
+ /// Vote choice (Yes/No, candidate ID, etc.)
+ ///
+ [Required]
+ [StringLength(100)]
+ public string VoteChoice { get; set; } = string.Empty;
+
+ ///
+ /// Optional reasoning for the vote
+ ///
+ [StringLength(500)]
+ public string? VoteReasoning { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/AllianceJoinRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/AllianceJoinRequestDto.cs
new file mode 100644
index 0000000..0e874db
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/AllianceJoinRequestDto.cs
@@ -0,0 +1,37 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\AllianceJoinRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for alliance join operations
+ * Last Edit Notes: Individual file implementation for alliance join input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Player
+{
+ ///
+ /// Request DTO for alliance join operations
+ ///
+ public class AllianceJoinRequestDto
+ {
+ ///
+ /// Alliance to join
+ ///
+ [Required]
+ [Range(1, int.MaxValue)]
+ public int AllianceId { get; set; }
+
+ ///
+ /// Optional message to alliance leadership
+ ///
+ [StringLength(500)]
+ public string? Message { get; set; }
+
+ ///
+ /// Player's preferred role if accepted
+ ///
+ [StringLength(50)]
+ public string? PreferredRole { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/CastleUpgradeRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/CastleUpgradeRequestDto.cs
new file mode 100644
index 0000000..1f9d414
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/CastleUpgradeRequestDto.cs
@@ -0,0 +1,34 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\CastleUpgradeRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for castle upgrade operations
+ * Last Edit Notes: Individual file implementation for castle upgrade input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Player
+{
+ ///
+ /// Request DTO for castle upgrade operations
+ ///
+ public class CastleUpgradeRequestDto
+ {
+ ///
+ /// Whether to use VIP bonuses if available
+ ///
+ public bool UseVipBonuses { get; set; } = true;
+
+ ///
+ /// Resource allocation for upgrade
+ ///
+ public Dictionary ResourceAllocation { get; set; } = new();
+
+ ///
+ /// Priority level for upgrade processing
+ ///
+ [Range(1, 5)]
+ public int Priority { get; set; } = 3;
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/CastleUpgradeResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/CastleUpgradeResponseDto.cs
new file mode 100644
index 0000000..58f5ed9
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/CastleUpgradeResponseDto.cs
@@ -0,0 +1,46 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\CastleUpgradeResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for castle upgrade operations
+ * Last Edit Notes: Individual file implementation for castle upgrade results
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Player
+{
+ ///
+ /// Response DTO for castle upgrade operations
+ ///
+ public class CastleUpgradeResponseDto
+ {
+ ///
+ /// Player ID who performed the upgrade
+ ///
+ public int PlayerId { get; set; }
+
+ ///
+ /// Whether the upgrade was successful
+ ///
+ public bool Success { get; set; }
+
+ ///
+ /// New castle level after upgrade
+ ///
+ public int NewCastleLevel { get; set; }
+
+ ///
+ /// Benefits granted from the upgrade
+ ///
+ public Dictionary BenefitsGranted { get; set; } = new();
+
+ ///
+ /// When the upgrade was completed
+ ///
+ public DateTime UpgradeTime { get; set; }
+
+ ///
+ /// Resources consumed in the upgrade
+ ///
+ public Dictionary ResourcesConsumed { get; set; } = new();
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/CombatPreparationResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/CombatPreparationResponseDto.cs
new file mode 100644
index 0000000..852eceb
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/CombatPreparationResponseDto.cs
@@ -0,0 +1,36 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\CombatPreparationResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for combat preparation status
+ * Last Edit Notes: Individual file implementation for combat preparation data
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Player
+{
+ ///
+ /// Response DTO for combat preparation status
+ ///
+ public class CombatPreparationResponseDto
+ {
+ ///
+ /// Player ID preparing for combat
+ ///
+ public int PlayerId { get; set; }
+
+ ///
+ /// Preparation status details
+ ///
+ public Dictionary PreparationStatus { get; set; } = new();
+
+ ///
+ /// Available march options
+ ///
+ public List> MarchOptions { get; set; } = new();
+
+ ///
+ /// When preparation was calculated
+ ///
+ public DateTime PreparationTime { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/ExperienceProcessingRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/ExperienceProcessingRequestDto.cs
new file mode 100644
index 0000000..5c39fd6
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/ExperienceProcessingRequestDto.cs
@@ -0,0 +1,42 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\ExperienceProcessingRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for experience processing operations
+ * Last Edit Notes: Individual file implementation for experience processing input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Player
+{
+ ///
+ /// Request DTO for experience processing operations
+ ///
+ public class ExperienceProcessingRequestDto
+ {
+ ///
+ /// Type of experience gain
+ ///
+ [Required]
+ [StringLength(50)]
+ public string ExperienceType { get; set; } = string.Empty;
+
+ ///
+ /// Amount of experience to process
+ ///
+ [Range(0, decimal.MaxValue)]
+ public decimal ExperienceAmount { get; set; }
+
+ ///
+ /// Source of the experience
+ ///
+ [StringLength(100)]
+ public string? Source { get; set; }
+
+ ///
+ /// Additional context for experience processing
+ ///
+ public Dictionary? Context { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/PlayerProfileResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/PlayerProfileResponseDto.cs
new file mode 100644
index 0000000..4e3aacc
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/PlayerProfileResponseDto.cs
@@ -0,0 +1,89 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\PlayerProfileResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for player profile information including core stats and progression
+ * Last Edit Notes: Individual file implementation with complete player profile data structure
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Player
+{
+ ///
+ /// Response DTO for comprehensive player profile information
+ ///
+ public class PlayerProfileResponseDto
+ {
+ ///
+ /// Player's unique identifier
+ ///
+ public int PlayerId { get; set; }
+
+ ///
+ /// Player's username
+ ///
+ [Required]
+ public string PlayerName { get; set; } = string.Empty;
+
+ ///
+ /// Current castle level (capped at 30)
+ ///
+ public int CastleLevel { get; set; }
+
+ ///
+ /// Overall player power rating
+ ///
+ public decimal Power { get; set; }
+
+ ///
+ /// Current VIP tier
+ ///
+ public int VipTier { get; set; }
+
+ ///
+ /// Kingdom the player belongs to
+ ///
+ public int KingdomId { get; set; }
+
+ ///
+ /// Alliance ID if player is in an alliance
+ ///
+ public int? AllianceId { get; set; }
+
+ ///
+ /// Alliance name if applicable
+ ///
+ public string? AllianceName { get; set; }
+
+ ///
+ /// Player's position on the map
+ ///
+ public (int X, int Y) Position { get; set; }
+
+ ///
+ /// Player's current resource counts
+ ///
+ public Dictionary Resources { get; set; } = new();
+
+ ///
+ /// Combat statistics
+ ///
+ public Dictionary CombatStats { get; set; } = new();
+
+ ///
+ /// Account creation date
+ ///
+ public DateTime CreatedAt { get; set; }
+
+ ///
+ /// Last active timestamp
+ ///
+ public DateTime LastActiveAt { get; set; }
+
+ ///
+ /// Whether player is active
+ ///
+ public bool IsActive { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/ResourceStatusResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/ResourceStatusResponseDto.cs
new file mode 100644
index 0000000..77b4cdd
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/ResourceStatusResponseDto.cs
@@ -0,0 +1,46 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\ResourceStatusResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for resource status information
+ * Last Edit Notes: Individual file implementation for resource status data
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Player
+{
+ ///
+ /// Response DTO for resource status information
+ ///
+ public class ResourceStatusResponseDto
+ {
+ ///
+ /// Player ID for resource status
+ ///
+ public int PlayerId { get; set; }
+
+ ///
+ /// Current resource amounts
+ ///
+ public Dictionary CurrentResources { get; set; } = new();
+
+ ///
+ /// Resource production rates
+ ///
+ public Dictionary ProductionRates { get; set; } = new();
+
+ ///
+ /// Storage capacity limits
+ ///
+ public Dictionary StorageCapacity { get; set; } = new();
+
+ ///
+ /// Protected resource amounts
+ ///
+ public Dictionary ProtectedAmounts { get; set; } = new();
+
+ ///
+ /// When resources were last calculated
+ ///
+ public DateTime LastCalculated { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/TeleportationRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/TeleportationRequestDto.cs
new file mode 100644
index 0000000..252ebd6
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/TeleportationRequestDto.cs
@@ -0,0 +1,40 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\TeleportationRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for teleportation operations
+ * Last Edit Notes: Individual file implementation for teleportation input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Player
+{
+ ///
+ /// Request DTO for teleportation operations
+ ///
+ public class TeleportationRequestDto
+ {
+ ///
+ /// Target destination coordinates
+ ///
+ [Required]
+ public (int X, int Y) Destination { get; set; }
+
+ ///
+ /// Whether to use VIP teleportation benefits
+ ///
+ public bool UseVipBenefits { get; set; } = true;
+
+ ///
+ /// Teleportation priority level
+ ///
+ [Range(1, 5)]
+ public int Priority { get; set; } = 3;
+
+ ///
+ /// Override safety restrictions (requires special permissions)
+ ///
+ public bool OverrideSafetyRestrictions { get; set; } = false;
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/TeleportationResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/TeleportationResponseDto.cs
new file mode 100644
index 0000000..7cd0fcc
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/TeleportationResponseDto.cs
@@ -0,0 +1,41 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\TeleportationResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for teleportation operations
+ * Last Edit Notes: Individual file implementation for teleportation results
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Player
+{
+ ///
+ /// Response DTO for teleportation operations
+ ///
+ public class TeleportationResponseDto
+ {
+ ///
+ /// Whether teleportation was successful
+ ///
+ public bool Success { get; set; }
+
+ ///
+ /// New player position after teleportation
+ ///
+ public (int X, int Y) NewPosition { get; set; }
+
+ ///
+ /// Cost breakdown for the teleportation
+ ///
+ public Dictionary CostBreakdown { get; set; } = new();
+
+ ///
+ /// Any restrictions that were applied
+ ///
+ public List RestrictionsApplied { get; set; } = new();
+
+ ///
+ /// When the teleportation occurred
+ ///
+ public DateTime TeleportationTime { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/VipStatusResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/VipStatusResponseDto.cs
new file mode 100644
index 0000000..773a68f
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Player/VipStatusResponseDto.cs
@@ -0,0 +1,31 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\VipStatusResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for VIP status information
+ * Last Edit Notes: Individual file implementation for VIP status data
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Player
+{
+ ///
+ /// Response DTO for VIP status information
+ ///
+ public class VipStatusResponseDto
+ {
+ ///
+ /// Player ID for VIP status
+ ///
+ public int PlayerId { get; set; }
+
+ ///
+ /// Complete VIP status information
+ ///
+ public Dictionary VipStatus { get; set; } = new();
+
+ ///
+ /// When the status was last updated
+ ///
+ public DateTime LastUpdated { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/BalanceMonitoringResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/BalanceMonitoringResponseDto.cs
new file mode 100644
index 0000000..711bb8f
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/BalanceMonitoringResponseDto.cs
@@ -0,0 +1,46 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Purchase\BalanceMonitoringResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for balance monitoring results
+ * Last Edit Notes: Individual file implementation for anti-pay-to-win balance monitoring results
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Purchase
+{
+ ///
+ /// Response DTO for balance monitoring results
+ ///
+ public class BalanceMonitoringResponseDto
+ {
+ ///
+ /// Player being monitored
+ ///
+ public int PlayerId { get; set; }
+
+ ///
+ /// Overall balance assessment
+ ///
+ public string BalanceStatus { get; set; } = string.Empty;
+
+ ///
+ /// Detailed balance metrics
+ ///
+ public Dictionary BalanceMetrics { get; set; } = new();
+
+ ///
+ /// Spending vs performance analysis
+ ///
+ public Dictionary SpendingAnalysis { get; set; } = new();
+
+ ///
+ /// Recommended adjustments for balance
+ ///
+ public List BalanceRecommendations { get; set; } = new();
+
+ ///
+ /// When monitoring was performed
+ ///
+ public DateTime MonitoringTime { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/FraudDetectionRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/FraudDetectionRequestDto.cs
new file mode 100644
index 0000000..657e85b
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/FraudDetectionRequestDto.cs
@@ -0,0 +1,40 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Purchase\FraudDetectionRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for fraud detection analysis
+ * Last Edit Notes: Individual file implementation for fraud detection input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Purchase
+{
+ ///
+ /// Request DTO for fraud detection analysis
+ ///
+ public class FraudDetectionRequestDto
+ {
+ ///
+ /// Transaction details to analyze
+ ///
+ [Required]
+ public Dictionary TransactionData { get; set; } = new();
+
+ ///
+ /// Analysis depth level
+ ///
+ [Range(1, 5)]
+ public int AnalysisDepth { get; set; } = 3;
+
+ ///
+ /// Include historical pattern analysis
+ ///
+ public bool IncludeHistoricalAnalysis { get; set; } = true;
+
+ ///
+ /// Additional fraud detection parameters
+ ///
+ public Dictionary? DetectionParameters { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/PurchaseProcessingRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/PurchaseProcessingRequestDto.cs
new file mode 100644
index 0000000..b3cb0c1
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/PurchaseProcessingRequestDto.cs
@@ -0,0 +1,62 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Purchase\PurchaseProcessingRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for purchase processing
+ * Last Edit Notes: Individual file implementation for purchase processing input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Purchase
+{
+ ///
+ /// Request DTO for purchase processing
+ ///
+ public class PurchaseProcessingRequestDto
+ {
+ ///
+ /// Item or package being purchased
+ ///
+ [Required]
+ [StringLength(100)]
+ public string ItemId { get; set; } = string.Empty;
+
+ ///
+ /// Quantity being purchased
+ ///
+ [Range(1, int.MaxValue)]
+ public int Quantity { get; set; } = 1;
+
+ ///
+ /// Purchase amount in local currency
+ ///
+ [Range(0.01, double.MaxValue)]
+ public decimal PurchaseAmount { get; set; }
+
+ ///
+ /// Currency code for the purchase
+ ///
+ [Required]
+ [StringLength(3)]
+ public string CurrencyCode { get; set; } = string.Empty;
+
+ ///
+ /// External transaction ID from payment processor
+ ///
+ [Required]
+ [StringLength(200)]
+ public string TransactionId { get; set; } = string.Empty;
+
+ ///
+ /// Payment method used
+ ///
+ [StringLength(50)]
+ public string? PaymentMethod { get; set; }
+
+ ///
+ /// Additional purchase metadata
+ ///
+ public Dictionary? PurchaseMetadata { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/PurchaseValidationResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/PurchaseValidationResponseDto.cs
new file mode 100644
index 0000000..822d504
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/PurchaseValidationResponseDto.cs
@@ -0,0 +1,46 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Purchase\PurchaseValidationResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for purchase validation results
+ * Last Edit Notes: Individual file implementation for purchase validation and fraud detection results
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Purchase
+{
+ ///
+ /// Response DTO for purchase validation results
+ ///
+ public class PurchaseValidationResponseDto
+ {
+ ///
+ /// Whether the purchase is valid and approved
+ ///
+ public bool IsValid { get; set; }
+
+ ///
+ /// Player making the purchase
+ ///
+ public int PlayerId { get; set; }
+
+ ///
+ /// Detailed validation results
+ ///
+ public Dictionary ValidationResults { get; set; } = new();
+
+ ///
+ /// Any warnings about the purchase
+ ///
+ public List Warnings { get; set; } = new();
+
+ ///
+ /// Fraud risk assessment
+ ///
+ public Dictionary FraudRisk { get; set; } = new();
+
+ ///
+ /// When validation was performed
+ ///
+ public DateTime ValidationTime { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/SpendingAnalyticsResponseDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/SpendingAnalyticsResponseDto.cs
new file mode 100644
index 0000000..44a0dbc
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/SpendingAnalyticsResponseDto.cs
@@ -0,0 +1,46 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Purchase\SpendingAnalyticsResponseDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Response DTO for spending analytics
+ * Last Edit Notes: Individual file implementation for spending analytics data
+ */
+
+namespace ShadowedRealms.Shared.DTOs.Purchase
+{
+ ///
+ /// Response DTO for spending analytics
+ ///
+ public class SpendingAnalyticsResponseDto
+ {
+ ///
+ /// Player ID for spending analytics
+ ///
+ public int PlayerId { get; set; }
+
+ ///
+ /// Timeframe covered by analytics
+ ///
+ public int TimeframeDays { get; set; }
+
+ ///
+ /// Complete spending analytics
+ ///
+ public Dictionary SpendingAnalytics { get; set; } = new();
+
+ ///
+ /// Comparative data against other players
+ ///
+ public Dictionary? Comparisons { get; set; }
+
+ ///
+ /// Spending patterns and trends
+ ///
+ public Dictionary? Trends { get; set; }
+
+ ///
+ /// When analytics were generated
+ ///
+ public DateTime GeneratedAt { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/VipAdvancementRequestDto.cs b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/VipAdvancementRequestDto.cs
new file mode 100644
index 0000000..673cf15
--- /dev/null
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/DTOs/Purchase/VipAdvancementRequestDto.cs
@@ -0,0 +1,40 @@
+/*
+ * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Purchase\VipAdvancementRequestDto.cs
+ * Created: 2025-10-19
+ * Last Modified: 2025-10-19
+ * Description: Request DTO for VIP advancement operations
+ * Last Edit Notes: Individual file implementation for VIP advancement input validation
+ */
+
+using System.ComponentModel.DataAnnotations;
+
+namespace ShadowedRealms.Shared.DTOs.Purchase
+{
+ ///
+ /// Request DTO for VIP advancement operations
+ ///
+ public class VipAdvancementRequestDto
+ {
+ ///
+ /// Purchase amount contributing to VIP advancement
+ ///
+ [Range(0.01, double.MaxValue)]
+ public decimal PurchaseAmount { get; set; }
+
+ ///
+ /// Whether to apply secret tier progression
+ ///
+ public bool AllowSecretTiers { get; set; } = true;
+
+ ///
+ /// External transaction reference
+ ///
+ [StringLength(200)]
+ public string? TransactionReference { get; set; }
+
+ ///
+ /// Additional advancement parameters
+ ///
+ public Dictionary? AdvancementParameters { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/ShadowedRealms.Shared.csproj b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/ShadowedRealms.Shared.csproj
index d4cabc0..fcb2ffe 100644
--- a/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/ShadowedRealms.Shared.csproj
+++ b/ShadowedRealmsMobile/src/server/ShadowedRealms.Shared/ShadowedRealms.Shared.csproj
@@ -7,7 +7,6 @@
-