mirror of
https://github.com/baiqwerdvd/StarRailUID.git
synced 2025-05-05 19:23:45 +08:00
bug:修复修改model出现的错误
This commit is contained in:
parent
645d984faa
commit
ee2696e5b6
@ -161,14 +161,13 @@ class LocustRecordInfo(Struct):
|
|||||||
buffs: List[RogueBuffs]
|
buffs: List[RogueBuffs]
|
||||||
miracles: List[RogueMiracles]
|
miracles: List[RogueMiracles]
|
||||||
blocks: List[LocustBlocks]
|
blocks: List[LocustBlocks]
|
||||||
worm_weak: Union[str, str]
|
|
||||||
difficulty: int
|
difficulty: int
|
||||||
fury: LocustFury
|
fury: LocustFury
|
||||||
detail_h: Union[int, None]
|
detail_h: Union[int, None] = None
|
||||||
start_h: Union[int, None]
|
start_h: Union[int, None] = None
|
||||||
|
|
||||||
def __setitem__(self, key: str, value: Any) -> None:
|
# def __setitem__(self, key: str, value: Any) -> None:
|
||||||
self.__dict__[key] = value
|
# self.__dict__[key] = value
|
||||||
|
|
||||||
|
|
||||||
class LocustRecord(Struct):
|
class LocustRecord(Struct):
|
||||||
@ -218,8 +217,8 @@ class AbyssFloorDetail(Struct):
|
|||||||
name: str
|
name: str
|
||||||
round_num: int
|
round_num: int
|
||||||
star_num: int
|
star_num: int
|
||||||
node_1: List[AbyssNodeDetail]
|
node_1: AbyssNodeDetail
|
||||||
node_2: List[AbyssNodeDetail]
|
node_2: AbyssNodeDetail
|
||||||
|
|
||||||
|
|
||||||
class AbyssData(Struct):
|
class AbyssData(Struct):
|
||||||
|
@ -235,9 +235,9 @@ async def draw_abyss_img(
|
|||||||
for index_part in [0, 1]:
|
for index_part in [0, 1]:
|
||||||
node_num = index_part + 1
|
node_num = index_part + 1
|
||||||
if node_num == 1:
|
if node_num == 1:
|
||||||
time_array = node_1[-1].challenge_time
|
time_array = node_1.challenge_time
|
||||||
else:
|
else:
|
||||||
time_array = node_2[-1].challenge_time
|
time_array = node_2.challenge_time
|
||||||
time_str = f'{time_array.year}-{time_array.month}'
|
time_str = f'{time_array.year}-{time_array.month}'
|
||||||
time_str = f'{time_str}-{time_array.day}'
|
time_str = f'{time_str}-{time_array.day}'
|
||||||
time_str = f'{time_str} {time_array.hour}:{time_array.minute}:00'
|
time_str = f'{time_str} {time_array.hour}:{time_array.minute}:00'
|
||||||
@ -257,9 +257,9 @@ async def draw_abyss_img(
|
|||||||
'lm',
|
'lm',
|
||||||
)
|
)
|
||||||
if node_num == 1:
|
if node_num == 1:
|
||||||
avatars_array = node_1[-1]
|
avatars_array = node_1
|
||||||
else:
|
else:
|
||||||
avatars_array = node_2[-1]
|
avatars_array = node_2
|
||||||
|
|
||||||
for index_char, char in enumerate(avatars_array.avatars):
|
for index_char, char in enumerate(avatars_array.avatars):
|
||||||
# 获取命座
|
# 获取命座
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import math
|
import math
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List, Union, Optional
|
from typing import List, Union, Optional
|
||||||
|
import msgspec
|
||||||
from PIL import Image, ImageDraw
|
from PIL import Image, ImageDraw
|
||||||
from gsuid_core.logger import logger
|
from gsuid_core.logger import logger
|
||||||
from gsuid_core.utils.error_reply import get_error
|
from gsuid_core.utils.error_reply import get_error
|
||||||
@ -252,6 +252,8 @@ async def draw_rogue_img(
|
|||||||
# 记录打的宇宙列表
|
# 记录打的宇宙列表
|
||||||
detail_list = []
|
detail_list = []
|
||||||
based_h = 700
|
based_h = 700
|
||||||
|
detail_h_list = []
|
||||||
|
based_h_list = []
|
||||||
for index_floor, detail in enumerate(rogue_detail):
|
for index_floor, detail in enumerate(rogue_detail):
|
||||||
# 100+70+170
|
# 100+70+170
|
||||||
# 头+底+角色
|
# 头+底+角色
|
||||||
@ -277,14 +279,15 @@ async def draw_rogue_img(
|
|||||||
else:
|
else:
|
||||||
miracles_h = 0
|
miracles_h = 0
|
||||||
detail_h = detail_h + miracles_h
|
detail_h = detail_h + miracles_h
|
||||||
rogue_detail[index_floor]['detail_h'] = detail_h
|
detail_h_list.append(detail_h)
|
||||||
rogue_detail[index_floor]['start_h'] = based_h
|
based_h_list.append(based_h)
|
||||||
if floor:
|
if floor:
|
||||||
if progress == floor:
|
if progress == floor:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
detail_h = 0
|
detail_h = 0
|
||||||
based_h = based_h + detail_h
|
based_h = based_h + detail_h
|
||||||
|
|
||||||
# 获取查询者数据
|
# 获取查询者数据
|
||||||
if floor:
|
if floor:
|
||||||
if floor > 7:
|
if floor > 7:
|
||||||
@ -378,11 +381,11 @@ async def draw_rogue_img(
|
|||||||
else:
|
else:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if detail.detail_h is None:
|
if detail_h_list[index_floor] is None:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
floor_pic = Image.open(TEXT_PATH / 'detail_bg.png').convert('RGBA')
|
floor_pic = Image.open(TEXT_PATH / 'detail_bg.png').convert('RGBA')
|
||||||
floor_pic = floor_pic.resize((900, detail.detail_h))
|
floor_pic = floor_pic.resize((900, detail_h_list[index_floor]))
|
||||||
|
|
||||||
floor_top_pic = Image.open(TEXT_PATH / 'floor_bg_top.png').convert(
|
floor_top_pic = Image.open(TEXT_PATH / 'floor_bg_top.png').convert(
|
||||||
'RGBA'
|
'RGBA'
|
||||||
@ -393,7 +396,7 @@ async def draw_rogue_img(
|
|||||||
TEXT_PATH / 'floor_bg_center.png'
|
TEXT_PATH / 'floor_bg_center.png'
|
||||||
).convert('RGBA')
|
).convert('RGBA')
|
||||||
floor_center_pic = floor_center_pic.resize(
|
floor_center_pic = floor_center_pic.resize(
|
||||||
(900, detail.detail_h - 170)
|
(900, detail_h_list[index_floor] - 170)
|
||||||
)
|
)
|
||||||
floor_pic.paste(floor_center_pic, (0, 100), floor_center_pic)
|
floor_pic.paste(floor_center_pic, (0, 100), floor_center_pic)
|
||||||
|
|
||||||
@ -401,7 +404,7 @@ async def draw_rogue_img(
|
|||||||
'RGBA'
|
'RGBA'
|
||||||
)
|
)
|
||||||
floor_pic.paste(
|
floor_pic.paste(
|
||||||
floor_bot_pic, (0, detail.detail_h - 70), floor_bot_pic
|
floor_bot_pic, (0, detail_h_list[index_floor] - 70), floor_bot_pic
|
||||||
)
|
)
|
||||||
|
|
||||||
floor_name = progresslist[detail.progress]
|
floor_name = progresslist[detail.progress]
|
||||||
@ -496,10 +499,10 @@ async def draw_rogue_img(
|
|||||||
buff_height,
|
buff_height,
|
||||||
)
|
)
|
||||||
|
|
||||||
if detail.start_h is None:
|
if based_h_list[index_floor] is None:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
img.paste(floor_pic, (0, detail.start_h), floor_pic)
|
img.paste(floor_pic, (0, based_h_list[index_floor]), floor_pic)
|
||||||
# await _draw_floor_card(
|
# await _draw_floor_card(
|
||||||
# level_star,
|
# level_star,
|
||||||
# floor_pic,
|
# floor_pic,
|
||||||
@ -536,6 +539,8 @@ async def draw_rogue_locust_img(
|
|||||||
# 记录打的宇宙列表
|
# 记录打的宇宙列表
|
||||||
# detail_list = []
|
# detail_list = []
|
||||||
based_h = 700
|
based_h = 700
|
||||||
|
detail_h_list = []
|
||||||
|
based_h_list = []
|
||||||
for index_floor, detail in enumerate(rogue_detail):
|
for index_floor, detail in enumerate(rogue_detail):
|
||||||
# 100+70+170
|
# 100+70+170
|
||||||
# 头+底+角色
|
# 头+底+角色
|
||||||
@ -570,9 +575,8 @@ async def draw_rogue_locust_img(
|
|||||||
else:
|
else:
|
||||||
blocks_num = 0
|
blocks_num = 0
|
||||||
detail_h = detail_h + blocks_h
|
detail_h = detail_h + blocks_h
|
||||||
|
detail_h_list.append(detail_h)
|
||||||
rogue_detail[index_floor]['detail_h'] = detail_h
|
based_h_list.append(based_h)
|
||||||
rogue_detail[index_floor]['start_h'] = based_h
|
|
||||||
based_h = based_h + detail_h
|
based_h = based_h + detail_h
|
||||||
|
|
||||||
# 获取查询者数据
|
# 获取查询者数据
|
||||||
@ -653,12 +657,12 @@ async def draw_rogue_locust_img(
|
|||||||
'mm',
|
'mm',
|
||||||
)
|
)
|
||||||
|
|
||||||
for _, detail in enumerate(rogue_detail):
|
for index_floor, detail in enumerate(rogue_detail):
|
||||||
if detail.detail_h is None:
|
if detail_h_list[index_floor] is None:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
floor_pic = Image.open(TEXT_PATH / 'detail_bg.png').convert('RGBA')
|
floor_pic = Image.open(TEXT_PATH / 'detail_bg.png').convert('RGBA')
|
||||||
floor_pic = floor_pic.resize((900, detail.detail_h))
|
floor_pic = floor_pic.resize((900, detail_h_list[index_floor]))
|
||||||
|
|
||||||
floor_top_pic = Image.open(TEXT_PATH / 'floor_bg_top.png').convert(
|
floor_top_pic = Image.open(TEXT_PATH / 'floor_bg_top.png').convert(
|
||||||
'RGBA'
|
'RGBA'
|
||||||
@ -669,7 +673,7 @@ async def draw_rogue_locust_img(
|
|||||||
TEXT_PATH / 'floor_bg_center.png'
|
TEXT_PATH / 'floor_bg_center.png'
|
||||||
).convert('RGBA')
|
).convert('RGBA')
|
||||||
floor_center_pic = floor_center_pic.resize(
|
floor_center_pic = floor_center_pic.resize(
|
||||||
(900, detail.detail_h - 170)
|
(900, detail_h_list[index_floor] - 170)
|
||||||
)
|
)
|
||||||
floor_pic.paste(floor_center_pic, (0, 100), floor_center_pic)
|
floor_pic.paste(floor_center_pic, (0, 100), floor_center_pic)
|
||||||
|
|
||||||
@ -677,7 +681,7 @@ async def draw_rogue_locust_img(
|
|||||||
'RGBA'
|
'RGBA'
|
||||||
)
|
)
|
||||||
floor_pic.paste(
|
floor_pic.paste(
|
||||||
floor_bot_pic, (0, detail.detail_h - 70), floor_bot_pic
|
floor_bot_pic, (0, detail_h_list[index_floor] - 70), floor_bot_pic
|
||||||
)
|
)
|
||||||
|
|
||||||
floor_name = detail.name
|
floor_name = detail.name
|
||||||
@ -805,10 +809,10 @@ async def draw_rogue_locust_img(
|
|||||||
blocks_height = blocks_height + 80
|
blocks_height = blocks_height + 80
|
||||||
blocks_height = blocks_height + draw_height
|
blocks_height = blocks_height + draw_height
|
||||||
|
|
||||||
if detail.start_h is None:
|
if based_h_list[index_floor] is None:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
img.paste(floor_pic, (0, detail.start_h), floor_pic)
|
img.paste(floor_pic, (0, based_h_list[index_floor]), floor_pic)
|
||||||
# await _draw_floor_card(
|
# await _draw_floor_card(
|
||||||
# level_star,
|
# level_star,
|
||||||
# floor_pic,
|
# floor_pic,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user