Cut 8: presentation reads Condition instead of recomputing durability
ShipInstance's thruster and aether-drive emission were the operator's actual complaint (2026-09-19): thrust intent times a raw durability ratio that ignored heat and power and duplicated simulation arithmetic in presentation. Both now multiply intent by Thruster.Condition / AetherDrive.Condition -- no durability/heat/power math left in presentation. Unity-side; not covered by the shared test suite. Small and obvious for Self's batchmode run on merge to check. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
4cdfa22fb0
commit
ff7f8a5c2a
1 changed files with 9 additions and 5 deletions
|
|
@ -123,16 +123,20 @@ public class ShipInstance : EntityInstance
|
|||
forceOverLifetime.xMultiplier = _aetherDrive.Drive.ThrustDirection.x * _aetherDrive.BaseForce;
|
||||
forceOverLifetime.zMultiplier = _aetherDrive.Drive.ThrustDirection.y * _aetherDrive.BaseForce;
|
||||
var emissionModule = _aetherDrive.Particles.emission;
|
||||
emissionModule.rateOverTimeMultiplier = _aetherDrive.BaseEmission * thrust;
|
||||
// Cut 8 (operator ask 2026-09-19): intent (thrust) times condition -- presentation reads the
|
||||
// simulation's own ratio rather than recomputing any part of it. AetherDrive.Condition is the
|
||||
// equivalent of Thruster.Condition below (Torque in place of Thrust).
|
||||
emissionModule.rateOverTimeMultiplier = _aetherDrive.BaseEmission * thrust * _aetherDrive.Drive.Condition;
|
||||
}
|
||||
|
||||
|
||||
foreach (var thrusterInstance in _thrusters)
|
||||
{
|
||||
var emissionModule = thrusterInstance.System.emission;
|
||||
var item = thrusterInstance.Thruster.Item.EquippableItem;
|
||||
var data = Entity.ItemManager.GetData(item);
|
||||
thrusterInstance.MaxParticleCount = thrusterInstance.System.particleCount;
|
||||
emissionModule.rateOverTimeMultiplier = thrusterInstance.BaseEmission * thrusterInstance.Thruster.Axis * (item.Durability / data.Durability);
|
||||
// Cut 8 (operator ask 2026-09-19): intent (Axis) times condition (Thruster.Condition, the item's
|
||||
// resolved Thrust against its own perfect-conditions Thrust) -- no durability/heat/power arithmetic
|
||||
// recomputed here, only the same emission math that already existed.
|
||||
emissionModule.rateOverTimeMultiplier = thrusterInstance.BaseEmission * thrusterInstance.Thruster.Axis * thrusterInstance.Thruster.Condition;
|
||||
}
|
||||
|
||||
transform.rotation = Ship.Rotation.ToUnity();
|
||||
|
|
|
|||
Loading…
Reference in a new issue