diff --git a/backend/core/basic/character/calc_equip.py b/backend/core/basic/character/calc_equip.py index 05b756c8..403053ef 100644 --- a/backend/core/basic/character/calc_equip.py +++ b/backend/core/basic/character/calc_equip.py @@ -282,18 +282,9 @@ class CalcEquipMixin(CharacterBase): pass pass - def calc_oaths(self): + def calc_oath_upgrade(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 - apply_uppercase_attrs(self, oath) - fun(self) # 誓约升级效果 if item.oathInfo and item.oathInfo.itemDetailType == '誓约': for upgrade in item.upgrade: @@ -313,6 +304,19 @@ class CalcEquipMixin(CharacterBase): pass pass + 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 + apply_uppercase_attrs(self, oath) + fun(self) + def calc_avatar(self, avatar: dict): """计算时装效果""" equ = get_equipment(self.equVersion) @@ -433,9 +437,10 @@ class CalcEquipMixin(CharacterBase): self.calc_basic() self.calc_sundry(config.get('sundry', {})) self.calc_emblems() + self.calc_oath_upgrade() + suit = self.calc_suits() self.calc_equs() self.calc_oaths() - suit = self.calc_suits() skillInfos = [] if self.buffer: skillInfos = self.calc_buffer_skills() diff --git a/backend/core/equipment/version_0/equ.py b/backend/core/equipment/version_0/equ.py index ce7f73c5..78acca36 100644 --- a/backend/core/equipment/version_0/equ.py +++ b/backend/core/equipment/version_0/equ.py @@ -15785,10 +15785,11 @@ def equ_2003(char: CharacterProperty,effectDamage: list[float] = []): - 解锁默示之真谛第九阶段 - 穿戴5个部位圣遗物防具 """ + print(char.max_point) if 2100 <= char.max_point < 2550: char.SetStatus(SkillAttack=0.50, Buffer=11220) pass - elif char.max_point >= 2550: + if char.max_point >= 2550: char.SetStatus(SkillAttack=0.546, Buffer=13030) pass point = char.charEquipInfo['戒指'].precision @@ -15802,6 +15803,9 @@ def equ_2003(char: CharacterProperty,effectDamage: list[float] = []): char.AddElementDB('冰', 40, 1) char.AddElementDB('光', 40, 1) char.AddElementDB('暗', 40, 1) + if char.buffer: + char.BuffSkill.lv += 1 + char.AwakeSkill.lv += 1 pass