2023-05-22 12:20:31 +00:00
|
|
|
from dataclasses import dataclass
|
2023-05-30 18:20:45 +00:00
|
|
|
from typing import ClassVar
|
2023-05-22 12:20:31 +00:00
|
|
|
|
|
|
|
from module.ocr.keyword import Keyword
|
|
|
|
|
|
|
|
|
2023-06-16 20:24:13 +00:00
|
|
|
@dataclass(repr=False)
|
2023-05-22 12:20:31 +00:00
|
|
|
class DungeonNav(Keyword):
|
2023-05-30 18:20:45 +00:00
|
|
|
instances: ClassVar = {}
|
2023-05-22 12:20:31 +00:00
|
|
|
|
|
|
|
|
2023-06-16 20:24:13 +00:00
|
|
|
@dataclass(repr=False)
|
2023-05-22 12:20:31 +00:00
|
|
|
class DungeonTab(Keyword):
|
2023-05-30 18:20:45 +00:00
|
|
|
instances: ClassVar = {}
|
2023-06-12 16:43:57 +00:00
|
|
|
|
|
|
|
|
2023-06-16 20:24:13 +00:00
|
|
|
@dataclass(repr=False)
|
2023-06-12 16:43:57 +00:00
|
|
|
class DungeonList(Keyword):
|
|
|
|
instances: ClassVar = {}
|
|
|
|
|
|
|
|
@property
|
|
|
|
def is_Calyx_Golden(self):
|
|
|
|
return 'Calyx_Golden' in self.name
|
|
|
|
|
|
|
|
@property
|
|
|
|
def is_Calyx_Crimson(self):
|
|
|
|
return 'Calyx_Crimson' in self.name
|
|
|
|
|
|
|
|
@property
|
|
|
|
def is_Stagnant_Shadow(self):
|
|
|
|
return 'Stagnant_Shadow' in self.name
|
|
|
|
|
|
|
|
@property
|
|
|
|
def is_Cavern_of_Corrosion(self):
|
|
|
|
return 'Cavern_of_Corrosion' in self.name
|
|
|
|
|
|
|
|
@property
|
|
|
|
def is_Echo_of_War(self):
|
|
|
|
return 'Echo_of_War' in self.name
|
|
|
|
|
|
|
|
@property
|
|
|
|
def is_Simulated_Universe(self):
|
|
|
|
return 'Simulated_Universe' in self.name
|
2023-06-14 16:15:14 +00:00
|
|
|
|
2023-06-17 16:13:21 +00:00
|
|
|
@property
|
|
|
|
def is_daily_dungeon(self):
|
|
|
|
return self.is_Calyx_Golden or self.is_Calyx_Crimson or self.is_Stagnant_Shadow or self.is_Cavern_of_Corrosion
|
|
|
|
|
|
|
|
@property
|
|
|
|
def is_weekly_dungeon(self):
|
|
|
|
return self.is_Echo_of_War
|
|
|
|
|
2023-06-14 16:15:14 +00:00
|
|
|
|
2023-06-16 20:24:13 +00:00
|
|
|
@dataclass(repr=False)
|
2023-06-14 16:15:14 +00:00
|
|
|
class DungeonEntrance(Keyword):
|
|
|
|
instances: ClassVar = {}
|