diff --git a/backend/core/basic/character/calc_equip.py b/backend/core/basic/character/calc_equip.py index 0ff73292..ffad0ee8 100644 --- a/backend/core/basic/character/calc_equip.py +++ b/backend/core/basic/character/calc_equip.py @@ -255,6 +255,16 @@ class CalcEquipMixin(CharacterBase): def calc_oaths(self): """计算装备基础效果""" effects = get_equipment(self.equVersion).funs + for item in self.charOathInfo: + oath = item.oathInfo + if oath is None: + continue + fun = effects.execture(f'oath_{oath.id}') + if fun is None: + continue + filtered_dict = {k: v for k, v in oath.__dict__.items() if k[0].isupper()} + self.SetStatus(**filtered_dict) + fun(self) pass def calc_avatar(self, avatar: dict): diff --git a/backend/core/equipment/version_0/__init__.py b/backend/core/equipment/version_0/__init__.py index 8702d1df..2563b452 100644 --- a/backend/core/equipment/version_0/__init__.py +++ b/backend/core/equipment/version_0/__init__.py @@ -11,7 +11,7 @@ from . import oathSuitSkill from .register import execture options = [ - {'id': 1, 'name': '龙战八荒', 'options': ['BUFF OFF', 'BUFF ON', '期望']}, + {'id': 1, 'name': '龙战八荒', 'options': ['BUFF ON', 'BUFF OFF', '期望']}, {'id': 2, 'name': '混沌净化', 'options': ['净化', '堕落']}, {'id': 3, 'name': '群猎美学', 'options': ['单刷', '组队']}, {'id': 4, 'name': '魔攻核', 'options': ['普通', '追击']}, diff --git a/backend/core/equipment/version_0/oathSuitSkill.py b/backend/core/equipment/version_0/oathSuitSkill.py index 85bc4789..f5778e1c 100644 --- a/backend/core/equipment/version_0/oathSuitSkill.py +++ b/backend/core/equipment/version_0/oathSuitSkill.py @@ -18,61 +18,103 @@ def check_suit(char: CharacterProperty) -> bool: @register def oath_skill_2010101(char: CharacterProperty): + if check_suit(char): + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) pass @register def oath_skill_2010102(char: CharacterProperty): + if check_suit(char): + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) pass @register def oath_skill_2010103(char: CharacterProperty): + if check_suit(char): + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) pass @register def oath_skill_2010201(char: CharacterProperty): + if check_suit(char): + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) + # 誓约效果 + char.equ_effect.append(EquEffect(name='噬影之冥[幽冥潜影]', icon='/equipment/skill/132.png', cd=4, data=37800)) pass @register def oath_skill_2010202(char: CharacterProperty): + char.SetStatus(SkillAttack=0.04) + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) pass @register def oath_skill_2010203(char: CharacterProperty): + char.SetStatus(SpeedA=0.05, SpeedM=0.05, SpeedR=0.05) + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) pass @register def oath_skill_2010301(char: CharacterProperty): + if check_suit(char): + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) + # 誓约效果 + char.equ_effect.append(EquEffect(name='噬影之冥[幽冥潜影]', icon='/equipment/skill/132.png', cd=4, data=37800)) pass @register def oath_skill_2010302(char: CharacterProperty): + char.SetStatus(SkillAttack=0.06) + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) pass @register def oath_skill_2010303(char: CharacterProperty): + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) pass @register def oath_skill_2010401(char: CharacterProperty): + if check_suit(char): + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) + # 誓约效果 + char.equ_effect.append(EquEffect(name='噬影之冥[幽冥潜影]', icon='/equipment/skill/132.png', cd=4, data=37800)) pass @register def oath_skill_2010402(char: CharacterProperty): + char.SetStatus(SkillAttack=0.08) + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) pass @register def oath_skill_2010403(char: CharacterProperty): + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + # 原套装效果 + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) pass @@ -109,61 +151,153 @@ def oath_skill_2010503(char: CharacterProperty): # region 精灵国度 @register def oath_skill_2020101(char: CharacterProperty): + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=27560)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=34320)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) + char.SetStatus(SpeedM=0.15) + char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=10, data=346450)) pass @register def oath_skill_2020102(char: CharacterProperty): + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=27560)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=34320)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) + char.SetStatus(SpeedM=0.15) + char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=10, data=346450)) pass @register def oath_skill_2020103(char: CharacterProperty): + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=27560)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=34320)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) + char.SetStatus(SpeedM=0.15) + char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=10, data=346450)) pass @register def oath_skill_2020201(char: CharacterProperty): + char.equ_effect.append(EquEffect(name='精灵战士奥伯龙', icon='/equipment/skill/29.png', cd=3, data=37800)) + if check_suit(char): + # 原套装效果 + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=27560)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=34320)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) + char.SetStatus(SpeedM=0.15) + char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=96590)) + # 誓约追加69300%伤害 + char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/17.png', cd=10, data=346450 + 69300)) + # 誓约效果 + char.SetStatus(SkillAttack=0.019) pass @register def oath_skill_2020202(char: CharacterProperty): + # 原套装效果 + char.SetStatus(SpeedM=0.15) + char.equ_effect.append(EquEffect(name='三位一体提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=146318)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=34320)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) + char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=10, data=346450)) pass @register def oath_skill_2020203(char: CharacterProperty): + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=27560)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=34320)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) + char.SetStatus(SpeedM=0.15) + char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=96590)) + # 誓约 + char.equ_effect.append(EquEffect(name='电灵斯帕克', icon='/equipment/skill/29.png', cd=2, data=25200)) pass @register def oath_skill_2020301(char: CharacterProperty): + char.equ_effect.append(EquEffect(name='精灵战士奥伯龙', icon='/equipment/skill/29.png', cd=3, data=37800)) + if check_suit(char): + # 原套装效果 + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=27560)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=34320)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) + char.SetStatus(SpeedM=0.15) + char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=96590)) + # 誓约追加69300%伤害 + char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/17.png', cd=10, data=346450 + 69300)) + # 誓约效果 + char.SetStatus(SkillAttack=0.019) pass @register def oath_skill_2020302(char: CharacterProperty): + # 原套装效果 + char.SetStatus(SpeedM=0.15) + # 誓约效果 + char.equ_effect.append(EquEffect(name='三位一体提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=196875)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) + char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=10, data=346450)) pass @register def oath_skill_2020303(char: CharacterProperty): + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=27560)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=34320)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) + char.SetStatus(SpeedM=0.15) + char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=96590)) + # 誓约 + char.equ_effect.append(EquEffect(name='电灵斯帕克', icon='/equipment/skill/29.png', cd=2, data=25200)) + char.equ_effect.append(EquEffect(name='地灵盖亚', icon='/equipment/skill/29.png', cd=3, data=37800)) pass @register def oath_skill_2020401(char: CharacterProperty): + char.equ_effect.append(EquEffect(name='精灵战士奥伯龙', icon='/equipment/skill/29.png', cd=3, data=37800)) + if check_suit(char): + # 原套装效果 + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=27560)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=34320)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) + char.SetStatus(SpeedM=0.15) + char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=96590)) + # 誓约追加69300%伤害 + char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/17.png', cd=10, data=346450 + 69300)) + # 誓约效果 + char.SetStatus(SkillAttack=0.019) pass @register def oath_skill_2020402(char: CharacterProperty): + # 原套装效果 + char.SetStatus(SpeedM=0.15) + # 誓约效果 + char.equ_effect.append(EquEffect(name='三位一体提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=261923)) + char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=10, data=346450)) pass @register def oath_skill_2020403(char: CharacterProperty): + char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=27560)) + char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=34320)) + char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) + char.SetStatus(SpeedM=0.15) + char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=96590)) + # 誓约 + char.equ_effect.append(EquEffect(name='电灵斯帕克', icon='/equipment/skill/29.png', cd=2, data=25200)) + char.equ_effect.append(EquEffect(name='地灵盖亚', icon='/equipment/skill/29.png', cd=3, data=37800)) + char.equ_effect.append(EquEffect(name='暗灵诺特纳', icon='/equipment/skill/29.png', cd=2, data=25200)) pass @@ -201,6 +335,11 @@ def oath_skill_2020503(char: CharacterProperty): char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=29380)) char.SetStatus(SpeedM=0.15) char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=96590)) + # 誓约 + char.equ_effect.append(EquEffect(name='电灵斯帕克', icon='/equipment/skill/29.png', cd=2, data=25200)) + char.equ_effect.append(EquEffect(name='地灵盖亚', icon='/equipment/skill/29.png', cd=3, data=37800)) + char.equ_effect.append(EquEffect(name='暗灵诺特纳', icon='/equipment/skill/29.png', cd=2, data=25200)) + char.equ_effect.append(EquEffect(name='光灵卢切', icon='/equipment/skill/29.png', cd=3, data=37800)) pass @@ -210,81 +349,276 @@ def oath_skill_2020503(char: CharacterProperty): # region 理想之黄金乡 @register def oath_skill_2030101(char: CharacterProperty): - oath_skill_2030501(char) + reinforce, reinforce_0, reinforce_1, reinforce_2 = char.GetReinforceSum() + char.SetStatus(SkillRange=0.02 * min(reinforce // 11, 12)) + # char.SetStatus(DamageReduce=0.01 * min(reinforce_0 // 5, 7)) + char.SetStatus(SkillAttack=0.01 * min(reinforce_1 // 3, 12)) + char.SetStatus(SpeedA=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedM=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedR=0.02 * min(reinforce_2 // 3, 12)) + + if char.buffer: + char.SetSkillCD(cd=0.02 * min(reinforce // 1, 12)) + + if reinforce >= 110: + char.SetStatus(SkillAttack=0.02 * min((reinforce - 110) // 11, 2)) + + if char.buffer: + char.SetStatus(Buffer=1500 * min((reinforce - 110) // 11, 2)) + + if reinforce < 88: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=17000)) + elif reinforce < 110: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=18700)) + elif reinforce < 132: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=21250)) + else: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=25500)) pass @register def oath_skill_2030102(char: CharacterProperty): + reinforce, reinforce_0, reinforce_1, reinforce_2 = char.GetReinforceSum() + char.SetStatus(SkillRange=0.02 * min(reinforce // 11, 12)) + # char.SetStatus(DamageReduce=0.01 * min(reinforce_0 // 5, 7)) + char.SetStatus(SkillAttack=0.01 * min(reinforce_1 // 3, 12)) + char.SetStatus(SpeedA=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedM=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedR=0.02 * min(reinforce_2 // 3, 12)) + + if char.buffer: + char.SetSkillCD(cd=0.02 * min(reinforce // 1, 12)) + + if reinforce >= 110: + char.SetStatus(SkillAttack=0.02 * min((reinforce - 110) // 11, 2)) + + if char.buffer: + char.SetStatus(Buffer=1500 * min((reinforce - 110) // 11, 2)) + + if reinforce < 88: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=17000)) + elif reinforce < 110: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=18700)) + elif reinforce < 132: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=21250)) + else: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=25500)) pass @register def oath_skill_2030103(char: CharacterProperty): + reinforce, reinforce_0, reinforce_1, reinforce_2 = char.GetReinforceSum() + char.SetStatus(SkillRange=0.02 * min(reinforce // 11, 12)) + # char.SetStatus(DamageReduce=0.01 * min(reinforce_0 // 5, 7)) + char.SetStatus(SkillAttack=0.01 * min(reinforce_1 // 3, 12)) + char.SetStatus(SpeedA=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedM=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedR=0.02 * min(reinforce_2 // 3, 12)) + + if char.buffer: + char.SetSkillCD(cd=0.02 * min(reinforce // 1, 12)) + + if reinforce >= 110: + char.SetStatus(SkillAttack=0.02 * min((reinforce - 110) // 11, 2)) + + if char.buffer: + char.SetStatus(Buffer=1500 * min((reinforce - 110) // 11, 2)) + + if reinforce < 88: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=17000)) + elif reinforce < 110: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=18700)) + elif reinforce < 132: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=21250)) + else: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=25500)) pass @register def oath_skill_2030201(char: CharacterProperty): + char.SetStatus(SpeedA=0.07, SpeedM=0.07, SpeedR=0.07) + reinforce, reinforce_0, reinforce_1, reinforce_2 = char.GetReinforceSum() + char.SetStatus(SkillAttack=0.005 * min(reinforce_1 // 11, 8)) + char.SetStatus(SpeedA=0.01 * min(reinforce_2 // 3, 8)) + char.SetStatus(SpeedM=0.01 * min(reinforce_2 // 3, 8)) + char.SetStatus(SpeedR=0.01 * min(reinforce_2 // 3, 8)) + if check_suit(char): + # 原套装效果 + char.SetStatus(SkillAttack=0.01 * min(reinforce_1 // 3, 12)) + char.SetStatus(SpeedA=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedM=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedR=0.02 * min(reinforce_2 // 3, 12)) + + if char.buffer: + char.SetSkillCD(cd=0.02 * min(reinforce // 1, 12)) + + if reinforce >= 110: + char.SetStatus(SkillAttack=0.02 * min((reinforce - 110) // 11, 2)) + + if char.buffer: + char.SetStatus(Buffer=750 * min((reinforce - 110) // 11, 2)) + + if reinforce < 88: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=17000)) + elif reinforce < 110: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=18700)) + elif reinforce < 132: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=21250)) + else: + # 132以上删除[淘金热] + # char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=25500)) + pass + # 誓约效果 + if reinforce >= 110: + char.SetStatus(SkillAttack=0.005) + if reinforce >= 121: + char.SetStatus(SkillAttack=0.015) + if reinforce >= 132: + char.SetStatus(SkillAttack=0.025) pass @register def oath_skill_2030202(char: CharacterProperty): + char.SetStatus(SkillAttack=0.132, SpeedA=0.16, SpeedM=0.16, SpeedR=0.16) pass @register def oath_skill_2030203(char: CharacterProperty): + reinforce, reinforce_0, reinforce_1, reinforce_2 = char.GetReinforceSum() + if reinforce >= 121: + char.SetStatus(SkillAttack=0.1, SpeedA=0.2, SpeedM=0.2, SpeedR=0.2) pass @register def oath_skill_2030301(char: CharacterProperty): + char.SetStatus(SpeedA=0.07, SpeedM=0.07, SpeedR=0.07) + reinforce, reinforce_0, reinforce_1, reinforce_2 = char.GetReinforceSum() + char.SetStatus(SkillAttack=0.005 * min(reinforce_1 // 11, 10)) + char.SetStatus(SpeedA=0.01 * min(reinforce_2 // 3, 10)) + char.SetStatus(SpeedM=0.01 * min(reinforce_2 // 3, 10)) + char.SetStatus(SpeedR=0.01 * min(reinforce_2 // 3, 10)) + if check_suit(char): + # 原套装效果 + char.SetStatus(SkillAttack=0.01 * min(reinforce_1 // 3, 12)) + char.SetStatus(SpeedA=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedM=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedR=0.02 * min(reinforce_2 // 3, 12)) + + if char.buffer: + char.SetSkillCD(cd=0.02 * min(reinforce // 1, 12)) + + if reinforce >= 110: + char.SetStatus(SkillAttack=0.02 * min((reinforce - 110) // 11, 2)) + + if char.buffer: + char.SetStatus(Buffer=750 * min((reinforce - 110) // 11, 2)) + + if reinforce < 88: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=17000)) + elif reinforce < 110: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=18700)) + elif reinforce < 132: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=21250)) + else: + # 132以上删除[淘金热] + # char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=25500)) + pass + # 誓约效果 + if reinforce >= 110: + char.SetStatus(SkillAttack=0.005) + if reinforce >= 121: + char.SetStatus(SkillAttack=0.015) + if reinforce >= 132: + char.SetStatus(SkillAttack=0.025) pass @register def oath_skill_2030302(char: CharacterProperty): + char.SetStatus(SkillAttack=0.132, SpeedA=0.18, SpeedM=0.18, SpeedR=0.18) pass @register def oath_skill_2030303(char: CharacterProperty): + reinforce, reinforce_0, reinforce_1, reinforce_2 = char.GetReinforceSum() + if reinforce >= 121: + char.SetStatus(SkillAttack=0.1, SpeedA=0.23, SpeedM=0.23, SpeedR=0.23) + if reinforce >= 121: + char.equ_effect.append(EquEffect(name='黄金之王', icon='/equipment/skill/133.png', cd=240, data=1400000)) pass @register def oath_skill_2030401(char: CharacterProperty): + char.SetStatus(SpeedA=0.07, SpeedM=0.07, SpeedR=0.07) + reinforce, reinforce_0, reinforce_1, reinforce_2 = char.GetReinforceSum() + char.SetStatus(SkillAttack=0.005 * min(reinforce_1 // 11, 11)) + char.SetStatus(SpeedA=0.01 * min(reinforce_2 // 3, 11)) + char.SetStatus(SpeedM=0.01 * min(reinforce_2 // 3, 11)) + char.SetStatus(SpeedR=0.01 * min(reinforce_2 // 3, 11)) + if check_suit(char): + # 原套装效果 + char.SetStatus(SkillAttack=0.01 * min(reinforce_1 // 3, 12)) + char.SetStatus(SpeedA=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedM=0.02 * min(reinforce_2 // 3, 12)) + char.SetStatus(SpeedR=0.02 * min(reinforce_2 // 3, 12)) + + if char.buffer: + char.SetSkillCD(cd=0.02 * min(reinforce // 1, 12)) + + if reinforce >= 110: + char.SetStatus(SkillAttack=0.02 * min((reinforce - 110) // 11, 2)) + + if char.buffer: + char.SetStatus(Buffer=750 * min((reinforce - 110) // 11, 2)) + + if reinforce < 88: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=17000)) + elif reinforce < 110: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=18700)) + elif reinforce < 132: + char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=21250)) + else: + # 132以上删除[淘金热] + # char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=25500)) + pass + # 誓约效果 + if reinforce >= 110: + char.SetStatus(SkillAttack=0.005) + if reinforce >= 121: + char.SetStatus(SkillAttack=0.015) + if reinforce >= 132: + char.SetStatus(SkillAttack=0.025) pass @register def oath_skill_2030402(char: CharacterProperty): + char.SetStatus(SkillAttack=0.132, SpeedA=0.20, SpeedM=0.20, SpeedR=0.20) pass @register def oath_skill_2030403(char: CharacterProperty): + reinforce, reinforce_0, reinforce_1, reinforce_2 = char.GetReinforceSum() + if reinforce >= 121: + char.SetStatus(SkillAttack=0.1, SpeedA=0.25, SpeedM=0.25, SpeedR=0.25) + if reinforce >= 132: + char.equ_effect.append(EquEffect(name='理想成真', icon='/equipment/skill/133.png', cd=240, data=1400000 + 3000000)) + elif reinforce >= 121: + char.equ_effect.append(EquEffect(name='黄金之王', icon='/equipment/skill/133.png', cd=240, data=1400000)) pass @register def oath_skill_2030501(char: CharacterProperty): - # 所有速度+7% - # 技能范围+14% - # 所受伤害-14% - - # 根据防具/首饰/特殊装备的强化/增幅数值总和,适用以下效果。 - # - 每+11,技能伤害+0.5%(最多可叠加12次) - # - 防具:每+5,所受伤害-0.5%(最多可叠加12次) - # - 首饰:每+3,技能范围+1%(最多可叠加12次) - # - 特殊装备:每+3,所有速度+1%(最多可叠加12次) - - # 穿戴[黄金乡:永恒国度]套装时,根据防具/首饰/特殊装备的强化/增幅数值总和,适用以下效果: - # - 110以上:技能伤害+0.5% - # - 121以上:技能伤害+1.5% - # - 132以上:技能伤害+2.5%,赋予霸体,删除[淘金热] char.SetStatus(SpeedA=0.07, SpeedM=0.07, SpeedR=0.07) reinforce, reinforce_0, reinforce_1, reinforce_2 = char.GetReinforceSum() char.SetStatus(SkillAttack=0.005 * min(reinforce_1 // 11, 12)) @@ -328,7 +662,6 @@ def oath_skill_2030501(char: CharacterProperty): @register def oath_skill_2030502(char: CharacterProperty): - print('~~~~~~~~') char.SetStatus(SkillAttack=0.132, SpeedA=0.22, SpeedM=0.22, SpeedR=0.22) pass @@ -339,9 +672,9 @@ def oath_skill_2030503(char: CharacterProperty): if reinforce >= 121: char.SetStatus(SkillAttack=0.1, SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) if reinforce >= 132: - char.equ_effect.append(EquEffect(name='理想成真', icon='/equipment/skill/133.png', cd=240, data=1400000)) + char.equ_effect.append(EquEffect(name='理想成真', icon='/equipment/skill/133.png', cd=240, data=2000000)) elif reinforce >= 121: - char.equ_effect.append(EquEffect(name='黄金之王', icon='/equipment/skill/133.png', cd=240, data=1000000)) + char.equ_effect.append(EquEffect(name='黄金之王', icon='/equipment/skill/133.png', cd=240, data=1400000)) pass @@ -352,61 +685,162 @@ def oath_skill_2030503(char: CharacterProperty): @register def oath_skill_2040101(char: CharacterProperty): + if char.equ_options.get('1', 0) == 1: + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + elif char.equ_options.get('1', 0) == 0: + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.03) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) pass @register def oath_skill_2040102(char: CharacterProperty): + if char.equ_options.get('1', 0) == 1: + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + elif char.equ_options.get('1', 0) == 0: + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.03) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) pass @register def oath_skill_2040103(char: CharacterProperty): + if char.equ_options.get('1', 0) == 1: + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + elif char.equ_options.get('1', 0) == 0: + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.03) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) pass @register def oath_skill_2040201(char: CharacterProperty): + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + if check_suit(char): + if char.equ_options.get('1', 0) == 1: + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + elif char.equ_options.get('1', 0) == 0: + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.03) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + # 誓约追加效果 + char.SetStatus(SkillAttack=0.025) + # 技能范围 + 20% pass @register def oath_skill_2040202(char: CharacterProperty): + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.03) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + char.equ_effect.append(EquEffect(name='龙王降世', icon='/equipment/suit/125.png', cd=60, data=510300)) + for skill in char.skill: + if skill.cube > 0: + skill.skillDamage *= 1.07 pass @register def oath_skill_2040203(char: CharacterProperty): + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.015 * 10) pass @register def oath_skill_2040301(char: CharacterProperty): + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + if check_suit(char): + if char.equ_options.get('1', 0) == 1: + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + elif char.equ_options.get('1', 0) == 0: + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.03) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + # 誓约追加效果 + char.SetStatus(SkillAttack=0.025) + # 技能范围 + 20% pass @register def oath_skill_2040302(char: CharacterProperty): + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.03) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + char.equ_effect.append(EquEffect(name='龙王降世', icon='/equipment/suit/125.png', cd=60, data=510300)) + for skill in char.skill: + if skill.cube > 0: + skill.skillDamage *= 1.1 pass @register def oath_skill_2040303(char: CharacterProperty): + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.025 * 7) pass @register def oath_skill_2040401(char: CharacterProperty): + char.SetStatus(SpeedA=0.15, SpeedM=0.15, SpeedR=0.15) + if check_suit(char): + if char.equ_options.get('1', 0) == 1: + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + elif char.equ_options.get('1', 0) == 0: + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.03) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + # 誓约追加效果 + char.SetStatus(SkillAttack=0.025) + # 技能范围 + 20% pass @register def oath_skill_2040402(char: CharacterProperty): + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.03) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.1) + char.equ_effect.append(EquEffect(name='龙王降世', icon='/equipment/suit/125.png', cd=60, data=680400)) pass @register def oath_skill_2040403(char: CharacterProperty): + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.035 * 7) pass @@ -414,15 +848,15 @@ def oath_skill_2040403(char: CharacterProperty): def oath_skill_2040501(char: CharacterProperty): char.SetStatus(SpeedA=0.2, SpeedM=0.2, SpeedR=0.2) if check_suit(char): - if char.equ_options.get('1', 0) == 0: + if char.equ_options.get('1', 0) == 1: char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) - char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=14400)) - elif char.equ_options.get('1', 0) == 1: + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + elif char.equ_options.get('1', 0) == 0: char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) char.SetStatus(SkillAttack=0.03) - char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=10980)) - char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=10200)) - char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=14400)) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) # 誓约追加效果 char.SetStatus(SkillAttack=0.025) # 技能范围 + 20% @@ -431,9 +865,14 @@ def oath_skill_2040501(char: CharacterProperty): @register def oath_skill_2040502(char: CharacterProperty): + char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) + char.SetStatus(SkillAttack=0.03) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) char.SetStatus(SkillAttack=0.1) - char.equ_effect.append(EquEffect(name='应龙降世', icon='/equipment/suit/125.png', cd=10, data=1020600)) + char.equ_effect.append(EquEffect(name='应龙降世', icon='/equipment/suit/125.png', cd=60, data=1020600)) pass @@ -451,61 +890,125 @@ def oath_skill_2040503(char: CharacterProperty): @register def oath_skill_2050101(char: CharacterProperty): + if char.equ_options.get('2', 0) == 0: + char.SetStatus(SkillAttack=0.175) + char.SetSkillCD(cd=0.3) + char.SetStatus(EquEffectRatio=0.15) + else: + char.SetSkillCD(cd=0.55) + char.SetStatus(EquEffectRatio=0.325) pass @register def oath_skill_2050102(char: CharacterProperty): + if char.equ_options.get('2', 0) == 0: + char.SetStatus(SkillAttack=0.175) + char.SetSkillCD(cd=0.3) + char.SetStatus(EquEffectRatio=0.15) + else: + char.SetSkillCD(cd=0.55) + char.SetStatus(EquEffectRatio=0.325) pass @register def oath_skill_2050103(char: CharacterProperty): + if char.equ_options.get('2', 0) == 0: + char.SetStatus(SkillAttack=0.175) + char.SetSkillCD(cd=0.3) + char.SetStatus(EquEffectRatio=0.15) + else: + char.SetSkillCD(cd=0.55) + char.SetStatus(EquEffectRatio=0.325) pass @register def oath_skill_2050201(char: CharacterProperty): + char.SetSkillCD(cd=0.1) + # 特效? + # char.SetStatus(EquEffectRatio=0.05) + if check_suit(char): + # 原套装效果 誓约锁定净化 + char.SetStatus(SkillAttack=0.175) + char.SetSkillCD(cd=0.3) + char.SetStatus(EquEffectRatio=0.15) + # 誓约追加 + char.SetStatus(SkillAttack=0.02) pass @register def oath_skill_2050202(char: CharacterProperty): + char.SetSkillCD(cd=0.7) + char.SetStatus(EquEffectRatio=0.195) pass @register def oath_skill_2050203(char: CharacterProperty): + char.SetSkillCD(cd=-0.1) + char.SetStatus(EquEffectRatio=-0.15, SkillAttack=0.42) pass @register def oath_skill_2050301(char: CharacterProperty): + char.SetSkillCD(cd=0.1) + # 特效? + # char.SetStatus(EquEffectRatio=0.05) + if check_suit(char): + # 原套装效果 誓约锁定净化 + char.SetStatus(SkillAttack=0.175) + char.SetSkillCD(cd=0.3) + char.SetStatus(EquEffectRatio=0.15) + # 誓约追加 + char.SetStatus(SkillAttack=0.02) pass @register def oath_skill_2050302(char: CharacterProperty): + + char.SetSkillCD(cd=0.7) + char.SetStatus(EquEffectRatio=0.195) pass @register def oath_skill_2050303(char: CharacterProperty): + char.SetSkillCD(cd=-0.1) + char.SetStatus(EquEffectRatio=-0.15, SkillAttack=0.42) pass @register def oath_skill_2050401(char: CharacterProperty): + char.SetSkillCD(cd=0.1) + # 特效? + # char.SetStatus(EquEffectRatio=0.05) + if check_suit(char): + # 原套装效果 誓约锁定净化 + char.SetStatus(SkillAttack=0.175) + char.SetSkillCD(cd=0.3) + char.SetStatus(EquEffectRatio=0.15) + # 誓约追加 + char.SetStatus(SkillAttack=0.02) pass @register def oath_skill_2050402(char: CharacterProperty): + char.SetSkillCD(cd=0.7) + char.SetStatus(EquEffectRatio=0.195) pass @register def oath_skill_2050403(char: CharacterProperty): + char.SetSkillCD(cd=-0.1) + char.SetStatus(EquEffectRatio=-0.15, SkillAttack=0.42) pass @@ -545,73 +1048,144 @@ def oath_skill_2050503(char: CharacterProperty): @register def oath_skill_2060101(char: CharacterProperty): + char.SetStatus(SkillAttack=0.03) + char.AddElementDB('火', 33, 1) + char.AddElementDB('冰', 33, 1) + char.AddElementDB('光', 33, 1) + char.AddElementDB('暗', 33, 1) + char.SetStatus(EquEffectRatio=0.19) pass @register def oath_skill_2060102(char: CharacterProperty): + char.SetStatus(SkillAttack=0.03) + char.AddElementDB('火', 33, 1) + char.AddElementDB('冰', 33, 1) + char.AddElementDB('光', 33, 1) + char.AddElementDB('暗', 33, 1) + char.SetStatus(EquEffectRatio=0.19) pass @register def oath_skill_2060103(char: CharacterProperty): + char.SetStatus(SkillAttack=0.03) + char.AddElementDB('火', 33, 1) + char.AddElementDB('冰', 33, 1) + char.AddElementDB('光', 33, 1) + char.AddElementDB('暗', 33, 1) + char.SetStatus(EquEffectRatio=0.19) pass @register def oath_skill_2060201(char: CharacterProperty): + if check_suit(char): + # 原套装效果 + char.SetStatus(SkillAttack=0.03) + char.SetStatus(EquEffectRatio=0.19) + # 誓约追加 + char.SetStatus(SkillAttack=0.01, EquEffectRatio=0.075) pass @register def oath_skill_2060202(char: CharacterProperty): + char.SetStatus(SkillAttack=0.03) + char.AddElementDB('火', 33, 1) + char.AddElementDB('冰', 33, 1) + char.AddElementDB('光', 33, 1) + char.AddElementDB('暗', 33, 1) + char.SetStatus(EquEffectRatio=0.19) pass @register def oath_skill_2060203(char: CharacterProperty): + char.SetStatus(SkillAttack=0.03) + char.SetStatus(EquEffectRatio=0.19) + char.SetStatus(SkillAttack=0.03) pass @register def oath_skill_2060301(char: CharacterProperty): + char.AddElementDB('火', 33, 1) + char.AddElementDB('冰', 33, 1) + char.AddElementDB('光', 33, 1) + char.AddElementDB('暗', 33, 1) + if check_suit(char): + # 原套装效果 + char.SetStatus(SkillAttack=0.03) + char.SetStatus(EquEffectRatio=0.19) + # 誓约追加 + char.SetStatus(SkillAttack=0.01, EquEffectRatio=0.085) pass @register def oath_skill_2060302(char: CharacterProperty): + char.SetStatus(SkillAttack=0.03) + char.AddElementDB('火', 33, 1) + char.AddElementDB('冰', 33, 1) + char.AddElementDB('光', 33, 1) + char.AddElementDB('暗', 33, 1) + char.SetStatus(EquEffectRatio=0.19) pass @register def oath_skill_2060303(char: CharacterProperty): + char.SetStatus(SkillAttack=0.03) + char.SetStatus(EquEffectRatio=0.19) + char.SetStatus(SkillAttack=0.03) pass @register def oath_skill_2060401(char: CharacterProperty): + char.AddElementDB('火', 33, 1) + char.AddElementDB('冰', 33, 1) + char.AddElementDB('光', 33, 1) + char.AddElementDB('暗', 33, 1) + if check_suit(char): + # 原套装效果 + char.SetStatus(SkillAttack=0.03) + char.SetStatus(EquEffectRatio=0.19) + # 誓约追加 + char.SetStatus(SkillAttack=0.01, EquEffectRatio=0.095) pass @register def oath_skill_2060402(char: CharacterProperty): + char.SetStatus(SkillAttack=0.03) + char.AddElementDB('火', 33, 1) + char.AddElementDB('冰', 33, 1) + char.AddElementDB('光', 33, 1) + char.AddElementDB('暗', 33, 1) + char.SetStatus(EquEffectRatio=0.19) pass @register def oath_skill_2060403(char: CharacterProperty): + char.SetStatus(SkillAttack=0.03) + char.SetStatus(EquEffectRatio=0.19) + char.SetStatus(SkillAttack=0.03) pass @register def oath_skill_2060501(char: CharacterProperty): + char.AddElementDB('火', 33, 1) + char.AddElementDB('冰', 33, 1) + char.AddElementDB('光', 33, 1) + char.AddElementDB('暗', 33, 1) if check_suit(char): # 原套装效果 char.SetStatus(SkillAttack=0.03) - char.AddElementDB('火', 33, 1) - char.AddElementDB('冰', 33, 1) - char.AddElementDB('光', 33, 1) - char.AddElementDB('暗', 33, 1) char.SetStatus(EquEffectRatio=0.19) # 誓约追加 char.SetStatus(SkillAttack=0.01, EquEffectRatio=0.1) @@ -644,61 +1218,240 @@ def oath_skill_2060503(char: CharacterProperty): @register def oath_skill_2070101(char: CharacterProperty): + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.6, []) + char.SetSkillCD(100, 100, 0.6, []) + char.SetSkillRation(100, 100, 0.76) + char.SetSkillRation(85, 85, 0.6) + char.SetSkillRation(50, 50, 0.15) + char.SetStatus(EquEffectRatio=0.275) + cd = 0 + for item in char.skills: + if item.learnLv == 100: + cd = item.getSkillCD() + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=607200)) pass @register def oath_skill_2070102(char: CharacterProperty): + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.6, []) + char.SetSkillCD(100, 100, 0.6, []) + char.SetSkillRation(100, 100, 0.76) + char.SetSkillRation(85, 85, 0.6) + char.SetSkillRation(50, 50, 0.15) + char.SetStatus(EquEffectRatio=0.275) + cd = 0 + for item in char.skills: + if item.learnLv == 100: + cd = item.getSkillCD() + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=607200)) pass @register def oath_skill_2070103(char: CharacterProperty): + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.6, []) + char.SetSkillCD(100, 100, 0.6, []) + char.SetSkillRation(100, 100, 0.76) + char.SetSkillRation(85, 85, 0.6) + char.SetSkillRation(50, 50, 0.15) + char.SetStatus(EquEffectRatio=0.275) + cd = 0 + for item in char.skills: + if item.learnLv == 100: + cd = item.getSkillCD() + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=607200)) pass @register def oath_skill_2070201(char: CharacterProperty): + char.SetSkillRation(100, 100, 0.1) + char.SetSkillRation(85, 85, 0.1) + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + if check_suit(char): + # 原套装效果 + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.6, []) + char.SetSkillCD(100, 100, 0.6, []) + char.SetSkillRation(100, 100, 0.76) + char.SetSkillRation(85, 85, 0.6) + char.SetSkillRation(50, 50, 0.15) + char.SetStatus(EquEffectRatio=0.275) + cd = 0 + for item in char.skills: + if item.learnLv == 100: + cd = item.getSkillCD() + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=532630)) + # 誓约追加 + char.SetStatus(SkillAttack=0.05, EquEffectRatio=0.065) pass @register def oath_skill_2070202(char: CharacterProperty): + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.6, []) + char.SetSkillCD(100, 100, 0.6, []) + char.SetSkillRation(100, 100, 0.76) + char.SetSkillRation(85, 85, 0.6) + char.SetSkillRation(50, 50, 0.15) + char.SetStatus(EquEffectRatio=0.275) + cd = 0 + for item in char.skills: + if item.learnLv == 100: + cd = item.getSkillCD() + item.skillDamage *= 1.4 + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=438410 * 1.4)) pass @register def oath_skill_2070203(char: CharacterProperty): + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.6, []) + char.SetSkillRation(100, 100, 0.6) + char.SetSkillRation(85, 85, 0.9) + char.SetSkillRation(50, 50, 0.35) + char.SetStatus(EquEffectRatio=0.275) + for item in char.skills: + if item.learnLv == 85: + cd = item.getSkillCD() + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=242880)) pass @register def oath_skill_2070301(char: CharacterProperty): + char.SetSkillRation(100, 100, 0.1) + char.SetSkillRation(85, 85, 0.1) + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + if check_suit(char): + # 原套装效果 + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.6, []) + char.SetSkillCD(100, 100, 0.6, []) + char.SetSkillRation(100, 100, 0.76) + char.SetSkillRation(85, 85, 0.6) + char.SetSkillRation(50, 50, 0.15) + char.SetStatus(EquEffectRatio=0.275) + cd = 0 + for item in char.skills: + if item.learnLv == 100: + cd = item.getSkillCD() + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=532630)) + # 誓约追加 + char.SetStatus(SkillAttack=0.05, EquEffectRatio=0.065) pass @register def oath_skill_2070302(char: CharacterProperty): + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.6, []) + char.SetSkillCD(100, 100, 0.6, []) + char.SetSkillRation(100, 100, 0.76) + char.SetSkillRation(85, 85, 0.6) + char.SetSkillRation(50, 50, 0.15) + char.SetStatus(EquEffectRatio=0.275) + cd = 0 + for item in char.skills: + if item.learnLv == 100: + cd = item.getSkillCD() + item.skillDamage *= 1.55 + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=438410 * 1.55)) pass @register def oath_skill_2070303(char: CharacterProperty): + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.7, []) + char.SetSkillRation(100, 100, 0.6) + char.SetSkillRation(85, 85, 1.1) + char.SetSkillRation(50, 50, 0.55) + char.SetStatus(EquEffectRatio=0.275) + for item in char.skills: + if item.learnLv == 85: + cd = item.getSkillCD() + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=242880)) pass @register def oath_skill_2070401(char: CharacterProperty): + if not char.buffer: + char.SetSkillCD(50, 50, 0.1, []) + char.SetSkillCD(85, 85, 0.2, []) + char.SetSkillRation(100, 100, 0.15) + char.SetSkillRation(85, 85, 0.1) + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) + if check_suit(char): + # 原套装效果 + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.6, []) + char.SetSkillCD(100, 100, 0.6, []) + char.SetSkillRation(100, 100, 0.76) + char.SetSkillRation(85, 85, 0.6) + char.SetSkillRation(50, 50, 0.15) + char.SetStatus(EquEffectRatio=0.275) + cd = 0 + for item in char.skills: + if item.learnLv == 100: + cd = item.getSkillCD() + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=532630)) + # 誓约追加 + char.SetStatus(SkillAttack=0.05, EquEffectRatio=0.065) pass @register def oath_skill_2070402(char: CharacterProperty): + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.6, []) + char.SetSkillCD(100, 100, 0.6, []) + char.SetSkillRation(100, 100, 0.76) + char.SetSkillRation(85, 85, 0.6) + char.SetSkillRation(50, 50, 0.15) + char.SetStatus(EquEffectRatio=0.275) + cd = 0 + for item in char.skills: + if item.learnLv == 100: + cd = item.getSkillCD() + item.skillDamage *= 2 + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=438410 * 2)) pass @register def oath_skill_2070403(char: CharacterProperty): + if not char.buffer: + char.SetSkillCD(50, 50, 0.7, []) + char.SetSkillCD(85, 85, 0.7, []) + char.SetSkillRation(100, 100, 0.6) + char.SetSkillRation(85, 85, 1.1) + char.SetSkillRation(50, 50, 0.55) + char.SetStatus(EquEffectRatio=0.275) + # 剩余冷却效果实现 + cd = 0 + for item in char.skills: + if item.learnLv == 85: + cd = item.getSkillCD() + char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=242880)) pass @@ -710,6 +1463,7 @@ def oath_skill_2070501(char: CharacterProperty): char.SetSkillRation(100, 100, 0.25) char.SetSkillRation(85, 85, 0.2) char.SetSkillRation(50, 50, 0.1) + char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) if check_suit(char): # 原套装效果 if not char.buffer: @@ -744,7 +1498,7 @@ def oath_skill_2070502(char: CharacterProperty): for item in char.skills: if item.learnLv == 100: cd = item.getSkillCD() - item.skillDamage *= 2 + item.skillDamage *= 2 * 1.2 char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=438410 * 1.2 * 2)) pass @@ -756,13 +1510,19 @@ def oath_skill_2070503(char: CharacterProperty): char.SetSkillCD(85, 85, 0.7, []) char.SetSkillRation(100, 100, 0.6) char.SetSkillRation(85, 85, 1.1) - char.SetSkillRation(50, 50, 0.15) + char.SetSkillRation(50, 50, 0.55) char.SetStatus(EquEffectRatio=0.275) # 剩余冷却效果实现 cd = 0 for item in char.skills: if item.learnLv == 85: + item.cdCut = 18 cd = item.getSkillCD() + if item.learnLv == 50: + item.cdCut = 13 + if item.learnLv == 100: + cd = item.getSkillCD() + item.skillDamage *= 2 char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=242880)) pass diff --git a/backend/core/equipment/version_0/suit.py b/backend/core/equipment/version_0/suit.py index 0d9228d8..2c0081bd 100644 --- a/backend/core/equipment/version_0/suit.py +++ b/backend/core/equipment/version_0/suit.py @@ -230,7 +230,6 @@ def suit_63(char: CharacterProperty): char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=21250)) else: char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=25500)) - print('~~~~~~~~~') pass @@ -274,10 +273,10 @@ def suit_79(char: CharacterProperty): # level: 1 # value: 通过释放龙之力来增强自己。 [烛龙之火] 无色小晶块消耗量减少3个。 - 不会减少到少于1个 所有速度 +10% [烛龙腾霄] 攻击时,烛龙腾霄。(冷却时间10秒) * 烛龙腾霄伤害量:14,400% [荧惑如意珠][装备主动技能] 将[烛龙之火]变更为[烛龙的如意珠],效果持续30秒。 - 冷却时间60秒 [烛龙的如意珠] - 所有速度 +30% - 技能伤害 +3% - 无色小晶块技能的消耗量固定30个 - 施放消耗无色小晶块的技能时,发动白龙强袭(冷却时间3秒) * 白龙强袭伤害量:10980% # rarity: 史诗 - if char.equ_options.get('1', 0) == 0: + if char.equ_options.get('1', 0) == 1: char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='/equipment/suit/1.png', cd=10, data=14400)) - elif char.equ_options.get('1', 0) == 1: + elif char.equ_options.get('1', 0) == 0: char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) char.SetStatus(SkillAttack=0.03) char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=10980)) @@ -295,15 +294,15 @@ def suit_84(char: CharacterProperty): # level: 1 # value: 通过释放龙之力来增强自己。 [应龙之火] 无色小晶块消耗量减少5个。 不会减少到少于1个 所有速度 +10% [应龙腾霄] 攻击时, 应龙腾霄。 (冷却时间10秒) * 应龙腾霄伤害量 : 14,400% [荧惑如意珠] [装备主动技能] 将[应龙之火]变更为[应龙的如意珠] - 再次使用, 解除效果 [应龙的如意珠] - 所有速度 +30% - 技能伤害 增加 3% - 无色小晶块技能的消耗量固定15个 - 施放消耗无色小晶块的技能时,白龙强袭 (冷却时间3秒) * 白龙强袭伤害量 : 10,980% [应龙之怒] [应龙的如意珠]效果生效状态下攻击时, 黑龙横扫敌人。 (冷却时间4秒) * 横扫伤害量 : 10,200% [太初的记忆] 套装积分达到2550后,每增加70点套装积分,可以获得以下效果。 - 技能伤害 增加 1% - 增益量 +100 # rarity: 太初 - if char.equ_options.get('1', 0) == 0: + if char.equ_options.get('1', 0) == 1: char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1) - char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=14400)) - elif char.equ_options.get('1', 0) == 1: + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) + elif char.equ_options.get('1', 0) == 0: char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3) char.SetStatus(SkillAttack=0.03) - char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=10980)) - char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=10200)) - char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=14400)) + char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=13900)) + char.equ_effect.append(EquEffect(name='黑龙横扫', icon='/equipment/suit/1.png', cd=4, data=12950)) + char.equ_effect.append(EquEffect(name='应龙腾霄', icon='/equipment/suit/1.png', cd=10, data=18250)) pass diff --git a/frontend/src/components/dnf/Emblem/List/index.vue b/frontend/src/components/dnf/Emblem/List/index.vue index 438210f7..e9d996fb 100644 --- a/frontend/src/components/dnf/Emblem/List/index.vue +++ b/frontend/src/components/dnf/Emblem/List/index.vue @@ -44,7 +44,7 @@ const partIcon = computed(() => { const rarityIcon = computed(() => { return (part: string) => { const rarity = Math.floor((props.detail?.[part]?.lv || 0) / 5) - console.log(rarity) + // console.log(rarity) return new URL(`../Images/rarity/${rarity}.png`, import.meta.url).href } }) diff --git a/frontend/src/components/dnf/Equipment/SuitInfo/index.vue b/frontend/src/components/dnf/Equipment/SuitInfo/index.vue index 9b4d17fe..c7143d7c 100644 --- a/frontend/src/components/dnf/Equipment/SuitInfo/index.vue +++ b/frontend/src/components/dnf/Equipment/SuitInfo/index.vue @@ -74,14 +74,18 @@ const mainAttr = computed(() => { }) const detail = computed(() => - props.suit?.value.replace(/\[([^\[\]技能]+?)\]/g, '[$1]'), + props.suit?.value?.replace( + /\[(?![^\]]*技能)[^\[\]]+\]/g, + (match) => `${match}`, + ), ) const bufferDetail = computed(() => { const detail = props.suit?.bufferValue if (!detail || detail == '-') return undefined - return props.suit?.bufferValue.replace( - /\[(?![^\]]*技能)[^\[\]]+\]/g, match => `${match}` + return props.suit?.bufferValue?.replace( + /\[(?![^\]]*技能)[^\[\]]+\]/g, + (match) => `${match}`, ) }) diff --git a/frontend/src/pages/Character/Config/importSkill.vue b/frontend/src/pages/Character/Config/importSkill.vue index de043666..02cc906d 100644 --- a/frontend/src/pages/Character/Config/importSkill.vue +++ b/frontend/src/pages/Character/Config/importSkill.vue @@ -14,7 +14,7 @@ export default defineComponent({ const { state, execute, isLoading } = useAsyncState( async () => { const res = await api.getSkillFromCode(skillCode.value) - console.log(res) + // console.log(res) configStore.config.skills = res.skills const { alert } = useDialog() visible.value = false diff --git a/frontend/src/pages/Character/Equipment/components/SubWeapon.vue b/frontend/src/pages/Character/Equipment/components/SubWeapon.vue index 16470251..6c45b358 100644 --- a/frontend/src/pages/Character/Equipment/components/SubWeapon.vue +++ b/frontend/src/pages/Character/Equipment/components/SubWeapon.vue @@ -30,7 +30,7 @@ const weapons = computed(() => { const items = infoStore.equips.filter( (equip) => equip.itemType === '武器' && equip.itemDetailType == '光剑', ) - console.log(items) + // console.log(items) const res: (IEquipment | undefined)[] = [] Array.from(new Set(items.map((item) => item.itemDetailType))).forEach((type) => { const weapon = items.filter((item) => item.itemDetailType === type) diff --git a/frontend/src/pages/Character/EquipmentDictionary/Index.vue b/frontend/src/pages/Character/EquipmentDictionary/Index.vue index a72fe37d..f7af950c 100644 --- a/frontend/src/pages/Character/EquipmentDictionary/Index.vue +++ b/frontend/src/pages/Character/EquipmentDictionary/Index.vue @@ -358,7 +358,7 @@ const curOathSkillInfo = computed(() => { if (!res) { return undefined } - console.log(curEquInfo.value?.suit[0]) + // console.log(curEquInfo.value?.suit[0]) return { ...res, SkillAttack: parseFloat(res.SkillAttack.toString().split(',')[curOathSkillLv.value.lv - 1]), diff --git a/frontend/src/pages/Character/Result/Index.vue b/frontend/src/pages/Character/Result/Index.vue index 1c1e7f07..98569abf 100644 --- a/frontend/src/pages/Character/Result/Index.vue +++ b/frontend/src/pages/Character/Result/Index.vue @@ -67,7 +67,7 @@ const clearStandard = () => { const chooseCategory = (cat: 'equ' | 'oath') => { type.value = cat - console.log(type.value) + // console.log(type.value) } diff --git a/frontend/src/pages/Character/Result/components/BufferSkill.vue b/frontend/src/pages/Character/Result/components/BufferSkill.vue index ce5cd043..e2a69d80 100644 --- a/frontend/src/pages/Character/Result/components/BufferSkill.vue +++ b/frontend/src/pages/Character/Result/components/BufferSkill.vue @@ -86,7 +86,7 @@ const order = ref<'asc' | 'desc'>('desc') const config = useConfigStore() const data = computed(() => { - return props.data.sort((a, b) => { + return [...props.data].sort((a, b) => { let aValue = 0 let bValue = 0 if (['cd', 'name'].includes(sort.value)) { diff --git a/frontend/src/pages/Character/Result/components/Info.vue b/frontend/src/pages/Character/Result/components/Info.vue index 90edda8f..e82485a7 100644 --- a/frontend/src/pages/Character/Result/components/Info.vue +++ b/frontend/src/pages/Character/Result/components/Info.vue @@ -208,7 +208,7 @@ const correction = computed(() => { }) const changeSkillId = (skill: { skillId: string; enable: boolean }) => { - console.log(skill) + // console.log(skill) if (!skill.enable) return if (activeSkillId.value !== skill.skillId) { activeSkillId.value = skill.skillId @@ -218,7 +218,7 @@ const changeSkillId = (skill: { skillId: string; enable: boolean }) => { const oathSkills = computed(() => { const skillOrder = ['2', '1', '3'] - const res = props.suits.oath?.skills.sort((left, right) => { + const res = [...(props.suits.oath?.skills ?? [])].sort((left, right) => { const leftIndex = skillOrder.indexOf(left.skillId) const rightIndex = skillOrder.indexOf(right.skillId) const normalizedLeftIndex = leftIndex === -1 ? skillOrder.length : leftIndex @@ -236,7 +236,7 @@ const oathSkills = computed(() => { const equ = (id: string) => { if (props.display == 'oath') { - console.log(props.oaths, id) + // console.log(props.oaths, id) return infoStore.oaths.find((e) => e.id == id) } return infoStore.equips.find((e) => e.id == id) diff --git a/frontend/src/utils/index.ts b/frontend/src/utils/index.ts index 1ccbe733..673a1249 100644 --- a/frontend/src/utils/index.ts +++ b/frontend/src/utils/index.ts @@ -353,7 +353,7 @@ export const decrypt = (encryptedData: string) => { time: parseInt(decryptedTimestamp), } } catch (e) { - console.log(e) + // console.log(e) return { uid: -1, time: 0,