diff --git a/.gitignore b/.gitignore
index 80f58166..6e3801a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,4 @@ Source/MCP/pid.txt
# MCP Knowledge Base Cache and Logs
*.log
MCP/vector_cache/*.txt
+MCP/mcpserver.log
diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll
index cd8fe8b7..5cf2af62 100644
Binary files a/1.6/1.6/Assemblies/WulaFallenEmpire.dll and b/1.6/1.6/Assemblies/WulaFallenEmpire.dll differ
diff --git a/1.6/1.6/Defs/ThingDefs_Buildings/Buildings_WULA.xml b/1.6/1.6/Defs/ThingDefs_Buildings/Buildings_WULA.xml
index 012f061c..b88d714b 100644
--- a/1.6/1.6/Defs/ThingDefs_Buildings/Buildings_WULA.xml
+++ b/1.6/1.6/Defs/ThingDefs_Buildings/Buildings_WULA.xml
@@ -793,8 +793,8 @@
true
- 180000
- 30000
+ 30000
+ 150000
500
25
WULA_Maintenance_Neglect
diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml
index 90027285..e711aa26 100644
--- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml
+++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml
@@ -13,6 +13,8 @@
中止维护并弹出殖民者。
{PAWN_nameDef} 的维护已完成。
维护已取消。
+ {PAWN_nameDef} 的所有受损部位都已修复。
+ {PAWN_nameDef} 的维护已完成,但{PAWN_nameDef} 没有可修复的受损部位。
没有可用的零部件来搬运。
\ No newline at end of file
diff --git a/MCP/mcpserver.log b/MCP/mcpserver.log
index 4dbebd4a..fc96aa6c 100644
--- a/MCP/mcpserver.log
+++ b/MCP/mcpserver.log
@@ -1042,3 +1042,31 @@ requests.exceptions.SSLError: HTTPSConnectionPool(host='dashscope.aliyuncs.com',
2025-08-14 09:32:45,198 - INFO - Processing request of type ListToolsRequest
2025-08-14 09:32:45,199 - INFO - Processing request of type ListResourcesRequest
2025-08-14 09:32:45,201 - INFO - Processing request of type ListResourceTemplatesRequest
+2025-08-14 09:32:51,544 - INFO - 成功加载 DASHSCOPE_API_KEY。
+2025-08-14 09:32:51,553 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
+2025-08-14 09:32:51,560 - INFO - Processing request of type ListToolsRequest
+2025-08-14 09:32:51,561 - INFO - Processing request of type ListResourcesRequest
+2025-08-14 09:32:51,561 - INFO - Processing request of type ListResourceTemplatesRequest
+2025-08-14 09:38:03,879 - INFO - Processing request of type CallToolRequest
+2025-08-14 09:38:03,879 - INFO - 收到问题: JobDriver for entering cryptosleep casket
+2025-08-14 09:38:03,880 - INFO - 找到的潜在关键词: ['JobDriver']
+2025-08-14 09:38:03,880 - INFO - 提取到关键词: ['JobDriver']
+2025-08-14 09:38:03,880 - INFO - 缓存未命中,开始实时搜索: JobDriver
+2025-08-14 09:38:05,311 - INFO - 找到 380 个候选文件,开始向量化处理...
+2025-08-14 09:38:05,312 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\Verse.AI\JobDriver.txt
+2025-08-14 09:38:05,312 - WARNING - 候选文件过多 (379),仅处理前 25 个。
+2025-08-14 09:38:12,339 - INFO - 向量搜索完成。找到了 1 个匹配项并成功提取了代码。
+2025-08-14 09:43:38,598 - INFO - Processing request of type CallToolRequest
+2025-08-14 09:43:38,598 - INFO - 收到问题: JobDriver_EnterCryptosleepCasket
+2025-08-14 09:43:38,598 - INFO - 找到的潜在关键词: ['JobDriver_EnterCryptosleepCasket']
+2025-08-14 09:43:38,598 - INFO - 提取到关键词: ['JobDriver_EnterCryptosleepCasket']
+2025-08-14 09:43:38,608 - INFO - 缓存命中: 关键词 'JobDriver_EnterCryptosleepCasket'
+2025-08-14 10:16:31,150 - INFO - Processing request of type CallToolRequest
+2025-08-14 10:16:31,152 - INFO - 收到问题: class DebugSettings
+2025-08-14 10:16:31,152 - INFO - 找到的潜在关键词: ['DebugSettings']
+2025-08-14 10:16:31,152 - INFO - 提取到关键词: ['DebugSettings']
+2025-08-14 10:16:31,152 - INFO - 缓存未命中,开始实时搜索: DebugSettings
+2025-08-14 10:16:32,933 - INFO - 找到 207 个候选文件,开始向量化处理...
+2025-08-14 10:16:32,934 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\Verse\DebugSettings.txt
+2025-08-14 10:16:32,934 - WARNING - 候选文件过多 (206),仅处理前 25 个。
+2025-08-14 10:16:40,201 - INFO - 向量搜索完成。找到了 2 个匹配项并成功提取了代码。
diff --git a/Source/WulaFallenEmpire/CompMaintenancePod.cs b/Source/WulaFallenEmpire/CompMaintenancePod.cs
index f7865ded..8dcb272e 100644
--- a/Source/WulaFallenEmpire/CompMaintenancePod.cs
+++ b/Source/WulaFallenEmpire/CompMaintenancePod.cs
@@ -165,6 +165,8 @@ namespace WulaFallenEmpire
return;
}
+ // 1. Fix the maintenance hediff
+ bool maintenanceDone = false;
if (Props.hediffToRemove != null)
{
Hediff hediff = occupant.health.hediffSet.GetFirstHediffOfDef(Props.hediffToRemove);
@@ -172,8 +174,34 @@ namespace WulaFallenEmpire
{
hediff.Severity = Props.hediffSeverityAfterCycle;
Messages.Message("WULA_MaintenanceComplete".Translate(occupant.Named("PAWN")), occupant, MessageTypeDefOf.PositiveEvent);
+ maintenanceDone = true;
}
}
+
+ // 2. Heal all other injuries
+ int injuriesHealed = 0;
+ while (HealthUtility.TryGetWorstHealthCondition(occupant, out var hediffToFix, out var _))
+ {
+ // Ensure we don't try to "heal" the maintenance hediff itself
+ if (hediffToFix.def == Props.hediffToRemove)
+ {
+ break;
+ }
+
+ HealthUtility.FixWorstHealthCondition(occupant);
+ injuriesHealed++;
+ }
+
+ if (injuriesHealed > 0)
+ {
+ Messages.Message("WULA_MaintenanceHealedAllWounds".Translate(occupant.Named("PAWN")), occupant, MessageTypeDefOf.PositiveEvent);
+ }
+ else if (!maintenanceDone)
+ {
+ // If nothing was done at all, give a neutral message
+ Messages.Message("WULA_MaintenanceNoEffect".Translate(occupant.Named("PAWN")), occupant, MessageTypeDefOf.NeutralEvent);
+ }
+
EjectPawn();
}
@@ -262,6 +290,21 @@ namespace WulaFallenEmpire
};
yield return cancelCommand;
}
+
+ // DEV GIZMO
+ if (DebugSettings.godMode && state == MaintenancePodState.Running)
+ {
+ var finishCommand = new Command_Action
+ {
+ defaultLabel = "DEV: Finish Cycle",
+ action = () =>
+ {
+ Log.Warning("[WulaPodDebug] DEV: Force finishing cycle.");
+ CycleFinished();
+ }
+ };
+ yield return finishCommand;
+ }
}
private List GetPawnOptions()