From 26c867d493dfb5215123da1e29eea036f7f16978 Mon Sep 17 00:00:00 2001 From: qwerdvd <2450899274@qq.com> Date: Fri, 12 May 2023 18:01:56 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20=E6=9B=B4=E6=96=B0=E4=B8=80?= =?UTF-8?q?=E9=83=A8=E5=88=86=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- StarRailUID/starrailuid_charinfo/__init__.py | 86 +++++++------- .../starrailuid_charinfo/draw_char_img.py | 50 ++++++++ .../starrailuid_charinfo/mono/Character.py | 107 ++++++++++++++++++ StarRailUID/starrailuid_charinfo/to_data.py | 12 +- StarRailUID/utils/map/SR_MAP_PATH.py | 10 ++ ...pmentID2AbilityProperty_mapping_1.0.5.json | 1 + poetry.lock | 6 +- 7 files changed, 215 insertions(+), 57 deletions(-) create mode 100644 StarRailUID/starrailuid_charinfo/draw_char_img.py create mode 100644 StarRailUID/starrailuid_charinfo/mono/Character.py create mode 100644 StarRailUID/utils/map/data/EquipmentID2AbilityProperty_mapping_1.0.5.json diff --git a/StarRailUID/starrailuid_charinfo/__init__.py b/StarRailUID/starrailuid_charinfo/__init__.py index 6cdaa99..9dd28f8 100644 --- a/StarRailUID/starrailuid_charinfo/__init__.py +++ b/StarRailUID/starrailuid_charinfo/__init__.py @@ -1,65 +1,63 @@ -# import re -# import json -# from typing import Tuple +import re -# from PIL import Image +# import json +from typing import Tuple + +from PIL import Image from gsuid_core.sv import SV from gsuid_core.bot import Bot from gsuid_core.models import Event -from .to_card import enka_to_card - -# from .get_enka_img import draw_char_info_img +from .to_card import api_to_card from ..utils.convert import get_uid from ..utils.error_reply import UID_HINT - -# from ..utils.image.convert import convert_img +from ..utils.image.convert import convert_img +from .draw_char_img import draw_char_info_img # from ..utils.map.GS_MAP_PATH import alias_data # from .draw_char_rank import draw_cahrcard_list # from .get_enka_img import draw_enka_img, get_full_char -# from ..utils.resource.RESOURCE_PATH import TEMP_PATH +from ..utils.resource.RESOURCE_PATH import TEMP_PATH sv_char_info_config = SV('sr面板设置', pm=2) sv_get_char_info = SV('sr面板查询', priority=10) sv_get_sr_original_pic = SV('sr查看面板原图', priority=5) -# @sv_get_char_info.on_prefix('查询') -# async def send_char_info(bot: Bot, ev: Event): -# # im = await _get_char_info(bot, ev, ev.text) -# im = '' -# if isinstance(im, str): -# await bot.send(im) -# elif isinstance(im, Tuple): -# if isinstance(im[0], Image.Image): -# img = await convert_img(im[0]) -# else: -# img = im[0] -# await bot.send(img) -# if im[1]: -# with open(TEMP_PATH / f'{ev.msg_id}.jpg', 'wb') as f: -# f.write(im[1]) -# elif im is None: -# return -# else: -# await bot.send('发生未知错误') +@sv_get_char_info.on_prefix('sr查询') +async def send_char_info(bot: Bot, ev: Event): + im = await _get_char_info(bot, ev, ev.text) + if isinstance(im, str): + await bot.send(im) + elif isinstance(im, Tuple): + if isinstance(im[0], Image.Image): + img = await convert_img(im[0]) + else: + img = im[0] + await bot.send(img) + if im[1]: + with open(TEMP_PATH / f'{ev.msg_id}.jpg', 'wb') as f: + f.write(im[1]) + elif im is None: + return + else: + await bot.send('发生未知错误') -# async def _get_char_info(bot: Bot, ev: Event, text: str): -# # 获取角色名 -# msg = ''.join(re.findall('[\u4e00-\u9fa5 ]', text)) -# if not msg: -# return -# await bot.logger.info('开始执行[查询角色面板]') -# # 获取uid -# uid = await get_uid(bot, ev) -# if uid is None: -# return await bot.send(UID_HINT) -# await bot.logger.info('[查询角色面板]uid: {}'.format(uid)) -# -# im = await draw_char_info_img(msg, uid, ev.image) -# return im +async def _get_char_info(bot: Bot, ev: Event, text: str): + # 获取角色名 + msg = ''.join(re.findall('[\u4e00-\u9fa5 ]', text)) + if not msg: + return + await bot.logger.info('开始执行[查询角色面板]') + # 获取uid + uid = await get_uid(bot, ev) + if uid is None: + return await bot.send(UID_HINT) + await bot.logger.info('[查询角色面板]uid: {}'.format(uid)) + + im = await draw_char_info_img(msg, uid, ev.image) + return im @sv_get_char_info.on_command('sr强制刷新') @@ -68,6 +66,6 @@ async def send_card_info(bot: Bot, ev: Event): if uid is None: return await bot.send(UID_HINT) await bot.logger.info('[sr强制刷新]uid: {}'.format(uid)) - im = await enka_to_card(uid) + im = await api_to_card(uid) await bot.logger.info(f'UID{uid}获取角色数据成功!') await bot.send(im) diff --git a/StarRailUID/starrailuid_charinfo/draw_char_img.py b/StarRailUID/starrailuid_charinfo/draw_char_img.py new file mode 100644 index 0000000..e10a1fb --- /dev/null +++ b/StarRailUID/starrailuid_charinfo/draw_char_img.py @@ -0,0 +1,50 @@ +import re +import json +from typing import Dict, Union, Optional + +from gsuid_core.utils.error_reply import CHAR_HINT + +from .mono.Character import Character +from ..utils.resource.RESOURCE_PATH import PLAYER_PATH +from ..utils.map.name_covert import name_to_avatar_id, alias_to_char_name + + +async def draw_char_info_img(raw_mes: str, sr_uid: str, url: Optional[str]): + # 获取角色名 + char_name = ' '.join(re.findall('[\u4e00-\u9fa5]+', raw_mes)) + + char_data = await get_char_data(sr_uid, char_name) + print(char_data) + await cal_char_info(char_data) + + +async def cal_char_info(char_data: dict): + await Character(char_data).get_equipment_info() + + +async def get_char_data( + sr_uid: str, char_name: str, enable_self: bool = True +) -> Union[Dict, str]: + player_path = PLAYER_PATH / str(sr_uid) + SELF_PATH = player_path / 'SELF' + print(char_name) + char_id = await name_to_avatar_id(char_name) + print(char_id) + if '开拓者' in char_name: + char_name = '开拓者' + else: + char_name = await alias_to_char_name(char_id, char_name) + + char_path = player_path / f'{char_name}.json' + char_self_path = SELF_PATH / f'{char_name}.json' + + if char_path.exists(): + path = char_path + elif enable_self and char_self_path.exists(): + path = char_self_path + else: + return CHAR_HINT.format(char_name) + + with open(path, 'r', encoding='utf8') as fp: + char_data = json.load(fp) + return char_data diff --git a/StarRailUID/starrailuid_charinfo/mono/Character.py b/StarRailUID/starrailuid_charinfo/mono/Character.py new file mode 100644 index 0000000..06839b0 --- /dev/null +++ b/StarRailUID/starrailuid_charinfo/mono/Character.py @@ -0,0 +1,107 @@ +from typing import Dict, Tuple + +from mpmath import mp + +from ...utils.map.SR_MAP_PATH import EquipmentID2AbilityProperty + +mp.dps = 14 + + +class Character: + def __init__(self, card_prop: Dict): + # 面板数据 + self.card_prop: Dict = card_prop + + self.char_level: int = int(card_prop['avatarLevel']) + self.char_id: str = card_prop['avatarId'] + self.char_name: str = card_prop['avatarName'] + self.char_element = card_prop['avatarElement'] + self.char_promotion = card_prop['avatarPromotion'] + self.char_skill = card_prop['avatarSkill'] + self.extra_ability = card_prop['avatarExtraAbility'] + self.attribute_bonus = card_prop['avatarAttributeBonus'] + self.char_relic = card_prop['RelicInfo'] + self.base_attributes = card_prop['baseAttributes'] + self.add_attr = {} + self.equipment = card_prop['equipmentInfo'] + self.rarity = card_prop['avatarRarity'] + + # 角色的圣遗物总分 + self.artifacts_all_score: float = 0 + self.percent: str = '0.0' + self.dmg_data: Dict = {} + self.seq_str: str = '无匹配' + + async def get_equipment_info(self): + base_attr = self.base_attributes + equip = self.equipment + ability_property = EquipmentID2AbilityProperty[ + str(equip['equipmentID']) + ] + equip_rank = equip['equipmentRank'] + + equip_ability_property = ability_property[str(equip_rank)] + + equip_add_base_attr = equip['baseAttributes'] + hp = mp.mpf(base_attr['hp']) + mp.mpf(equip_add_base_attr['hp']) + attack = mp.mpf(base_attr['attack']) + mp.mpf( + equip_add_base_attr['attack'] + ) + defence = mp.mpf(base_attr['defence']) + mp.mpf( + equip_add_base_attr['defence'] + ) + base_attr['hp'] = str(hp) + base_attr['attack'] = str(attack) + base_attr['defence'] = str(defence) + self.base_attributes = base_attr + + for equip_ability in equip_ability_property: + property_type = equip_ability['PropertyType'] + value = equip_ability['Value']['Value'] + if property_type in self.add_attr: + self.add_attr[property_type] += value + else: + self.add_attr[property_type] = value + print(self.base_attributes) + print(self.add_attr) + + +async def p2v(power: str, power_plus: int) -> Tuple[float, float]: + """ + 将power转换为value + """ + # 如果存在123%+123%形式的 + if '+' in power: + power_percent = ( + float(power.split('+')[0].replace('%', '')) / 100 + ) * power_plus + power_value = power.split('+')[1] + if '%' in power_value: + power_percent += ( + float(power_value.replace('%', '')) / 100 * power_plus + ) + power_value = 0 + else: + power_value = float(power_value) + elif '%' in power: + power_percent = float(power.replace('%', '')) / 100 * power_plus + power_value = 0 + else: + power_percent = 0 + power_value = float(power) + + return power_percent, power_value + + +# async def get_artifacts_value(raw_data: Dict) -> List[str]: +# # 计算圣遗物效果 +# all_effects = [] +# for equip in raw_data['equipList']: +# statNmae = equip['reliquaryMainstat']['statName'] +# statValue = equip['reliquaryMainstat']['statValue'] +# all_effects.append(await text_to_effect(statNmae, statValue)) +# for sub in equip['reliquarySubstats']: +# sub_name = sub['statName'] +# sub_value = sub['statValue'] +# all_effects.append(await text_to_effect(sub_name, sub_value)) +# return all_effects diff --git a/StarRailUID/starrailuid_charinfo/to_data.py b/StarRailUID/starrailuid_charinfo/to_data.py index 4f93575..e4fdf0d 100644 --- a/StarRailUID/starrailuid_charinfo/to_data.py +++ b/StarRailUID/starrailuid_charinfo/to_data.py @@ -22,22 +22,13 @@ from ..utils.map.SR_MAP_PATH import ( skillId2Type, avatarId2Name, avatarId2EnName, + avatarId2Rarity, characterSkillTree, avatarId2DamageType, ) mp.dps = 14 -PROP_ATTR_MAP = { - 'Anemo': '44', - 'Cryo': '46', - 'Dendro': '43', - 'Electro': '41', - 'Geo': '45', - 'Hydro': '42', - 'Pyro': '40', -} - async def api_to_dict( sr_uid: str, sr_data: Optional[EnkaData] = None @@ -114,6 +105,7 @@ async def get_data(char: dict, sr_data: dict, sr_uid: str): 'avatarId': char['AvatarID'], 'avatarName': avatarId2Name[str(char['AvatarID'])], 'avatarElement': avatarId2DamageType[str(char['AvatarID'])], + 'avatarRarity': avatarId2Rarity[str(char['AvatarID'])], 'avatarPromotion': char['Promotion'], 'avatarLevel': char['Level'], 'avatarSkill': [], diff --git a/StarRailUID/utils/map/SR_MAP_PATH.py b/StarRailUID/utils/map/SR_MAP_PATH.py index 5723671..4bec31f 100644 --- a/StarRailUID/utils/map/SR_MAP_PATH.py +++ b/StarRailUID/utils/map/SR_MAP_PATH.py @@ -22,6 +22,9 @@ rankId2Name_fileName = f'rankId2Name_mapping_{version}.json' characterSkillTree_fileName = f'characterSkillTree_mapping_{version}.json' avatarId2DamageType_fileName = f'avatarId2DamageType_mapping_{version}.json' avatarId2Rarity_fileName = f'avatarId2Rarity_mapping_{version}.json' +EquipmentID2AbilityProperty_fileName = ( + f'EquipmentID2AbilityProperty_mapping_{version}.json' +) class TS(TypedDict): @@ -70,3 +73,10 @@ with open(MAP / 'char_alias.json', 'r', encoding='UTF-8') as f: with open(MAP / avatarId2Rarity_fileName, 'r', encoding='UTF-8') as f: avatarId2Rarity = msgjson.decode(f.read(), type=Dict[str, str]) + +with open( + MAP / EquipmentID2AbilityProperty_fileName, 'r', encoding='UTF-8' +) as f: + EquipmentID2AbilityProperty = msgjson.decode( + f.read(), type=Dict[str, Dict[str, List]] + ) diff --git a/StarRailUID/utils/map/data/EquipmentID2AbilityProperty_mapping_1.0.5.json b/StarRailUID/utils/map/data/EquipmentID2AbilityProperty_mapping_1.0.5.json new file mode 100644 index 0000000..b2c8276 --- /dev/null +++ b/StarRailUID/utils/map/data/EquipmentID2AbilityProperty_mapping_1.0.5.json @@ -0,0 +1 @@ +{"20000": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20001": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20002": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20003": {"1": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.15999999763809153}}], "2": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.1999999970476144}}], "3": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.23999999645713727}}], "4": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.27999999586666013}}], "5": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.31999999527618306}}]}, "20004": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20005": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20006": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20007": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20008": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20009": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20010": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20011": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20012": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20013": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20014": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20015": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20016": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20017": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20018": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20019": {"1": [], "2": [], "3": [], "4": [], "5": []}, "20020": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21000": {"1": [{"PropertyType": "SPRatioBase", "Value": {"Value": 0.07999999881904576}}], "2": [{"PropertyType": "SPRatioBase", "Value": {"Value": 0.0999999985238072}}], "3": [{"PropertyType": "SPRatioBase", "Value": {"Value": 0.11999999822856863}}], "4": [{"PropertyType": "SPRatioBase", "Value": {"Value": 0.13999999793333007}}], "5": [{"PropertyType": "SPRatioBase", "Value": {"Value": 0.15999999763809153}}]}, "21001": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21002": {"1": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.15999999763809153}}], "2": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.17999999734285296}}], "3": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.1999999970476144}}], "4": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.21999999675237583}}], "5": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.23999999645713727}}]}, "21003": {"1": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.15999999763809153}}], "2": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.1999999970476144}}], "3": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.23999999645713727}}], "4": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.27999999586666013}}], "5": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.31999999527618306}}]}, "21004": {"1": [{"PropertyType": "BreakDamageAddedRatioBase", "Value": {"Value": 0.27999999586666013}}], "2": [{"PropertyType": "BreakDamageAddedRatioBase", "Value": {"Value": 0.34999999483332517}}], "3": [{"PropertyType": "BreakDamageAddedRatioBase", "Value": {"Value": 0.4199999937999902}}], "4": [{"PropertyType": "BreakDamageAddedRatioBase", "Value": {"Value": 0.4899999927666553}}], "5": [{"PropertyType": "BreakDamageAddedRatioBase", "Value": {"Value": 0.5599999917333203}}]}, "21005": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21006": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21007": {"1": [{"PropertyType": "HealRatioBase", "Value": {"Value": 0.0999999985238072}}], "2": [{"PropertyType": "HealRatioBase", "Value": {"Value": 0.12499999780551303}}], "3": [{"PropertyType": "HealRatioBase", "Value": {"Value": 0.1499999977857108}}], "4": [{"PropertyType": "HealRatioBase", "Value": {"Value": 0.17499999706741665}}], "5": [{"PropertyType": "HealRatioBase", "Value": {"Value": 0.1999999970476144}}]}, "21008": {"1": [{"PropertyType": "StatusProbabilityBase", "Value": {"Value": 0.1999999970476144}}], "2": [{"PropertyType": "StatusProbabilityBase", "Value": {"Value": 0.249999996309518}}], "3": [{"PropertyType": "StatusProbabilityBase", "Value": {"Value": 0.2999999955714216}}], "4": [{"PropertyType": "StatusProbabilityBase", "Value": {"Value": 0.34999999483332517}}], "5": [{"PropertyType": "StatusProbabilityBase", "Value": {"Value": 0.3999999940952288}}]}, "21009": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21010": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21011": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21012": {"1": [{"PropertyType": "AllDamageTypeAddedRatio", "Value": {"Value": 0.1999999970476144}}], "2": [{"PropertyType": "AllDamageTypeAddedRatio", "Value": {"Value": 0.249999996309518}}], "3": [{"PropertyType": "AllDamageTypeAddedRatio", "Value": {"Value": 0.2999999955714216}}], "4": [{"PropertyType": "AllDamageTypeAddedRatio", "Value": {"Value": 0.34999999483332517}}], "5": [{"PropertyType": "AllDamageTypeAddedRatio", "Value": {"Value": 0.3999999940952288}}]}, "21014": {"1": [{"PropertyType": "StatusResistanceBase", "Value": {"Value": 0.15999999763809153}}], "2": [{"PropertyType": "StatusResistanceBase", "Value": {"Value": 0.1999999970476144}}], "3": [{"PropertyType": "StatusResistanceBase", "Value": {"Value": 0.23999999645713727}}], "4": [{"PropertyType": "StatusResistanceBase", "Value": {"Value": 0.27999999586666013}}], "5": [{"PropertyType": "StatusResistanceBase", "Value": {"Value": 0.31999999527618306}}]}, "21015": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21016": {"1": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.15999999763809153}}], "2": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.1999999970476144}}], "3": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.23999999645713727}}], "4": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.27999999586666013}}], "5": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.31999999527618306}}]}, "21017": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21021": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21028": {"1": [{"PropertyType": "HPAddedRatio", "Value": {"Value": 0.15999999763809153}}], "2": [{"PropertyType": "HPAddedRatio", "Value": {"Value": 0.1999999970476144}}], "3": [{"PropertyType": "HPAddedRatio", "Value": {"Value": 0.23999999645713727}}], "4": [{"PropertyType": "HPAddedRatio", "Value": {"Value": 0.27999999586666013}}], "5": [{"PropertyType": "HPAddedRatio", "Value": {"Value": 0.31999999527618306}}]}, "23001": {"1": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.17999999734285296}}], "2": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.2099999968999951}}], "3": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.23999999645713727}}], "4": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.26999999601427943}}], "5": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.2999999955714216}}]}, "23003": {"1": [{"PropertyType": "SPRatioBase", "Value": {"Value": 0.0999999985238072}}], "2": [{"PropertyType": "SPRatioBase", "Value": {"Value": 0.11999999822856863}}], "3": [{"PropertyType": "SPRatioBase", "Value": {"Value": 0.13999999793333007}}], "4": [{"PropertyType": "SPRatioBase", "Value": {"Value": 0.15999999763809153}}], "5": [{"PropertyType": "SPRatioBase", "Value": {"Value": 0.17999999734285296}}]}, "23004": {"1": [], "2": [], "3": [], "4": [], "5": []}, "23005": {"1": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.23999999645713727}}, {"PropertyType": "StatusProbabilityBase", "Value": {"Value": 0.23999999645713727}}], "2": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.27999999586666013}}, {"PropertyType": "StatusProbabilityBase", "Value": {"Value": 0.27999999586666013}}], "3": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.31999999527618306}}, {"PropertyType": "StatusProbabilityBase", "Value": {"Value": 0.31999999527618306}}], "4": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.3599999946857059}}, {"PropertyType": "StatusProbabilityBase", "Value": {"Value": 0.3599999946857059}}], "5": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.3999999940952288}}, {"PropertyType": "StatusProbabilityBase", "Value": {"Value": 0.3999999940952288}}]}, "23012": {"1": [{"PropertyType": "CriticalDamageBase", "Value": {"Value": 0.2999999955714216}}], "2": [{"PropertyType": "CriticalDamageBase", "Value": {"Value": 0.34999999483332517}}], "3": [{"PropertyType": "CriticalDamageBase", "Value": {"Value": 0.3999999940952288}}], "4": [{"PropertyType": "CriticalDamageBase", "Value": {"Value": 0.44999999335713237}}], "5": [{"PropertyType": "CriticalDamageBase", "Value": {"Value": 0.499999992619036}}]}, "23013": {"1": [{"PropertyType": "HPAddedRatio", "Value": {"Value": 0.17999999734285296}}, {"PropertyType": "HealRatioBase", "Value": {"Value": 0.11999999822856863}}], "2": [{"PropertyType": "HPAddedRatio", "Value": {"Value": 0.2099999968999951}}, {"PropertyType": "HealRatioBase", "Value": {"Value": 0.13999999793333007}}], "3": [{"PropertyType": "HPAddedRatio", "Value": {"Value": 0.23999999645713727}}, {"PropertyType": "HealRatioBase", "Value": {"Value": 0.15999999763809153}}], "4": [{"PropertyType": "HPAddedRatio", "Value": {"Value": 0.26999999601427943}}, {"PropertyType": "HealRatioBase", "Value": {"Value": 0.17999999734285296}}], "5": [{"PropertyType": "HPAddedRatio", "Value": {"Value": 0.2999999955714216}}, {"PropertyType": "HealRatioBase", "Value": {"Value": 0.1999999970476144}}]}, "24000": {"1": [], "2": [], "3": [], "4": [], "5": []}, "24001": {"1": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.07999999881904576}}], "2": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.0999999985238072}}], "3": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.11999999822856863}}], "4": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.13999999793333007}}], "5": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.15999999763809153}}]}, "24002": {"1": [{"PropertyType": "StatusResistanceBase", "Value": {"Value": 0.07999999881904576}}], "2": [{"PropertyType": "StatusResistanceBase", "Value": {"Value": 0.0999999985238072}}], "3": [{"PropertyType": "StatusResistanceBase", "Value": {"Value": 0.11999999822856863}}], "4": [{"PropertyType": "StatusResistanceBase", "Value": {"Value": 0.13999999793333007}}], "5": [{"PropertyType": "StatusResistanceBase", "Value": {"Value": 0.15999999763809153}}]}, "29000": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21013": {"1": [], "2": [], "3": [], "4": [], "5": []}, "23000": {"1": [], "2": [], "3": [], "4": [], "5": []}, "23010": {"1": [{"PropertyType": "CriticalDamageBase", "Value": {"Value": 0.3599999946857059}}], "2": [{"PropertyType": "CriticalDamageBase", "Value": {"Value": 0.4199999937999902}}], "3": [{"PropertyType": "CriticalDamageBase", "Value": {"Value": 0.47999999291427453}}], "4": [{"PropertyType": "CriticalDamageBase", "Value": {"Value": 0.5399999920285589}}], "5": [{"PropertyType": "CriticalDamageBase", "Value": {"Value": 0.5999999911428432}}]}, "21019": {"1": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.15999999763809153}}], "2": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.1999999970476144}}], "3": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.23999999645713727}}], "4": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.27999999586666013}}], "5": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.31999999527618306}}]}, "21020": {"1": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.15999999763809153}}], "2": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.1999999970476144}}], "3": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.23999999645713727}}], "4": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.27999999586666013}}], "5": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.31999999527618306}}]}, "21023": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21024": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21022": {"1": [{"PropertyType": "BreakDamageAddedRatioBase", "Value": {"Value": 0.15999999763809153}}], "2": [{"PropertyType": "BreakDamageAddedRatioBase", "Value": {"Value": 0.1999999970476144}}], "3": [{"PropertyType": "BreakDamageAddedRatioBase", "Value": {"Value": 0.23999999645713727}}], "4": [{"PropertyType": "BreakDamageAddedRatioBase", "Value": {"Value": 0.27999999586666013}}], "5": [{"PropertyType": "BreakDamageAddedRatioBase", "Value": {"Value": 0.31999999527618306}}]}, "21026": {"1": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.0999999985238072}}], "2": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.12499999780551303}}], "3": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.1499999977857108}}], "4": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.17499999706741665}}], "5": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.1999999970476144}}]}, "21027": {"1": [{"PropertyType": "AllDamageTypeAddedRatio", "Value": {"Value": 0.11999999822856863}}], "2": [{"PropertyType": "AllDamageTypeAddedRatio", "Value": {"Value": 0.1499999977857108}}], "3": [{"PropertyType": "AllDamageTypeAddedRatio", "Value": {"Value": 0.17999999734285296}}], "4": [{"PropertyType": "AllDamageTypeAddedRatio", "Value": {"Value": 0.2099999968999951}}], "5": [{"PropertyType": "AllDamageTypeAddedRatio", "Value": {"Value": 0.23999999645713727}}]}, "21029": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21030": {"1": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.15999999763809153}}], "2": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.1999999970476144}}], "3": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.23999999645713727}}], "4": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.27999999586666013}}], "5": [{"PropertyType": "DefenceAddedRatio", "Value": {"Value": 0.31999999527618306}}]}, "21031": {"1": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.11999999822856863}}], "2": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.1499999977857108}}], "3": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.17999999734285296}}], "4": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.2099999968999951}}], "5": [{"PropertyType": "CriticalChanceBase", "Value": {"Value": 0.23999999645713727}}]}, "21032": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21033": {"1": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.23999999645713727}}], "2": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.2999999955714216}}], "3": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.3599999946857059}}], "4": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.4199999937999902}}], "5": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.47999999291427453}}]}, "21034": {"1": [], "2": [], "3": [], "4": [], "5": []}, "23002": {"1": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.23999999645713727}}], "2": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.27999999586666013}}], "3": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.31999999527618306}}], "4": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.3599999946857059}}], "5": [{"PropertyType": "AttackAddedRatio", "Value": {"Value": 0.3999999940952288}}]}, "21018": {"1": [], "2": [], "3": [], "4": [], "5": []}, "21025": {"1": [], "2": [], "3": [], "4": [], "5": []}} diff --git a/poetry.lock b/poetry.lock index 645629a..a4af032 100644 --- a/poetry.lock +++ b/poetry.lock @@ -510,14 +510,14 @@ files = [ [[package]] name = "nodeenv" -version = "1.7.0" +version = "1.8.0" description = "Node.js virtual environment builder" category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ - {file = "nodeenv-1.7.0-py2.py3-none-any.whl", hash = "sha256:27083a7b96a25f2f5e1d8cb4b6317ee8aeda3bdd121394e5ac54e498028a042e"}, - {file = "nodeenv-1.7.0.tar.gz", hash = "sha256:e0e7f7dfb85fc5394c6fe1e8fa98131a2473e04311a45afb6508f7cf1836fa2b"}, + {file = "nodeenv-1.8.0-py2.py3-none-any.whl", hash = "sha256:df865724bb3c3adc86b3876fa209771517b0cfe596beff01a92700e0e8be4cec"}, + {file = "nodeenv-1.8.0.tar.gz", hash = "sha256:d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2"}, ] [package.dependencies]