diff --git a/game/reconstructed/heatfamily_reslice.cpp b/game/reconstructed/heatfamily_reslice.cpp index c67f899..5fa2f1f 100644 --- a/game/reconstructed/heatfamily_reslice.cpp +++ b/game/reconstructed/heatfamily_reslice.cpp @@ -979,9 +979,24 @@ void BTRecomputeCondenserValves(Entity *owner) // DIAG (BT_VALVE=): force every condenser's valve detent so the coolant/jam // mechanic can be tested at a known coolant level (0=closed/uncooled .. 50=max). + // DIAG (BT_VALVE_BOOST=): 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"); - 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); for (int i = 0; i < count; ++i)