var receiverHeatCapacity = GetHeatCapacity(receiver);
var giverHeatCapacity = GetHeatCapacity(giver);
var combinedHeatCapacity = receiverHeatCapacity + giverHeatCapacity;
- if (combinedHeatCapacity > 0f)
+ if (combinedHeatCapacity > Atmospherics.MinimumHeatCapacity)
{
receiver.Temperature = (GetThermalEnergy(giver, giverHeatCapacity) + GetThermalEnergy(receiver, receiverHeatCapacity)) / combinedHeatCapacity;
}
sourceHeatCapacity ??= GetHeatCapacity(source);
var receiverHeatCapacity = GetHeatCapacity(receiver);
var combinedHeatCapacity = receiverHeatCapacity + sourceHeatCapacity.Value * fraction;
- if (combinedHeatCapacity > 0f)
+ if (combinedHeatCapacity > Atmospherics.MinimumHeatCapacity)
receiver.Temperature = (GetThermalEnergy(source, sourceHeatCapacity.Value * fraction) + GetThermalEnergy(receiver, receiverHeatCapacity)) / combinedHeatCapacity;
}
}
}
float newHeatCapacity = _atmosphere.GetHeatCapacity(mix, true);
- mix.Temperature = (initialE + reactionE)/newHeatCapacity;
+ if (newHeatCapacity > Atmospherics.MinimumHeatCapacity)
+ {
+ mix.Temperature = (initialE + reactionE)/newHeatCapacity;
+ }
if (reactionE > 0)
{
var location = holder as TileAtmosphere;