暂存能量改动
This commit is contained in:
3214
.kiro/specs/fix-wula-energy-feeding/design.md
Normal file
3214
.kiro/specs/fix-wula-energy-feeding/design.md
Normal file
File diff suppressed because it is too large
Load Diff
62
.kiro/specs/fix-wula-energy-feeding/requirements.md
Normal file
62
.kiro/specs/fix-wula-energy-feeding/requirements.md
Normal 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 应该正确处理囚犯和殖民者的不同喂食逻辑
|
||||
Reference in New Issue
Block a user