没有 3.0 资源
This commit is contained in:
parent
02e0565bee
commit
c24239bc6c
@ -41,7 +41,11 @@ async def enkaToData(uid: str) -> Optional[str]:
|
||||
try:
|
||||
char_data['avatarElement'] = avatarName2Element[char_data['avatarName']]
|
||||
except KeyError:
|
||||
check = skillId2Name['Name'][str(list(char['skillLevelMap'].keys())[0])]
|
||||
try:
|
||||
check = skillId2Name['Name'][str(list(char['skillLevelMap'].keys())[0])]
|
||||
except KeyError:
|
||||
# 适配 3.0 草元素角色
|
||||
continue
|
||||
if '风' in check:
|
||||
char_data['avatarElement'] = 'Anemo'
|
||||
elif '雷' in check:
|
||||
@ -128,65 +132,72 @@ async def enkaToData(uid: str) -> Optional[str]:
|
||||
char_data['avatarFightProp'] = fight_prop
|
||||
|
||||
# 处理武器
|
||||
weapon_info = {}
|
||||
weapon_data = char['equipList'][-1]
|
||||
weapon_info['itemId'] = weapon_data['itemId']
|
||||
weapon_info['nameTextMapHash'] = weapon_data['flat']['nameTextMapHash']
|
||||
weapon_info['weaponIcon'] = weapon_data['flat']['icon']
|
||||
weapon_info['weaponType'] = weaponHash2Type[weapon_info['nameTextMapHash']]
|
||||
weapon_info['weaponName'] = weaponHash2Name[weapon_info['nameTextMapHash']]
|
||||
weapon_info['weaponStar'] = weapon_data['flat']['rankLevel']
|
||||
# 防止未精炼
|
||||
if 'promoteLevel' in weapon_data['weapon']:
|
||||
weapon_info['promoteLevel'] = weapon_data['weapon']['promoteLevel']
|
||||
else:
|
||||
weapon_info['promoteLevel'] = 0
|
||||
weapon_info['weaponLevel'] = weapon_data['weapon']['level']
|
||||
if 'affixMap' in weapon_data['weapon']:
|
||||
weapon_info['weaponAffix'] = list(weapon_data['weapon']['affixMap'].values())[0] + 1
|
||||
else:
|
||||
weapon_info['weaponAffix'] = 1
|
||||
weapon_info['weaponStats'] = []
|
||||
for k in weapon_data['flat'].get("weaponStats", {}):
|
||||
weapon_prop_temp = {}
|
||||
weapon_prop_temp['appendPropId'] = k['appendPropId']
|
||||
weapon_prop_temp['statName'] = propId2Name[k['appendPropId']]
|
||||
weapon_prop_temp['statValue'] = k['statValue']
|
||||
weapon_info['weaponStats'].append(weapon_prop_temp)
|
||||
# 武器特效,须请求API
|
||||
effect_raw = await client.get('https://info.minigg.cn/weapons?query={}'.format(weapon_info['weaponName']))
|
||||
effect_raw = effect_raw.json()
|
||||
if 'effect' in effect_raw:
|
||||
effect = effect_raw['effect'].format(*effect_raw['r{}'.format(str(weapon_info['weaponAffix']))])
|
||||
else:
|
||||
effect = '无特效。'
|
||||
weapon_info['weaponEffect'] = effect
|
||||
char_data['weaponInfo'] = weapon_info
|
||||
try:
|
||||
weapon_info = {}
|
||||
weapon_data = char['equipList'][-1]
|
||||
weapon_info['itemId'] = weapon_data['itemId']
|
||||
weapon_info['nameTextMapHash'] = weapon_data['flat']['nameTextMapHash']
|
||||
weapon_info['weaponIcon'] = weapon_data['flat']['icon']
|
||||
weapon_info['weaponType'] = weaponHash2Type[weapon_info['nameTextMapHash']]
|
||||
weapon_info['weaponName'] = weaponHash2Name[weapon_info['nameTextMapHash']]
|
||||
weapon_info['weaponStar'] = weapon_data['flat']['rankLevel']
|
||||
# 防止未精炼
|
||||
if 'promoteLevel' in weapon_data['weapon']:
|
||||
weapon_info['promoteLevel'] = weapon_data['weapon']['promoteLevel']
|
||||
else:
|
||||
weapon_info['promoteLevel'] = 0
|
||||
weapon_info['weaponLevel'] = weapon_data['weapon']['level']
|
||||
if 'affixMap' in weapon_data['weapon']:
|
||||
weapon_info['weaponAffix'] = list(weapon_data['weapon']['affixMap'].values())[0] + 1
|
||||
else:
|
||||
weapon_info['weaponAffix'] = 1
|
||||
weapon_info['weaponStats'] = []
|
||||
for k in weapon_data['flat'].get("weaponStats", {}):
|
||||
weapon_prop_temp = {}
|
||||
weapon_prop_temp['appendPropId'] = k['appendPropId']
|
||||
weapon_prop_temp['statName'] = propId2Name[k['appendPropId']]
|
||||
weapon_prop_temp['statValue'] = k['statValue']
|
||||
weapon_info['weaponStats'].append(weapon_prop_temp)
|
||||
|
||||
# 武器特效,须请求API
|
||||
effect_raw = await client.get('https://info.minigg.cn/weapons?query={}'.format(weapon_info['weaponName']))
|
||||
effect_raw = effect_raw.json()
|
||||
if 'effect' in effect_raw:
|
||||
effect = effect_raw['effect'].format(*effect_raw['r{}'.format(str(weapon_info['weaponAffix']))])
|
||||
else:
|
||||
effect = '无特效。'
|
||||
weapon_info['weaponEffect'] = effect
|
||||
char_data['weaponInfo'] = weapon_info
|
||||
except Exception:
|
||||
continue
|
||||
|
||||
# 处理圣遗物
|
||||
artifacts_info = []
|
||||
artifacts_data = char['equipList'][:-1]
|
||||
for artifact in artifacts_data:
|
||||
artifact_temp = {}
|
||||
artifact_temp['itemId'] = artifact['itemId']
|
||||
artifact_temp['nameTextMapHash'] = artifact['flat']['nameTextMapHash']
|
||||
artifact_temp['icon'] = artifact['flat']['icon']
|
||||
artifact_temp['aritifactName'] = icon2Name[artifact['flat']['icon']]
|
||||
artifact_temp['aritifactSetsName'] = artifact2attr['mapping'].get(artifact_temp['aritifactName'], "")
|
||||
artifact_temp['aritifactSetPiece'] = artifactId2Piece[artifact_temp['icon'].split('_')[-1]][0]
|
||||
artifact_temp['aritifactPieceName'] = artifactId2Piece[artifact_temp['icon'].split('_')[-1]][1]
|
||||
try:
|
||||
artifact_temp = {}
|
||||
artifact_temp['itemId'] = artifact['itemId']
|
||||
artifact_temp['nameTextMapHash'] = artifact['flat']['nameTextMapHash']
|
||||
artifact_temp['icon'] = artifact['flat']['icon']
|
||||
artifact_temp['aritifactName'] = icon2Name[artifact['flat']['icon']]
|
||||
artifact_temp['aritifactSetsName'] = artifact2attr['mapping'].get(artifact_temp['aritifactName'], "")
|
||||
artifact_temp['aritifactSetPiece'] = artifactId2Piece[artifact_temp['icon'].split('_')[-1]][0]
|
||||
artifact_temp['aritifactPieceName'] = artifactId2Piece[artifact_temp['icon'].split('_')[-1]][1]
|
||||
|
||||
artifact_temp['aritifactStar'] = artifact['flat']['rankLevel']
|
||||
artifact_temp['aritifactLevel'] = artifact['reliquary']['level'] - 1
|
||||
artifact_temp['aritifactStar'] = artifact['flat']['rankLevel']
|
||||
artifact_temp['aritifactLevel'] = artifact['reliquary']['level'] - 1
|
||||
|
||||
artifact_temp['reliquaryMainstat'] = artifact['flat'].get("reliquaryMainstat", {})
|
||||
artifact_temp['reliquaryMainstat']['statName'] = propId2Name[
|
||||
artifact_temp['reliquaryMainstat']['mainPropId']]
|
||||
artifact_temp['reliquaryMainstat'] = artifact['flat'].get("reliquaryMainstat", {})
|
||||
artifact_temp['reliquaryMainstat']['statName'] = propId2Name[
|
||||
artifact_temp['reliquaryMainstat']['mainPropId']]
|
||||
|
||||
artifact_temp['reliquarySubstats'] = artifact['flat'].get("reliquarySubstats", {})
|
||||
for sub in artifact_temp['reliquarySubstats']:
|
||||
sub['statName'] = propId2Name[sub['appendPropId']]
|
||||
artifacts_info.append(artifact_temp)
|
||||
artifact_temp['reliquarySubstats'] = artifact['flat'].get("reliquarySubstats", {})
|
||||
for sub in artifact_temp['reliquarySubstats']:
|
||||
sub['statName'] = propId2Name[sub['appendPropId']]
|
||||
artifacts_info.append(artifact_temp)
|
||||
except Exception:
|
||||
continue
|
||||
char_data['equipList'] = artifacts_info
|
||||
with open(path / '{}.json'.format(avatarName), 'w', encoding='UTF-8') as file:
|
||||
json.dump(char_data, file, ensure_ascii=False)
|
||||
|
Loading…
Reference in New Issue
Block a user