← Back to query
RI-02 Namespace: Verse

TickManager & Game Loop

Temperature dependency: MapTemperatureTick runs in step 16 every 120 ticks

Temperature → Tick Connection
MapTemperatureTick() is called in MapPostTick() (step 16 of DoSingleTick). Internally it only runs every 120 ticks (offset 7) — not every tick.
#1 DoSingleTick — Where Temperature Runs Verse/TickManager.cs:357-499

MP-Critical — 22 steps in fixed order. Temperature-relevant:

#StepTemperature Link
4tickListNormal.Tick()Heater/Cooler/Vent tick here (Building_Heater, Building_Cooler)
5tickListRare.Tick()Doors: EqualizeTemperaturesThroughBuilding (34/375 ticks)
14SteadyEnvironmentEffectsFire spread → PushHeat
16MapPostTick()MapTemperatureTick → RoomTempTracker.EqualizeTemperature()
19RegionDirtyerRoom rebuild after building changes → RegenerateEqualizationData
#2 120-Tick Interval Verse/MapTemperature.cs

Temperature is not controlled via the TickList bucket system, but directly via a TicksGame % 120 == 7 check in MapTemperatureTick. The offset 7 distributes the load across different ticks.

At speed 1 (60 ticks/s): every ~2 seconds real time. At superfast (6×): every ~0.33 seconds.