Meta Vens
8bbf280756
Resolve request/brownout conflict: evaluate power requests nominally
...
A power request may not depend on power supply (Cut 6/F6), and continuous
consumers brown out through a power term on their own performance stats
(Cut 7). For Radiator (PumpedHeat) and AetherDrive (Torque) those were the
same stat, making six shipped catalog records illegal and leaving six
BrownoutTests cases skipped.
Resolved per the operator's ruling: a power request is evaluated
nominally -- what the item wants at full supply, not what it is currently
managing. EquippedItem.EvaluateNominalPower (mirroring ConditionRatio's
own NominalContext) pins only PowerSupplyFactor to 1; Heat/Durability
stay live, since they are not the term a request would be circular
through. Every PowerRequest/RefreshReserve/RefreshInputCapacitor
implementation now reads a StatValidation.PowerRequestFields stat through
it, so the same stat can carry a brownout curve and be a request field
without the request depending on its own answer.
StatValidation.ValidateNoPowerSupplyOnRequest (F6's static half of the
rule, forbidding the term outright) is deleted -- nominal evaluation
removes the circularity at the root instead. Only the dynamic
modifier-chain half (StatModifier.ValidateNoPowerSupplyChain) still
refuses anything, since EvaluateNominalPower forwards ScaleModifier/
ConstantModifier unchanged (real, not nominal).
Un-skips BrownoutTests' six Radiator/AetherDrive cases and adds two new
regression tests (a direct EvaluateNominalPower probe, and a two-tick
Radiator demand check) backed by a new mutation harness. Updates the four
PowerCurveTests/AetheriaStoresTests cases that pinned the now-superseded
static refusal to instead assert acceptance. GameData/Aetheria.cc is
unchanged and still validates.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 06:58:57 +02:00
..
AetherDrive.cs
Resolve request/brownout conflict: evaluate power requests nominally
2026-09-19 06:58:57 +02:00
AetherDrive.cs.meta
Aetheric Drive
2021-04-14 03:29:14 +01:00
AutoWeapon.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
AutoWeapon.cs.meta
Weapon Scripting Overhaul
2021-01-25 05:53:36 +00:00
Behaviors.cs
Resolve request/brownout conflict: evaluate power requests nominally
2026-09-19 06:58:57 +02:00
Behaviors.cs.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
Capacitor.cs
Cut 3: PowerBus replaces TryConsumeEnergy/CanConsumeEnergy
2026-09-18 21:39:38 +02:00
Capacitor.cs.meta
Energy & Heat
2020-12-27 22:18:22 +00:00
ChargedWeapon.cs
Cut 4: input capacitors close the last direct capacitor spend
2026-09-18 22:52:15 +02:00
ChargedWeapon.cs.meta
Weapon Scripting Overhaul
2021-01-25 05:53:36 +00:00
Cockpit.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
Cockpit.cs.meta
Energy & Heat
2020-12-27 22:18:22 +00:00
ConstantWeapon.cs
Resolve request/brownout conflict: evaluate power requests nominally
2026-09-19 06:58:57 +02:00
ConstantWeapon.cs.meta
GUNS GUNS GUNS
2021-01-05 02:56:17 +00:00
Cooldown.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
Cooldown.cs.meta
Massive Item Behavior Refactoring
2020-05-12 01:42:13 +01:00
EnergyDraw.cs
Resolve request/brownout conflict: evaluate power requests nominally
2026-09-19 06:58:57 +02:00
EnergyDraw.cs.meta
Mega Placement
2020-05-21 01:53:06 +01:00
Heat.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
Heat.cs.meta
Massive Item Behavior Refactoring
2020-05-12 01:42:13 +01:00
HeatStorage.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
HeatStorage.cs.meta
Wormholes
2021-03-05 14:31:18 +00:00
InputCapacitor.cs
Cut 4: input capacitors close the last direct capacitor spend
2026-09-18 22:52:15 +02:00
InputCapacitor.cs.meta
Cut 4: input capacitors close the last direct capacitor spend
2026-09-18 22:52:15 +02:00
InstantWeapon.cs
Resolve request/brownout conflict: evaluate power requests nominally
2026-09-19 06:58:57 +02:00
InstantWeapon.cs.meta
Weapon Scripting Overhaul
2021-01-25 05:53:36 +00:00
ItemUsage.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
ItemUsage.cs.meta
Behavior Canceling & Grouping
2020-05-11 01:17:10 +01:00
Launcher.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
Launcher.cs.meta
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
LockWeapon.cs
Gate weapon fire on the shooter's own stance, shared by player and AI
2026-09-17 14:00:59 +02:00
LockWeapon.cs.meta
Weapon Scripting Overhaul
2021-01-25 05:53:36 +00:00
MiningTool.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
MiningTool.cs.meta
Mining
2020-05-28 04:50:40 +01:00
Radiator.cs
Resolve request/brownout conflict: evaluate power requests nominally
2026-09-19 06:58:57 +02:00
Radiator.cs.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
Reactor.cs
Cut 5: priority tiers replace PowerBus's single shared GrantRatio
2026-09-19 02:58:38 +02:00
Reactor.cs.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
Reflector.cs
Swap Unity.Mathematics usings for CultMath
2026-09-14 17:39:12 +02:00
Reflector.cs.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
ResourceScanner.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
ResourceScanner.cs.meta
Mega Placement
2020-05-21 01:53:06 +01:00
Sensor.cs
Resolve request/brownout conflict: evaluate power requests nominally
2026-09-19 06:58:57 +02:00
Sensor.cs.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
Shield.cs
Resolve request/brownout conflict: evaluate power requests nominally
2026-09-19 06:58:57 +02:00
Shield.cs.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
StatModifier.cs
Resolve request/brownout conflict: evaluate power requests nominally
2026-09-19 06:58:57 +02:00
StatModifier.cs.meta
Massive Item Behavior Refactoring
2020-05-12 01:42:13 +01:00
Switch.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
Switch.cs.meta
Massive Item Behavior Refactoring
2020-05-12 01:42:13 +01:00
Thermotoggle.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
Thermotoggle.cs.meta
Entity Properties & Thermal Regulation
2020-05-26 01:12:06 +01:00
Thruster.cs
Resolve request/brownout conflict: evaluate power requests nominally
2026-09-19 06:58:57 +02:00
Thruster.cs.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
Trigger.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
Trigger.cs.meta
Massive Item Behavior Refactoring
2020-05-12 01:42:13 +01:00
TurretController.cs
Delete AetheriaMath in favour of CultMath
2026-09-14 18:02:41 +02:00
TurretController.cs.meta
Murder Satellites
2021-01-06 14:56:39 +00:00
VelocityConversion.cs
Delete AetheriaMath in favour of CultMath
2026-09-14 18:02:41 +02:00
VelocityConversion.cs.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
VelocityLimit.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
VelocityLimit.cs.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
Visibility.cs
Restore the stable legacy Unity project
2026-08-10 14:57:50 +01:00
Visibility.cs.meta
Massive Item Behavior Refactoring
2020-05-12 01:42:13 +01:00
Weapon.cs
Switch engine asset references from Resources paths to Addressables GUIDs
2026-09-18 05:04:50 +02:00
Weapon.cs.meta
Behavior Refactoring
2020-04-09 10:33:16 +01:00
Wear.cs
Move the ServerShared data model onto CultLib's CultCache
2026-09-14 19:00:42 +02:00
Wear.cs.meta
Heat Performance Curves + Wear & Tear
2021-03-04 03:58:46 +00:00