Skip to content

Sammler steht nach Fertigstellung der Raffinerie still, statt zu ernten #43

Description

@cubetribe

Aus dem Betatest vom 09.08.2026 (Build a434e2c, macOS). Quelle: docs/production/hashkrieg/Testberichte/2026-08-09_a434e2c_T-01.md

Beobachtung

Nach dem Bau der Raffinerie fährt der Sammler nicht los, obwohl Aetherium in unmittelbarer Nähe liegt. Er bleibt stehen, bis man ihn von Hand mit H auf ein Feld schickt.

Der Tester nennt das den ersten Stolperstein der Partie: „Er hat keinen anderen Zweck außer zu sammeln."

Ursache

ConstructionSystem.GrantFoundingHarvester (seit f4335a1) stellt den kostenlosen Sammler korrekt hin, setzt aber keinen Erntebefehl: UnitState.HarvestFieldId bleibt 0.

Der Auto-Kreislauf in EconomySystem (ernten → zurückbringen → ernten) ist vorhanden und funktioniert — er setzt aber nur einen bestehenden Befehl fort. Die zurückbehaltene Feld-ID ist der gesamte Mechanismus. Ohne initiale Zuweisung greift er nie.

Das ist ein anderer Fehler als #20: dort brach der Kreislauf nach der Rückkehr ab, das ist seit 15dfe73 behoben.

Erwartung

Ein frisch gestellter Sammler nimmt selbstständig das nächstgelegene erreichbare Aetheriumfeld auf.

Zu beachten

  • Die Feldwahl muss deterministisch sein: aufsteigende Feld-Indizes, Distanzvergleich in Fixed-Point, niedrigster Index gewinnt bei Gleichstand — sonst bricht die Lane-Parität
  • Die Zuweisung läuft in der Bauphase, also als direkter Zustandsschreibzugriff wie der Spawn selbst; sie darf keinen Zustand über die Tick-Grenze tragen
  • Offen zu entscheiden: gilt das nur für den geschenkten Gründungssammler oder für jeden neu produzierten Sammler?

Datei

Assets/_Project/Scripts/Simulation/Construction/ConstructionSystem.csGrantFoundingHarvester

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingsimulationSimulationskern, Determinismus, Netzcode

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions