/ GUNRPG.Application / Combat / IDeterministicCombatEngine.cs
IDeterministicCombatEngine.cs
 1  using GUNRPG.Application.Backend;
 2  
 3  namespace GUNRPG.Application.Combat;
 4  
 5  /// <summary>
 6  /// Deterministic combat engine that produces identical results given the same operator state and seed.
 7  /// Used for both offline mission execution (client) and server-side replay validation.
 8  /// </summary>
 9  public interface IDeterministicCombatEngine
10  {
11      /// <summary>
12      /// Executes a combat mission deterministically using the provided seed.
13      /// Must produce identical results for the same inputs on every invocation.
14      /// Uses only <c>new Random(seed)</c> — no static Random, no DateTime, no external state.
15      /// </summary>
16      CombatResult Execute(OperatorDto snapshot, int seed);
17  }