From a0c1fe767ad778b9623ffabfc3d40e88e9ffe74f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Wed, 12 Oct 2022 20:38:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A8=80=E6=9C=89=E5=BA=A6?= =?UTF-8?q?=E5=90=84=E4=B8=8D=E7=9B=B8=E5=90=8C=E7=9A=84=E9=98=9F=E9=95=BF?= =?UTF-8?q?=E6=8A=80=EF=BC=8C=E4=BD=86=E6=98=AF=E8=BF=98=E6=98=AF=E6=9C=89?= =?UTF-8?q?=E4=B8=8D=E6=98=8E=E7=A1=AE=E7=9A=84=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- languages/zh-TW.js | 7 ++-- languages/zh.js | 4 +- script-json_data.js | 89 +++++++++++++++++++++++++++++++++++++++--- script-skill-parser.js | 15 +++++-- service-worker.js | 14 ++++--- 5 files changed, 110 insertions(+), 19 deletions(-) diff --git a/languages/zh-TW.js b/languages/zh-TW.js index 506e19d1..e5c8afe3 100644 --- a/languages/zh-TW.js +++ b/languages/zh-TW.js @@ -64,7 +64,6 @@ drop_refresh: tp`全板刷新`, drum: tp`寶珠移動和消除的聲音變成太鼓達人的音效`, auto_path: tp`顯示3連擊的轉珠路徑(只匹配3珠,並只適用於普通地下城)`, - board7x6: tp`【${'icon'}7×6版面】`, counter_attack: tp`受到${'target'}攻擊時,${'chance'}進行受到傷害${'value'}的${'attr'}${'icon'}反擊`, change_orbs: tp`${'from'}→${'to'}`, generate_orbs: tp`${'exclude'}生成${'orbs'}各${'value'}個`, @@ -98,7 +97,8 @@ obstruct_opponent_before_me: tp`排名比自身高的對手`, obstruct_opponent_designated_position: tp`第${'positions'}排位的對手`, increase_damage_cap: tp`${'targets'}的${'icon'}傷害上限提升到${'cap'}`, - board_jamming_state: tp`在${'position'}生成${'state'}${'size'}${'count'}${'time'}`, + board_jamming_state: tp`在${'position'}生成${'icon'}${'state'}${'size'}${'count'}${'time'}`, + board_size_change: tp`版面大小改變為${'icon'}${'size'}`, }, power: { unknown: tp`[ 未知能力提升: ${'type'} ]`, @@ -133,7 +133,8 @@ compo_type_card: tp`隊伍中同時存在 ${'ids'} 時`, compo_type_series: tp`隊員組成全為 ${'ids'} 合作時`, compo_type_evolution: tp`隊員組成全為 ${'ids'} 進化時`, - compo_type_rarity: tp`隊伍的總★稀有度 ≤${'rarity'} 時`, + compo_type_team_total_rarity: tp`隊伍的總★稀有度 ≤${'rarity'} 時`, + compo_type_team_rarity_different: tp`隊伍的稀有度各不相同時`, stage_less_or_equal: tp`${'stage'} ≤ ${'max'} 時`, //地下城层数 stage_greater_or_equal: tp`${'stage'} ≥ ${'min'} 時`, diff --git a/languages/zh.js b/languages/zh.js index d130b3b6..a33dd313 100644 --- a/languages/zh.js +++ b/languages/zh.js @@ -64,7 +64,6 @@ drop_refresh: tp`全板刷新`, drum: tp`宝珠移动和消除的声音变成太鼓达人的音效`, auto_path: tp`显示3连击的转珠路径(只匹配3珠,并只适用于普通地下城)`, - board7x6: tp`【${'icon'}7×6版面】`, counter_attack: tp`受到${'target'}攻击时,${'chance'}进行受到伤害${'value'}的${'attr'}${'icon'}反击`, change_orbs: tp`${'from'}→${'to'}`, generate_orbs: tp`${'exclude'}生成${'orbs'}各${'value'}个`, @@ -134,7 +133,8 @@ compo_type_card: tp`队伍中同时存在 ${'ids'} 时`, compo_type_series: tp`队员组成全为 ${'ids'} 合作时`, compo_type_evolution: tp`队员组成全为 ${'ids'} 进化时`, - compo_type_rarity: tp`队伍的总★稀有度 ≤${'rarity'} 时`, + compo_type_team_total_rarity: tp`队伍的总★稀有度 ≤${'rarity'} 时`, + compo_type_team_rarity_different: tp`队伍的稀有度各不相同时`, stage_less_or_equal: tp`${'stage'} ≤ ${'max'} 时`, //地下城层数 stage_greater_or_equal: tp`${'stage'} ≥ ${'min'} 时`, diff --git a/script-json_data.js b/script-json_data.js index 6db3ac94..e7a2026f 100644 --- a/script-json_data.js +++ b/script-json_data.js @@ -79,7 +79,6 @@ let localTranslating = { drop_refresh: tp`Replaces all orbs`, drum: tp`Plus a drumming sound is made when Orbs are moved`, auto_path: tp`Shows 3 combo path (Norm. Dungeon & 3 linked Orbs only)`, - board7x6: tp`[${'icon'}7x6 board]`, counter_attack: tp`When attacked by an ${'target'}, ${'chance'}${'value'} ${'attr'} ${'icon'}counterattack`, change_orbs: tp`Changes ${'from'} to ${'to'} orbs`, generate_orbs: tp`Creates ${'value'} ${'orbs'} orbs each at random ${'exclude'}`, @@ -150,7 +149,8 @@ let localTranslating = { compo_type_card: tp`When ${'ids'} are all on team, `, compo_type_series: tp`When all subs from ${'ids'} collab (Needs at least 1 sub), `, compo_type_evolution: tp`When all monsters in team are ${'ids'}, `, - compo_type_rarity: tp`When the total ★ rarity of the team is ≤${'rarity'}, `, + compo_type_team_total_rarity: tp`When the total ★ rarity of the team is ≤${'rarity'}, `, + compo_type_team_rarity_different: tp`When the team's rarity is different, `, stage_less_or_equal: tp`When ${'stage'} ≤ ${'max'}, `, stage_greater_or_equal: tp`When ${'stage'} ≥ ${'min'}, `, @@ -2112,6 +2112,22 @@ const specialSearchFunctions = (function() { return strArr.join(','); } }, + {name:"Change team maximum HP",otLangName:{chs:"队伍最大 HP 变化",cht:"队伍最大 HP 變化"}, + function:cards=>{ + const searchTypeArray = [237]; + return cards.filter(card=>{ + const skill = getCardActiveSkill(card, searchTypeArray); + return skill; + }).sort((a,b)=>sortByParams(a,b,searchTypeArray,1)); + }, + addition:card=>{ + const searchTypeArray = [237]; + const skill = getCardActiveSkill(card, searchTypeArray); + if (!skill) return; + const sk = skill.params; + return `最大HP ${sk[1].bigNumberToString()}%×${sk[0]}T`; + } + }, {name:"Damage self(sort by rate)",otLangName:{chs:"玩家自残(HP 减少,按减少比率排序)",cht:"玩家自殘(HP 減少,按減少比率排序)"}, function:cards=>{ return cards.filter(card=>damageSelf_Rate(card)>0) @@ -2412,7 +2428,14 @@ const specialSearchFunctions = (function() { const skill = getCardActiveSkill(card, searchTypeArray); if (!skill) return; const sk = skill.params; - return `${sk[1]}个×${sk[0]}T`; + const colums = flags(sk[1]), rows = flags(sk[2]); + const fragment = document.createDocumentFragment(); + if (colums.length) + fragment.append(`${colums.length}竖`); + if (rows.length) + fragment.append(`${rows.length}横`); + fragment.append(`×${sk[0]}T`); + return fragment; } }, ]}, @@ -3102,14 +3125,29 @@ const specialSearchFunctions = (function() { const searchTypeArray = [125]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; - }) + }), + addition:card=>{ + const searchTypeArray = [125]; + const skill = getCardLeaderSkill(card, searchTypeArray); + if (!skill) return; + const sk = skill.params; + + return `队员:${sk.slice(0,5).filter(Boolean).join('\n')}`; + } }, {name:"Designate collab ID",otLangName:{chs:"指定队伍队员合作编号",cht:"指定隊伍隊員合作編號"}, function:cards=>cards.filter(card=>{ const searchTypeArray = [175]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; - }) + }), + addition:card=>{ + const searchTypeArray = [175]; + const skill = getCardLeaderSkill(card, searchTypeArray); + if (!skill) return; + const sk = skill.params; + return `合作:${sk[0]}`; + } }, {name:"Designate Evo type",otLangName:{chs:"指定队伍队员进化类型",cht:"指定隊伍隊員進化類型"}, function:cards=>cards.filter(card=>{ @@ -3123,6 +3161,40 @@ const specialSearchFunctions = (function() { const searchTypeArray = [229]; const skill = getCardLeaderSkill(card, searchTypeArray); return skill; + }), + addition:card=>{ + const searchTypeArray = [229]; + const skill = getCardLeaderSkill(card, searchTypeArray); + if (!skill) return; + const sk = skill.params; + const attrs = flags(sk[0]), types = flags(sk[1]); + const fragment = document.createDocumentFragment(); + if (attrs.length) + fragment.appendChild(createOrbsList(attrs)); + if (types.length) + fragment.appendChild(createTypesList(types)); + return fragment; + } + }, + {name:"Limit the total rarity of the team",otLangName:{chs:"限制队伍总稀有度",cht:"限制隊伍總稀有度"}, + function:cards=>cards.filter(card=>{ + const searchTypeArray = [217]; + const skill = getCardLeaderSkill(card, searchTypeArray); + return skill; + }), + addition:card=>{ + const searchTypeArray = [217]; + const skill = getCardLeaderSkill(card, searchTypeArray); + if (!skill) return; + const sk = skill.params; + return `★≤${sk[0]}`; + } + }, + {name:"Team's rarity required different",otLangName:{chs:"要求队员稀有度各不相同",cht:"要求隊員稀有度各不相同"}, + function:cards=>cards.filter(card=>{ + const searchTypeArray = [245]; + const skill = getCardLeaderSkill(card, searchTypeArray); + return skill; }) }, ]}, @@ -3182,6 +3254,7 @@ const specialSearchFunctions = (function() { addition:card=>{ const searchTypeArray = [15,185]; const skill = getCardLeaderSkill(card, searchTypeArray); + if (!skill) return; const value = skill.params[0]; return `${value > 0 ? "+" : ""}${value/100}s`; } @@ -3197,6 +3270,7 @@ const specialSearchFunctions = (function() { addition:card=>{ const searchTypeArray = [178]; const skill = getCardLeaderSkill(card, searchTypeArray); + if (!skill) return; const value = skill.params[0]; return `固定${value}s`; } @@ -3210,6 +3284,7 @@ const specialSearchFunctions = (function() { addition:card=>{ const searchTypeArray = [213]; const skill = getCardLeaderSkill(card, searchTypeArray); + if (!skill) return; const sk = skill.params; let attrs = flags(sk[0]), types = flags(sk[1]), awakenings = sk.slice(2); const fragment = document.createDocumentFragment(); @@ -3681,6 +3756,10 @@ const specialSearchFunctions = (function() { function:cards=>cards.filter(card=>card.sellPrice > 0).sort((a,b)=>a.sellPrice * a.maxLevel - b.sellPrice * b.maxLevel), addition:card=>`Coin ${Math.round(card.sellPrice * card.maxLevel / 10).bigNumberToString()}` }, + {name:"Card Types",otLangName:{chs:"角色类型",cht:"角色類型"}, + function:cards=>cards, + addition:card=>createTypesList(card.types) + }, ]}, ]; return functions; diff --git a/script-skill-parser.js b/script-skill-parser.js index 949577b7..7128ae02 100644 --- a/script-skill-parser.js +++ b/script-skill-parser.js @@ -1497,7 +1497,7 @@ const parsers = { [217](rarity, hp, atk, rcv) { return powerUp(null, null, p.mul({ hp: hp || 100, atk: atk || 100, rcv: rcv || 100 }), - c.compo('rarity', rarity)); + c.compo('team-total-rarity', rarity)); }, [218](turns) { return skillBoost(v.constant(-turns)); }, @@ -1579,7 +1579,10 @@ const parsers = { height = 5; } } - return activeTurns(turns, boardSizeChange()); + return activeTurns(turns, boardSizeChange(width, height)); + }, + [245](_1, _2, _3, hp, atk, rcv) { //全员满足某种情况,现在是全部星级不一样 + return powerUp(null, null, p.mul({ hp: hp || 100, atk: atk || 100, rcv: rcv || 100 }), c.compo('team-rarity-diffrent', flags(_2))); }, [1000](type, pos, ...ids) { const posType = (type=>{ @@ -2785,9 +2788,13 @@ function renderCondition(cond) { frg.ap(tsp.cond.compo_type_evolution(dict)); break; } - case 'rarity':{ + case 'team-total-rarity':{ dict.rarity = cond.compo.ids; - frg.ap(tsp.cond.compo_type_rarity(dict)); + frg.ap(tsp.cond.compo_type_team_total_rarity(dict)); + break; + } + case 'team-rarity-diffrent':{ + frg.ap(tsp.cond.compo_type_team_rarity_different(dict)); break; } } diff --git a/service-worker.js b/service-worker.js index 0fc6584e..b5b11ddb 100644 --- a/service-worker.js +++ b/service-worker.js @@ -6411,11 +6411,11 @@ const cachesMap = new Map([ ], [ "script-json_data.js", - "751bb68922130e91189c1d094ed9009b" + "eee1fbbcdb27dfcd85dfb999dec34893" ], [ "script-skill-parser.js", - "318b83fc9368f446a57e834c961af07f" + "b8d6e652d1ca38358d46816cb093749e" ], [ "script-universal_function.js", @@ -6435,7 +6435,7 @@ const cachesMap = new Map([ ], [ "style.css", - "00aed1d757798c01338fbae7237b913f" + "4ccfe1b0717399397bcbe46d85e20646" ], [ "temp.js", @@ -6495,7 +6495,7 @@ const cachesMap = new Map([ ], [ "languages/zh-TW.js", - "ec242d205f1137d8e2f83047ff5a8873" + "8a536ceda4bcbdfdb2ed4a16ea6a0fb1" ], [ "languages/zh.css", @@ -6503,7 +6503,7 @@ const cachesMap = new Map([ ], [ "languages/zh.js", - "cec01b272a515dbe5f164a983ebdf00c" + "5774931127a656c8122e164e56b1013b" ], [ "images/attrs.png", @@ -6577,6 +6577,10 @@ const cachesMap = new Map([ "images/icon-HP.png", "7a1115ae32d7d68ee665ffa6420093f1" ], + [ + "images/icon-immobility.png", + "e597db4ec669fc2618225700be66c0f1" + ], [ "images/icon-inflicts.png", "4995a8c58ffd96e37bfff733fdd344c7"