Files
WulaFallenEmpireRW/Source/WulaFallenEmpire/Pawn/WULA_Maintenance/HediffComp_MaintenanceNeed.cs
2025-10-31 09:57:45 +08:00

40 lines
1.2 KiB
C#

using Verse;
namespace WulaFallenEmpire
{
public class HediffCompProperties_MaintenanceNeed : HediffCompProperties
{
public float severityPerDayBeforeThreshold = 0.0f;
public float severityPerDayAfterThreshold = 0.0f;
public float thresholdDays = 0.0f;
public HediffCompProperties_MaintenanceNeed()
{
compClass = typeof(HediffComp_MaintenanceNeed);
}
}
public class HediffComp_MaintenanceNeed : HediffComp
{
private HediffCompProperties_MaintenanceNeed Props => (HediffCompProperties_MaintenanceNeed)props;
public override void CompPostTick(ref float severityAdjustment)
{
base.CompPostTick(ref severityAdjustment);
// We adjust severity once per game day (60000 ticks)
if (parent.ageTicks % 60000 == 0)
{
float ageInDays = (float)parent.ageTicks / 60000f;
if (ageInDays < Props.thresholdDays)
{
severityAdjustment += Props.severityPerDayBeforeThreshold;
}
else
{
severityAdjustment += Props.severityPerDayAfterThreshold;
}
}
}
}
}