为乌拉族引入了新的“机体维护”需求,通过`WULA_Maintenance_Neglect`健康状况(Hediff)体现。该状况会随时间推移而恶化,影响角色能力。 新增建筑“维护舱”(`WULA_MaintenancePod`),乌拉族成员可进入其中进行维护,以清除“维护疏忽”的负面效果。维护过程需要消耗电力和零部件,所需零部件数量与负面效果的严重程度相关。 实现了配套的自动化工作逻辑: - 当维护需求达到阈值时,角色会自动进入维护舱。 - 当维护舱缺少零部件时,搬运工会自动为其装填。 此外,事件系统中增加了一个新的条件 `Condition_FactionExists`。
35 lines
991 B
C#
35 lines
991 B
C#
using RimWorld;
|
|
using Verse;
|
|
|
|
namespace WulaFallenEmpire
|
|
{
|
|
public class CompProperties_MaintenanceCycle : CompProperties_BiosculpterPod_BaseCycle
|
|
{
|
|
public HediffDef hediffToRemove;
|
|
|
|
public CompProperties_MaintenanceCycle()
|
|
{
|
|
compClass = typeof(CompMaintenanceCycle);
|
|
}
|
|
}
|
|
|
|
public class CompMaintenanceCycle : CompBiosculpterPod_Cycle
|
|
{
|
|
public new CompProperties_MaintenanceCycle Props => (CompProperties_MaintenanceCycle)props;
|
|
|
|
public override void CycleCompleted(Pawn pawn)
|
|
{
|
|
if (pawn == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Hediff hediff = pawn.health.hediffSet.GetFirstHediffOfDef(Props.hediffToRemove);
|
|
if (hediff != null)
|
|
{
|
|
hediff.Severity = 0f;
|
|
Messages.Message("WULA_MaintenanceCycleComplete".Translate(pawn.Named("PAWN")), pawn, MessageTypeDefOf.PositiveEvent);
|
|
}
|
|
}
|
|
}
|
|
} |