Files
WulaFallenEmpireRW/.kiro/specs/fix-wula-energy-feeding/requirements.md

62 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 修复乌拉能量喂食系统需求文档
## 介绍
乌拉堕落帝国模组中的能量喂食系统存在严重问题。当乌拉族进入关机状态需要能量补充时,自定义的 `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 应该正确处理囚犯和殖民者的不同喂食逻辑