AI draws from its own dice: the range-sample offset and the patrol circuit leave ItemManager.Random
Combat.SampleDps and Zone.CreateAgent's patrol circuit drew from the item stream, so minting items moved how a pilot fights and where it patrols. Both now draw SimulationDice.For(CombatSeed, stream, Agent.Id); Agent.Id is the zone-scoped ordinal Zone.NextAgentId gives a pilot at admission (ruling ai-sample-offset-off-item-stream). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
2891b9a807
commit
72d7e25df0
5 changed files with 40 additions and 3 deletions
|
|
@ -10,6 +10,10 @@ public static class SimulationDice
|
|||
{
|
||||
public const uint LootStream = 1;
|
||||
public const uint MineStream = 2;
|
||||
// A pilot's own decisions, ordinal Agent.Id: its preferred engagement range and its patrol circuit. AI behaviour
|
||||
// never rides ItemManager.Random, so minting items cannot change how a pilot fights.
|
||||
public const uint CombatSampleStream = 3;
|
||||
public const uint PatrolStream = 4;
|
||||
|
||||
// 9.1 (docs/fire-control-cut.md): fmix32, MurmurHash3's 32-bit finalizer -- xor-shift, multiply,
|
||||
// xor-shift, multiply, xor-shift. Diffuses a structured seed (a zone seed XORed with a small,
|
||||
|
|
|
|||
Loading…
Reference in a new issue