fix(herosListComp): 修复英雄大招和技能图标显示逻辑
1. 调整大招技能图标锁定状态判断,改为恒不锁定 2. 统一触发、复活技能的等级显示逻辑,固定等级为1 3. 补充技能等级计算的注释说明
This commit is contained in:
@@ -515,15 +515,13 @@ export class HerosListComp extends CCComp {
|
|||||||
|
|
||||||
const lv = Math.max(1, smc.getHeroOuterLv(hero.uuid))
|
const lv = Math.max(1, smc.getHeroOuterLv(hero.uuid))
|
||||||
|
|
||||||
// ---- 大招:skills[1] 及以后 ----
|
// ---- 大招:skills[1] 及以后(英雄出场即激活,与能量条同语义,恒不锁定) ----
|
||||||
Object.values(hero.skills).slice(1).forEach(hSkill => {
|
Object.values(hero.skills).slice(1).forEach(hSkill => {
|
||||||
// 与 Hero.load 同式:技能等级 = 配置 lv + 英雄等级 - 2,> 0 才视为已解锁
|
// 技能等级展示与 buildSkillDesc 同规则:lv_entries 取 ≤lv 最大档的 s_lv,无生效档回退配置 lv
|
||||||
const unlocked = hSkill.lv + lv - 2 > 0
|
|
||||||
// 技能等级展示与 buildSkillDesc 同规则:lv_entries 取 ≤lv 最大档的 s_lv
|
|
||||||
const sLv = hSkill.lv_entries?.length
|
const sLv = hSkill.lv_entries?.length
|
||||||
? (hSkill.lv_entries.filter(e => e.lv <= lv).pop()?.s_lv ?? hSkill.lv)
|
? (hSkill.lv_entries.filter(e => e.lv <= lv).pop()?.s_lv ?? hSkill.lv)
|
||||||
: hSkill.lv
|
: hSkill.lv
|
||||||
this.addSkillIcon(hSkill.uuid, sLv, !unlocked, false)
|
this.addSkillIcon(hSkill.uuid, sLv, false, false)
|
||||||
})
|
})
|
||||||
|
|
||||||
// ---- 触发技能:按 PANEL_TRIGGER_TYPES 顺序追加 ----
|
// ---- 触发技能:按 PANEL_TRIGGER_TYPES 顺序追加 ----
|
||||||
@@ -578,7 +576,8 @@ export class HerosListComp extends CCComp {
|
|||||||
for (const e of sorted) { if (e.lv <= lv) active = e }
|
for (const e of sorted) { if (e.lv <= lv) active = e }
|
||||||
const pick = active ?? sorted[0]
|
const pick = active ?? sorted[0]
|
||||||
for (const entry of pick.uuids) {
|
for (const entry of pick.uuids) {
|
||||||
this.addSkillIcon(entry.uuid, pick.lv, !active, true)
|
// 词条档位无 s_lv 概念,技能等级恒为 1(等级标签展示技能等级而非解锁的英雄等级)
|
||||||
|
this.addSkillIcon(entry.uuid, 1, !active, true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -589,7 +588,8 @@ export class HerosListComp extends CCComp {
|
|||||||
let active: LvReviveEntry | undefined
|
let active: LvReviveEntry | undefined
|
||||||
for (const e of sorted) { if (e.lv <= lv) active = e }
|
for (const e of sorted) { if (e.lv <= lv) active = e }
|
||||||
const pick = active ?? sorted[0]
|
const pick = active ?? sorted[0]
|
||||||
this.addSkillIcon(pick.s_uuid, pick.lv, !active, false)
|
// 复活档位无 s_lv 概念,技能等级恒为 1(等级标签展示技能等级而非解锁的英雄等级)
|
||||||
|
this.addSkillIcon(pick.s_uuid, 1, !active, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ======================== 英雄动画 ========================
|
// ======================== 英雄动画 ========================
|
||||||
|
|||||||
Reference in New Issue
Block a user