Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-04-27 00:18:02 +08:00
co-authored by Copilot
parent 32e6d47ce4
commit 18ac23caa3
13 changed files with 827 additions and 54 deletions
@@ -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):
+1 -1
View File
@@ -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': ['普通', '追击']},
File diff suppressed because it is too large Load Diff
+8 -9
View File
@@ -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
@@ -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
}
})
@@ -74,14 +74,18 @@ const mainAttr = computed(() => {
})
const detail = computed(() =>
props.suit?.value.replace(/\[([^\[\]技能]+?)\]/g, '<span style="color:#3d9147">[$1]</span>'),
props.suit?.value?.replace(
/\[(?![^\]]*技能)[^\[\]]+\]/g,
(match) => `<span style="color:#3d9147">${match}</span>`,
),
)
const bufferDetail = computed(() => {
const detail = props.suit?.bufferValue
if (!detail || detail == '-') return undefined
return props.suit?.bufferValue.replace(
/\[(?![^\]]*技能)[^\[\]]+\]/g, match => `<span style="color:#3d9147">${match}</span>`
return props.suit?.bufferValue?.replace(
/\[(?![^\]]*技能)[^\[\]]+\]/g,
(match) => `<span style="color:#3d9147">${match}</span>`,
)
})
</script>
@@ -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
@@ -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)
@@ -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]),
@@ -67,7 +67,7 @@ const clearStandard = () => {
const chooseCategory = (cat: 'equ' | 'oath') => {
type.value = cat
console.log(type.value)
// console.log(type.value)
}
</script>
@@ -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)) {
@@ -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)
+1 -1
View File
@@ -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,