解决无法搜索延迟内子技能的问题

This commit is contained in:
枫谷剑仙 2023-02-04 05:30:13 +08:00
parent 0826a6460e
commit bcf906bc65
3 changed files with 20 additions and 8 deletions

View File

@ -766,9 +766,15 @@ const specialSearchFunctions = (function() {
if (skillTypes.includes(skill.type))
{
return skill;
}else if (skill.type == 116 || (searchRandom && skill.type == 118) || skill.type == 138 || skill.type == 232 || skill.type == 233)
{
const subSkills = skill.params.map(id=>Skills[id]);
}else if (skill.type == 116 || //多个主动技
(searchRandom && skill.type == 118) || //随机主动技
skill.type == 138 || //多个队长技
skill.type == 232 || //进化技能不循环
skill.type == 233 || //进化技能循环
skill.type == 248 //延迟生效技能
){
let params = skill.type == 248 ? skill.params.slice(1) : skill.params;
const subSkills = params.map(id=>Skills[id]);
for(let i = 0;i < subSkills.length; i++)
{ //因为可能有多层调用特别是随机118再调用组合116的所以需要递归
let foundSubSkill = getActuallySkill(subSkills[i], skillTypes, searchRandom);

View File

@ -1166,10 +1166,16 @@ function getActuallySkills(skill, skillTypes, searchRandom = true) {
{
return [skill];
}
else if (skill.type == 116 || (searchRandom && skill.type == 118) || skill.type == 138 || skill.type == 232 || skill.type == 233)
{
else if (skill.type == 116 || //多个主动技
(searchRandom && skill.type == 118) || //随机主动技
skill.type == 138 || //多个队长技
skill.type == 232 || //进化技能不循环
skill.type == 233 || //进化技能循环
skill.type == 248 //延迟生效技能
){
let params = skill.type == 248 ? skill.params.slice(1) : skill.params;
//因为可能有多层调用特别是随机118再调用组合116的所以需要递归
const subSkills = skill.params.flatMap(id => getActuallySkills(Skills[id], skillTypes, searchRandom)).filter(s=>s);
const subSkills = params.flatMap(id => getActuallySkills(Skills[id], skillTypes, searchRandom)).filter(s=>s);
return subSkills;
}
else

View File

@ -8083,7 +8083,7 @@ const cachesMap = new Map([
],
[
"script-json_data.js",
"bbb482f9cccec94a3fcce4c9109a8f0a"
"94389dc9c590284d5954381c14cf0e09"
],
[
"script-skill-parser.js",
@ -8091,7 +8091,7 @@ const cachesMap = new Map([
],
[
"script-universal_function.js",
"429cfed7bc5fc12a2152555e45241e61"
"e39612ba401bd55089a15475dd9844b3"
],
[
"script.js",