Fix: Clear items in respite zone

This commit is contained in:
LmeSzinc 2023-11-16 18:43:14 +08:00
parent 2f0626c0a0
commit 6714c2028a
3 changed files with 20 additions and 3 deletions

View File

@ -115,6 +115,22 @@ class MapPlane(Keyword):
else:
return ''
@cached_property
def is_rogue_combat(self) -> bool:
return self.rogue_domain in ['Combat']
@cached_property
def is_rogue_occurrence(self) -> bool:
return self.rogue_domain in ['Occurrence', 'Encounter', 'Transaction']
@cached_property
def is_rogue_respite(self) -> bool:
return self.rogue_domain in ['Respite']
@cached_property
def is_rogue_elite(self) -> bool:
return self.rogue_domain in ['Elite', 'Boss']
@dataclass(repr=False)
class MapWorld(Keyword):

View File

@ -144,6 +144,7 @@ class RouteBase(RouteBase_, RogueExit, RogueEvent, RogueReward):
"""
waypoints = ensure_waypoints(waypoints)
end_point = waypoints[-1]
if self.plane.is_rogue_combat or self.plane.is_rogue_occurrence:
end_point.unexpected_confirm = Timer(1, count=5)
return super().clear_item(*waypoints)

View File

@ -89,10 +89,10 @@ class RouteLoader(RogueUI, MinimapWrapper, RouteLoader_, CharacterSwitch):
visited = []
for route in self.all_route:
if plane.rogue_domain and plane.rogue_domain != route.domain:
if plane.rogue_domain in ['Encounter', 'Transaction'] and route.is_DomainOccurrence:
if plane.is_rogue_occurrence and route.is_DomainOccurrence:
# Treat as "Occurrence"
pass
elif plane.rogue_domain in ['Boss'] and route.is_DomainElite:
elif plane.is_rogue_elite and route.is_DomainElite:
# Treat as "Elite"
pass
else: