Sample outdoor weather from the climate preset so people can freeze and the clock can show it.
Protocol v8 adds tenths of a °C and precipitation to the clock frame; warmth drains from insulation versus place temperature. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -184,6 +184,12 @@ public sealed class TraitDef : Def
|
||||
/// Extra minutes of commute slack. Positive arrives earlier; negative cuts it closer.
|
||||
/// </summary>
|
||||
public int CommuteMinutes { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Shifts the warmth comfort band, in °C. Heat-loving is positive (suffers cold earlier);
|
||||
/// cold-loving is negative.
|
||||
/// </summary>
|
||||
public float ComfortTemperatureOffset { get; init; }
|
||||
}
|
||||
|
||||
public sealed class StaffingDef : Def
|
||||
@@ -309,6 +315,12 @@ public sealed class NeedDef : Def
|
||||
/// restores overnight; hunger does not keep falling at home.
|
||||
/// </summary>
|
||||
public bool RestoredOffCampus { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// When true, campus drain is not <see cref="DecayPerHour"/> per hour. Warmth uses it as the
|
||||
/// drop per °C of mismatch against the place temperature.
|
||||
/// </summary>
|
||||
public bool Environmental { get; init; }
|
||||
}
|
||||
|
||||
public sealed class CaseTable
|
||||
@@ -407,7 +419,7 @@ public sealed class NameSetDef
|
||||
|
||||
/// <summary>
|
||||
/// What the player picks at create: nested names plus climate-preset ids. Weather numbers live
|
||||
/// on <see cref="ClimatePresetDef"/> and stay unused until phase 32.
|
||||
/// on <see cref="ClimatePresetDef"/>.
|
||||
/// </summary>
|
||||
public sealed class CountryDef : Def
|
||||
{
|
||||
@@ -417,7 +429,32 @@ public sealed class CountryDef : Def
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Outdoor climate a country may roll. Monthly temperatures land in phase 32; the id is enough
|
||||
/// to persist which preset a school was born with.
|
||||
/// Outdoor climate a country may roll. Monthly norms, day/hour spread and precipitation chance
|
||||
/// are the numbers the school uses to sample the street; indoor offset is walls without a technician.
|
||||
/// </summary>
|
||||
public sealed class ClimatePresetDef : Def;
|
||||
public sealed class ClimatePresetDef : Def
|
||||
{
|
||||
/// <summary>Mean outdoor °C for months 1–12. Concrete presets must list all twelve.</summary>
|
||||
public IReadOnlyList<float> MonthlyNorms { get; init; } = [];
|
||||
|
||||
/// <summary>How far a day's mean may wander from the monthly norm, °C.</summary>
|
||||
public float DaySpread { get; init; }
|
||||
|
||||
/// <summary>How far the hour wanders from that day's mean, °C. Coldest around 03:00, warmest 15:00.</summary>
|
||||
public float HourSpread { get; init; }
|
||||
|
||||
/// <summary>Chance of precipitation this hour, 0–1. Below 0 °C the same roll is snow.</summary>
|
||||
public float PrecipitationChance { get; init; }
|
||||
|
||||
/// <summary>Added to indoor temperature vs the street. Walls hold heat; this is not comfort.</summary>
|
||||
public float IndoorOffset { get; init; } = 8f;
|
||||
|
||||
/// <summary>Centre of the clothing comfort band, °C, before trait offsets.</summary>
|
||||
public float ComfortC { get; init; } = 21f;
|
||||
|
||||
/// <summary>Half-width of the comfort band, °C. Inside it warmth barely drops.</summary>
|
||||
public float ComfortHalfWidthC { get; init; } = 3f;
|
||||
|
||||
/// <summary>How many °C of protection one insulation point is worth.</summary>
|
||||
public float InsulationPerC { get; init; } = 1f;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user