This commit is contained in:
2025-11-03 12:04:10 +08:00
parent 242866bada
commit d72edae9a3
28 changed files with 1709 additions and 633 deletions

View File

@@ -24,6 +24,12 @@
<!-- 易燃性 -->
<Flammability>0.05</Flammability>
</statFactors>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>0.25</offset>
</li>
</capMods>
<!-- 免疫非纳米机械疾病 -->
<makeImmuneTo>
<li>Flu</li>
@@ -38,6 +44,7 @@
</makeImmuneTo>
<enablesNeeds>
<li>WULA_Energy</li>
<li>WULA_MaintenanceNeed</li>
</enablesNeeds>
<disablesNeeds>
<li>Food</li>
@@ -45,6 +52,11 @@
</disablesNeeds>
</li>
</stages>
<comps>
<li Class="WulaFallenEmpire.HediffCompProperties_MaintenanceDamage">
<damageToMaintenanceFactor>0.0025</damageToMaintenanceFactor> <!-- 1点伤害 = 0.25%维护度减少 -->
</li>
</comps>
</HediffDef>
<HediffDef>
<defName>WULA_ChargingHediff</defName>
@@ -68,73 +80,67 @@
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>WULA_Maintenance_Neglect</defName>
<defName>WULA_Maintenance_MinorBreakdown</defName>
<label>维护</label>
<description>乌拉帝国合成人因为设计的过于繁琐,导致需要频繁维护。当她们处于良好维护状态时,各方面的能力都会有所上升,反之如果常年得不到维护或是短时间受到大量伤害,则其将变得难以自主运行甚至直接停机!</description>
<description>这台乌拉帝国合成人已经在环境恶劣的边缘世界活跃了一段时间,尽管总体状态良好但是已经有了一些小瑕疵。</description>
<hediffClass>Hediff_High</hediffClass>
<defaultLabelColor>(0.8, 0.35, 0.35)</defaultLabelColor>
<isBad>false</isBad>
<initialSeverity>0</initialSeverity>
<minSeverity>0</minSeverity>
<maxSeverity>2.0</maxSeverity>
<!--<lethalSeverity>2</lethalSeverity>-->
<comps>
<li Class="WulaFallenEmpire.HediffCompProperties_MaintenanceNeed">
<thresholdDays>60</thresholdDays>
<!-- 60天内严重性达到1.0 (1.0 / 60 = 0.0166) -->
<severityPerDayBeforeThreshold>0.0166</severityPerDayBeforeThreshold>
<!-- 达到阈值后在30天内从1.0增长到2.0 (1.0 / 30 ≈ 0.03333) -->
<severityPerDayAfterThreshold>0.03333</severityPerDayAfterThreshold>
</li>
<li Class="WulaFallenEmpire.HediffCompProperties_DamageResponse">
<severityIncreasePerDamage>0.005</severityIncreasePerDamage>
</li>
</comps>
<minSeverity>0.1</minSeverity>
<initialSeverity>0.5</initialSeverity>
<maxSeverity>1.0</maxSeverity>
<stages>
<li>
<label>极佳</label>
<label>轻微损坏</label>
<minSeverity>0</minSeverity>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>0.1</offset>
</li>
</capMods>
</li>
<li>
<label>稳定</label>
<minSeverity>0.5</minSeverity>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>0</offset>
</li>
</capMods>
</li>
<li>
<label>需要</label>
<minSeverity>0.75</minSeverity>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>-0.20</offset>
<offset>-0.25</offset>
</li>
</capMods>
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>WULA_Maintenance_MajorBreakdown</defName>
<label>维护</label>
<description>这台乌拉帝国合成人有一段时间没有进行维护了,运行起来相当吃力。</description>
<hediffClass>Hediff_High</hediffClass>
<defaultLabelColor>(0.8, 0.35, 0.35)</defaultLabelColor>
<isBad>false</isBad>
<minSeverity>0.1</minSeverity>
<initialSeverity>0.5</initialSeverity>
<maxSeverity>1.0</maxSeverity>
<stages>
<li>
<label>损坏</label>
<minSeverity>1.0</minSeverity>
<minSeverity>0</minSeverity>
<capMods>
<li>
<capacity>Consciousness</capacity>
<setMax>0.5</setMax>
<offset>-0.25</offset>
</li>
</capMods>
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>WULA_Maintenance_CriticalFailuren</defName>
<label>维护</label>
<description>这台乌拉帝国合成人几乎无法运作了,需要立刻进行维护,否则就只是一堆废铁。</description>
<hediffClass>Hediff_High</hediffClass>
<defaultLabelColor>(0.8, 0.35, 0.35)</defaultLabelColor>
<isBad>false</isBad>
<minSeverity>0.1</minSeverity>
<initialSeverity>0.5</initialSeverity>
<maxSeverity>1.0</maxSeverity>
<stages>
<li>
<label>崩坏</label>
<minSeverity>2.0</minSeverity>
<minSeverity>0</minSeverity>
<capMods>
<li>
<capacity>Consciousness</capacity>
@@ -321,9 +327,9 @@
<activeSeverity>0.5</activeSeverity>
<inactiveSeverity>1.5</inactiveSeverity>
<minEnergyThreshold>0.1</minEnergyThreshold>
<repairCostPerHP>0.01</repairCostPerHP>
<repairCooldownAfterDamage>1200</repairCooldownAfterDamage>
<repairCostPerHP>0.02</repairCostPerHP>
<repairCooldownAfterDamage>600</repairCooldownAfterDamage>
</li>
</comps>
</comps>
</HediffDef>
</Defs>

View File

@@ -29,5 +29,4 @@
<allowOpportunisticPrefix>true</allowOpportunisticPrefix>
<casualInterruptible>false</casualInterruptible>
</JobDef>
</Defs>

View File

@@ -23,4 +23,28 @@
</li>
</modExtensions>
</NeedDef>
<!-- 维护需求定义 -->
<NeedDef>
<defName>WULA_MaintenanceNeed</defName>
<label>维护</label>
<needClass>WulaFallenEmpire.Need_Maintenance</needClass>
<description>乌拉帝国的合成人因为设计的过于繁琐,导致需要频繁维护。当她们处于良好维护状态时,各方面的能力都会有所上升,反之如果常年得不到维护或是短时间受到大量伤害,则其将变得难以自主运行甚至直接停机!</description>
<major>true</major>
<onlyIfCausedByHediff>true</onlyIfCausedByHediff>
<listPriority>799</listPriority>
<showOnNeedList>true</showOnNeedList>
<freezeWhileSleeping>false</freezeWhileSleeping>
<freezeInMentalState>false</freezeInMentalState>
<modExtensions>
<li Class="WulaFallenEmpire.MaintenanceNeedExtension">
<severityPerDayBeforeThreshold>0.05</severityPerDayBeforeThreshold> <!-- 严重退化前的速率 -->
<severityPerDayAfterThreshold>0.1</severityPerDayAfterThreshold> <!-- 严重退化前的速率 -->
<thresholdDays>5</thresholdDays> <!-- 严重退化预期天数 -->
<maintenanceWorkType>PatientBedRest</maintenanceWorkType>
<minorBreakdownHediff>WULA_Maintenance_MinorBreakdown</minorBreakdownHediff>
<majorBreakdownHediff>WULA_Maintenance_MajorBreakdown</majorBreakdownHediff>
<criticalFailureHediff>WULA_Maintenance_CriticalFailuren</criticalFailureHediff>
</li>
</modExtensions>
</NeedDef>
</Defs>

View File

@@ -147,9 +147,6 @@
<destroySound>BuildingDestroyed_Metal_Small</destroySound>
<turretBurstCooldownTime>3.5</turretBurstCooldownTime>
</building>
<thingCategories>
<li>BuildingsMisc</li>
</thingCategories>
<comps>
<li Class="WulaFallenEmpire.CompProperties_MechanoidRecycler">
<maxStorageCapacity>6</maxStorageCapacity>
@@ -230,4 +227,84 @@
</li>
</verbs>
</ThingDef>
<!-- 制造机 -->
<ThingDef ParentName="BenchBase">
<defName>WULA_Cube_Productor_BIO</defName>
<label>乌拉帝国编织体(生物能)</label>
<description>一台仿制乌拉帝国科技而建造的塑性构造体,不仅要消耗大量木头用以提供生物能,还只能生产基础的衣物和能源核心用以维持生存——不过它很轻,可以随探险队一起移动。</description>
<thingClass>WulaFallenEmpire.Building_GlobalWorkTable</thingClass>
<drawerType>MapMeshAndRealTime</drawerType>
<graphicData>
<texPath>Wula/Building/WULA_Cube_Productor_BIO</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(1,1)</drawSize>
<damageData>
<enabled>false</enabled>
</damageData>
<shadowData>
<volume>(0.75, 0.75, 0.5)</volume>
</shadowData>
</graphicData>
<constructEffect>ConstructMetal</constructEffect>
<costList>
<Steel>50</Steel>
</costList>
<altitudeLayer>Building</altitudeLayer>
<castEdgeShadows>false</castEdgeShadows>
<fillPercent>0.5</fillPercent>
<useHitPoints>True</useHitPoints>
<statBases>
<Mass>5</Mass>
<WorkToBuild>2000</WorkToBuild>
<MaxHitPoints>180</MaxHitPoints>
<Flammability>1.0</Flammability>
<WorkTableWorkSpeedFactor>0.5</WorkTableWorkSpeedFactor>
</statBases>
<size>(1,1)</size>
<designationCategory>WULA_Buildings</designationCategory>
<uiOrder>2120</uiOrder>
<passability>PassThroughOnly</passability>
<pathCost>50</pathCost>
<hasInteractionCell>True</hasInteractionCell>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<surfaceType>Item</surfaceType>
<researchPrerequisites>
<li>WULA_Base_Technology</li>
</researchPrerequisites>
<!-- 可用配方 -->
<recipes>
<li>Make_WULA_Charge_Cube</li>
<li>Recharge_WULA_Charge_Cube</li>
<li MayRequire="Ludeon.RimWorld.Anomaly">Wula_Make_Zro</li>
</recipes>
<inspectorTabs>
<li>WulaFallenEmpire.ITab_GlobalBills</li>
</inspectorTabs>
<comps>
<li Class="CompProperties_Refuelable">
<fuelConsumptionRate>300.0</fuelConsumptionRate>
<fuelCapacity>150.0</fuelCapacity>
<fuelFilter>
<thingDefs>
<li>WoodLog</li>
</thingDefs>
</fuelFilter>
<consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
</li>
<li Class="CompProperties_HeatPusher">
<compClass>CompHeatPusherPowered</compClass>
<heatPerSecond>4</heatPerSecond>
</li>
</comps>
<placeWorkers>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<building>
<!-- <isMealSource>true</isMealSource> -->
<spawnedConceptLearnOpportunity>BillsTab</spawnedConceptLearnOpportunity>
<heatPerTickWhileWorking>0.10</heatPerTickWhileWorking>
</building>
</ThingDef>
</Defs>

View File

@@ -807,18 +807,20 @@
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
</li>
<li Class="WulaFallenEmpire.CompProperties_MaintenancePod">
<baseDurationTicks>30000</baseDurationTicks> <!-- Merged from user feedback -->
<ticksPerSeverity>150000</ticksPerSeverity> <!-- Kept from previous change -->
<powerConsumptionRunning>500</powerConsumptionRunning>
<powerConsumptionIdle>25</powerConsumptionIdle>
<hediffToRemove>WULA_Maintenance_Neglect</hediffToRemove>
<componentCostPerSeverity>2</componentCostPerSeverity> <!-- 5 components per 100% severity -->
<baseComponentCost>1</baseComponentCost>
<!-- <minSeverityToMaintain>0.75</minSeverityToMaintain> -->
<hediffSeverityAfterCycle>0.01</hediffSeverityAfterCycle>
<enterSound>BiosculpterPod_Enter</enterSound>
<exitSound>BiosculpterPod_Exit</exitSound>
<operatingEffecter>BiosculpterPod_Operating</operatingEffecter>
<baseDurationTicks>30000</baseDurationTicks> <!-- 1天 -->
<ticksPerNeedLevel>150000</ticksPerNeedLevel> <!-- 每降低1点需求需要2天 -->
<powerConsumptionRunning>500</powerConsumptionRunning>
<powerConsumptionIdle>25</powerConsumptionIdle>
<componentCostPerNeedLevel>2</componentCostPerNeedLevel>
<baseComponentCost>1</baseComponentCost>
<minNeedLevelToMaintain>0.3</minNeedLevelToMaintain>
<needLevelAfterCycle>1.0</needLevelAfterCycle>
<healInjuries>true</healInjuries>
<healMissingParts>true</healMissingParts>
<maxInjuriesHealedPerCycle>5</maxInjuriesHealedPerCycle>
</li>
</comps>
<placeWorkers>

View File

@@ -664,7 +664,7 @@
<!-- 血液,不流血 -->
<bloodDef>Filth_MachineBits</bloodDef>
<!-- 基础血量 -->
<baseHealthScale>1</baseHealthScale>
<baseHealthScale>1.2</baseHealthScale>
<!-- 解剖产物 -->
<leatherDef>Steel</leatherDef>
<specificMeatDef>Steel</specificMeatDef>

View File

@@ -110,4 +110,16 @@
</modExtensions>
</WorkGiverDef>
<!-- 维护工作 -->
<WorkGiverDef>
<defName>WULA_DoMaintenanceWork</defName>
<workType>PatientBedRest</workType>
<giverClass>WulaFallenEmpire.WorkGiver_DoMaintenance</giverClass>
<priorityInType>100</priorityInType>
<verb>接受维护于</verb>
<gerund>接受维护于</gerund>
<emergency>false</emergency>
<scanCells>true</scanCells>
<directOrderable>true</directOrderable>
</WorkGiverDef>
</Defs>

View File

@@ -92,4 +92,68 @@
<WULA_RoofBlockingDesc>该空投地点顶部有屋顶,无法进行空投</WULA_RoofBlockingDesc>
<WULA_BlockedByThickRoof>被厚岩顶阻挡</WULA_BlockedByThickRoof>
<WULA_BlockedByRoof>被屋顶阻挡</WULA_BlockedByRoof>
<!-- 维护舱状态 -->
<WULA_MaintenancePod_Status>维护舱状态</WULA_MaintenancePod_Status>
<WULA_MaintenancePod_State_Idle>空闲</WULA_MaintenancePod_State_Idle>
<WULA_MaintenancePod_State_Running>运行中</WULA_MaintenancePod_State_Running>
<!-- 维护舱交互 -->
<WULA_MaintenancePod_Enter>进入维护舱</WULA_MaintenancePod_Enter>
<WULA_MaintenancePod_EnterDesc>选择需要维护的合成人</WULA_MaintenancePod_EnterDesc>
<WULA_MaintenancePod_CancelDesc>取消当前维护周期</WULA_MaintenancePod_CancelDesc>
<WULA_MaintenancePod_NoOneNeeds>没有合成人需要维护</WULA_MaintenancePod_NoOneNeeds>
<WULA_MaintenancePod_NotEnoughComponents>需要 {0} 个零部件</WULA_MaintenancePod_NotEnoughComponents>
<!-- 维护效果消息 -->
<WULA_MaintenanceLevel>维护水平</WULA_MaintenanceLevel>
<WULA_MaintenanceCycleStarted>{0} 开始维护周期</WULA_MaintenanceCycleStarted>
<WULA_MaintenanceCycleComplete>{0} 维护完成</WULA_MaintenanceCycleComplete>
<WULA_MaintenanceHealedInjuries>修复了 {0} 的 {1} 处损伤</WULA_MaintenanceHealedInjuries>
<WULA_MaintenanceHealedParts>修复了 {0} 的缺失部位</WULA_MaintenanceHealedParts>
<WULA_MaintenanceCanceled>维护已取消</WULA_MaintenanceCanceled>
<WULA_NoHaulerAvailable>没有可用的搬运者</WULA_NoHaulerAvailable>
<WULA_NoMaintenanceNeed>无维护需求</WULA_NoMaintenanceNeed>
<!-- 维护需求相关 -->
<WULA_MaintenanceNeed>维护需求</WULA_MaintenanceNeed>
<WULA_MaintenanceStatus>状态: {0} (上次维护: {1}天前)</WULA_MaintenanceStatus>
<WULA_DegradationRate>退化速率: {0}/天</WULA_DegradationRate>
<WULA_MaintenanceCompleted>{0} 的维护已完成</WULA_MaintenanceCompleted>
<!-- 维护状态 -->
<WULA_Operational>运行正常</WULA_Operational>
<WULA_MinorBreakdown>轻微故障</WULA_MinorBreakdown>
<WULA_MajorBreakdown>严重故障</WULA_MajorBreakdown>
<WULA_CriticalFailure>完全故障</WULA_CriticalFailure>
<WULA_OperationalDesc>合成人运行在最佳状态</WULA_OperationalDesc>
<WULA_MinorBreakdownDesc>合成人出现轻微故障,工作效率降低</WULA_MinorBreakdownDesc>
<WULA_MajorBreakdownDesc>合成人出现严重故障,需要立即维护</WULA_MajorBreakdownDesc>
<WULA_CriticalFailureDesc>合成人完全故障,无法工作</WULA_CriticalFailureDesc>
<!-- 工作相关 -->
<WULA_SynthMaintenance>合成人维护</WULA_SynthMaintenance>
<WULA_DoMaintenance>执行维护</WULA_DoMaintenance>
<!-- 伤害相关翻译 -->
<WULA_DamageAffectsMaintenance>伤害会影响维护度({0}/点伤害)</WULA_DamageAffectsMaintenance>
<WULA_DamagePenalty>损伤惩罚</WULA_DamagePenalty>
<WULA_RecentDamageEvents>近期损伤事件</WULA_RecentDamageEvents>
<WULA_MaintenanceCompletedWithDamage>{0} 维护完成(修复了 {1} 损伤)</WULA_MaintenanceCompletedWithDamage>
<WULA_MaintenanceRepairedDamage>修复了 {0} 的结构损伤</WULA_MaintenanceRepairedDamage>
<WULA_DaysSinceMaintenance>距上次维护</WULA_DaysSinceMaintenance>
<!-- Global Production System -->
<WULA_GlobalBillsTab>全球生产</WULA_GlobalBillsTab>
<WULA_GlobalProduction>生产订单</WULA_GlobalProduction>
<WULA_AddProductionOrder>添加生产订单</WULA_AddProductionOrder>
<WULA_Resume>Resume</WULA_Resume>
<WULA_Pause>Pause</WULA_Pause>
<WULA_Delete>Delete</WULA_Delete>
<WULA_WaitingForResources>等待资源</WULA_WaitingForResources>
<WULA_Completed>Completed</WULA_Completed>
<WULA_Unknown>Unknown</WULA_Unknown>
<WULA_InsufficientResources>全球存储中的资源不足</WULA_InsufficientResources>
<WULA_NoAvailableRecipes>无可用配方</WULA_NoAvailableRecipes>
</LanguageData>