1
0
Fork 0
artemis/titles/wacca/handlers/housing.py

125 lines
3.1 KiB
Python

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.isNewCab: bool = False
def make(self) -> Dict:
self.params = [self.housingId, int(self.isNewCab)]
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.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()