This commit is contained in:
2025-09-04 16:41:27 +08:00
parent 37093dd923
commit d78b18ddd3
11 changed files with 423 additions and 370 deletions

View File

@@ -125,4 +125,34 @@ public override void PostDestroy(DestroyMode mode, Map previousMap)
```
---
这份 V5.1 版本的说明书,在 V5 的基础上补充了对依赖项、UI细节、边缘情况和性能的考量使其作为开发蓝图更加健壮和周全。这应该是我们开始编码前所需要的最终版本了。
这份 V5.1 版本的说明书,在 V5 的基础上补充了对依赖项、UI细节、边缘情况和性能的考量使其作为开发蓝图更加健壮和周全。这应该是我们开始编码前所需要的最终版本了。
## 5. 新增组件:温度损坏组件 (CompTemperatureRuinableDamage)
### 5.1 设计目标
创建一个新的组件,用于在极端温度下对物品造成持续伤害,并在温度恢复正常时逐渐恢复损坏进度。
### 5.2 组件属性类 (CompProperties_TemperatureRuinableDamage)
- `minSafeTemperature`: 安全温度范围的最低温度
- `maxSafeTemperature`: 安全温度范围的最高温度默认100
- `progressPerDegreePerTick`: 每度温度每tick造成的损坏进度默认1E-05f
- `damagePerTick`: 每tick造成的伤害值默认1
- `recoveryRate`: 温度恢复正常时的恢复速率默认0.001f
### 5.3 组件类 (CompTemperatureRuinableDamage)
- 继承自ThingComp实现温度监控逻辑
- 当物品温度超出安全范围时根据温度差值累积损坏进度并每tick造成持续伤害
- 当温度恢复正常时,逐渐减少损坏进度而不是立即重置
- 支持保存和加载损坏进度状态
### 5.4 使用方法
在ThingDef的comps部分添加以下配置
```xml
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
<minSafeTemperature>13</minSafeTemperature>
<maxSafeTemperature>28</maxSafeTemperature>
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
<damagePerTick>1</damagePerTick>
<recoveryRate>0.001</recoveryRate>
</li>
```