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

3.0 KiB
Raw Blame History

修复乌拉能量喂食系统需求文档

介绍

乌拉堕落帝国模组中的能量喂食系统存在严重问题。当乌拉族进入关机状态需要能量补充时,自定义的 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 应该正确处理囚犯和殖民者的不同喂食逻辑