The session records a harvester-truce request in Session.Options.HarvTruce, but on the skirmish path nothing carries it to the simulation: Special.IsHarvesterImmune is set from it only in PregameSetup() (code/netshare.cpp), which no skirmish reaches, and the skirmish dialog hardcodes the option to off. A skirmish takes harvester immunity only from the scenario's own [SPECIAL] section.
Give the option one owner on every path that starts a session, so a skirmish set up from the menu or from a client launch file honors it the way a lobby game does. The client launch path already binds the request into the session and documents it as inert; that marker comes off when this lands.
Blocked by nothing; touches the deterministic simulation boundary, so the change record must classify the effect on existing scenarios.
The session records a harvester-truce request in
Session.Options.HarvTruce, but on the skirmish path nothing carries it to the simulation:Special.IsHarvesterImmuneis set from it only inPregameSetup()(code/netshare.cpp), which no skirmish reaches, and the skirmish dialog hardcodes the option to off. A skirmish takes harvester immunity only from the scenario's own[SPECIAL]section.Give the option one owner on every path that starts a session, so a skirmish set up from the menu or from a client launch file honors it the way a lobby game does. The client launch path already binds the request into the session and documents it as inert; that marker comes off when this lands.
Blocked by nothing; touches the deterministic simulation boundary, so the change record must classify the effect on existing scenarios.