feat: v2.0.0 -- confirmed working, scaffolding removed
Confirmed in game. The radiator's thermal-ammo and hold signals both arrive, VentAllowed goes false, and the radiator idles with its manual switch still on -- heat banked for the launchers instead of vented. The self-test probes did their job: ThresholdToggle was fine, and a mod-defined category carries a value perfectly well. The EMP probe was simply a bad probe -- it read thermal_load_dissipation, which an idled radiator broadcasts as zero, so it was correctly reporting a real zero. Routing in v1.3.0 was the actual cure. Remove the probes and the diagnostic indicators. The repointed power indicator is the one cue a player needs: it now shows on a radiator the mod has idled. Add test_override_values_name_real_components, which catches an Overrides value naming a component that does not exist -- a fourth way to produce a mod that loads clean and does nothing, and one this very commit introduced while stripping the scaffolding. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011oLWY1G6S8U35bi2FxVWni
This commit is contained in:
@@ -72,67 +72,6 @@ AutoRad_ForceVent
|
||||
Invert = true
|
||||
}
|
||||
|
||||
// --- Self-test probes -------------------------------------------------------
|
||||
//
|
||||
// Three versions of this mod have now loaded cleanly and done nothing, each for
|
||||
// a different reason, so these bisect the remaining possibilities directly.
|
||||
// Each drives an indicator, and an indicator is drawn while its toggle is OFF,
|
||||
// so in every case a visible icon means that probe FAILED.
|
||||
|
||||
// A: does ThresholdToggle behave as expected at all? No network involved.
|
||||
AutoRad_ProbeOne { Type = StaticValue; Value = 1 }
|
||||
AutoRad_ProbeThresholdOK
|
||||
{
|
||||
Type = ThresholdToggle
|
||||
ValueFrom = AutoRad_ProbeOne
|
||||
MinAmount = 0
|
||||
MaxAmount = 0
|
||||
Invert = true
|
||||
}
|
||||
|
||||
// B: can a mod-defined category carry a value at all? The radiator broadcasts
|
||||
// and receives this one itself, so no second part is involved.
|
||||
AutoRad_ProbeBroadcast
|
||||
{
|
||||
Type = NetworkValue
|
||||
ValueSource = AutoRad_ProbeOne
|
||||
Categories = [ auto_radiator_selftest ]
|
||||
IncludeInBlueprints = false
|
||||
}
|
||||
AutoRad_ProbeReceive
|
||||
{
|
||||
Type = NetworkValueReceiver
|
||||
Categories = [ auto_radiator_selftest ]
|
||||
Mode = Max
|
||||
AllowUncategorized = false
|
||||
}
|
||||
AutoRad_ProbeSelfLoopOK
|
||||
{
|
||||
Type = ThresholdToggle
|
||||
ValueFrom = AutoRad_ProbeReceive
|
||||
MinAmount = 0
|
||||
MaxAmount = 0
|
||||
Invert = true
|
||||
}
|
||||
|
||||
// C: does receiving work for a category vanilla already broadcasts? The
|
||||
// radiator's own NetworkedThermalDissipationLoadValue publishes this one.
|
||||
AutoRad_ProbeVanillaCat
|
||||
{
|
||||
Type = NetworkValueReceiver
|
||||
Categories = [ thermal_load_dissipation ]
|
||||
Mode = Max
|
||||
AllowUncategorized = false
|
||||
}
|
||||
AutoRad_ProbeVanillaCatOK
|
||||
{
|
||||
Type = ThresholdToggle
|
||||
ValueFrom = AutoRad_ProbeVanillaCat
|
||||
MinAmount = 0
|
||||
MaxAmount = 0
|
||||
Invert = true
|
||||
}
|
||||
|
||||
AutoRad_VentAllowed
|
||||
{
|
||||
Type = MultiToggle
|
||||
@@ -146,21 +85,11 @@ AutoRad_VentAllowed
|
||||
}
|
||||
|
||||
// The replacement gate. PowerToggle is the radiator's vanilla UIToggle, so the
|
||||
// player's switch remains the master control.
|
||||
// player's switch remains the master control: it can turn a radiator off, and
|
||||
// the automation can only idle one the player has left on.
|
||||
AutoPowerToggle
|
||||
{
|
||||
Type = MultiToggle
|
||||
Toggles = [ PowerToggle, AutoRad_VentAllowed ]
|
||||
Mode = All
|
||||
}
|
||||
|
||||
// Diagnostic anchor. An indicator icon shows while its toggle is OFF, so an
|
||||
// icon bound to this one is visible whenever these components were merged onto
|
||||
// the part at all. If that icon is absent, the AddBase in mod.rules did not
|
||||
// take effect and nothing else in this file is running either -- which is the
|
||||
// single most useful thing to be able to tell apart from a dead signal.
|
||||
AutoRad_AlwaysOff
|
||||
{
|
||||
Type = StaticToggle
|
||||
ToggleOn = false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user