From b7dd1c5088a991b85d1215101eac8ad48bf0471a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E7=93=9C=C2=B0?= Date: Fri, 25 Apr 2025 00:07:08 +0800 Subject: [PATCH] dev --- backend/api/core/Redis.py | 3 +- backend/config/main.py | 2 +- backend/core/basic/character.py | 25 +-- backend/core/basic/skill.py | 33 ++- .../GF/swordman_male/weapon_master.py | 198 +++++++----------- backend/core/character/adventure.py | 2 +- 6 files changed, 111 insertions(+), 152 deletions(-) diff --git a/backend/api/core/Redis.py b/backend/api/core/Redis.py index 0fffcf76..87c449dd 100644 --- a/backend/api/core/Redis.py +++ b/backend/api/core/Redis.py @@ -1,9 +1,10 @@ import json from api.core.Gzip import gzip_zip, gzip_unzip +from config.main import config def get_redis_info(redis, key, fun,without_gzip=False): info = None - if redis: + if redis and not config.DEBUG_MODE: try: if without_gzip: info = json.loads(redis.get(key)) diff --git a/backend/config/main.py b/backend/config/main.py index 57250cb5..98f057ab 100644 --- a/backend/config/main.py +++ b/backend/config/main.py @@ -8,7 +8,7 @@ class Config(BaseSettings): REDIS_URL: str = 'redis://localhost:6379/1' class Config: - env_file = ('config/.env', 'config/.env.remote', 'config/.env.prod') + env_file = ('config/.env', 'config/.env.dev', 'config/.env.prod') config = Config() diff --git a/backend/core/basic/character.py b/backend/core/basic/character.py index 1053ff4e..556a7b03 100644 --- a/backend/core/basic/character.py +++ b/backend/core/basic/character.py @@ -880,18 +880,19 @@ class Character(CharacterProperty): if i.damage and i.lv > 0: 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, - 'learnLv': i.learnLv, - } - ) + if temp[0] > 0: + skillInfos.append( + { + 'name': i.name, + 'icon': i.icon, + 'lv': i.lv, + 'data': temp[0], + 'ratio': temp[1], + 'cd': temp[2], + 'mode': mode, + 'learnLv': i.learnLv, + } + ) 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] / 1000 ratuio_equ_skill = ratios[0] * ratios[1] * ratios[3] * ratios[4] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 1000 diff --git a/backend/core/basic/skill.py b/backend/core/basic/skill.py index a13d1842..4e1f0481 100644 --- a/backend/core/basic/skill.py +++ b/backend/core/basic/skill.py @@ -112,19 +112,22 @@ class Skill: skills = assoc.get('skills', '*') data = assoc.get('data', [0] * self.maxLv) ratio = assoc.get('ratio', 100) + weapon = assoc.get('weapon', self.char.武器选项) exceptSkills = assoc.get('exceptSkills', []) if type[0] not in ['*', '+', '$']: if self.precondition(): - getattr(self, type)(old, new, data, skills,exceptSkills,ratio) + getattr(self, type)(old, new, data, skills,exceptSkills,ratio,weapon) continue if self.precondition(): - self._apply_association(type, old, new, data, skills,exceptSkills,ratio) + self._apply_association(type, old, new, data, skills,exceptSkills,ratio,weapon) def precondition(self): """effect的前置条件""" return True - def _apply_association(self, type, old, new, data, skills, exceptSkills,ratio = 100): + def _apply_association(self, type, old, new, data, skills, exceptSkills,ratio = 100,weapon = []): + if self.char.GetWeaponType()[0] not in weapon: + return if type.startswith('$*'): if 'cdReduce' in type: value = (1 - data[new] / ratio) / (1 - data[old] / ratio) @@ -142,9 +145,11 @@ class Skill: continue skill = self.char.GetSkillByName(name) if skill is not None: - self._update_skill_attribute(skill,type, old, new, data,ratio) + self._update_skill_attribute(skill,type, old, new, data,ratio,weapon) - def _update_skill_attribute(self,skill, type, old, new, data,ratio = 100): + def _update_skill_attribute(self,skill, type, old, new, data,ratio = 100,weapon = []): + if self.char.GetWeaponType()[0] not in weapon: + return if type.startswith('*'): if 'cdReduce' in type: setattr(skill, type[1:], getattr(skill, type[1:]) * (1 - data[new] / ratio) / (1 - data[old] / ratio)) @@ -166,14 +171,14 @@ class ActiveSkill(Skill): def __init__(self, char): super().__init__(char) - keys = [key.replace("data","") for key in dir(self) if key.startswith('data') and not key.startswith('dataplus')] + keys = [key.replace("data","") for key in dir(self) if key.startswith('data') and not key.startswith('plus')] for i in keys: power = getattr(self, f'power{i}', None) if power is None: setattr(self, f'power{i}', 1) - dataplus = getattr(self, f'dataplus{i}', None) - if dataplus is None: - setattr(self, f'dataplus{i}', 0) + plus = getattr(self, f'plus{i}', None) + if plus is None: + setattr(self, f'plus{i}', 0) def skillInfo(self, mode: str | None = None): if mode is not None: @@ -194,13 +199,19 @@ class ActiveSkill(Skill): keys = [key.replace("data","") for key in dir(self) if key.startswith('data') and not key.startswith('dataplus')] for i in keys: data = getattr(self, f'data{i}', []) - dataplus = getattr(self, f'dataplus{i}', 0) + plus = getattr(self, f'plus{i}', 0) if len(data) == 0: break if lv < len(data): hit = getattr(self, f'hit{i}', 1) power = getattr(self, f'power{i}', 1) - res += hit * power * (data[lv] + dataplus) + res += hit * power * (data[lv] + plus) + keys = [key.replace("dataplus","") for key in dir(self) if key.startswith('dataplus')] + for i in keys: + data = getattr(self, f'dataplus{i}', 0) + hit = getattr(self, f'hitplus{i}', 1) + power = getattr(self, f'powerplus{i}', 1) + res += hit * power * data return res def getWeaponCDRatio(self): diff --git a/backend/core/character/GF/swordman_male/weapon_master.py b/backend/core/character/GF/swordman_male/weapon_master.py index f8ca4132..98ba39d2 100644 --- a/backend/core/character/GF/swordman_male/weapon_master.py +++ b/backend/core/character/GF/swordman_male/weapon_master.py @@ -221,6 +221,9 @@ class Skill6(ActiveSkill): return super().effect(old, new) def getSkillDate(self, lv = 0): + weapon = self.char.GetWeaponType() + if weapon[0] != "太刀": + return 0 # 刺伤期望伤害 (17层引爆上限) / 17 (17层结算1次爆炸) * 刺伤触发几率 return self.data6[lv] * 1 / 17 * self.data4[lv] / 100 @@ -336,6 +339,7 @@ class Skill11(ActiveSkill): data0 = [0] + [0] * 11 ratio = [0, 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30]# noqa: E501 + dataplus0 = 0 basic = { '短剑': (1 + 1 + 1) * 100, @@ -509,6 +513,7 @@ class Skill18(ActiveSkill): # 75被动追加部分 data3 = data1 hit3 = 1 + power3 = 0 def setMode(self,mode): weapon = self.char.GetWeaponType() @@ -521,9 +526,9 @@ class Skill18(ActiveSkill): elif weapon[0] == "钝器" or weapon[0] == "巨剑": self.hit2 = 1 - data3 = [0, 0, 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97]# noqa: E501 + data5 = [0, 0, 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97]# noqa: E501 - data4 = [0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]# noqa: E501 + data6 = [0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]# noqa: E501 # 流心 : 升 류심 승 @@ -720,7 +725,7 @@ class Skill24(ActiveSkill): # 75被动钝器冲击波部分 data5 = data2 power5 = 0 - hit5 = 0 + hit5 = 1 def setMode(self, mode=None): weapon = self.char.GetWeaponType() @@ -740,7 +745,7 @@ class Skill24(ActiveSkill): elif weapon[0] == "钝器": # 不会产生剑气 变成冲击波 self.hit2 = self.hit5 = 1 - self.hit1 = 0 + self.hit1 = self.hit4 = 0 pass # 太刀刺伤效果 几率 @@ -816,13 +821,13 @@ class Skill27(ActiveSkill): hit2 = 1 #TODO # 75被动追加天剑部分 - data3 = [0] + [1] * maxLv - hit3 = 0 - power3 = 1 + dataplus0 = 0 + hitplus0 = 3 + powerplus0 = 1 # 75被动追加冲击波部分 - data4 = [0] + [1] * maxLv - hit4 = 0 - power4 = 1 + dataplus1 = 0 + hitplus1 = 3 + powerplus1 = 1 data5 = [0, 29, 32, 35, 38, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98, 101, 104, 107, 110, 113, 116, 119, 122, 125, 128, 131, 134, 137, 140, 143, 146, 149, 152, 155, 158, 161, 164, 167, 170, 173, 176]# noqa: E501 @@ -889,49 +894,25 @@ class Skill30(ActiveSkill): icon = "$char/极神剑术破空斩" data0 = [0, 7692, 8472, 9255, 10031, 10814, 11592, 12373, 13152, 13936, 14714, 15495, 16275, 17059, 17838, 18615, 19399, 20177, 20960, 21738, 22520, 23298, 24079, 24860, 25640, 26420, 27200, 27981, 28762, 29542, 30322, 31104, 31886, 32664, 33446, 34224, 35009, 35787, 36568, 37346, 38128, 38906, 39688, 40469, 41248, 42027, 42808, 43590, 44370, 45152, 45929]# noqa: E501 - hit0 = 1 #TODO + hit0 = 5 - data1 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501 - hit1 = 1 #TODO + data1 = [0, 25640, 28241, 30843, 33446, 36046, 38646, 41248, 43849, 46451, 49051, 51656, 54253, 56855, 59458, 62060, 64660, 67265, 69863, 72466, 75064, 77667, 80269, 82870, 85469, 88073, 90674, 93273, 95878, 98479, 101079, 103680, 106283, 108884, 111487, 114087, 116687, 119288, 121888, 124492, 127089, 129697, 132295, 134898, 137498, 140101, 142700, 145304, 147905, 150505, 153105]# noqa: E501 + hit1 = 1 - data2 = [0, 25640, 28241, 30843, 33446, 36046, 38646, 41248, 43849, 46451, 49051, 51656, 54253, 56855, 59458, 62060, 64660, 67265, 69863, 72466, 75064, 77667, 80269, 82870, 85469, 88073, 90674, 93273, 95878, 98479, 101079, 103680, 106283, 108884, 111487, 114087, 116687, 119288, 121888, 124492, 127089, 129697, 132295, 134898, 137498, 140101, 142700, 145304, 147905, 150505, 153105]# noqa: E501 - hit2 = 1 #TODO - - data3 = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]# noqa: E501 - hit3 = 1 #TODO + def setMode(self,mode=None): + weapon = self.char.GetWeaponType() + if weapon[0] == "光剑" or weapon[0] == "太刀": + # 减少斩击攻击力 增加斩击次数 + self.hit0 = 6 + elif weapon[0] == "巨剑": + # 增加斩击攻击力 + self.power0 *= 1 + 0.08 + self.power1 *= 1 + 0.08 data4 = [0, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 151]# noqa: E501 - hit4 = 1 #TODO data5 = [0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]# noqa: E501 - hit5 = 1 #TODO - data6 = [0, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]# noqa: E501 - hit6 = 1 #TODO - - data7 = [0, 4, 4, 5, 5, 6, 6, 6, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, 13, 14, 14, 15, 15, 16, 16, 16, 16, 17, 17, 18, 18, 19, 20, 20, 20, 20, 22, 22, 23, 23, 24, 24, 26, 26, 26, 27, 27, 28, 28, 29, 29]# noqa: E501 - hit7 = 1 #TODO - - data8 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501 - hit8 = 1 #TODO - - data9 = [0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]# noqa: E501 - hit9 = 1 #TODO - - data10 = [0, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]# noqa: E501 - hit10 = 1 #TODO - - data11 = [0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]# noqa: E501 - hit11 = 1 #TODO - - data12 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501 - hit12 = 1 #TODO - - data13 = [0, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5]# noqa: E501 - hit13 = 1 #TODO - - data14 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501 - hit14 = 1 #TODO # 极 · 神剑术 극한의 경지 @@ -943,78 +924,49 @@ class Skill31(PassiveSkill): maxLv = 50 position = 4 #TODO rangeLv = 3 + icon = "$char/极神剑术" data0 = [0, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122]# noqa: E501 - hit0 = 1 #TODO - + # 后跳斩 data1 = [0, 1039, 1137, 1234, 1331, 1428, 1526, 1623, 1720, 1817, 1914, 2012, 2109, 2206, 2303, 2400, 2498, 2595, 2692, 2790, 2886, 2984, 3081, 3178, 3276, 3372, 3470, 3567, 3664, 3762, 3858, 3956, 4054, 4150, 4248, 4344, 4442, 4540, 4636, 4734, 4830, 4928, 5026, 5122, 5220, 5317, 5414, 5512, 5608, 5706, 5803]# noqa: E501 - hit1 = 1 #TODO - + # 破军升龙击 暴风式冲击波 data2 = [0, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216, 220, 224, 228, 232, 236]# noqa: E501 - hit2 = 1 #TODO - + #猛龙断空斩 飓风 data3 = [0, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119]# noqa: E501 - hit3 = 1 #TODO - + # 幻影剑舞 幻影斩击 data4 = [0, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260, 265, 270, 275, 280, 285, 290, 295, 300]# noqa: E501 - hit4 = 1 #TODO - + # 幻影剑舞 幻影剑气 data5 = [0, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260, 265, 270, 275, 280, 285, 290, 295, 300]# noqa: E501 - hit5 = 1 #TODO - + # 幻影剑舞 幻影钝器冲击波 data6 = [0, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86, 91, 96, 101, 106, 111, 116, 121, 126, 131, 136, 141, 146, 151, 156, 161, 166, 171, 176, 181, 186, 191, 196, 201, 206, 211, 216, 221, 226, 231, 236, 241, 246, 251, 256, 261, 266, 271, 276, 281, 286]# noqa: E501 - hit6 = 1 #TODO - + # 流星落 流星之天剑 data7 = [0, 4698, 5090, 5480, 5871, 6266, 6657, 7046, 7438, 7828, 8220, 8613, 9004, 9394, 9787, 10179, 10567, 10960, 11349, 11743, 12135, 12526, 12917, 13310, 13703, 14093, 14485, 14876, 15267, 15657, 16049, 16440, 16833, 17226, 17615, 18007, 18399, 18815, 19207, 19599, 19993, 20384, 20776, 21168, 21560, 21954, 22345, 22737, 23129, 23521, 23915]# noqa: E501 - hit7 = 1 #TODO - - data8 = [0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]# noqa: E501 - hit8 = 1 #TODO - - data9 = [0, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25, 1.25]# noqa: E501 - hit9 = 1 #TODO - - data10 = [0, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501 - hit10 = 1 #TODO - - data11 = [0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]# noqa: E501 - hit11 = 1 #TODO - + # 流星落 太刀刺伤 data12 = [0, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501 - hit12 = 1 #TODO - + # 流星落 可附加的刺伤数量 data13 = [0, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12]# noqa: E501 - hit13 = 1 #TODO - - data14 = [0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]# noqa: E501 - hit14 = 1 #TODO - + # 流星落 光剑 地面冲击波 data15 = [0, 1948, 2246, 2542, 2839, 3134, 3430, 3725, 4023, 4320, 4614, 4913, 5209, 5504, 5801, 6097, 6393, 6689, 6988, 7281, 7578, 7877, 8169, 8466, 8762, 9060, 9355, 9651, 9948, 10246, 10540, 10835, 11134, 11428, 11725, 12023, 12315, 12613, 12910, 13207, 13501, 13799, 14095, 14393, 14689, 14982, 15281, 15576, 15871, 16169, 16466]# noqa: E501 - hit15 = 1 #TODO - - data16 = [0, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501 - hit16 = 1 #TODO - - data17 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501 - hit17 = 1 #TODO - - data18 = [0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11]# noqa: E501 - hit18 = 1 #TODO - + # 巨剑 攻击力增加 data19 = [0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]# noqa: E501 - hit19 = 1 #TODO - + # 钝器 地面冲击波 data20 = [0, 2911, 3156, 3402, 3643, 3891, 4135, 4384, 4630, 4872, 5120, 5365, 5611, 5855, 6098, 6346, 6592, 6836, 7083, 7326, 7573, 7818, 8066, 8311, 8554, 8801, 9046, 9290, 9537, 9780, 10025, 10272, 10519, 10766, 11008, 11255, 11500, 11748, 11994, 12237, 12480, 12728, 12973, 13220, 13464, 13709, 13957, 14201, 14447, 14691, 14936]# noqa: E501 - hit20 = 1 #TODO - - data21 = [0, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501 - hit21 = 1 #TODO - - data22 = [0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]# noqa: E501 - hit22 = 1 #TODO - + # 破空斩 爆炸攻击力 data23 = [0, 60, 66, 72, 78, 84, 90, 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168, 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240, 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312, 318, 324, 330, 336, 342, 348, 354]# noqa: E501 - hit23 = 1 #TODO + associate = [ + {"type":"*skillRation","data":data0,"skills":['拔刀斩', '破军斩龙击', '极 · 鬼剑术 (暴风式)', '破空拔刀斩','极 · 神剑术 (瞬斩)', '万剑归宗', '极 · 神剑术 (无形斩)', '万剑极诣·开天斩']}, + {"type":"+power3","data":data2,"skills":['破军升龙击']}, + {"type":"+power3","data":data3,"skills":['猛龙断空斩']}, + {"type":"+power3","data":data4,"skills":['幻影剑舞']}, + {"type":"+power4","data":data5,"skills":['幻影剑舞']}, + {"type":"+power5","data":data6,"skills":['幻影剑舞'],"weapon":['钝器']}, + {"type":"+dataplus0","data":data7,"skills":['极 · 神剑术 (流星落)'],"ratio":1}, + {"type":"+dataplus1","data":data15,"skills":['极 · 神剑术 (流星落)'],'weapon':["光剑"],"ratio":1}, + {"type":"*powerplus0","data":data19,"skills":['极 · 神剑术 (流星落)'],'weapon':["巨剑"]}, + {"type":"+dataplus1","data":data20,"skills":['极 · 神剑术 (流星落)'],'weapon':["钝器"],"ratio":1}, + {"type":"*power1","data":data23,"skills":["极 · 神剑术 (破空斩)"]} + ] + # 极 · 神剑术 (瞬斩) 극 발검술 : 섬단 @@ -1029,21 +981,17 @@ class Skill32(ActiveSkill): cube = 5 cd = 50 mp = [800, 6000] + icon = "$char/极神剑术瞬斩" data0 = [0, 20101, 22139, 24178, 26217, 28256, 30295, 32338, 34374, 36416, 38454, 40492, 42531, 44571, 46610, 48648, 50687, 52726, 54765, 56806, 58846, 60883, 62923, 64962, 67002, 69041, 71083, 73117, 75162, 77195, 79238, 81277, 83316, 85355, 87395, 89432, 91471, 93514, 95549, 97592, 99630, 101671, 103705, 105748, 107786, 109823, 111864, 113903, 115940, 117980, 120023]# noqa: E501 hit0 = 1 #TODO data1 = [0, 3289, 3623, 3951, 4288, 4622, 4957, 5289, 5624, 5957, 6289, 6625, 6959, 7293, 7625, 7961, 8294, 8626, 8961, 9295, 9628, 9962, 10297, 10628, 10964, 11299, 11629, 11964, 12299, 12633, 12966, 13300, 13631, 13965, 14298, 14633, 14968, 15300, 15637, 15968, 16302, 16636, 16968, 17305, 17639, 17969, 18305, 18640, 18968, 19304, 19641]# noqa: E501 - hit1 = 1 #TODO - - data2 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501 - hit2 = 1 #TODO + hit1 = 5 data3 = [0, 54818, 60381, 65941, 71503, 77065, 82628, 88188, 93750, 99310, 104872, 110435, 115995, 121555, 127117, 132680, 138241, 143802, 149362, 154925, 160491, 166050, 171612, 177173, 182734, 188297, 193853, 199418, 204979, 210542, 216103, 221666, 227227, 232788, 238350, 243912, 249471, 255033, 260592, 266156, 271719, 277280, 282839, 288404, 293961, 299524, 305087, 310648, 316207, 321772, 327331]# noqa: E501 hit3 = 1 #TODO - data4 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]# noqa: E501 - hit4 = 1 #TODO # 万剑归宗 이기어검술 @@ -1059,17 +1007,22 @@ class Skill33(ActiveSkill): cd = 180 mp = [2500, 5000] - data0 = [0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40]# noqa: E501 - hit0 = 1 #TODO - data1 = [0, 1568, 1931, 2296, 2661, 3022, 3382, 3752, 4111, 4476, 4842, 5202, 5565, 5929, 6293, 6657, 7020, 7383, 7746, 8110, 8474, 8837, 9201, 9566, 9928, 10294, 10655, 11016, 11381, 11744, 12110, 12474, 12836, 13202, 13565, 13926, 14291, 14657, 15018, 15379, 15743, 16111, 16471, 16833, 17201, 17561, 17925, 18292, 18653, 19016, 19380]# noqa: E501 hit1 = 1 #TODO data2 = [0, 7264, 8956, 10643, 12324, 14013, 15701, 17381, 19073, 20753, 22435, 24131, 25812, 27494, 29176, 30870, 32555, 34235, 35920, 37616, 39296, 40977, 42665, 44348, 46038, 47726, 49410, 51091, 52786, 54469, 56148, 57831, 59528, 61207, 62891, 64578, 66261, 67953, 69634, 71327, 73006, 74693, 76382, 78066, 79745, 81430, 83122, 84806, 86487, 88172, 89868]# noqa: E501 - hit2 = 1 #TODO + hit2 = 14 data3 = [0, 29033, 35769, 42507, 49243, 55964, 62701, 69436, 76177, 82902, 89642, 96376, 103113, 109837, 116571, 123309, 130044, 136776, 143511, 150246, 156971, 163706, 170443, 177179, 183914, 190642, 197378, 204110, 210838, 217578, 224311, 231045, 237780, 244512, 251245, 257980, 264709, 271444, 278183, 284917, 291651, 298377, 305114, 311849, 318580, 325315, 332048, 338785, 345511, 352248, 358982]# noqa: E501 - hit3 = 1 #TODO + hit3 = 2 + + mode = ["终结",'穿云剑'] + + def setMode(self,mode=None): + if mode == '终结': + self.hit1 = 0 + if mode == '穿云剑': + self.hit2 = self.hit3 = 0 # 无形剑意 무형지경 @@ -1099,15 +1052,13 @@ class Skill35(ActiveSkill): cube = 7 cd = 60 mp = [960, 7200] + icon = "$char/极神剑术无形斩" data0 = [0, 30185, 33250, 36312, 39374, 42438, 45500, 48561, 51625, 54687, 57750, 60812, 63875, 66936, 70000, 73063, 76124, 79187, 82251, 85311, 88374, 91437, 94500, 97561, 100626, 103688, 106749, 109812, 112876, 115937, 119001, 122062, 125124, 128188, 131251, 134311, 137375, 140438, 143500, 146563, 149626, 152687, 155750, 158813, 161876, 164937, 168001, 171062, 174126, 177188, 180250]# noqa: E501 hit0 = 1 #TODO data1 = [0, 4312, 4749, 5186, 5623, 6061, 6500, 6937, 7374, 7811, 8250, 8687, 9126, 9561, 10000, 10437, 10874, 11310, 11748, 12186, 12624, 13061, 13499, 13937, 14374, 14812, 15249, 15688, 16124, 16562, 16999, 17437, 17875, 18313, 18749, 19187, 19625, 20064, 20498, 20936, 21374, 21813, 22250, 22687, 23125, 23562, 23999, 24437, 24875, 25312, 25749]# noqa: E501 - hit1 = 1 #TODO - - data2 = [0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13]# noqa: E501 - hit2 = 1 #TODO + hit1 = 13 data3 = [0, 57500, 63332, 69166, 74999, 80833, 86665, 92498, 98332, 104165, 109999, 115833, 121667, 127499, 133334, 139168, 145000, 150833, 156666, 162500, 168332, 174166, 180000, 185834, 191665, 197499, 203333, 209165, 214999, 220832, 226668, 232503, 238334, 244168, 250001, 255834, 261667, 267502, 273336, 279168, 285001, 290835, 296668, 302501, 308335, 314169, 320001, 325835, 331668, 337501, 343334]# noqa: E501 hit3 = 1 #TODO @@ -1125,6 +1076,7 @@ class Skill36(ActiveSkill): cube = 15 cd = 290 mp = [4028, 8056] + icon = "$char/万剑极诣开天斩" data0 = [0, 68275, 84108, 99940, 115772, 131603, 147435, 163267, 179099, 194930, 210763, 226594, 242427, 258257, 274089, 289923, 305755, 321587, 337420, 353251, 369081, 384914, 400746, 416579, 432409, 448243, 464075, 479905, 495737, 511570, 527401, 543233, 559066, 574899, 590726, 606560, 622390, 638223, 654056, 669888, 685719, 701552, 717384, 733215, 749049, 764879, 780711, 796542, 812376, 828208, 844038]# noqa: E501 hit0 = 1 #TODO @@ -1133,16 +1085,10 @@ class Skill36(ActiveSkill): hit1 = 1 #TODO data2 = [0, 12253, 15095, 17937, 20777, 23621, 26461, 29304, 32145, 34989, 37830, 40669, 43512, 46354, 49196, 52037, 54879, 57720, 60562, 63404, 66243, 69085, 71929, 74772, 77610, 80454, 83295, 86136, 88976, 91821, 94659, 97501, 100342, 103183, 106026, 108869, 111712, 114553, 117395, 120235, 123075, 125918, 128760, 131602, 134444, 137285, 140127, 142969, 145809, 148651, 151493]# noqa: E501 - hit2 = 1 #TODO - - data3 = [0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]# noqa: E501 - hit3 = 1 #TODO + hit2 = 6 data4 = [0, 16805, 20704, 24598, 28497, 32394, 36291, 40189, 44085, 47983, 51880, 55775, 59674, 63570, 67466, 71365, 75262, 79160, 83057, 86954, 90850, 94746, 98644, 102540, 106439, 110336, 114234, 118131, 122030, 125923, 129822, 133719, 137613, 141514, 145409, 149303, 153204, 157100, 160996, 164896, 168792, 172689, 176586, 180484, 184379, 188278, 192174, 196071, 199968, 203866, 207763]# noqa: E501 - hit4 = 1 #TODO - - data5 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501 - hit5 = 1 #TODO + hit4 = 5 data6 = [0, 210078, 258790, 307505, 356218, 404933, 453646, 502360, 551075, 599788, 648503, 697216, 745931, 794644, 843358, 892070, 940786, 989499, 1038213, 1086924, 1135639, 1184353, 1233067, 1281781, 1330496, 1379208, 1427923, 1476636, 1525351, 1574064, 1622778, 1671490, 1720205, 1768920, 1817632, 1866348, 1915061, 1963772, 2012490, 2061203, 2109915, 2158630, 2207344, 2256058, 2304772, 2353484, 2402197, 2450911, 2499625, 2548339, 2597053]# noqa: E501 hit6 = 1 #TODO diff --git a/backend/core/character/adventure.py b/backend/core/character/adventure.py index 3d3eda08..ccd6f7cb 100644 --- a/backend/core/character/adventure.py +++ b/backend/core/character/adventure.py @@ -7,7 +7,7 @@ adv = [ 'name': 'swordman_male', 'title': '鬼剑士(男)', 'children': [ - {'id': 0, 'name': 'weapon_master', 'title': '极诣·剑魂', 'open': False, 'class': 'GF.swordman_male.weapon_master'}, + {'id': 0, 'name': 'weapon_master', 'title': '极诣·剑魂', 'open': True, 'class': 'GF.swordman_male.weapon_master'}, {'id': 1, 'name': 'soul_bender', 'title': '极诣·鬼泣', 'open': True, 'class': 'GF.swordman_male.soul_bender'}, {'id': 2, 'name': 'berserker', 'title': '极诣·狂战士', 'open': True, 'class': 'GF.swordman_male.berserker'}, {'id': 3, 'name': 'asura', 'title': '极诣·阿修罗', 'open': True, 'class': 'GF.swordman_male.asura'},