From da3508a1f14fc9faaf5d7718b601b7a50d52b5f8 Mon Sep 17 00:00:00 2001 From: bridge Date: Sun, 12 Oct 2025 23:18:48 +0800 Subject: [PATCH] update dual cultivate --- README.md | 1 + src/classes/action/move_to_region.py | 17 +++++++---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f8f187c..7cdebe8 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,7 @@ - [ ] 宗门系统 - ✅ 设定、功法、疗伤、驻地、行事风格 - [ ] 法宝、宗门意志ai、宗门任务、接引新人 + - [ ] 宗门等阶:不同称谓、能力、动作 - [ ] 世家系统 - [ ] 朝廷系统(不确定) - [ ] 组织间关系网络 diff --git a/src/classes/action/move_to_region.py b/src/classes/action/move_to_region.py index 2945ba7..7c0d1bd 100644 --- a/src/classes/action/move_to_region.py +++ b/src/classes/action/move_to_region.py @@ -24,16 +24,13 @@ class MoveToRegion(DefineAction, ActualActionMixin): - 若传入是 Region 实例,按 id 映射到 world.map.regions - 兜底返回原对象(避免KeyError中断) """ - try: - if isinstance(region, str): - return self.world.map.region_names.get(region) or region # type: ignore[return-value] - # 非字符串:按 id 在 map 中取对应实例 - rid = getattr(region, "id", None) - if rid is not None and rid in self.world.map.regions: - return self.world.map.regions[rid] - return region - except Exception: - return region + if isinstance(region, str): + return self.world.map.region_names.get(region) + # 非字符串:按 id 在 map 中取对应实例 + rid = getattr(region, "id", None) + if rid is not None and rid in self.world.map.regions: + return self.world.map.regions[rid] + raise ValueError(f"Invalid region: {region}") def _execute(self, region: Region | str) -> None: """