Merge branch 'master' into idac

This commit is contained in:
Dniel97
2026-06-27 13:25:07 +02:00
2 changed files with 21 additions and 21 deletions
@@ -107,21 +107,21 @@ class IDACSeason2BootController:
req = self.RequestBootGetGachaData.model_validate(data)
req_headers = RequestSeason2Headers.model_validate(headers)
ver = self._headers_to_version(req_headers)
device_version = self._headers_to_version(req_headers)
# TODO: properly set the domain name
hostname = "sega-initiald.net"
if self.core_cfg.server.is_using_proxy:
domain_api_game = f"http://{hostname}/{ver}/"
domain_api_game = f"http://{hostname}/{device_version}/"
else:
domain_api_game = (
f"http://{hostname}:{Utils.get_title_port(self.core_cfg)}/{ver}/"
f"http://{hostname}:{Utils.get_title_port(self.core_cfg)}/{device_version}/"
)
# sets the special mode data if the version supports the special mode
special_mode_data = None
special_story_type = self._special_story_type(ver)
special_story_type = self._special_story_type(device_version)
if special_story_type != StoryTypeEnum.NONE:
special_mode_data = ResponseSeason2BootGetConfigData.SpecialModeData(
start_dt=datetime(2023, 1, 1),
@@ -130,8 +130,8 @@ class IDACSeason2BootController:
)
battle_gift_event = []
if ver in self.battle_gift_event:
battle_gift_event_data = self.battle_gift_event.get(ver, {})
if device_version in self.battle_gift_event:
battle_gift_event_data = self.battle_gift_event.get(device_version, {})
# check if battle gift event time is valid
start_dt = battle_gift_event_data.start_dt
end_dt = battle_gift_event_data.end_dt
@@ -140,8 +140,8 @@ class IDACSeason2BootController:
battle_gift_event = [battle_gift_event_data]
stamp_info: list[ResponseSeason2BootGetConfigData.StampInfo] = []
if ver in self.stamp_info:
stamp_info_data = self.stamp_info.get(ver, [])
if device_version in self.stamp_info:
stamp_info_data = self.stamp_info.get(device_version, [])
# check if stamp event time is valid
start_dt = self.game_cfg.stamp.open_dt
end_dt = self.game_cfg.stamp.close_dt
@@ -256,7 +256,7 @@ class IDACSeason2BootController:
theory_open_version="1.40.00",
# unlocks the version specific special mode
special_mode_data=special_mode_data,
timetrial_event_data=self.timetrial_event.get(ver, None),
timetrial_event_data=self.timetrial_event.get(device_version, None),
number_lottery_data=number_lottery_data,
)
@@ -298,9 +298,9 @@ class IDACSeason2BootController:
path = "./titles/idac/data/"
# 1.00.00 is default
ver = self._headers_to_version(req_headers)
device_version = self._headers_to_version(req_headers)
timerelease_filename = f"timeRelease_v{ver:04d}"
timerelease_filename = f"timeRelease_v{device_version:04d}"
timerelease_path = f"{path}{timerelease_filename}.json"
# if the file doesn't exist, try to find the next lowest version
@@ -316,7 +316,7 @@ class IDACSeason2BootController:
self.logger.debug(f"Using time release file: {timerelease_filename}")
# load the time release data
with open(f"{path}{timerelease_filename}.json", encoding="utf-8") as f:
with open(timerelease_path, encoding="utf-8") as f:
time_release_data = f.read()
resp = self.ResponseBootGetTimeReleaseData.model_validate_json(
@@ -216,7 +216,7 @@ class IDACSeason2UserController:
req = self.RequestUserGetData.model_validate(data)
user_id = req_headers.session
ver_str = self._headers_to_version(req_headers)
device_version = self._headers_to_version(req_headers)
# get the user's profile, can never be None
profile_dto = await self.user_service.get_profile(user_id)
@@ -261,8 +261,8 @@ class IDACSeason2UserController:
battle_gift_data: list[BattleGift] = []
# check if the battle gift event is active
if ver_str in self.game_cfg.battle_gift_info:
battle_gift_info = self.game_cfg.battle_gift_info[ver_str]
if device_version in self.game_cfg.battle_gift_info:
battle_gift_info = self.game_cfg.battle_gift_info[device_version]
# get the users battle gifts, for the current active battle gift event
battle_gifts = await self.user_service.get_profile_battle_gifts(
user_id, battle_gift_info.battle_gift_event_id
@@ -347,7 +347,7 @@ class IDACSeason2UserController:
vs_info_data = await self.user_service.get_profile_vs_info(user_id)
stamp_event_data: list[Season2StampEvent] = []
for active_stamp in self.game_cfg.stamp_info.get(ver_str, []):
for active_stamp in self.game_cfg.stamp_info.get(device_version, []):
# check if the user has the stamp already played
stamp_dto = await self.user_service.get_profile_stamp(
user_id, active_stamp.m_stamp_event_id
@@ -389,8 +389,8 @@ class IDACSeason2UserController:
# get the user's timetrial event data
timetrial_event_data: Optional[TimetrialEventData2] = None
if ver_str in self.game_cfg.timetrial_info:
timetrial_info = self.game_cfg.timetrial_info[ver_str]
if device_version in self.game_cfg.timetrial_info:
timetrial_info = self.game_cfg.timetrial_info[device_version]
timetrial_dto = await self.user_service.get_profile_timetrial_event(
user_id, timetrial_info.timetrial_event_id
@@ -575,7 +575,7 @@ class IDACSeason2UserController:
req_headers = RequestSeason2UserHeaders.model_validate(headers)
req = self.RequestUserUpdateTimeTrialResult.model_validate(data)
ver_str = self._headers_to_version(req_headers)
device_version = self._headers_to_version(req_headers)
user_id = req_headers.session
@@ -628,9 +628,9 @@ class IDACSeason2UserController:
# update timetrial event points (if event is active)
timetrial_event_data: Optional[TimetrialEventData_2] = None
if ver_str in self.game_cfg.timetrial_info:
if device_version in self.game_cfg.timetrial_info:
timetrial_event_id = self.game_cfg.timetrial_info[
ver_str
device_version
].timetrial_event_id
timetrial_event_data = TimetrialEventData_2(