diff --git a/backend/core/basic/character.py b/backend/core/basic/character.py index 4a053648..5dd353c6 100644 --- a/backend/core/basic/character.py +++ b/backend/core/basic/character.py @@ -1,6 +1,6 @@ from functools import cache import importlib -from typing import Literal +from typing import Any, Literal, Mapping, Union from core.basic.property import CharacterInfo from core.basic.skill import Skill @@ -13,19 +13,21 @@ from .formula import 增幅计算, 强化技攻, 武器强化计算, 精通计 from .roleinfo import CharacterEquipInfo, get_key_by_value # from .property import 精通计算, 角色基础, CharacterInfo + class Jade: - ElementIncrease:float - '''属性增幅''' - AttackP:float - '''攻击强化%''' - SkillAttack:float - '''技能攻击力%''' + ElementIncrease: float + """属性增幅""" + AttackP: float + """攻击强化%""" + SkillAttack: float + """技能攻击力%""" def __init__(self) -> None: self.ElementIncrease = 0.0 self.AttackP = 0.0 self.SkillAttack = 0.0 + class Character: # region 角色属性 @@ -257,48 +259,47 @@ class Character: 攻击强化P=0, 增益量=0, 增益量P=0, - **kwargs, + **kwargs: Mapping[ + Literal[ + 'STR', + 'INT', + 'AtkP', + 'AtkM', + 'AtkI', + 'PAtkP', + 'PAtkM', + 'PAtkI', + 'PATKIPDamage', + 'PDamageC', + 'PSTR', + 'PINT', + 'PDamageB', + 'ElementA', + 'ElementDB', + 'ElementR', + 'CriticalMP', + 'CriticalM', + 'CriticalPP', + 'CriticalP', + 'EquipmentSkillAttack', + 'SkillAttack', + 'SpeedA', + 'SpeedM', + 'SpeedR', + 'HitP', + 'Hit', + 'Attack', + 'AttackP', + 'Buffer', + 'BufferP', + 'Spirit', + 'Vitality', + 'EquEffectRatio', + ], + Any, + ], ) -> None: """设置角色属性""" - allowed_kwargs = { - 'STR', - 'INT', - 'AtkP', - 'AtkM', - 'AtkI', - 'PAtkP', - 'PAtkM', - 'PAtkI', - 'PATKIPDamage', - 'PDamageC', - 'PSTR', - 'PINT', - 'PDamageB', - 'ElementA', - 'ElementDB', - 'ElementR', - 'CriticalMP', - 'CriticalM', - 'CriticalPP', - 'CriticalP', - 'EquipmentSkillAttack', - 'SkillAttack', - 'SpeedA', - 'SpeedM', - 'SpeedR', - 'HitP', - 'Hit', - 'Attack', - 'AttackP', - 'Buffer', - 'BufferP', - 'Spirit', - 'Vitality', - 'EquEffectRatio' - } - # for key in kwargs: - # if key not in allowed_kwargs: - # raise ValueError(f'Invalid keyword argument: {key}') self.STR += 力量 + kwargs.get('STR', 0) + 四维 + 力智 self.INT += 智力 + kwargs.get('INT', 0) + 四维 + 力智 self.Spirit += 精神 + kwargs.get('Spirit', 0) + 四维 + 体精 @@ -328,7 +329,7 @@ class Character: self.EquEffectRatio *= 1 + kwargs.get('EquEffectRatio', 0.0) pass - def AddElementDB(self, element: str, value: float,type:int=0) -> None: + def AddElementDB(self, element: str, value: float, type: int = 0) -> None: """ 增加属性强化 type: 0 站街 1 进图 @@ -357,6 +358,21 @@ class Character: if min <= skill.learnLv <= max and skill.damage and skill.learnLv not in exclude: skill.cdReduce *= 1 - cd + def SetSkillCDRecover(self, min=1, max=100, cd=0, exclude=[50, 85, 100]) -> None: + """设置技能CD恢复""" + for skill in self.skills: + if min <= skill.learnLv <= max and skill.damage and skill.learnLv not in exclude: + skill.cdRecover += cd + + def SetSkillRation(self, min=1, max=100, ratio=0 ,type = 0) -> None: + """设置技能倍率 0 修改技能面板 1 不修改技能面板""" + for skill in self.skills: + if min <= skill.learnLv <= max and skill.damage: + if type == 0: + skill.skillRation *= (1 + ratio) + else: + skill.skillDamage *= (1 + ratio) + def GetSkillByName(self, name) -> Skill: """通过技能名获取技能""" return self.skills_dict.get(name, None) @@ -525,7 +541,7 @@ class Character: for equ in [item.equInfo for item in filter(lambda x: x.equInfo is not None, self.charEquipInfo.values())]: if equ is None: continue - fun = effects.equ_func_list.get(str(equ.id),None) + fun = effects.equ_func_list.get(str(equ.id), None) if fun is None: continue # 获取装备基础属性 并给角色设置(大写开头属性为角色属性) @@ -534,7 +550,6 @@ class Character: # 获取装备额外属性 fun(self) - def calc_basic(self): """计算基础属性:防具精通、增幅、强化等""" # 防具精通跟随装备品级 @@ -567,10 +582,10 @@ class Character: if part == '武器': # 锻造独立计算 value = 锻造计算(115, '史诗', cur.refine) - self.SetStatus(AtkI = value) + self.SetStatus(AtkI=value) # 传世武器强化系数取所有武器的最高的1.12 if cur.equInfo.categorize == '传世武器': - value = 武器强化计算(115, '史诗', cur.reinforce,cur.equInfo.itemDetailType,'物理',1.12) + value = 武器强化计算(115, '史诗', cur.reinforce, cur.equInfo.itemDetailType, '物理', 1.12) self.SetStatus(AtkP=value, AtkM=value) else: # 强化计算 @@ -581,7 +596,7 @@ class Character: pass if part == '耳环': value = 耳环计算(115, '史诗', cur.reinforce) - self.SetStatus(AtkM=value, AtkP=value,AtkI=value) + self.SetStatus(AtkM=value, AtkP=value, AtkI=value) pass if part in ['辅助装备', '魔法石']: value = 左右计算(115, '史诗', cur.reinforce) @@ -622,33 +637,34 @@ class Character: for i in self.skills: if i.damage and i.lv > 0: temp = i.skillInfo() - skillInfos.append({ - "name":i.name, - "icon":i.icon, - "lv":i.lv, - "data":temp[0], - "ratio":temp[1], - "cd":temp[2], - }) + skillInfos.append( + { + 'name': i.name, + 'icon': i.icon, + 'lv': i.lv, + 'data': temp[0], + 'ratio': temp[1], + 'cd': temp[2], + } + ) ratios = self.calc_damage_ration() ratio_char_skill = ratios[0] * ratios[1] * ratios[2] * ratios[3] * ratios[4] * ratios[5] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 10000 ratuio_equ_skill = ratios[0] * ratios[1] * ratios[3] * ratios[4] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 10000 for i in skillInfos: - i["damage"] = ratio_char_skill * i["data"] * i["ratio"] + i['damage'] = ratio_char_skill * i['data'] * i['ratio'] for i in self.equ_effect: - skillInfos.append({ - "name": i.name, - "icon": i.icon, - "lv": 0, - "data": i.data, - "ratio": 10.0, - "cd": i.cd, - "damage": ratuio_equ_skill * i.data * 10, - }) - return { - "skills": skillInfos, - "info":{k: v for k, v in self.__dict__.items() if k[0].isupper()} - } + skillInfos.append( + { + 'name': i.name, + 'icon': i.icon, + 'lv': 0, + 'data': i.data, + 'ratio': 10.0, + 'cd': i.cd, + 'damage': ratuio_equ_skill * i.data * 10, + } + ) + return {'skills': skillInfos, 'info': {k: v for k, v in self.__dict__.items() if k[0].isupper()}} # 技能影响角色的属性,如属强、抗性等 def calc_damage_ration(self): @@ -657,19 +673,19 @@ class Character: # 力/智 攻击力 攻击力%(特效不吃这部分) attrs = [] if self.输出类型 == '物理百分比': - attrs.extend(['STR', 'AtkP','PAtkP']) + attrs.extend(['STR', 'AtkP', 'PAtkP']) if self.输出类型 == '魔法百分比': - attrs.extend(['INT', 'AtkM','PAtkM']) + attrs.extend(['INT', 'AtkM', 'PAtkM']) if self.输出类型 == '物理固伤': attrs.extend(['STR', 'AtkI', 'PAtkI']) if self.输出类型 == '魔法固伤': attrs.extend(['INT', 'AtkI', 'PAtkI']) # 力智系数 - ratio_0 : float = getattr(self, attrs[0]) / 250 + 1 + ratio_0: float = getattr(self, attrs[0]) / 250 + 1 # 物理/魔法/独立攻击力 - ratio_1 : float = getattr(self, attrs[1]) + ratio_1: float = getattr(self, attrs[1]) # 技能 物理/魔法/独立攻击力% - ratio_2 : float = getattr(self, attrs[2]) + ratio_2: float = getattr(self, attrs[2]) # 属强系数 ratio_3 = max(self.ElementDB.values()) * 0.0045 + 1.05 # 暴击系数 @@ -682,7 +698,7 @@ class Character: ratio_7 = 1 + self.Attack * (self.AttackP + self.jade_effect.AttackP) # 防御系数,暂定145沙袋防御 monster_defense = 75068627484 - ratio_8 = (1 - monster_defense / (monster_defense + 200 * 100)) + ratio_8 = 1 - monster_defense / (monster_defense + 200 * 100) # 杂项 斗神、宠物技能、队友增幅等(技能的属性增幅归属到这部分,因为会加成到特效部分,修复后修改为技能攻击力计算) ratio_9 = 1.0 * self.ElementIncrease return (ratio_0, ratio_1, ratio_2, ratio_3, ratio_4, ratio_5, ratio_6, ratio_7, ratio_8, ratio_9) diff --git a/backend/core/character/GF/gunner_female/spitfire_female.py b/backend/core/character/GF/gunner_female/spitfire_female.py index 012e506d..145ebeb4 100644 --- a/backend/core/character/GF/gunner_female/spitfire_female.py +++ b/backend/core/character/GF/gunner_female/spitfire_female.py @@ -63,7 +63,10 @@ class Skill3(PassiveSkill): data0 = [0, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48] # noqa: E501 data1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30] - associate = [{'data': data0, 'type': '$*PAtkI'},{'data': data1, 'type': '*cdReduce', 'exceptSkills': ['EMP磁暴','决战之日','终解·制空霸权']}] + associate = [ + {'data': data0, 'type': '$*PAtkI'}, + {'data': data1, 'type': '*cdReduce', 'exceptSkills': ['EMP磁暴','决战之日','终解·制空霸权']} + ] # def precondition(self): # weapon = self.char.charEquipInfo['武器'].equInfo @@ -83,6 +86,10 @@ class Skill4(PassiveSkill): data0 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10] # noqa: E501 data1 = [0, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33] # noqa: E501 + associate = [ + {'data': data0, 'type': '*skillRation'}, + {'data': data1, 'type': '*skillRation'} + ] # 手雷精通 유탄 마스터리 # https://api.neople.co.kr/df/skills/944b9aab492c15a8474f96947ceeb9e4/0113c8b1306ca76d208f83f2d093dd62?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0 @@ -96,7 +103,9 @@ class Skill5(PassiveSkill): data0 = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200] # noqa: E501 - associate = [{'type': '*skillRation', 'data': data0, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']}] + associate = [ + {'type': '*skillRation', 'data': data0, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']} + ] # M18阔剑地雷 M18 클레이모어 # https://api.neople.co.kr/df/skills/944b9aab492c15a8474f96947ceeb9e4/2ff50c35efcf0f287c4c418c8454da48?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0 diff --git a/backend/core/equipment/version_0/equ.py b/backend/core/equipment/version_0/equ.py index 49d16645..4bbd4a30 100644 --- a/backend/core/equipment/version_0/equ.py +++ b/backend/core/equipment/version_0/equ.py @@ -1284,6 +1284,7 @@ def equ_86(char: Character): -所有速度+10% -发动权威光谱效果 """ + char.SetStatus(SpeedA=0.1,SpeedM=0.1,SpeedR=0.1) pass @@ -1298,6 +1299,7 @@ def equ_87(char: Character): -所有速度+15% -发动权威光谱效果 """ + char.SetStatus(SpeedA=0.15,SpeedM=0.15,SpeedR=0.15) pass @@ -1313,6 +1315,7 @@ def equ_88(char: Character): -所有速度+20% -发动权威光谱效果 """ + char.SetStatus(SpeedA=0.2,SpeedM=0.2,SpeedR=0.2) pass @@ -1401,7 +1404,7 @@ def equ_94(char: Character): -静止模式:中止攻击 -冷却时间1秒 """ - char.equ_effects.append(EquEffect(name='冰封的火焰之躯', icon='/equipment/skill/26.png', cd=1, data=7200)) + char.equ_effect.append(EquEffect(name='冰封的火焰之躯', icon='/equipment/skill/26.png', cd=1, data=7200)) pass @@ -1423,8 +1426,8 @@ def equ_95(char: Character): -静止模式:中止攻击 -冷却时间1秒 """ - char.equ_effects.append(EquEffect(name='冰弩', icon='/equipment/skill/26.png', cd=1, data=7200)) - char.equ_effects.append(EquEffect(name='火弩', icon='/equipment/skill/26.png', cd=1, data=7200)) + char.equ_effect.append(EquEffect(name='冰弩', icon='/equipment/skill/26.png', cd=1, data=7200)) + char.equ_effect.append(EquEffect(name='火弩', icon='/equipment/skill/26.png', cd=1, data=7200)) pass @@ -1448,9 +1451,9 @@ def equ_96(char: Character): -静止模式:中止攻击 -冷却时间1秒 """ - char.equ_effects.append(EquEffect(name='冰弩', icon='/equipment/skill/26.png', cd=1, data=7200)) - char.equ_effects.append(EquEffect(name='火弩', icon='/equipment/skill/26.png', cd=1, data=7200)) - char.equ_effects.append(EquEffect(name='箭雨', icon='/equipment/skill/26.png', cd=20, data=45600)) + char.equ_effect.append(EquEffect(name='冰弩', icon='/equipment/skill/26.png', cd=1, data=7200)) + char.equ_effect.append(EquEffect(name='火弩', icon='/equipment/skill/26.png', cd=1, data=7200)) + char.equ_effect.append(EquEffect(name='箭雨', icon='/equipment/skill/26.png', cd=20, data=45600)) pass @@ -1584,7 +1587,7 @@ def equ_104(char: Character): skill.skillDamage *= 1.30 if skill.damage and skill.cube == 0: skill.skillDamage *= 1.25 - char.equ_effect.append(EquEffect(name='燃烧', icon='/new_equipment/01_weapon/gunner/musket/musket.img/234.png', cd=0.2, data=480)) + char.equ_effect.append(EquEffect(name='燃烧', icon='/equipment/new_equipment/01_weapon/gunner/musket/musket.img/234.png', cd=0.2, data=480)) pass diff --git a/backend/core/equipment/version_0/suit.py b/backend/core/equipment/version_0/suit.py index fb8fd089..d38579e8 100644 --- a/backend/core/equipment/version_0/suit.py +++ b/backend/core/equipment/version_0/suit.py @@ -324,7 +324,7 @@ def suit_27(char: Character): - 攻击中止/继续攻击 - 冷却时间1秒 """ - char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200)) + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=19200)) pass @@ -402,8 +402,8 @@ def suit_32(char: Character): - 被击时,精灵之魂- 5(冷却时间1秒) - 元素释放伤害量:80,400% """ - char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200)) - char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='', cd=3, data=24000)) + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=19200)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=24000)) char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=15, data=80400)) pass @@ -520,9 +520,9 @@ def suit_37(char: Character): 一被击时,精灵之魂- 5(冷却时间1秒) - 元素释放伤害量:118,200% """ - char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200)) - char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='', cd=3, data=24000)) - char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='', cd=2, data=19200)) + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=19200)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=24000)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=19200)) char.SetStatus(SpeedM=0.15) char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=15, data=118200)) pass @@ -666,12 +666,12 @@ def suit_42(char: Character): 一被击时,精灵之魂- 5(冷却时间1秒) - 元素释放伤害量:118,200% """ - char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200)) - char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='', cd=3, data=24000)) - char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='', cd=2, data=19200)) + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=19200)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=24000)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=19200)) char.SetStatus(SpeedM=0.15) char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=10, data=181920)) - char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='', cd=5, data=47520)) + char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=47520)) pass @@ -732,16 +732,16 @@ def suit_48(char: Character): reinforce_3 = 0 """武器""" for part in char.charEquipInfo.keys(): - if char.charEquipInfo[part].id <= 0: + if char.charEquipInfo[part] is None: continue num = char.charEquipInfo[part].reinforce if part == '武器': reinforce_3 += num - if ['上衣', '头肩', '下装', '腰带', '鞋'].includes(part): + if part in ['上衣', '头肩', '下装', '腰带', '鞋']: reinforce_0 += num - if ['手镯', '项链', '戒指'].includes(part): + if part in ['手镯', '项链', '戒指']: reinforce_1 += num - if ['耳环', '辅助装备', '魔法石'].includes(part): + if part in ['耳环', '辅助装备', '魔法石']: reinforce_2 += num reinforce = reinforce_0 + reinforce_1 + reinforce_2 + reinforce_3 char.SetStatus(SkillRange=0.02 * min(reinforce // 11, 7)) @@ -829,16 +829,16 @@ def suit_53(char: Character): reinforce_3 = 0 """武器""" for part in char.charEquipInfo.keys(): - if char.charEquipInfo[part].id <= 0: + if char.charEquipInfo[part] is None: continue num = char.charEquipInfo[part].reinforce if part == '武器': reinforce_3 += num - if ['上衣', '头肩', '下装', '腰带', '鞋'].includes(part): + if part in ['上衣', '头肩', '下装', '腰带', '鞋']: reinforce_0 += num - if ['手镯', '项链', '戒指'].includes(part): + if part in ['手镯', '项链', '戒指']: reinforce_1 += num - if ['耳环', '辅助装备', '魔法石'].includes(part): + if part in ['耳环', '辅助装备', '魔法石']: reinforce_2 += num reinforce = reinforce_0 + reinforce_1 + reinforce_2 + reinforce_3 char.SetStatus(SkillRange=0.02 * min(reinforce // 11, 12)) @@ -968,16 +968,16 @@ def suit_58(char: Character): reinforce_3 = 0 """武器""" for part in char.charEquipInfo.keys(): - if char.charEquipInfo[part].id <= 0: + if char.charEquipInfo is None: continue num = char.charEquipInfo[part].reinforce if part == '武器': reinforce_3 += num - if ['上衣', '头肩', '下装', '腰带', '鞋'].includes(part): + if part in ['上衣', '头肩', '下装', '腰带', '鞋']: reinforce_0 += num - if ['手镯', '项链', '戒指'].includes(part): + if part in ['手镯', '项链', '戒指']: reinforce_1 += num - if ['耳环', '辅助装备', '魔法石'].includes(part): + if part in ['耳环', '辅助装备', '魔法石']: reinforce_2 += num reinforce = reinforce_0 + reinforce_1 + reinforce_2 + reinforce_3 char.SetStatus(SkillRange=0.02 * min(reinforce // 11, 12)) @@ -997,13 +997,13 @@ def suit_58(char: Character): char.SetSkillCD(Buffer=750 * min((reinforce - 110) // 11, 2)) if reinforce < 88: - char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=9600)) + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=9600)) elif reinforce < 110: - char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=10440)) + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=10440)) elif reinforce < 132: - char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=12000)) + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=12000)) else: - char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=14400)) + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=14400)) pass @@ -1157,16 +1157,16 @@ def suit_63(char: Character): reinforce_3 = 0 """武器""" for part in char.charEquipInfo.keys(): - if char.charEquipInfo[part].id <= 0: + if char.charEquipInfo[part] is None: continue num = char.charEquipInfo[part].reinforce if part == '武器': reinforce_3 += num - if ['上衣', '头肩', '下装', '腰带', '鞋'].includes(part): + if part in ['上衣', '头肩', '下装', '腰带', '鞋']: reinforce_0 += num - if ['手镯', '项链', '戒指'].includes(part): + if part in ['手镯', '项链', '戒指']: reinforce_1 += num - if ['耳环', '辅助装备', '魔法石'].includes(part): + if part in ['耳环', '辅助装备', '魔法石']: reinforce_2 += num reinforce = reinforce_0 + reinforce_1 + reinforce_2 + reinforce_3 char.SetStatus(SkillRange=0.02 * min(reinforce // 11, 12)) @@ -1186,13 +1186,13 @@ def suit_63(char: Character): char.SetSkillCD(Buffer=1500 * min((reinforce - 110) // 11, 2)) if reinforce < 88: - char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=9600)) + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=9600)) elif reinforce < 110: - char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=10440)) + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=10440)) elif reinforce < 132: - char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=12000)) + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=12000)) else: - char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=14400)) + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=14400)) pass @@ -1296,7 +1296,7 @@ def suit_74(char: Character): * 青龙升天伤害量 : 14,400% """ char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) - char.equ_effect.append(EquEffect(name='龙之胜战', icon='', cd=10, data=14400)) + char.equ_effect.append(EquEffect(name='龙之胜战', icon='/equipment/suit/1.png', cd=10, data=14400)) pass @@ -1379,16 +1379,16 @@ def suit_79(char: Character): """ if char.equ_options.get('1', 0) == 0: char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) - char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='', cd=10, data=14400)) + char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='/equipment/suit/1.png', cd=10, data=14400)) elif char.equ_options.get('1', 0) == 1: char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) char.SetStatus(SkillDamage=0.03) - char.equ_effect.append(EquEffect(name='白龙强袭', icon='', cd=3, data=6000)) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=6000)) elif char.equ_options.get('1', 0) == 2: char.SetStatus(SpeedA=0.2, SpeedM=0.2, SpeedR=0.2) char.SetStatus(SkillDamage=0.015) - char.equ_effect.append(EquEffect(name='白龙强袭', icon='', cd=3, data=6000)) - char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='', cd=10, data=14400)) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=6000)) + char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='/equipment/suit/1.png', cd=10, data=14400)) pass @@ -1514,12 +1514,12 @@ def suit_84(char: Character): """ if char.equ_options.get('1', 0) == 0: char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) - char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='', cd=10, data=14400)) + char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='/equipment/suit/1.png', cd=10, data=14400)) elif char.equ_options.get('1', 0) == 1: char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) char.SetStatus(SkillDamage=0.03) - char.equ_effect.append(EquEffect(name='白龙强袭', icon='', cd=3, data=6000)) - char.equ_effect.append(EquEffect(name='应龙之怒', icon='', cd=4, data=7200)) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=6000)) + char.equ_effect.append(EquEffect(name='应龙之怒', icon='/equipment/suit/1.png', cd=4, data=7200)) pass @@ -1964,7 +1964,11 @@ def suit_116(char: Character): - 剩余冷却时间33秒以下的技能中,初始化剩余时间最短的1个技能(觉醒技能除外) - 立即发动[第二次幸运] """ - suit_111(char) + char.SetStatus(SkillDamage=0.03) + char.AddElementDB('火',33,1) + char.AddElementDB('冰',33,1) + char.AddElementDB('光',33,1) + char.AddElementDB('暗',33,1) pass @@ -1981,7 +1985,7 @@ def suit_117(char: Character): - 剩余冷却时间33秒以下的技能中,初始化剩余时间最短的1个技能(觉醒技能除外) - 立即发动[第二次幸运] """ - suit_111(char) + suit_116(char) pass @@ -1998,7 +2002,7 @@ def suit_118(char: Character): - 剩余冷却时间33秒以下的技能中,初始化剩余时间最短的1个技能(觉醒技能除外) - 立即发动[第二次幸运] """ - suit_111(char) + suit_116(char) pass @@ -2015,7 +2019,7 @@ def suit_119(char: Character): - 剩余冷却时间33秒以下的技能中,初始化剩余时间最短的1个技能(觉醒技能除外) - 立即发动[第二次幸运] """ - suit_111(char) + suit_116(char) pass @@ -2032,7 +2036,7 @@ def suit_120(char: Character): - 剩余冷却时间33秒以下的技能中,初始化剩余时间最短的1个技能(觉醒技能除外) - 立即发动[第二次幸运] """ - suit_111(char) + suit_116(char) pass @@ -2053,8 +2057,7 @@ def suit_121(char: Character): - 冷却时间:99秒 - 立即发动[第二次幸运] """ - char.SetStatus(SkillDamage=0.03) - char.Set + suit_116(char) pass @@ -2075,6 +2078,7 @@ def suit_122(char: Character): - 冷却时间:100秒 - 立即发动[第二次幸运] """ + suit_116(char) pass @@ -2095,6 +2099,7 @@ def suit_123(char: Character): - 冷却时间:101秒 - 立即发动[第二次幸运] """ + suit_116(char) pass @@ -2115,6 +2120,7 @@ def suit_124(char: Character): - 冷却时间:102秒 - 立即发动[第二次幸运] """ + suit_116(char) pass @@ -2135,6 +2141,7 @@ def suit_125(char: Character): - 冷却时间:103秒 - 立即发动[第二次幸运] """ + suit_116(char) pass @@ -2160,6 +2167,7 @@ def suit_126(char: Character): - 冷却时间:99秒 - 立即发动[第二次幸运] """ + suit_116(char) pass @@ -2211,6 +2219,11 @@ def suit_132(char: Character): - 85级技能冷却时间 - 30% (辅助职业除外) - 50级技能冷却时间 - 30% (辅助职业除外) """ + if not char.buffer: + char.SetSkillCD(50,50,0.3,[]) + char.SetSkillCD(85,85,0.3,[]) + char.SetSkillRation(100,100,0.3) + char.SetSkillRation(85,85,0.3) pass @@ -2223,6 +2236,7 @@ def suit_133(char: Character): - 85级技能冷却时间 - 30% (辅助职业除外) - 50级技能冷却时间 - 30% (辅助职业除外) """ + suit_132(char) pass @@ -2235,6 +2249,7 @@ def suit_134(char: Character): - 85级技能冷却时间 - 30% (辅助职业除外) - 50级技能冷却时间 - 30% (辅助职业除外) """ + suit_132(char) pass @@ -2247,6 +2262,7 @@ def suit_135(char: Character): - 85级技能冷却时间 - 30% (辅助职业除外) - 50级技能冷却时间 - 30% (辅助职业除外) """ + suit_132(char) pass @@ -2259,6 +2275,7 @@ def suit_136(char: Character): - 85级技能冷却时间 - 30% (辅助职业除外) - 50级技能冷却时间 - 30% (辅助职业除外) """ + suit_132(char) pass @@ -2272,6 +2289,12 @@ def suit_137(char: Character): - 85级技能冷却时间 - 30% (辅助职业除外) - 50级技能冷却时间 - 50% (辅助职业除外) """ + if not char.buffer: + char.SetSkillCD(50,50,0.5,[]) + char.SetSkillCD(85,85,0.3,[]) + char.SetSkillCD(100,100,0.5,[]) + char.SetSkillRation(100,100,0.4) + char.SetSkillRation(85,85,0.4) pass @@ -2285,6 +2308,7 @@ def suit_138(char: Character): - 85级技能冷却时间 - 30% (辅助职业除外) - 50级技能冷却时间 - 50% (辅助职业除外) """ + suit_137(char) pass @@ -2298,6 +2322,7 @@ def suit_139(char: Character): - 85级技能冷却时间 - 30% (辅助职业除外) - 50级技能冷却时间 - 50% (辅助职业除外) """ + suit_137(char) pass @@ -2311,6 +2336,7 @@ def suit_140(char: Character): - 85级技能冷却时间 - 30% (辅助职业除外) - 50级技能冷却时间 - 50% (辅助职业除外) """ + suit_137(char) pass @@ -2324,6 +2350,7 @@ def suit_141(char: Character): - 85级技能冷却时间 - 30% (辅助职业除外) - 50级技能冷却时间 - 50% (辅助职业除外) """ + suit_137(char) pass @@ -2346,6 +2373,17 @@ def suit_142(char: Character): 最大填充时释放能量造成大量伤害 * 能量释放伤害 : 240,000% """ + if not char.buffer: + char.SetSkillCD(50,50,0.5,[]) + char.SetSkillCD(85,85,0.3,[]) + char.SetSkillCD(100,100,0.5,[]) + char.SetSkillRation(100,100,0.6) + char.SetSkillRation(85,85,0.5) + char.SetSkillRation(50,50,0.1) + for item in char.skills: + if item.lv == 100: + cd = item.getSkillCD() + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=240000)) pass @@ -2368,6 +2406,7 @@ def suit_143(char: Character): 最大填充时释放能量造成大量伤害 * 能量释放伤害 : 240,000% """ + suit_142(char) pass @@ -2390,6 +2429,7 @@ def suit_144(char: Character): 最大填充时释放能量造成大量伤害 * 能量释放伤害 : 240,000% """ + suit_142(char) pass @@ -2412,6 +2452,7 @@ def suit_145(char: Character): 最大填充时释放能量造成大量伤害 * 能量释放伤害 : 240,000% """ + suit_142(char) pass @@ -2434,6 +2475,7 @@ def suit_146(char: Character): 最大填充时释放能量造成大量伤害 * 能量释放伤害 : 240,000% """ + suit_142(char) pass @@ -2458,6 +2500,17 @@ def suit_147(char: Character): 最大填充时释放能量造成大量伤害 * 能量释放伤害 : 360,000% """ + if not char.buffer: + char.SetSkillCD(50,50,0.5,[]) + char.SetSkillCD(85,85,0.3,[]) + char.SetSkillCD(100,100,0.5,[]) + char.SetSkillRation(100,100,0.76) + char.SetSkillRation(85,85,0.6) + char.SetSkillRation(50,50,0.15) + for item in char.skills: + if item.lv == 100: + cd = item.getSkillCD() + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=360000)) pass diff --git a/backend/dataFiles/dcalc_0.db b/backend/dataFiles/dcalc_0.db index 53823f2e..c0cf1667 100644 Binary files a/backend/dataFiles/dcalc_0.db and b/backend/dataFiles/dcalc_0.db differ diff --git a/frontend/src/components/dnf/Equipment/List/index.vue b/frontend/src/components/dnf/Equipment/List/index.vue index 575238e3..358a2ad5 100644 --- a/frontend/src/components/dnf/Equipment/List/index.vue +++ b/frontend/src/components/dnf/Equipment/List/index.vue @@ -1,8 +1,8 @@