暂存能量改动

This commit is contained in:
2025-07-21 02:05:37 +08:00
parent eed1c1b46a
commit ef074ec366
31 changed files with 4487 additions and 38 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,62 @@
# 修复乌拉能量喂食系统需求文档
## 介绍
乌拉堕落帝国模组中的能量喂食系统存在严重问题。当乌拉族进入关机状态需要能量补充时,自定义的 `WULA_IngestEnergy` JobDriver 出现了任务循环、物品转移错误和错误执行者等问题。本文档定义了修复这些问题的需求。
## 需求
### 需求 1修复任务重复创建问题
**用户故事:** 作为玩家,我希望当乌拉族需要能量补充时,只有一个殖民者执行喂食任务,而不是多个殖民者同时尝试执行相同任务。
#### 验收标准
1. 当乌拉族进入关机状态时,系统应该只创建一个 `WULA_IngestEnergy` 任务
2. 当一个殖民者已经预留了能量核心时,其他殖民者不应该创建相同的任务
3. 当任务失败时,系统应该正确清理预留状态,允许其他殖民者重新尝试
4. 系统不应该在单个tick内创建多个相同的任务
### 需求 2修复物品转移逻辑
**用户故事:** 作为玩家,我希望殖民者能够正确地拾取和转移能量核心,而不会出现"物品不存在"的错误。
#### 验收标准
1. 当殖民者执行 `WULA_IngestEnergy` 任务时,应该能够成功拾取目标能量核心
2. 当能量核心被其他殖民者拾取或消耗时,当前任务应该正确失败并清理状态
3. 当能量核心不存在或无法访问时,任务应该立即失败而不是进入循环
4. 物品转移应该使用正确的 Toil 方法,确保物品状态一致性
### 需求 3确保正确的任务执行者和目标
**用户故事:** 作为玩家,我希望殖民者将能量核心喂给需要能量的乌拉族,而不是自己消耗能量核心。
#### 验收标准
1. 当执行 `WULA_IngestEnergy` 任务时,殖民者应该将能量核心给予目标乌拉族
2. 能量应该补充到目标乌拉族的 `Need_WulaEnergy` 中,而不是执行者的需求
3. 只有目标乌拉族应该从关机状态中恢复,执行者不应该受到影响
4. 任务完成后,能量核心应该被正确消耗,目标乌拉族应该获得能量
### 需求 4改进任务验证和错误处理
**用户故事:** 作为玩家,我希望当能量喂食任务遇到问题时,系统能够优雅地处理错误,而不是进入无限循环。
#### 验收标准
1. 当目标乌拉族不再需要能量时,任务应该自动取消
2. 当能量核心不可用时,任务应该失败并提供适当的错误信息
3. 当执行者无法到达目标时,任务应该超时失败
4. 系统应该记录详细的调试信息以便问题诊断
### 需求 5优化 WorkGiver 逻辑
**用户故事:** 作为玩家,我希望系统能够智能地分配能量喂食任务,避免资源冲突和重复工作。
#### 验收标准
1. WorkGiver 应该检查目标能量核心是否已被其他任务预留
2. WorkGiver 应该验证执行者能够到达目标乌拉族和能量核心
3. WorkGiver 应该优先选择距离最近的可用能量核心
4. WorkGiver 应该正确处理囚犯和殖民者的不同喂食逻辑