From 731539a40da2ee00e31b25a187cd12607adc3d41 Mon Sep 17 00:00:00 2001 From: qwerdvd <2450899274@qq.com> Date: Sat, 13 May 2023 13:41:45 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A8=E4=BF=AE=E5=A4=8D=E9=81=97?= =?UTF-8?q?=E5=99=A8=E5=B1=9E=E6=80=A7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- StarRailUID/starrailuid_charinfo/cal_value.py | 18 +++++++++++++----- StarRailUID/starrailuid_charinfo/to_data.py | 1 + StarRailUID/utils/map/SR_MAP_PATH.py | 6 ++++++ .../RelicId2MainAffixGroup_mapping_1.0.5.json | 1 + 4 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 StarRailUID/utils/map/data/RelicId2MainAffixGroup_mapping_1.0.5.json diff --git a/StarRailUID/starrailuid_charinfo/cal_value.py b/StarRailUID/starrailuid_charinfo/cal_value.py index 310e5e3..64bc1f0 100644 --- a/StarRailUID/starrailuid_charinfo/cal_value.py +++ b/StarRailUID/starrailuid_charinfo/cal_value.py @@ -1,17 +1,25 @@ from mpmath import mp +from ..utils.map.SR_MAP_PATH import RelicId2MainAffixGroup from ..utils.excel.read_excel import RelicSubAffix, RelicMainAffix mp.dps = 14 async def cal_relic_main_affix( - relic_id: int, affix_id: int, relic_type: int, relic_level: int + relic_id: int, + set_id: str, + affix_id: int, + relic_type: int, + relic_level: int, ): - rarity = int(str(relic_id)[0]) - 1 - group = str(rarity) + str(relic_type) - relic_data = RelicMainAffix[group][str(affix_id)] - assert relic_data['GroupID'] == int(group) + if set_id[0] == 3: + rarity = int(str(relic_id)[0]) - 1 + group_id = str(rarity) + str(relic_type) + else: + group_id = RelicId2MainAffixGroup(str(relic_id)) + relic_data = RelicMainAffix[group_id][str(affix_id)] + assert relic_data['GroupID'] == int(group_id) assert relic_data['AffixID'] == affix_id base_value = mp.mpf(relic_data['BaseValue']['Value']) level_add = mp.mpf(relic_data['LevelAdd']['Value']) diff --git a/StarRailUID/starrailuid_charinfo/to_data.py b/StarRailUID/starrailuid_charinfo/to_data.py index f1675a7..61faf97 100644 --- a/StarRailUID/starrailuid_charinfo/to_data.py +++ b/StarRailUID/starrailuid_charinfo/to_data.py @@ -189,6 +189,7 @@ async def get_data(char: dict, sr_data: dict, sr_uid: str): relic_temp['MainAffix']['AffixID'] = relic['MainAffixID'] affix_property, value = await cal_relic_main_affix( relic_id=relic['ID'], + set_id=str(relic_temp['SetId']), affix_id=relic['MainAffixID'], relic_type=relic['Type'], relic_level=relic_temp['Level'], diff --git a/StarRailUID/utils/map/SR_MAP_PATH.py b/StarRailUID/utils/map/SR_MAP_PATH.py index 8fdb427..32dabe1 100644 --- a/StarRailUID/utils/map/SR_MAP_PATH.py +++ b/StarRailUID/utils/map/SR_MAP_PATH.py @@ -30,6 +30,9 @@ skillId2AttackType_fileName = f'skillId2AttackType_mapping_{version}.json' EquipmentID2Rarity_fileName = f'EquipmentID2Rarity_mapping_{version}.json' RelicId2Rarity_fileName = f'RelicId2Rarity_mapping_{version}.json' ItemId2Name_fileName = f'ItemId2Name_mapping_{version}.json' +RelicId2MainAffixGroup_fileName = ( + f'RelicId2MainAffixGroup_mapping_{version}.json' +) class TS(TypedDict): @@ -100,3 +103,6 @@ with open(MAP / RelicId2Rarity_fileName, 'r', encoding='UTF-8') as f: with open(MAP / ItemId2Name_fileName, 'r', encoding='UTF-8') as f: ItemId2Name = msgjson.decode(f.read(), type=Dict[str, str]) + +with open(MAP / RelicId2MainAffixGroup_fileName, 'r', encoding='UTF-8') as f: + RelicId2MainAffixGroup = msgjson.decode(f.read(), type=Dict[str, int]) diff --git a/StarRailUID/utils/map/data/RelicId2MainAffixGroup_mapping_1.0.5.json b/StarRailUID/utils/map/data/RelicId2MainAffixGroup_mapping_1.0.5.json new file mode 100644 index 0000000..d97881b --- /dev/null +++ b/StarRailUID/utils/map/data/RelicId2MainAffixGroup_mapping_1.0.5.json @@ -0,0 +1 @@ +{"31011": 21, "41011": 31, "51011": 41, "61011": 51, "31012": 22, "41012": 32, "51012": 42, "61012": 52, "31013": 23, "41013": 33, "51013": 43, "61013": 53, "31014": 24, "41014": 34, "51014": 44, "61014": 54, "31021": 21, "41021": 31, "51021": 41, "61021": 51, "31022": 22, "41022": 32, "51022": 42, "61022": 52, "31023": 23, "41023": 33, "51023": 43, "61023": 53, "31024": 24, "41024": 34, "51024": 44, "61024": 54, "31031": 21, "41031": 31, "51031": 41, "61031": 51, "31032": 22, "41032": 32, "51032": 42, "61032": 52, "31033": 23, "41033": 33, "51033": 43, "61033": 53, "31034": 24, "41034": 34, "51034": 44, "61034": 54, "31041": 21, "41041": 31, "51041": 41, "61041": 51, "31042": 22, "41042": 32, "51042": 42, "61042": 52, "31043": 23, "41043": 33, "51043": 43, "61043": 53, "31044": 24, "41044": 34, "51044": 44, "61044": 54, "31051": 21, "41051": 31, "51051": 41, "61051": 51, "31052": 22, "41052": 32, "51052": 42, "61052": 52, "31053": 23, "41053": 33, "51053": 43, "61053": 53, "31054": 24, "41054": 34, "51054": 44, "61054": 54, "31061": 21, "41061": 31, "51061": 41, "61061": 51, "31062": 22, "41062": 32, "51062": 42, "61062": 52, "31063": 23, "41063": 33, "51063": 43, "61063": 53, "31064": 24, "41064": 34, "51064": 44, "61064": 54, "31071": 21, "41071": 31, "51071": 41, "61071": 51, "31072": 22, "41072": 32, "51072": 42, "61072": 52, "31073": 23, "41073": 33, "51073": 43, "61073": 53, "31074": 24, "41074": 34, "51074": 44, "61074": 54, "31081": 21, "41081": 31, "51081": 41, "61081": 51, "31082": 22, "41082": 32, "51082": 42, "61082": 52, "31083": 23, "41083": 33, "51083": 43, "61083": 53, "31084": 24, "41084": 34, "51084": 44, "61084": 54, "31091": 21, "41091": 31, "51091": 41, "61091": 51, "31092": 22, "41092": 32, "51092": 42, "61092": 52, "31093": 23, "41093": 33, "51093": 43, "61093": 53, "31094": 24, "41094": 34, "51094": 44, "61094": 54, "31101": 21, "41101": 31, "51101": 41, "61101": 51, "31102": 22, "41102": 32, "51102": 42, "61102": 52, "31103": 23, "41103": 33, "51103": 43, "61103": 53, "31104": 24, "41104": 34, "51104": 44, "61104": 54, "31111": 21, "41111": 31, "51111": 41, "61111": 51, "31112": 22, "41112": 32, "51112": 42, "61112": 52, "31113": 23, "41113": 33, "51113": 43, "61113": 53, "31114": 24, "41114": 34, "51114": 44, "61114": 54, "31121": 21, "41121": 31, "51121": 41, "61121": 51, "31122": 22, "41122": 32, "51122": 42, "61122": 52, "31123": 23, "41123": 33, "51123": 43, "61123": 53, "31124": 24, "41124": 34, "51124": 44, "61124": 54, "33015": 25, "43015": 35, "53015": 45, "63015": 55, "33016": 26, "43016": 36, "53016": 46, "63016": 56, "33025": 25, "43025": 35, "53025": 45, "63025": 55, "33026": 26, "43026": 36, "53026": 46, "63026": 56, "33035": 25, "43035": 35, "53035": 45, "63035": 55, "33036": 26, "43036": 36, "53036": 46, "63036": 56, "33045": 25, "43045": 35, "53045": 45, "63045": 55, "33046": 26, "43046": 36, "53046": 46, "63046": 56, "33055": 25, "43055": 35, "53055": 45, "63055": 55, "33056": 26, "43056": 36, "53056": 46, "63056": 56, "33065": 25, "43065": 35, "53065": 45, "63065": 55, "33066": 26, "43066": 36, "53066": 46, "63066": 56, "33075": 25, "43075": 35, "53075": 45, "63075": 55, "33076": 26, "43076": 36, "53076": 46, "63076": 56, "33085": 25, "43085": 35, "53085": 45, "63085": 55, "33086": 26, "43086": 36, "53086": 46, "63086": 56, "55001": 436, "55002": 441, "55003": 434, "55004": 433, "55005": 443, "55006": 434}