diff --git a/languages/zh-CN.js b/languages/zh-CN.js index 7b7c161a..9caba5a5 100644 --- a/languages/zh-CN.js +++ b/languages/zh-CN.js @@ -2994,25 +2994,33 @@ function parseSkillDescription(skill) { name:"回复力 buff(顶降回复)", function:cards=>{ const searchTypeArray = [50,90]; + function getRecScale(as) + { + const sk = as.params; + return sk.slice(1,sk.length>2?-1:undefined).includes(5) && sk.length > 2 ? sk[sk.length-1] : 0; + } return cards.filter(card=>{ - const skill = getCardActiveSkill(card, searchTypeArray); - if (skill) + const skills = getCardActiveSkills(card, searchTypeArray); + if (skills.length) { - const sk = skill.params; - return sk.slice(1,sk.length>2?-1:undefined).includes(5); + return skills.some(as=>getRecScale(as) > 0); }else return false; }).sort((a,b)=>{ - const a_s = getCardActiveSkill(a, searchTypeArray), b_s = getCardActiveSkill(b, searchTypeArray); - //将技能的手指类型转换为二进制01、10、11等形式,低位表示加固定秒,高位表示手指加倍 - const a_ss = a_s.params.length > 2 ? a_s.params[a_s.params.length-1] : 0, b_ss = b_s.params.length > 2 ? b_s.params[b_s.params.length-1] : 0; - return a_ss - b_ss; + const a_ss = getCardActiveSkills(a, searchTypeArray), b_ss = getCardActiveSkills(b, searchTypeArray); + const a_sv = a_ss.map(a_s=>getRecScale(a_s)).sort().reverse()[0], b_sv = b_ss.map(b_s=>getRecScale(b_s)).sort().reverse()[0]; + return a_sv - b_sv; }); }, addition:card=>{ const searchTypeArray = [50,90]; - const skill = getCardActiveSkill(card, searchTypeArray); - const sk = skill.params; - return document.createTextNode(`回x${sk.length > 2 ? sk[sk.length-1]/100 : 0}`); + function getRecScale(as) + { + const sk = as.params; + return sk.slice(1,sk.length>2?-1:undefined).includes(5) && sk.length > 2 ? sk[sk.length-1] : 0; + } + const skills = getCardActiveSkills(card, searchTypeArray); + const skill = skills.find(as=>getRecScale(as) > 0); + return document.createTextNode(`回x${getRecScale(skill) / 100}`); } }, {name:"攻击力 buff(顶降攻击)",function:cards=>cards.filter(card=>{ diff --git a/script-universal_function.js b/script-universal_function.js index 1658e3f6..2dca55c8 100644 --- a/script-universal_function.js +++ b/script-universal_function.js @@ -662,6 +662,10 @@ function countTeamHp(memberArr, leader1id, leader2id, solo, noAwoken = false) { function getCardLeaderSkills(card, skillTypes) { return getActuallySkills(Skills[card.leaderSkillId], skillTypes, false); } +//返回卡片的主动技能 +function getCardActiveSkills(card, skillTypes) { + return getActuallySkills(Skills[card.activeSkillId], skillTypes, false); +} //查找到真正起作用的那一个技能 function getActuallySkills(skill, skillTypes, searchRandom = true) { if (skillTypes.includes(skill.type))