From b47ffa1012b9705d34f48a8ff0d6b8783114ddb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Thu, 13 Oct 2022 14:06:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=96=B0=E9=98=9F=E9=95=BF?= =?UTF-8?q?=E6=8A=80=E8=83=BD=E7=9A=84=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script-json_data.js | 12 +++++++++++- script-universal_function.js | 8 +++++++- service-worker.js | 4 ++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/script-json_data.js b/script-json_data.js index e7a2026f..ba8f6f25 100644 --- a/script-json_data.js +++ b/script-json_data.js @@ -710,6 +710,9 @@ const specialSearchFunctions = (function() { case 203: case 217: scale = sk[1]/100; break; + case 245: + scale = sk[3]/100; + break; case 138: //调用其他队长技 scale = sk.reduce((pmul,skid)=>pmul * getHPScale(Skills[skid]),1); break; @@ -1131,7 +1134,7 @@ const specialSearchFunctions = (function() { function healImmediately_Rate(card) { - const searchTypeArray = [7, //宠物回复力 + const searchTypeArray = [7, //自身回复力 8, //固定点数 35,115, //吸血 117 @@ -3588,6 +3591,13 @@ const specialSearchFunctions = (function() { {name:"After Henshin",otLangName:{chs:"变身后",cht:"變身後"}, function:cards=>cards.filter(card=>Array.isArray(card.henshinFrom)) }, + {name:"Random Henshin",otLangName:{chs:"随机变身",cht:"隨機變身"}, + function:cards=>cards.filter(card=>{ + const searchTypeArray = [236]; + const skill = getCardActiveSkill(card, searchTypeArray); + return skill; + }) + }, {name:"Except Before Henshin(No Henshin+After Henshin)",otLangName:{chs:"除了变身前(非变身+变身后)",cht:"除了變身前(非變身+變身后)"}, function:cards=>cards.filter(card=>!Array.isArray(card.henshinTo)) }, diff --git a/script-universal_function.js b/script-universal_function.js index ac989998..9a66fd18 100644 --- a/script-universal_function.js +++ b/script-universal_function.js @@ -989,7 +989,7 @@ function countTeamHp(team, leader1id, leader2id, solo, noAwoken = false) { case 158: scale = hpMul({ attrs: flags(sk[1]), types: flags(sk[2]) }, sk[4]); break; - case 175: //队伍组成全为合作 + case 175: //队伍组成全为合作,不包括双方队长 const needCollabIdIdArr = sk.slice(0, 3).filter(s => s > 0); const memberCollabIdArr = memberArr.slice(1, 5).filter(m => m.id > 0).map(m => Cards[m.id].collabId); scale = memberCollabIdArr.every(cid => needCollabIdIdArr.includes(cid)) ? sk[3] / 100 : 1; @@ -1029,6 +1029,12 @@ function countTeamHp(team, leader1id, leader2id, solo, noAwoken = false) { console.debug('属性、类型个数动态倍率,当前队长HP倍率为 %s (匹配 %d 次)', scale, correTimes); break; } + case 245: { //全员满足某种情况,不包括好友队长,现在是全部星级不一样 + let cardsRarity = memberArr.slice(0, 5).filter(m => m.id > 0).map(m => m.card.rarity); //所有的卡片星级 + if (new Set(cardsRarity).size === cardsRarity.length) //如果星级去重后数量一致,即各不相同 + scale = sk[3] / 100; + break; + } case 138: //调用其他队长技 scale = sk.reduce((pmul, skid) => pmul * memberHpMul(member, assist, Skills[skid], memberArr, solo), 1) break; diff --git a/service-worker.js b/service-worker.js index b5b11ddb..3c6a9e2c 100644 --- a/service-worker.js +++ b/service-worker.js @@ -6411,7 +6411,7 @@ const cachesMap = new Map([ ], [ "script-json_data.js", - "eee1fbbcdb27dfcd85dfb999dec34893" + "d28f5e59828817e8b4714567c0362a7b" ], [ "script-skill-parser.js", @@ -6419,7 +6419,7 @@ const cachesMap = new Map([ ], [ "script-universal_function.js", - "4cb9b257c297c652b00ce78d70d47e82" + "a955fc3128b5eac6c706f68f81b4a542" ], [ "script.js",