Trojan swarms: a belt on a copy of its host's rail whose rocks ride the rail's period
Rulings trojans-first, trojans-ride-host-period-with-stations. AsteroidBeltData key 11 RidesRail; AsteroidBelt.Extent is the one belt extent rule (replaces Zone's inline farthest-rock loop and the Math.Max at the well node); a swarm's Periods are its rail's period. The generator draws swarms from a stream of its own (TrojanStream), so no other draw in the zone moves. Tuning defaults are the spec's proposals; the code default TrojanProbability 0 draws none. Existing annulus tests skip swarm rails. Builds. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
67517f407f
commit
92d6153c2e
7 changed files with 83 additions and 19 deletions
|
|
@ -105,6 +105,12 @@ public class AsteroidBeltData : BodyData
|
|||
// it on first load through FieldKinds.Ensure, the same function generation uses.
|
||||
[JsonProperty("kind"), Key(10)]
|
||||
public CultRecordRef<FieldKindData> Kind;
|
||||
|
||||
// A Trojan swarm (ruling trojans-ride-host-period-with-stations): every rock rides the belt's rail at the rail's period, so
|
||||
// the swarm keeps its shape. False on a belt from before this key (MessagePack leaves a missing trailing key at its default),
|
||||
// which keeps each rock on its own distance's period: an annulus.
|
||||
[JsonProperty("ridesRail"), Key(11)]
|
||||
public bool RidesRail;
|
||||
}
|
||||
|
||||
// Mining Cut 3 (docs/mining-cut-refresh.md, Q11): a kind of debris field, an authored catalog record. A chunk's
|
||||
|
|
|
|||
Loading…
Reference in a new issue