Diag: BT_VALVE_BOOST=<condenserNumber> (route coolant priority to one condenser)

Extends the coolant/jam probe: boost one condenser's valve to 50 and starve the rest
to 1 (share ~0.9 vs the ~1/N baseline) -- the authentic 'coolant priority' scenario,
for measuring the per-weapon boost effect. No behavior change (env-gated).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
arcattack
2026-07-14 07:11:15 -05:00
co-authored by Claude Fable 5
parent 21abe2212e
commit 4e72f0c4f4
+16 -1
View File
@@ -979,9 +979,24 @@ void BTRecomputeCondenserValves(Entity *owner)
// DIAG (BT_VALVE=<n>): force every condenser's valve detent so the coolant/jam // DIAG (BT_VALVE=<n>): force every condenser's valve detent so the coolant/jam
// mechanic can be tested at a known coolant level (0=closed/uncooled .. 50=max). // mechanic can be tested at a known coolant level (0=closed/uncooled .. 50=max).
// DIAG (BT_VALVE_BOOST=<condenserNumber>): the authentic "coolant priority" test --
// give ONE condenser the max detent (50) and starve the rest to the min (1), i.e.
// route the coolant SHARE to that condenser (share ~0.9 vs the ~1/N baseline).
{ {
const char *fv = getenv("BT_VALVE"); const char *fv = getenv("BT_VALVE");
if (fv && fv[0]) const char *fb = getenv("BT_VALVE_BOOST");
if (fb && fb[0])
{
int boostNum = atoi(fb);
for (int i = 0; i < count; ++i)
{
Subsystem *s = owner->GetSubsystem(i);
if (s != 0 && s->IsDerivedFrom(condClass))
((Condenser *)s)->valveState =
(((Condenser *)s)->condenserNumber == boostNum) ? 50 : 1;
}
}
else if (fv && fv[0])
{ {
int v = atoi(fv); int v = atoi(fv);
for (int i = 0; i < count; ++i) for (int i = 0; i < count; ++i)