Rework simulation rules

This commit is contained in:
2026-05-11 22:18:43 +02:00
parent 3d406179bf
commit e1ac56d201
30 changed files with 554 additions and 848 deletions

View File

@@ -60,6 +60,16 @@ public abstract class Balancing
return new() { Verb = ESurfaceInteractionVerb.Flow, Quantity = quantity, Amount = FlowTransferRatio };
}
public float StructuralPressureThreshold(ECarrierType carrier)
{
return carrier switch {
ECarrierType.Fuel => FuelCritical,
ECarrierType.Coolant => CoolantCritical,
ECarrierType.Electricity => ElectricityCritical,
_ => MaxValue
};
}
private SurfaceInteractionEffect Warm(EBand rowBand, EBand colBand)
{
return new() {
@@ -110,7 +120,6 @@ public abstract class Balancing
public abstract int DefaultLevelWidth { get; }
public abstract int DefaultLevelHeight { get; }
public abstract int MinimumLevelSize { get; }
public abstract int ActionsPerTurn { get; }
public abstract int ForecastHorizon { get; }
public abstract float MinValue { get; }
public abstract float MaxValue { get; }
@@ -139,6 +148,9 @@ public abstract class Balancing
public abstract IReadOnlyList<JunctionRatioPreset> ThreeOutflowJunctionRatios { get; }
public abstract float ConsumerRequiredAmount { get; }
public abstract float ConsumerRequiredIntensity { get; }
public abstract int MaxStructuralIntegrity { get; }
public abstract int StructuralIntegrityLeakThreshold { get; }
public abstract float StructuralIntegrityDamageScale { get; }
public abstract float LeakBaseAmount { get; }
public abstract float LeakAmountScale { get; }
public abstract float LeakIntensityScale { get; }