Skip to content

Conversation

@ilevalser
Copy link

task_runner.py:
· register()中添加quick_repair_mode参数以控制注册时是否快修
· RepairTask()中添加scan()方法用于手动扫描可维修的船; 添加managed_repaired_ships标记位标记runner管理的维修 · DecisiveFight()中引入repair_strategy; 重写repair()以适应盲计时和抛出退出决战的钩子 · 大幅修改DecisiveFightTask()的逻辑以适应中断决战插入维修任务
· TaskRunner()中添加所有任务完成后应修尽修的逻辑
decisive_battle.py:
· 将repair_strategy引入决战逻辑
· 修改need_repair()以抛出钩子
common.py:
· WorkShop的_time_to_seconds()中解决了读取维修时间时将":"识别为"."的问题

@huan-yp
Copy link
Contributor

huan-yp commented Dec 15, 2025

主要功能是允许中断决战执行修理吗?还是别的什么?

目前决战调度似乎有 bug,一次只能浴场修一艘,如果你这个 PR 的主要目的是允许中断决战执行额外的修理任务,那么应该有更好的实现

@ilevalser
Copy link
Author

主要功能是允许中断决战执行修理吗?还是别的什么?

目前决战调度似乎有 bug,一次只能浴场修一艘,如果你这个 PR 的主要目的是允许中断决战执行额外的修理任务,那么应该有更好的实现

主要两个,一个是满足维修条件时中断执行,先泡澡。另外一个是注册时不耗桶,已经在维修的船利用计时器定时假定修好,再交给战前检查重置状态。额外的一个是把repair_strategy引入决任务。
对于维修的问题,如果我没有理解错代码,RepairTask只接受单船,天生只能修一艘。所以我一次生成多个RepairTask,并在进入decisive_battle内部逻辑前先检查是否有剩余RepairTask没有跑完。

@huan-yp
Copy link
Contributor

huan-yp commented Dec 16, 2025 via email

task_runner.py:
· register()中添加quick_repair_mode参数以控制注册时是否快修
· RepairTask()中添加scan()方法用于手动扫描可维修的船; 添加managed_repaired_ships标记位标记runner管理的维修
· DecisiveFight()中引入repair_strategy; 重写repair()以适应盲计时和抛出退出决战的钩子
· 大幅修改DecisiveFightTask()的逻辑以适应中断决战插入维修任务
· TaskRunner()中添加所有任务完成后应修尽修的逻辑
decisive_battle.py:
· 将repair_strategy引入决战逻辑
· 修改need_repair()以抛出钩子
common.py:
· WorkShop的_time_to_seconds()中解决了读取维修时间时将":"识别为"."的问题
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants