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 }