fix tile region = none bug
This commit is contained in:
@@ -80,7 +80,7 @@ class Catch(TimedAction):
|
||||
# 清理状态
|
||||
self._caught_result = None
|
||||
region = self.avatar.tile.region
|
||||
return Event(self.world.month_stamp, f"{self.avatar.name} 在 {region.name} 尝试御兽", related_avatars=[self.avatar.id])
|
||||
return Event(self.world.month_stamp, f"{self.avatar.name} 在 {self.avatar.tile.location_name} 尝试御兽", related_avatars=[self.avatar.id])
|
||||
|
||||
async def finish(self) -> list[Event]:
|
||||
res = self._caught_result
|
||||
|
||||
@@ -95,7 +95,7 @@ class Cultivate(TimedAction):
|
||||
else:
|
||||
efficiency = "进境缓慢(灵气稀薄)"
|
||||
|
||||
return Event(self.world.month_stamp, f"{self.avatar.name} 在 {region.name} 开始修炼,{efficiency}", related_avatars=[self.avatar.id])
|
||||
return Event(self.world.month_stamp, f"{self.avatar.name} 在 {self.avatar.tile.location_name} 开始修炼,{efficiency}", related_avatars=[self.avatar.id])
|
||||
|
||||
async def finish(self) -> list[Event]:
|
||||
return []
|
||||
|
||||
@@ -62,7 +62,7 @@ class Harvest(TimedAction):
|
||||
|
||||
def start(self) -> Event:
|
||||
region = self.avatar.tile.region
|
||||
return Event(self.world.month_stamp, f"{self.avatar.name} 在 {region.name} 开始采集", related_avatars=[self.avatar.id])
|
||||
return Event(self.world.month_stamp, f"{self.avatar.name} 在 {self.avatar.tile.location_name} 开始采集", related_avatars=[self.avatar.id])
|
||||
|
||||
# TimedAction 已统一 step 逻辑
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ class Hunt(TimedAction):
|
||||
|
||||
def start(self) -> Event:
|
||||
region = self.avatar.tile.region
|
||||
return Event(self.world.month_stamp, f"{self.avatar.name} 在 {region.name} 开始狩猎", related_avatars=[self.avatar.id])
|
||||
return Event(self.world.month_stamp, f"{self.avatar.name} 在 {self.avatar.tile.location_name} 开始狩猎", related_avatars=[self.avatar.id])
|
||||
|
||||
# TimedAction 已统一 step 逻辑
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ class SelfHeal(TimedAction):
|
||||
if not isinstance(region, SectRegion):
|
||||
return False
|
||||
hq_name = getattr(getattr(sect, "headquarter", None), "name", None) or getattr(sect, "name", None)
|
||||
return bool(hq_name) and region.name == hq_name
|
||||
return bool(hq_name) and region and region.name == hq_name
|
||||
|
||||
def can_start(self) -> tuple[bool, str]:
|
||||
# 必须是宗门弟子且在自身宗门总部,且当前HP未满
|
||||
|
||||
Reference in New Issue
Block a user