From 649e342a3b813a056435cebafb45035920dbd6d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E7=93=9C=C2=B0?= Date: Mon, 7 Apr 2025 19:10:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BC=A4=E5=AE=B3=E7=B3=BB?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/core/basic/character.py | 41 ++++++++++-------- backend/core/basic/skill.py | 8 +++- .../GF/gunner_female/spitfire_female.py | 32 +++++++++++++- backend/dataFiles/dcalc_0.db | Bin 1007616 -> 1007616 bytes backend/database/models.py | 2 + frontend/src/api/calc/type.ts | 1 + .../Character/Result/components/Skill.vue | 8 ++-- frontend/src/stores/config.ts | 23 +++++----- 8 files changed, 80 insertions(+), 35 deletions(-) diff --git a/backend/core/basic/character.py b/backend/core/basic/character.py index 07db9cab..0457eaeb 100644 --- a/backend/core/basic/character.py +++ b/backend/core/basic/character.py @@ -333,6 +333,8 @@ class Character: self.HitP += 命中率 + kwargs.get('HitP', 0) self.Hit += 命中 + kwargs.get('Hit', 0) self.Attack += 攻击强化 + kwargs.get('Attack', 0) + if kwargs.get('Attack', 0) > 0: + print(kwargs.get('Attack', 0)) self.AttackP += 攻击强化P + kwargs.get('AttackP', 0.0) self.Buffer += 增益量 + kwargs.get('Buffer', 0) self.BufferP += 增益量P + kwargs.get('BufferP', 0) @@ -773,22 +775,26 @@ class Character: skillInfos = [] 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], - } - ) + for mode in i.mode: + temp = i.skillInfo(mode) + skillInfos.append( + { + 'name': i.name, + 'icon': i.icon, + 'lv': i.lv, + 'data': temp[0], + 'ratio': temp[1], + 'cd': temp[2], + 'mode': mode, + } + ) 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 ratios: + print(i) + ratio_char_skill = ratios[0] * ratios[1] * ratios[2] * ratios[3] * ratios[4] * ratios[5] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 1000 + ratuio_equ_skill = ratios[0] * ratios[1] * ratios[3] * ratios[4] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 1000 for i in skillInfos: - i['damage'] = ratio_char_skill * i['data'] * i['ratio'] + i['damage'] = ratio_char_skill * i['data'] * i['ratio'] / 100 for i in self.equ_effect: skillInfos.append( { @@ -798,7 +804,8 @@ class Character: 'data': i.data, 'ratio': 10.0, 'cd': i.cd, - 'damage': ratuio_equ_skill * i.data * 10 * self.EquEffectRatio, + 'damage': ratuio_equ_skill * i.data * 10 * self.EquEffectRatio / 100, + 'mode':'' } ) attrs = [] @@ -864,9 +871,9 @@ class Character: # BUFF系数 ratio_5 = self.buff # 技攻系数 - ratio_6 = self.SkillAttack *( self.jade_effect.SkillAttack + 1) + ratio_6 = self.SkillAttack * (self.jade_effect.SkillAttack + 1) # 攻击强化 - ratio_7 = 1 + self.Attack * (self.AttackP + self.jade_effect.AttackP) + ratio_7 = 1 + self.Attack / 100 * (self.AttackP + self.jade_effect.AttackP) # 防御系数,暂定145沙袋防御 monster_defense = 75068627484 ratio_8 = 1 - monster_defense / (monster_defense + 200 * 100) diff --git a/backend/core/basic/skill.py b/backend/core/basic/skill.py index 2a7d7a44..07f4ca33 100644 --- a/backend/core/basic/skill.py +++ b/backend/core/basic/skill.py @@ -60,6 +60,8 @@ class Skill: skills: 关联技能 默认 '*' exceptSkills: 例外技能 默认[] """ + mode : list[str] = [''] + """技能模式""" def __init__(self, char): self.char = char @@ -142,6 +144,9 @@ class Skill: elif type.startswith('+'): setattr(skill, type[1:], getattr(skill, type[1:]) + data[new] / 100 - data[old] / 100) + def skillInfo(self, mode: str | None = None): + pass + class ActiveSkill(Skill): type: str = 'active' """技能类型 active主动 passive被动""" @@ -152,7 +157,6 @@ class ActiveSkill(Skill): super().__init__(char) def skillInfo(self, mode: str | None = None): - basic = self if mode is not None: basic = deepcopy(self) basic.setMode(mode) @@ -160,7 +164,7 @@ class ActiveSkill(Skill): basic = self date = basic.getSkillDate(self.lv) cd = basic.getSkillCD() - return date * self.skillRation , self.skillDamage ,cd + return date * basic.skillRation , basic.skillDamage ,cd def setMode(self, mode: str): pass diff --git a/backend/core/character/GF/gunner_female/spitfire_female.py b/backend/core/character/GF/gunner_female/spitfire_female.py index b255ceb9..4eaaa35f 100644 --- a/backend/core/character/GF/gunner_female/spitfire_female.py +++ b/backend/core/character/GF/gunner_female/spitfire_female.py @@ -33,6 +33,15 @@ class Skill1(ActiveSkill): data0 = [0, 751, 830, 904, 981, 1057, 1132, 1210, 1287, 1362, 1438, 1516, 1591, 1668, 1746, 1819, 1897, 1972, 2049, 2127, 2202, 2278, 2355, 2429, 2508, 2584, 2659, 2735, 2814, 2888, 2965, 3041, 3116, 3194, 3271, 3346, 3422, 3500, 3575, 3652, 3732, 3806, 3883, 3961, 4034, 4112, 4189, 4264, 4342, 4418, 4493, 4570, 4648, 4723, 4799, 4876, 4950, 5029, 5105, 5180, 5256, 5335, 5409, 5486, 5562, 5637, 5715, 5792, 5867, 5943, 6021]# noqa: E501 hit0 = 1 + mode = ['普通','强化'] + + def setMode(self, mode): + if mode == '普通': + return + if mode == '强化': + self.skillRation *= 1.3 + return + # 单兵推进器 니트로 모터 # https://api.neople.co.kr/df/skills/944b9aab492c15a8474f96947ceeb9e4/4224f9b0b8c7c903e9a1e0f9d9f6d04d?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0 class Skill2(PassiveSkill): @@ -102,11 +111,11 @@ class Skill5(PassiveSkill): rangeLv = 3 data0 = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200] # noqa: E501 - data1 = [0] + [(1+1+1.2)/3] * 20 + # data1 = [0] + [(1+1+1.2)/3] * 20 associate = [ {'type': '*skillRation', 'data': data0, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']}, - {'type': '*skillRation', 'data': data1, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']}, + # {'type': '*skillRation', 'data': data1, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']}, ] # M18阔剑地雷 M18 클레이모어 @@ -157,6 +166,16 @@ class Skill8(ActiveSkill): data1 = [0, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150]# noqa: E501 hit1 = 1 + mode = ['普通','强化'] + + def setMode(self, mode): + if mode == '普通': + return + if mode == '强化': + self.skillRation *= 1.3 + return + + # 爆裂弹 폭발탄 # https://api.neople.co.kr/df/skills/944b9aab492c15a8474f96947ceeb9e4/3c5604bdbb0240b8f130f59ab40509c3?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0 class Skill9(ActiveSkill): @@ -194,6 +213,15 @@ class Skill10(ActiveSkill): data0 = [0, 1996, 2196, 2400, 2603, 2803, 3009, 3208, 3414, 3616, 3817, 4021, 4221, 4423, 4629, 4830, 5034, 5234, 5437, 5642, 5841, 6047, 6248, 6450, 6652, 6854, 7060, 7259, 7463, 7665, 7868, 8070, 8272, 8475, 8675, 8881, 9083, 9285, 9488, 9688, 9892, 10096, 10299, 10501, 10702, 10906, 11108, 11310, 11514, 11713, 11919, 12121, 12322, 12526, 12726, 12932, 13134, 13335, 13539, 13739, 13943, 14147, 14346, 14552, 14753, 14957, 15159, 15360, 15565, 15764, 15968]# noqa: E501 hit0 = 1 + mode = ['普通','强化'] + + def setMode(self, mode): + if mode == '普通': + return + if mode == '强化': + self.skillRation *= 1.3 + return + # C4飞弹 C4 # https://api.neople.co.kr/df/skills/944b9aab492c15a8474f96947ceeb9e4/a2d943797daca862a6f321aca6ac9bfa?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0 class Skill11(ActiveSkill): diff --git a/backend/dataFiles/dcalc_0.db b/backend/dataFiles/dcalc_0.db index 9eefcfd5797917fcc5dc12023d26f94b3dcceb18..4b6be3c1dfde692c651efc55c2c8a6e9036d89b9 100644 GIT binary patch delta 35522 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 delta 37406 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 Z8as?^t^PgRTrWGkHo(wPci8>xe*i+WH)8+* diff --git a/backend/database/models.py b/backend/database/models.py index aaf8b77a..b5279358 100644 --- a/backend/database/models.py +++ b/backend/database/models.py @@ -22,8 +22,10 @@ class SuitData(Base): count = Column(Integer) SkillAttack = Column(Float) Attack = Column(Float) + Buffer = Column(Float) imageUrl = Column(Text) value = Column(Text) + fame = Column(Integer) class EquData(Base): diff --git a/frontend/src/api/calc/type.ts b/frontend/src/api/calc/type.ts index dc9c8a84..4c58f8df 100644 --- a/frontend/src/api/calc/type.ts +++ b/frontend/src/api/calc/type.ts @@ -13,6 +13,7 @@ export interface IResultSkill { ratio: number cd: number damage: number + mode: string } export interface IResultUserInfo { diff --git a/frontend/src/pages/Character/Result/components/Skill.vue b/frontend/src/pages/Character/Result/components/Skill.vue index 2e2e8ae3..95acb8d4 100644 --- a/frontend/src/pages/Character/Result/components/Skill.vue +++ b/frontend/src/pages/Character/Result/components/Skill.vue @@ -2,21 +2,21 @@
-
技能
+
技能
CD
伤害
秒伤
-
-
+
+
Lv {{ skill.lv }}
-
{{ skill.name }}
+
{{ skill.name }} {{ !skill.mode ? '' : `[${skill.mode}]` }}
{{ skill.cd.toFixed(1) }}s