Aetheria/Assets/Scripts/ServerShared/Behaviors
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 55249beb98 Cut 5: priority tiers replace PowerBus's single shared GrantRatio
PowerTiers.cs names five tiers (Critical/High/Medium/Low/Utility) and their
per-behaviour-kind defaults: Radiator is Critical (the closest thing this game
has to life support -- a starved radiator cascades into wear and shutdown
across the whole hull), Shield is High, Thruster/AetherDrive are Medium,
ConstantWeapon/InstantWeapon are Low, and Sensor/EnergyDraw are Utility.
IPowerConsumer.DefaultPowerTier lets each behaviour own its own default.

EquippableItem.PowerTier (Key 12) is the stored, player-choosable tier on the
unit rather than the design; EquippedItem's constructor seeds a kind default
the first time a unit is equipped, only when the field is still
PowerTiers.Unassigned, and never again -- a tier is a stored choice, not
something the bus re-derives.

PowerBus.AllocateTiers walks tiers lowest-number-first: a tier is granted in
full before the next tier sees anything left, an empty tier passes its whole
share down, and within a tier every consumer rations by the same
grant/demand fraction so unequal requests still divide proportionally. A new
TierGrantRatio[] exposes each tier's own ratio for a future UI (Cut 8) to
read starvation from directly, instead of reconstructing it from every item's
PowerSupply.

Deletes EquippedItem.SortPosition, IOrderedBehavior and Reactor.Order (its
only implementer): the bus already steps before any equipment's Execute, so
equip/behaviour order never decided who got fed even before this cut, and
nothing else needed the interface (subject to the map's O3 operator check).

docs/stats-and-power-cut.md Cut 5 / §1.3.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 02:58:38 +02:00
..
AetherDrive.cs Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +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 Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +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 Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +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 Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +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 Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +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 Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +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 Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +02:00
Sensor.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
Shield.cs Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +02:00
Shield.cs.meta Behavior Refactoring 2020-04-09 10:33:16 +01:00
StatModifier.cs Gate 2: Initialize owns detach/reattach; delete dead StatOwner (F8) 2026-09-18 20:41:54 +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 Cut 5: priority tiers replace PowerBus's single shared GrantRatio 2026-09-19 02:58:38 +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