diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll index 5cf2af62..ee4b5a97 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/HediffDefs/Hediffs_BodyParts_WULA.xml b/1.6/1.6/Defs/HediffDefs/Hediffs_BodyParts_WULA.xml index d7912aaa..96cd9e60 100644 --- a/1.6/1.6/Defs/HediffDefs/Hediffs_BodyParts_WULA.xml +++ b/1.6/1.6/Defs/HediffDefs/Hediffs_BodyParts_WULA.xml @@ -1003,7 +1003,7 @@ WULA_MechRepairKit - 一种一次性使用的堕落乌拉帝国修理套件,专门用来完全修复机械乌拉。 + 一种一次性使用的堕落乌拉帝国修理套件,专门用来紧急修复机械乌拉,这种不依赖专用维护舱的临时修复无法完全修复机械乌拉。 AdministerWULA_MechRepairKit Wula/Item/WULA_MechRepairKit diff --git a/1.6/1.6/Defs/HediffDefs/Hediffs_WULA_Maintenance.xml b/1.6/1.6/Defs/HediffDefs/Hediffs_WULA_Maintenance.xml index c277ef6c..2e0d9231 100644 --- a/1.6/1.6/Defs/HediffDefs/Hediffs_WULA_Maintenance.xml +++ b/1.6/1.6/Defs/HediffDefs/Hediffs_WULA_Maintenance.xml @@ -4,18 +4,23 @@ WULA_Maintenance_Neglect 如果缺乏定期维护,身体机能将会出现衰退迹象。需要进入维护舱进行修复。 - HediffWithComps + Hediff_High (0.8, 0.35, 0.35) false 0 0 - 1 + 2.0
  • - 60 - 0.004 - 0.02 + 80 + + 0.0125 + + 0.03333 +
  • +
  • + 0.01
  • @@ -52,6 +57,16 @@
  • 1.0 + +
  • + Consciousness + 0.5 +
  • + + +
  • + + 2.0
  • Consciousness diff --git a/MCP/mcpserver.log b/MCP/mcpserver.log index fc96aa6c..ba063d5e 100644 --- a/MCP/mcpserver.log +++ b/MCP/mcpserver.log @@ -1070,3 +1070,20 @@ requests.exceptions.SSLError: HTTPSConnectionPool(host='dashscope.aliyuncs.com', 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 个匹配项并成功提取了代码。 +2025-08-14 10:32:12,811 - INFO - Processing request of type CallToolRequest +2025-08-14 10:32:12,812 - INFO - 收到问题: class Hediff_High +2025-08-14 10:32:12,812 - INFO - 找到的潜在关键词: ['Hediff_High'] +2025-08-14 10:32:12,812 - INFO - 提取到关键词: ['Hediff_High'] +2025-08-14 10:32:12,812 - INFO - 缓存未命中,开始实时搜索: Hediff_High +2025-08-14 10:32:14,336 - INFO - 找到 13 个候选文件,开始向量化处理... +2025-08-14 10:32:14,336 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\RimWorld\Hediff_High.txt +2025-08-14 10:32:18,943 - INFO - 向量搜索完成。找到了 5 个匹配项并成功提取了代码。 +2025-08-14 10:32:46,080 - INFO - Processing request of type CallToolRequest +2025-08-14 10:32:46,080 - INFO - 收到问题: class HediffWithComps +2025-08-14 10:32:46,080 - INFO - 找到的潜在关键词: ['HediffWithComps'] +2025-08-14 10:32:46,080 - INFO - 提取到关键词: ['HediffWithComps'] +2025-08-14 10:32:46,080 - INFO - 缓存未命中,开始实时搜索: HediffWithComps +2025-08-14 10:32:47,587 - INFO - 找到 52 个候选文件,开始向量化处理... +2025-08-14 10:32:47,587 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\Verse\HediffWithComps.txt +2025-08-14 10:32:47,588 - WARNING - 候选文件过多 (51),仅处理前 25 个。 +2025-08-14 10:32:54,580 - INFO - 向量搜索完成。找到了 5 个匹配项并成功提取了代码。 diff --git a/Source/WulaFallenEmpire/HediffComp_DamageResponse.cs b/Source/WulaFallenEmpire/HediffComp_DamageResponse.cs new file mode 100644 index 00000000..9cfc2ed7 --- /dev/null +++ b/Source/WulaFallenEmpire/HediffComp_DamageResponse.cs @@ -0,0 +1,37 @@ +using Verse; + +namespace WulaFallenEmpire +{ + // 定义了在XML中可以设置的属性 + public class HediffCompProperties_DamageResponse : HediffCompProperties + { + // 每点伤害值所转化的严重性数值 + public float severityIncreasePerDamage = 0f; + + public HediffCompProperties_DamageResponse() + { + this.compClass = typeof(HediffComp_DamageResponse); + } + } + + // 组件的实际逻辑 + public class HediffComp_DamageResponse : HediffComp + { + // 一个方便获取上面属性的捷径 + private HediffCompProperties_DamageResponse Props => (HediffCompProperties_DamageResponse)this.props; + + // 当Hediff的持有者(Pawn)受到伤害后,这个方法会被游戏调用 + public override void Notify_PawnPostApplyDamage(DamageInfo dinfo, float totalDamageDealt) + { + base.Notify_PawnPostApplyDamage(dinfo, totalDamageDealt); + + // 如果伤害值大于0,并且我们在XML中设置了转化率 + if (totalDamageDealt > 0 && Props.severityIncreasePerDamage > 0f) + { + // 增加父Hediff的严重性 + // this.parent 指向这个组件所属的Hediff实例 + this.parent.Severity += totalDamageDealt * Props.severityIncreasePerDamage; + } + } + } +} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj index 24df49d5..dc100f62 100644 --- a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj +++ b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj @@ -136,7 +136,7 @@ - + @@ -146,7 +146,8 @@ - + +