Launch suppressor: scale the ship's own launch flash inside SetSignature, paying heat to its own cell
LaunchSuppressorData (union key 49; key 48 is held by cut loot-2 on eureka/aetheria-release-loot-2) and LaunchSuppressor: Entity.SetSignature folds each light signature through the equipped suppressors in equipment order. Only LaunchFlash is scaled, only while the item is Active and at or below its rated temperature; each pays (removed x HeatPerUnit) through Behavior.AddHeat. Fixture gear and LaunchSuppressorTests added. Not yet built or run (verify job follows). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
5b19c1e853
commit
15b12cb95b
6 changed files with 379 additions and 13 deletions
|
|
@ -99,6 +99,10 @@ public abstract class Entity
|
|||
{
|
||||
if (channel == SignatureChannel.Emission)
|
||||
throw new ArgumentException("Emission is active emission, never a light signature.", nameof(channel));
|
||||
// A light signature is thinned by the ship's own gear at the moment it is written (aetheria-ew, lie-is-own-emission):
|
||||
// each equipped suppressor folds the strength in equipment order and pays for what it alone removed.
|
||||
foreach (var suppressor in GetBehaviors<LaunchSuppressor>())
|
||||
strength = suppressor.Suppress(channel, strength);
|
||||
_visibilitySources[source] = new Signature(channel, strength, item);
|
||||
}
|
||||
public readonly ReactiveDictionary<Entity, float> EntityInfoGathered = new ReactiveDictionary<Entity, float>();
|
||||
|
|
|
|||
Loading…
Reference in a new issue