from typing import List, Dict from titles.wacca.handlers.base import BaseRequest, BaseResponse from titles.wacca.handlers.helpers import HousingInfo from titles.wacca.const import WaccaConstants # ---housing/get---- class HousingGetResponse(BaseResponse): def __init__(self, housingId: int) -> None: super().__init__() self.housingId: int = housingId self.regionId: int = 0 def make(self) -> Dict: self.params = [self.housingId, self.regionId] return super().make() # ---housing/start---- class HousingStartRequestV1(BaseRequest): def __init__(self, data: Dict) -> None: super().__init__(data) self.unknown0: str = self.params[0] self.errorLog: str = self.params[1] self.info: List[HousingInfo] = [] for info in self.params[2]: self.info.append(HousingInfo(info[0], info[1])) class HousingStartRequestV2(HousingStartRequestV1): def __init__(self, data: Dict) -> None: super(HousingStartRequestV1, self).__init__(data) self.unknown0: str = self.params[0] self.errorLog: str = self.params[1] self.creditLog: str = self.params[2] self.info: List[HousingInfo] = [] for info in self.params[3]: self.info.append(HousingInfo(info[0], info[1])) class HousingStartResponseV1(BaseResponse): def __init__(self, regionId: WaccaConstants.Region = WaccaConstants.Region.HOKKAIDO, songList: List[int] = []) -> None: super().__init__() self.regionId = regionId self.songList = songList # Recomended songs if not self.songList: self.songList = [ 1269,1007,1270,1002,1020,1003,1008,1211,1018,1092,1056,32, 1260,1230,1258,1251,2212,1264,1125,1037,2001,1272,1126,1119, 1104,1070,1047,1044,1027,1004,1001,24,2068,2062,2021,1275, 1249,1207,1203,1107,1021,1009,9,4,3,23,22,2014,13,1276,1247, 1240,1237,1128,1114,1110,1109,1102,1045,1043,1036,1035,1030, 1023,1015 ] def make(self) -> Dict: self.params = [self.regionId.value, self.songList] return super().make()