From 32056eb6aa3c418c254f3054a8d242a638836289 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E7=93=9C=C2=B0?= Date: Sun, 30 Aug 2026 22:14:17 +0800 Subject: [PATCH] =?UTF-8?q?new:=E6=B7=BB=E5=8A=A0=E7=B1=B3=E6=AD=87?= =?UTF-8?q?=E5=B0=94=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/core/basic/character/calc_equip.py | 11 +- backend/core/equipment/version_0/enchant.py | 23 +++++ backend/core/equipment/version_0/equ.py | 97 +++++++++++++++++- backend/core/open/helper.py | 2 +- backend/dataFiles/dcalc_0.db | Bin 864256 -> 864256 bytes .../Character/Forge/components/Equipments.vue | 23 ++++- .../Character/Forge/components/Oaths.vue | 45 +++++--- .../Character/Result/components/Info.vue | 4 +- 8 files changed, 184 insertions(+), 21 deletions(-) diff --git a/backend/core/basic/character/calc_equip.py b/backend/core/basic/character/calc_equip.py index 1d1c0e0a..05b756c8 100644 --- a/backend/core/basic/character/calc_equip.py +++ b/backend/core/basic/character/calc_equip.py @@ -300,9 +300,16 @@ class CalcEquipMixin(CharacterBase): if upgrade == 1: self.SetStatus(SkillAttack=0.04,Buffer=800) pass - if upgrade == 2: + elif upgrade == 2: self.SetSkillCD(cd=0.08) self.SetStatus(EquEffectRatio=0.04,Buffer=800) + elif upgrade == 3: + # 誓约积分 +25 + item.oathInfo.Point += 25 + elif upgrade == 4: + self.SetStatus(SpeedA=0.04, SpeedM=0.04, SpeedR=0.04, SkillAttack=0.04, Buffer=800) + elif upgrade == 5 or upgrade == 6: + self.SetStatus(SkillAttack=0.04,Buffer=800) pass pass @@ -426,9 +433,9 @@ class CalcEquipMixin(CharacterBase): self.calc_basic() self.calc_sundry(config.get('sundry', {})) self.calc_emblems() - 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/enchant.py b/backend/core/equipment/version_0/enchant.py index c9f11e13..c038dcb6 100644 --- a/backend/core/equipment/version_0/enchant.py +++ b/backend/core/equipment/version_0/enchant.py @@ -1000,6 +1000,29 @@ def enchant_1105(char: CharacterProperty): char.SetStatus(四维=250) pass +@register +def enchant_1106(char: CharacterProperty): + """ + DCALC_REMOVE: enchant_1106 + 四维(120)|全属强(35) + """ + char.AddElementDB('火', 35) + char.AddElementDB('冰', 35) + char.AddElementDB('光', 35) + char.AddElementDB('暗', 35) + char.SetStatus(四维=120) + pass + + +@register +def enchant_1107(char: CharacterProperty): + """ + DCALC_REMOVE: enchant_1107 + 四维(300) + """ + char.SetStatus(四维=300) + pass + # endregion # region 称号 diff --git a/backend/core/equipment/version_0/equ.py b/backend/core/equipment/version_0/equ.py index b2894fc2..ce7f73c5 100644 --- a/backend/core/equipment/version_0/equ.py +++ b/backend/core/equipment/version_0/equ.py @@ -15697,7 +15697,7 @@ def equ_2002(char: CharacterProperty,effectDamage: list[float] = []): buffer = 30 * point - (point // 25) * 30 + (350 if point >= 25 else 0) + (380 if point >= 50 else 0) + (380 if point >= 75 else 0) + (510 if point >= 100 else 0) char.SetStatus(SkillAttack=round(skillAttack / 100,6), Buffer=buffer) for part in ['项链', '手镯', '戒指']: - if char.charEquipInfo[part].equInfo and '黑牙' in char.charEquipInfo[part].equInfo.name: + if char.charEquipInfo[part].equInfo and ('黑牙' in char.charEquipInfo[part].equInfo.name or char.charEquipInfo[part].equInfo.name == '含光照世的圣者之瞳'): char.SetStatus(SkillAttack=0.03, Buffer=75) # char.SetSkillCD(cd=0.04) # cd = (point // 25) * 0.04 @@ -15709,6 +15709,101 @@ def equ_2002(char: CharacterProperty,effectDamage: list[float] = []): char.AwakeSkill.lv += 1 pass +@register +def equ_2003(char: CharacterProperty,effectDamage: list[float] = []): + """ + DCALC_REMOVE: equ_2003 - 含光照世的圣者之瞳 + [天域之光] + 每穿戴1件祝圣、圣遗物防具,技能伤害 增加 1% (最多叠加5次) + + [闪耀的誓约残影] + 精度达到100%时,所选的誓约之光将蕴含其中,为穿戴者增添力量。 + + [誓约残影 - 潜影] + 所有速度 +16% + + [誓约残影 - 精灵] + 所有速度 +8% + 回避率 +10% + 每3秒恢复3%的生命值和魔法值。 + + [誓约残影 - 黄金乡] + 防具/首饰/特殊装备的强化/增幅数值总和每达到+11时,适用以下效果。(最多叠加12次) + - 技能范围 +1% + - 所有速度 +1% + - 所受物理/魔法伤害 -0.5% + + [誓约残影 - 龙战] + 所有速度 +30% + 无色小晶块消耗量 +5 + + [誓约残影 - 净化] + 每10秒生成最大生命值10%的保护罩。 + 进入霸体状态。 + 跳跃时可以再跳跃一次。 + + [誓约残影 - 天命] + 攻击时,有3%的几率发动以下效果中的1种。 + - 33秒内技能范围 +33% + - 33秒内所有速度 +33% + - 33秒内恢复33%的生命值和魔法值 + + [誓约残影 - 能量] + 获得生命值最大值15%的[填充型保护罩]。 + 每秒恢复1%的魔法值。 + + [誓约残影 - 自然] + 所有速度 +10% + 技能范围 +10% + + [誓约残影 - 女武神] + 施放消耗无色小晶块的技能时,能量充能1次。(最多8次) + 充满后攻击时,恢复周围800px范围内的队友10%的生命值和魔法值。 + + [誓约残影 - 青丘] + 攻击时, 能量 +20 + - 最多400 + - 冷却时间1秒 + 能量充满后攻击时,为队友发动以下效果,持续30秒 + - 恢复周围500px范围内的队友0.25%的生命值和魔法值 + - 进入霸体状态 + + [誓约残影 - 群猎] + 给队员赋予光环,获得以下效果。 + - 所有速度 +15% + - 所受物理/魔法伤害 -7% + + [誓约残影 - 领域] + 移动速度 +25% + 所受物理/魔法伤害 -10% + 进入霸体状态 + + [照耀] + 满足以下条件后,在城镇中使用普通聊天输入“照耀”,出现特效。(冷却时间600秒) + + - 精度达到100% + - 解锁默示之真谛第九阶段 + - 穿戴5个部位圣遗物防具 + """ + if 2100 <= char.max_point < 2550: + char.SetStatus(SkillAttack=0.50, Buffer=11220) + pass + elif char.max_point >= 2550: + char.SetStatus(SkillAttack=0.546, Buffer=13030) + pass + point = char.charEquipInfo['戒指'].precision + skillAttack = 0.1 * point - (point // 25) * 0.1 + (1.6 if point >= 25 else 0) + (1.6 if point >= 50 else 0) + (1.6 if point >= 75 else 0) + (2.7 if point >= 100 else 0) + buffer = 30 * point - (point // 25) * 30 + (280 if point >= 25 else 0) + (280 if point >= 50 else 0) + (280 if point >= 75 else 0) + (530 if point >= 100 else 0) + char.SetStatus(SkillAttack=round(skillAttack / 100,6), Buffer=buffer) + for part in ['上衣', '下装', '头肩', '腰带', '鞋']: + if char.charEquipInfo[part].equInfo and '启圣' in char.charEquipInfo[part].equInfo.name: + char.SetStatus(SkillAttack=0.01, Buffer=200) + char.AddElementDB('火', 40, 1) + char.AddElementDB('冰', 40, 1) + char.AddElementDB('光', 40, 1) + char.AddElementDB('暗', 40, 1) + pass + # endregion # region 春节 diff --git a/backend/core/open/helper.py b/backend/core/open/helper.py index 12e44a79..b592a471 100644 --- a/backend/core/open/helper.py +++ b/backend/core/open/helper.py @@ -141,7 +141,7 @@ def trans_to_dcalc_set(detail, alter: AltersDep): # 'fusion': 0, # 锻造等级 'refine': equ.get('enhance', {}).get('refine', 0), - # 调试等级 + # 调适等级 'adaptation': equ.get('adaptation', 0), # 精度 'precision': 100, diff --git a/backend/dataFiles/dcalc_0.db b/backend/dataFiles/dcalc_0.db index adaeeee2341be4309532c480d90b7d62e824e17f..4c5e245bc36a906530e47da5aad27ccb54691afe 100644 GIT binary patch delta 1499 zcmZ`(drVtZ7{5LDw)ep;)zu>9G47lVU+$KYYhu8x`kgfy8 z6bNOs!m>Kx(cO^S>%aqme)1?yJZCM0OK$)H4ju+3c3Ujkp^f@;3gUfI(tV7>T(7gT`PmSPTv$L$3Gnq1{%)6v2W+guXxX zALAPTV@8AvuuXX}w} zy^6DJU6q>CF~=8Lvp^}#Wx`t(9BWbnlGd`Qb+({^ zS*!!M{Kc4c4*2UTBNT|G?zAz-m-?0VP%YFI8O?CHmdgibP8wgP{Sva&Lx5? zQ54kXyE_w?3x|Hk;$3HP?_#Q=F1TF9S##1HDXvi5AFPEV-!eI*!)=4oB{D~!JP~Mm zgnL-nAa2cnL2aE&N5=F|OgvQS7!n0!R{K*rLf!!-n7a0{G=EK3gvRntxqa;t)mr;gM|rKibNJ2a`>0vn3vi xm)q)_8*VqXeDw$3PFhnh1%4Tf7@1Urpt;oBATulcC?!X};fqN5dzH66`!8wSdj$Xh delta 481 zcmZp8VAAlwWP&uK)kGO*MyrhpFMXJ%TQ__AwtM?BZuj*5J7z~5le0%vJ9vNm~13d#nV{;=*LnBLL1GZ~yYZ*TPt$o9| zedbY~8_Y~>*R~g*uor}$lwR*eI1)f?)U}**xXGuv( zVbw^&ao>BX0M`ldVH;gOkceuZb-cJtdj8H{p9 z1_nR`0(u6f29{s|b`4O3ectxXPk1z#Sr`~tjsx9vn1!h=YWjvdJd(_+qQcwH+~Lt? tmIdkqx*G%xEkPQMj7-_C@d6`>3+UkO0uOi=vuq9sFks$(`#F!Q2LR3wkdFWW diff --git a/frontend/src/pages/Character/Forge/components/Equipments.vue b/frontend/src/pages/Character/Forge/components/Equipments.vue index c33d47bc..9077de7f 100644 --- a/frontend/src/pages/Character/Forge/components/Equipments.vue +++ b/frontend/src/pages/Character/Forge/components/Equipments.vue @@ -17,8 +17,13 @@ export default defineComponent({ /** 是否可以设置秘宝精度 */ const can_set_secret = computed(() => { - return ['武器', '辅助装备', '魔法石', '耳环'].includes(part.value as string) + return ['武器', '辅助装备', '魔法石', '耳环', '戒指'].includes(part.value as string) }) + + // const can_set_suit = computed(() => { + // return ['戒指'].includes(part.value as string) + // }) + const basicInfoStore = useInfoStore() const enchant_list = computed(() => { @@ -32,6 +37,21 @@ export default defineComponent({ .sort((a, b) => (b.fame ?? 0) - (a.fame ?? 0)) }) + // const suit_list = computed(() => { + // const uniqueSuits = new Map() + // basicInfoStore.suits.forEach((a) => { + // if (!uniqueSuits.has(a.suitId)) { + // uniqueSuits.set(a.suitId, { + // name: a.suitName, + // value: a.suitId, + // imageUrl: a.imageUrl.replace('/suit/', '/suit/icon/'), + // }) + // } + // }) + // const res = Array.from(uniqueSuits.values()) + // return res + // }) + // const emblem_list = computed(() => { // return basicInfoStore.emblems.filter((item) => item.position.includes(part.value)) // }) @@ -274,6 +294,7 @@ export default defineComponent({ ) : (
)} + {/* {can_set_suit.value ?
:
} */} )} diff --git a/frontend/src/pages/Character/Forge/components/Oaths.vue b/frontend/src/pages/Character/Forge/components/Oaths.vue index 1e18bfd7..8985a389 100644 --- a/frontend/src/pages/Character/Forge/components/Oaths.vue +++ b/frontend/src/pages/Character/Forge/components/Oaths.vue @@ -21,20 +21,37 @@ -
-
誓约升级
- -
+ diff --git a/frontend/src/pages/Character/Result/components/Info.vue b/frontend/src/pages/Character/Result/components/Info.vue index 17f27d9e..b86030da 100644 --- a/frontend/src/pages/Character/Result/components/Info.vue +++ b/frontend/src/pages/Character/Result/components/Info.vue @@ -33,7 +33,7 @@ {{ suit.rarity }} {{ lvFormat(suit.level, suit.rarity) }} - {{ suit.point }}点 + {{ suit.point }}点